Skip to content

Commit 23d953b

Browse files
authored
Merge pull request #8349 from BitGo/hypercore-onboarding
feat: added hyperliquid with default features
2 parents 8bb1fa4 + d9f8ff2 commit 23d953b

8 files changed

Lines changed: 72 additions & 0 deletions

File tree

modules/bitgo/test/v2/unit/keychains.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ describe('V2 Keychains', function () {
114114
n.asset !== UnderlyingAsset.MEGAETH &&
115115
n.asset !== UnderlyingAsset.ARCUSDC &&
116116
n.asset !== UnderlyingAsset.ZKSYNCERA &&
117+
n.asset !== UnderlyingAsset.HYPERLIQUID &&
117118
coinFamilyValues.includes(n.name)
118119
);
119120

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ interface EnvironmentTemplate {
7777
sgbExplorerBaseUrl?: string;
7878
sgbExplorerApiToken?: string;
7979
icpNodeUrl: string;
80+
hyperLiquidNodeUrl: string;
8081
wemixExplorerBaseUrl?: string;
8182
wemixExplorerApiToken?: string;
8283
monExplorerBaseUrl?: string;
@@ -348,6 +349,7 @@ const mainnetBase: EnvironmentTemplate = {
348349
},
349350
},
350351
icpNodeUrl: 'https://ic0.app',
352+
hyperLiquidNodeUrl: 'https://api.hyperliquid.xyz',
351353
worldExplorerBaseUrl: 'https://worldscan.org/',
352354
somniaExplorerBaseUrl: 'https://mainnet.somnia.w3us.site/',
353355
soneiumExplorerBaseUrl: 'https://soneium.blockscout.com',
@@ -425,6 +427,7 @@ const testnetBase: EnvironmentTemplate = {
425427
xdcExplorerBaseUrl: 'https://api.etherscan.io/v2',
426428
sgbExplorerBaseUrl: 'https://coston-explorer.flare.network',
427429
icpNodeUrl: 'https://ic0.app',
430+
hyperLiquidNodeUrl: 'https://api.hyperliquid-testnet.xyz',
428431
monExplorerBaseUrl: 'https://api.etherscan.io/v2',
429432
worldExplorerBaseUrl: 'https://sepolia.worldscan.org/',
430433
somniaExplorerBaseUrl: 'https://shannon-explorer.somnia.network/',

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ import {
104104
FLR_FEATURES,
105105
GENERIC_TOKEN_FEATURES,
106106
HBAR_FEATURES,
107+
HYPERLIQUID_FEATURES,
107108
ICP_FEATURES,
108109
INJECTIVE_FEATURES,
109110
IOTA_FEATURES,
@@ -1749,6 +1750,28 @@ export const allCoinsAndTokens = [
17491750
CoinFeature.STAKING,
17501751
]
17511752
),
1753+
account(
1754+
'1d7327a1-80fc-4913-9b72-457087811262',
1755+
'hyperliquid',
1756+
'Hyperliquid',
1757+
Networks.main.hyperliquid,
1758+
8,
1759+
UnderlyingAsset.HYPERLIQUID,
1760+
BaseUnit.HYPE,
1761+
HYPERLIQUID_FEATURES,
1762+
KeyCurve.Secp256k1
1763+
),
1764+
account(
1765+
'd0754b12-26fa-47c2-887f-f19099156ea2',
1766+
'thyperliquid',
1767+
'Hyperliquid Testnet',
1768+
Networks.test.hyperliquid,
1769+
8,
1770+
UnderlyingAsset.HYPERLIQUID,
1771+
BaseUnit.HYPE,
1772+
HYPERLIQUID_FEATURES,
1773+
KeyCurve.Secp256k1
1774+
),
17521775
hypeEvm(
17531776
'e907fdbd-2c5d-45d6-b622-9da38937da73',
17541777
'hypeevm',

modules/statics/src/base.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ export enum CoinFamily {
9292
PHRS = 'phrs',
9393
CTC = 'ctc',
9494
HYPEEVM = 'hypeevm',
95+
HYPERLIQUID = 'hyperliquid', // HyperCore L1
9596
NEAR = 'near',
9697
OAS = 'oas',
9798
OFC = 'ofc',
@@ -645,6 +646,7 @@ export enum UnderlyingAsset {
645646
PLUME = 'plume',
646647
CTC = 'ctc',
647648
HYPEEVM = 'hypeevm',
649+
HYPERLIQUID = 'hyperliquid', // HyperCore L1
648650
RBTC = 'rbtc', // RSK main coin
649651
SEI = 'sei',
650652
SEIEVM = 'seievm',
@@ -3812,6 +3814,7 @@ export enum BaseUnit {
38123814
RUNE = 'rune',
38133815
TAO = 'rao',
38143816
ICP = 'e8s',
3817+
HYPE = 'hype',
38153818
MANTRA = 'uom',
38163819
POLYX = 'micropolyx',
38173820
CRONOS = 'basecro',

modules/statics/src/coinFeatures.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,14 @@ export const COREDAO_FEATURES = [
602602
CoinFeature.ERC20_BULK_TRANSACTION,
603603
];
604604
export const TEMPO_FEATURES = [...EVM_FEATURES];
605+
export const HYPERLIQUID_FEATURES = [
606+
...ACCOUNT_COIN_DEFAULT_FEATURES,
607+
CoinFeature.MULTISIG_COLD,
608+
CoinFeature.TSS,
609+
CoinFeature.TSS_COLD,
610+
CoinFeature.MPCV2,
611+
CoinFeature.SHA256_WITH_ECDSA_TSS,
612+
];
605613
export const APECHAIN_FEATURES = [
606614
...ETH_FEATURES,
607615
CoinFeature.TSS,

modules/statics/src/coins/ofcCoins.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,22 @@ export const ofcCoins = [
240240
UnderlyingAsset.HYPEEVM,
241241
CoinKind.CRYPTO
242242
),
243+
ofc(
244+
'10ca4011-4409-42af-a275-bb531ae717b7',
245+
'ofchyperliquid',
246+
'Hyperliquid',
247+
8,
248+
UnderlyingAsset.HYPERLIQUID,
249+
CoinKind.CRYPTO
250+
),
251+
tofc(
252+
'a76394f3-7c14-4d27-bfa8-8920a3ea30d0',
253+
'ofcthyperliquid',
254+
'Testnet Hyperliquid',
255+
8,
256+
UnderlyingAsset.HYPERLIQUID,
257+
CoinKind.CRYPTO
258+
),
243259
ofc('c7350490-f1c0-4f76-8db4-832dc18a2efe', 'ofcseievm', 'Sei EVM', 18, UnderlyingAsset.SEIEVM, CoinKind.CRYPTO),
244260
tofc(
245261
'12d3f26a-dede-429b-8ba6-126293a8e02a',

modules/statics/src/networks.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,6 +1666,20 @@ class HypeEVM extends Mainnet implements EthereumNetwork {
16661666
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
16671667
}
16681668

1669+
class Hyperliquid extends Mainnet implements AccountNetwork {
1670+
name = 'Hyperliquid';
1671+
family = CoinFamily.HYPERLIQUID;
1672+
explorerUrl = 'https://app.hyperliquid.xyz/explorer';
1673+
accountExplorerUrl = 'https://app.hyperliquid.xyz/explorer';
1674+
}
1675+
1676+
class HyperliquidTestnet extends Testnet implements AccountNetwork {
1677+
name = 'HyperliquidTestnet';
1678+
family = CoinFamily.HYPERLIQUID;
1679+
explorerUrl = 'https://app.hyperliquid-testnet.xyz/explorer';
1680+
accountExplorerUrl = 'https://app.hyperliquid-testnet.xyz/explorer';
1681+
}
1682+
16691683
class KavaEVMTestnet extends Testnet implements EthereumNetwork {
16701684
name = 'KavaEVMTestnet';
16711685
family = CoinFamily.KAVAEVM;
@@ -2704,6 +2718,7 @@ export const Networks = {
27042718
phrs: Object.freeze(new Pharos()),
27052719
ctc: Object.freeze(new Creditcoin()),
27062720
hypeevm: Object.freeze(new HypeEVM()),
2721+
hyperliquid: Object.freeze(new Hyperliquid()),
27072722
lineaeth: Object.freeze(new LineaETH()),
27082723
oas: Object.freeze(new Oas()),
27092724
og: Object.freeze(new Og()),
@@ -2827,6 +2842,7 @@ export const Networks = {
28272842
phrs: Object.freeze(new PharosTestnet()),
28282843
ctc: Object.freeze(new CreditcoinTestnet()),
28292844
hypeevm: Object.freeze(new HypeEVMTestnet()),
2845+
hyperliquid: Object.freeze(new HyperliquidTestnet()),
28302846
lineaeth: Object.freeze(new LineaETHTestnet()),
28312847
oas: Object.freeze(new OasTestnet()),
28322848
og: Object.freeze(new OgTestnet()),

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ export const expectedColdFeatures = {
1515
'tflr',
1616
'trx',
1717
'ttrx',
18+
'hyperliquid',
19+
'thyperliquid',
1820
],
1921
justMultiSig: [
2022
'algo',

0 commit comments

Comments
 (0)