Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions modules/sdk-core/src/bitgo/environments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ interface EnvironmentTemplate {
sgbExplorerApiToken?: string;
icpNodeUrl: string;
kaspaNodeUrl: string;
starknetNodeUrl: string;
hyperLiquidNodeUrl: string;
wemixExplorerBaseUrl?: string;
wemixExplorerApiToken?: string;
Expand Down Expand Up @@ -369,6 +370,7 @@ const mainnetBase: EnvironmentTemplate = {
},
icpNodeUrl: 'https://ic0.app',
kaspaNodeUrl: 'https://api.kaspa.org',
starknetNodeUrl: 'https://starknet-mainnet-rpc.publicnode.com/',
hyperLiquidNodeUrl: 'https://api.hyperliquid.xyz',
worldExplorerBaseUrl: 'https://worldscan.org/',
somniaExplorerBaseUrl: 'https://mainnet.somnia.w3us.site/',
Expand Down Expand Up @@ -448,6 +450,7 @@ const testnetBase: EnvironmentTemplate = {
sgbExplorerBaseUrl: 'https://coston-explorer.flare.network',
icpNodeUrl: 'https://ic0.app',
kaspaNodeUrl: 'https://api-tn10.kaspa.org',
starknetNodeUrl: 'https://starknet-sepolia-rpc.publicnode.com/',
hyperLiquidNodeUrl: 'https://api.hyperliquid-testnet.xyz',
monExplorerBaseUrl: 'https://api.etherscan.io/v2',
worldExplorerBaseUrl: 'https://sepolia.worldscan.org/',
Expand Down
23 changes: 23 additions & 0 deletions modules/statics/src/allCoinsAndTokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ import {
SGB_FEATURES,
SOL_FEATURES,
SONEIUM_FEATURES,
STARKNET_FEATURES,
STX_FEATURES,
SUI_FEATURES,
SUI_TOKEN_FEATURES,
Expand Down Expand Up @@ -2263,6 +2264,28 @@ export const allCoinsAndTokens = [
ICP_FEATURES,
KeyCurve.Secp256k1
),
account(
'56e92a2e-523c-4d48-8375-bff7e35eec11',
'starknet',
'Starknet',
Networks.main.starknet,
18,
UnderlyingAsset.STARKNET,
BaseUnit.STARKNET,
STARKNET_FEATURES,
KeyCurve.Secp256k1
),
account(
'2a359f78-0cfa-4c15-8026-be508b05a37b',
'tstarknet',
'Testnet Starknet',
Networks.test.starknet,
18,
UnderlyingAsset.STARKNET,
BaseUnit.STARKNET,
STARKNET_FEATURES,
KeyCurve.Secp256k1
),
account(
'd348f38d-bff6-4936-842a-c9721e5027c1',
'polyx',
Expand Down
3 changes: 3 additions & 0 deletions modules/statics/src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ export enum CoinFamily {
SOL = 'sol',
SONIC = 'sonic',
SONEIUM = 'soneium',
STARKNET = 'starknet',
STT = 'stt',
SUI = 'sui',
STX = 'stx',
Expand Down Expand Up @@ -688,6 +689,7 @@ export enum UnderlyingAsset {
SOMI = 'somi', // Somnia Chain
SONEIUM = 'soneium',
SONIC = 'sonic',
STARKNET = 'starknet',
STT = 'stt',
STX = 'stx',
SUI = 'sui',
Expand Down Expand Up @@ -3979,6 +3981,7 @@ export enum BaseUnit {
TASI = 'atestfet',
CANTON = 'canton',
KASPA = 'sompi',
STARKNET = 'fri',
USDC = 'usdc',
}

Expand Down
9 changes: 9 additions & 0 deletions modules/statics/src/coinFeatures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,15 @@ export const ICP_FEATURES = [
CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
];

export const STARKNET_FEATURES = [
...ACCOUNT_COIN_DEFAULT_FEATURES,
CoinFeature.TSS,
CoinFeature.TSS_COLD,
CoinFeature.MPCV2,
CoinFeature.SHA256_WITH_ECDSA_TSS,
CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
];

export const TAO_FEATURES = [
...ACCOUNT_COIN_DEFAULT_FEATURES,
CoinFeature.TSS,
Expand Down
16 changes: 16 additions & 0 deletions modules/statics/src/networks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,20 @@ class SolTestnet extends Testnet implements AccountNetwork {
explorerUrl = 'https://explorer.solana.com/tx/?cluster=devnet';
}

class StarknetMainnet extends Mainnet implements AccountNetwork {
name = 'Starknet';
family = CoinFamily.STARKNET;
explorerUrl = 'https://voyager.online/tx/';
accountExplorerUrl = 'https://voyager.online/contract/';
}

class StarknetTestnet extends Testnet implements AccountNetwork {
name = 'Testnet Starknet';
family = CoinFamily.STARKNET;
explorerUrl = 'https://sepolia.voyager.online/tx/';
accountExplorerUrl = 'https://sepolia.voyager.online/contract/';
}

class Sui extends Mainnet implements AccountNetwork {
name = 'Sui';
family = CoinFamily.SUI;
Expand Down Expand Up @@ -2854,6 +2868,7 @@ export const Networks = {
sgb: Object.freeze(new Songbird()),
sol: Object.freeze(new Sol()),
sonic: Object.freeze(new Sonic()),
starknet: Object.freeze(new StarknetMainnet()),
sui: Object.freeze(new Sui()),
near: Object.freeze(new Near()),
stx: Object.freeze(new Stx()),
Expand Down Expand Up @@ -2982,6 +2997,7 @@ export const Networks = {
sei: Object.freeze(new SeiTestnet()),
seievm: Object.freeze(new SeiEvmTestnet()),
sol: Object.freeze(new SolTestnet()),
starknet: Object.freeze(new StarknetTestnet()),
sui: Object.freeze(new SuiTestnet()),
near: Object.freeze(new NearTestnet()),
stx: Object.freeze(new StxTestnet()),
Expand Down
2 changes: 2 additions & 0 deletions modules/statics/test/unit/fixtures/expectedColdFeatures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ export const expectedColdFeatures = {
'sol',
'sonic',
'somi',
'starknet',
'sui',
'unieth',
'usdt0',
Expand Down Expand Up @@ -220,6 +221,7 @@ export const expectedColdFeatures = {
'tsei',
'tsgb',
'tsol',
'tstarknet',
'tstt',
'tsui',
'ttao',
Expand Down
Loading