diff --git a/modules/sdk-core/src/bitgo/environments.ts b/modules/sdk-core/src/bitgo/environments.ts index f9f22d087a..64336f7dbb 100644 --- a/modules/sdk-core/src/bitgo/environments.ts +++ b/modules/sdk-core/src/bitgo/environments.ts @@ -86,6 +86,7 @@ interface EnvironmentTemplate { soneiumExplorerApiToken?: string; stxNodeUrl: string; vetNodeUrl: string; + // The key here is coinName and it will be same for both mainnet and testnet (eg: 'phrs') evm?: { [key: string]: { baseUrl: string; @@ -198,6 +199,11 @@ const mainnetBase: EnvironmentTemplate = { xdcExplorerBaseUrl: 'https://api.etherscan.io/v2', wemixExplorerBaseUrl: 'https://api.etherscan.io/v2', sgbExplorerBaseUrl: 'https://songbird-explorer.flare.network', + evm: { + phrs: { + baseUrl: 'https://testnet.dplabs-internal.com', // TODO: WIN-5787 add mainnet url when its available + }, + }, icpNodeUrl: 'https://ic0.app', worldExplorerBaseUrl: 'https://worldscan.org/', somniaExplorerBaseUrl: 'https://shannon-explorer.somnia.network/', //TODO: WIN-5278: change it with mainnet explorer, when its available @@ -275,6 +281,11 @@ const testnetBase: EnvironmentTemplate = { worldExplorerBaseUrl: 'https://sepolia.worldscan.org/', somniaExplorerBaseUrl: 'https://shannon-explorer.somnia.network/', soneiumExplorerBaseUrl: 'https://soneium-minato.blockscout.com', + evm: { + phrs: { + baseUrl: 'https://testnet.dplabs-internal.com', + }, + }, stxNodeUrl: 'https://api.testnet.hiro.so', vetNodeUrl: 'https://rpc-testnet.vechain.energy', }; diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 04aa6541ae..c943a459db 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -68,6 +68,7 @@ export enum CoinFamily { MON = 'mon', POLYGON = 'polygon', POLYX = 'polyx', + PHRS = 'phrs', NEAR = 'near', OAS = 'oas', OFC = 'ofc', diff --git a/modules/statics/src/networks.ts b/modules/statics/src/networks.ts index cc26ecd863..bdae6c3ba5 100644 --- a/modules/statics/src/networks.ts +++ b/modules/statics/src/networks.ts @@ -1274,6 +1274,24 @@ class ApeChainTestnet extends Testnet implements EthereumNetwork { nativeCoinOperationHashPrefix = '33111'; } +class Pharos extends Mainnet implements EthereumNetwork { + name = 'Pharos'; + family = CoinFamily.PHRS; + explorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available + accountExplorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available + chainId = 688688; // TODO: WIN-5787 Add mainnet id when available + nativeCoinOperationHashPrefix = '688688'; +} + +class PharosTestnet extends Testnet implements EthereumNetwork { + name = 'PharosTestnet'; + family = CoinFamily.PHRS; + explorerUrl = 'https://testnet.pharosscan.xyz/tx/'; + accountExplorerUrl = 'https://testnet.pharosscan.xyz/address/'; + chainId = 688688; + nativeCoinOperationHashPrefix = '688688'; +} + class Xdc extends Mainnet implements EthereumNetwork { name = 'XdcChain'; family = CoinFamily.XDC; @@ -1557,6 +1575,7 @@ export const Networks = { mantra: Object.freeze(new Mantra()), polygon: Object.freeze(new Polygon()), polyx: Object.freeze(new Polymesh()), + phrs: Object.freeze(new Pharos()), oas: Object.freeze(new Oas()), ofc: Object.freeze(new Ofc()), optimism: Object.freeze(new Optimism()), @@ -1639,6 +1658,7 @@ export const Networks = { mantra: Object.freeze(new MantraTestnet()), polygon: Object.freeze(new PolygonTestnet()), polyx: Object.freeze(new PolymeshTestnet()), + phrs: Object.freeze(new PharosTestnet()), oas: Object.freeze(new OasTestnet()), ofc: Object.freeze(new OfcTestnet()), optimism: Object.freeze(new OptimismTestnet()),