diff --git a/modules/sdk-core/src/bitgo/environments.ts b/modules/sdk-core/src/bitgo/environments.ts index b29e33b058..6fba4bba24 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', }, + prividium: { + baseUrl: 'https://explorer.prividium.zksync.dev/api', // TODO: update with mainnet URL when available + }, fluenteth: { baseUrl: 'https://fluentscan.xyz/api/', }, @@ -513,6 +516,9 @@ const testnetBase: EnvironmentTemplate = { hemieth: { baseUrl: 'https://testnet.explorer.hemi.xyz/api', }, + prividium: { + baseUrl: 'https://explorer.testnet-prividium.zksync.dev/api', + }, fluenteth: { baseUrl: 'https://testnet.fluentscan.xyz/api/', }, diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 2399550ac8..aafc32520d 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -2381,6 +2381,42 @@ export const allCoinsAndTokens = [ ] ), + account( + '1cc2170d-c24d-4179-b0eb-155de0f46617', + 'prividium', + 'Prividium', + Networks.main.prividium, + 18, + UnderlyingAsset.PRIVIDIUM, + 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( + 'b0067fb1-d00d-4959-981c-6f6009862418', + 'tprividium', + 'Testnet Prividium', + Networks.test.prividium, + 18, + UnderlyingAsset.PRIVIDIUM, + BaseUnit.ETH, + [ + ...EVM_FEATURES, + CoinFeature.SHARED_EVM_SIGNING, + CoinFeature.SHARED_EVM_SDK, + CoinFeature.EVM_COMPATIBLE_IMS, + CoinFeature.EVM_COMPATIBLE_UI, + CoinFeature.EVM_COMPATIBLE_WP, + ] + ), + erc721Token( 'a7604e03-7f40-41f0-8efa-2e7673ac2a9f', 'terc721:hbarevmtoken', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index f88e0ea391..89c8642bc1 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -90,6 +90,7 @@ export enum CoinFamily { POLYGON = 'polygon', POLYX = 'polyx', PHRS = 'phrs', + PRIVIDIUM = 'prividium', // Prividium L2 CTC = 'ctc', HYPEEVM = 'hypeevm', HYPERLIQUID = 'hyperliquid', // HyperCore L1 @@ -644,6 +645,7 @@ export enum UnderlyingAsset { POLYGON = 'polygon', PHRS = 'phrs', PLUME = 'plume', + PRIVIDIUM = 'prividium', // Prividium L2 CTC = 'ctc', HYPEEVM = 'hypeevm', HYPERLIQUID = 'hyperliquid', // HyperCore L1 diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index d74b831bc4..f2b19a841a 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -338,6 +338,14 @@ export const ofcCoins = [ UnderlyingAsset.HEMIETH, CoinKind.CRYPTO ), + ofc( + '7a3c5dee-ea51-4b1a-8871-b7283d1dc516', + 'ofcprividium', + 'Prividium', + 18, + UnderlyingAsset.PRIVIDIUM, + CoinKind.CRYPTO + ), tofc( 'bc005b8a-dfb5-42db-92ad-92db5cb5b7d2', 'ofcthemieth', @@ -346,6 +354,14 @@ export const ofcCoins = [ UnderlyingAsset.HEMIETH, CoinKind.CRYPTO ), + tofc( + '7d18cdc5-a7da-4c76-8ce0-f80c391f80b3', + 'ofctprividium', + 'Prividium Testnet', + 18, + UnderlyingAsset.PRIVIDIUM, + 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..10a221cde7 100644 --- a/modules/statics/src/networks.ts +++ b/modules/statics/src/networks.ts @@ -2476,6 +2476,24 @@ class HemiEthTestnet extends Testnet implements EthereumNetwork { nativeCoinOperationHashPrefix = '743111'; } +class Prividium extends Mainnet implements EthereumNetwork { + name = 'Prividium'; + family = CoinFamily.PRIVIDIUM; + explorerUrl = 'https://explorer.prividium.zksync.dev/tx/'; // TODO: update with mainnet URL when available + accountExplorerUrl = 'https://explorer.prividium.zksync.dev/address/'; // TODO: update with mainnet URL when available + chainId = 9999999; // TODO: update with mainnet chain ID when available + nativeCoinOperationHashPrefix = '9999999'; +} + +class PrividiumTestnet extends Testnet implements EthereumNetwork { + name = 'Prividium Testnet'; + family = CoinFamily.PRIVIDIUM; + explorerUrl = 'https://explorer.testnet-prividium.zksync.dev/tx/'; + accountExplorerUrl = 'https://explorer.testnet-prividium.zksync.dev/address/'; + chainId = 8022834; + nativeCoinOperationHashPrefix = '8022834'; +} + class PlumeTestnet extends Testnet implements EthereumNetwork { name = 'PlumeTestnet'; family = CoinFamily.PLUME; @@ -2695,6 +2713,7 @@ export const Networks = { hederaEVM: Object.freeze(new HederaEVM()), hemieth: Object.freeze(new HemiEth()), hppeth: Object.freeze(new Hppeth()), + prividium: Object.freeze(new Prividium()), icp: Object.freeze(new Icp()), ip: Object.freeze(new IP()), initia: Object.freeze(new Initia()), @@ -2817,6 +2836,7 @@ export const Networks = { hedera: Object.freeze(new HederaTestnet()), hoodeth: Object.freeze(new HoodethTestnet()), hppeth: Object.freeze(new HppethTestnet()), + prividium: Object.freeze(new PrividiumTestnet()), hederaEVM: Object.freeze(new HederaEVMTestnet()), hemieth: Object.freeze(new HemiEthTestnet()), icp: Object.freeze(new IcpTestnet()), diff --git a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts index d0e364771c..9b05398219 100644 --- a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts +++ b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts @@ -123,6 +123,7 @@ export const expectedColdFeatures = { 'okbxlayer', 'osmo', 'plume', + 'prividium', 'polyx', 'sgb', 'sei', @@ -185,6 +186,7 @@ export const expectedColdFeatures = { 'tworld', 'tphrs', 'tplume', + 'tprividium', 'tctc', 'thypeevm', 'tlineaeth',