From 7c4b83e7ffb7732465709f29474f4c6c3fdb5f02 Mon Sep 17 00:00:00 2001 From: prithvishet2503 Date: Fri, 1 Aug 2025 17:25:25 +0530 Subject: [PATCH] feat: adding configs for ZERO GRAVITY chain Ticket: WIN-6479 TICKET: WIN-6479 --- modules/bitgo/test/v2/unit/keychains.ts | 1 + modules/sdk-core/src/bitgo/environments.ts | 6 +++ modules/statics/src/base.ts | 2 + modules/statics/src/coins.ts | 38 +++++++++++++++++++ modules/statics/src/networks.ts | 20 ++++++++++ .../unit/fixtures/expectedColdFeatures.ts | 2 + 6 files changed, 69 insertions(+) diff --git a/modules/bitgo/test/v2/unit/keychains.ts b/modules/bitgo/test/v2/unit/keychains.ts index 2e9b7c922d..b1716431bf 100644 --- a/modules/bitgo/test/v2/unit/keychains.ts +++ b/modules/bitgo/test/v2/unit/keychains.ts @@ -78,6 +78,7 @@ describe('V2 Keychains', function () { n.asset !== UnderlyingAsset.ICP && n.asset !== UnderlyingAsset.MANTRA && n.asset !== UnderlyingAsset.MON && + n.asset !== UnderlyingAsset.OG && n.asset !== UnderlyingAsset.WORLD && n.asset !== UnderlyingAsset.PHRS && n.asset !== UnderlyingAsset.CTC && diff --git a/modules/sdk-core/src/bitgo/environments.ts b/modules/sdk-core/src/bitgo/environments.ts index e3821f32ed..be9584af0d 100644 --- a/modules/sdk-core/src/bitgo/environments.ts +++ b/modules/sdk-core/src/bitgo/environments.ts @@ -217,6 +217,9 @@ const mainnetBase: EnvironmentTemplate = { hypeevm: { baseUrl: 'https://rpc.hyperliquid.xyz/evm', }, + og: { + baseUrl: '', //TODO- WIN-6519 when mainnet details available + }, sonic: { baseUrl: 'https://rpc.soniclabs.com', }, @@ -321,6 +324,9 @@ const testnetBase: EnvironmentTemplate = { hypeevm: { baseUrl: 'https://rpc.hyperliquid-testnet.xyz/evm', }, + og: { + baseUrl: 'https://chainscan-test.0g.ai/open/api', + }, sonic: { baseUrl: 'https://rpc.blaze.soniclabs.com', }, diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 1014d5ca1a..159c100c70 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -76,6 +76,7 @@ export enum CoinFamily { NEAR = 'near', OAS = 'oas', OFC = 'ofc', + OG = 'og', OPETH = 'opeth', OSMO = 'osmo', RBTC = 'rbtc', @@ -499,6 +500,7 @@ export enum UnderlyingAsset { MON = 'mon', NEAR = 'near', OAS = 'oas', + OG = 'og', OPETH = 'opeth', OSMO = 'osmo', POLYGON = 'polygon', diff --git a/modules/statics/src/coins.ts b/modules/statics/src/coins.ts index 0e1044ae69..3d1d45d5c7 100644 --- a/modules/statics/src/coins.ts +++ b/modules/statics/src/coins.ts @@ -704,6 +704,44 @@ export const coins = CoinMap.fromCoins([ BaseUnit.BLD, COSMOS_SIDECHAIN_FEATURES_WITH_STAKING ), + account( + '0d2d6a7f-70a9-4475-afca-2af5cfaddff6', + 'tog', + 'Zero Gravity Testnet', + Networks.test.og, + 18, + UnderlyingAsset.OG, + BaseUnit.ETH, + [ + ...EVM_FEATURES, + CoinFeature.SHARED_EVM_SIGNING, + CoinFeature.SHARED_EVM_SDK, + CoinFeature.EVM_COMPATIBLE_IMS, + CoinFeature.EVM_COMPATIBLE_UI, + ], + KeyCurve.Secp256k1, + '', + 't0G' + ), + account( + 'f180825c-a79c-4e4d-8c91-ebeffbd19819', + 'og', + 'Zero Gravity', + Networks.main.og, + 18, + UnderlyingAsset.OG, + BaseUnit.ETH, + [ + ...EVM_FEATURES, + CoinFeature.SHARED_EVM_SIGNING, + CoinFeature.SHARED_EVM_SDK, + CoinFeature.EVM_COMPATIBLE_IMS, + CoinFeature.EVM_COMPATIBLE_UI, + ], + KeyCurve.Secp256k1, + '', + '0G' + ), account( '4777265e-37f4-44d8-bccd-13e56189fcae', 'sei', diff --git a/modules/statics/src/networks.ts b/modules/statics/src/networks.ts index 37e069e793..f02ed0f690 100644 --- a/modules/statics/src/networks.ts +++ b/modules/statics/src/networks.ts @@ -1406,6 +1406,24 @@ class IrysTestnet extends Testnet implements EthereumNetwork { nativeCoinOperationHashPrefix = '1270'; } +class Og extends Mainnet implements EthereumNetwork { + name = 'Zero Gravity'; + family = CoinFamily.OG; + explorerUrl = ''; //TODO- WIN-6519 when mainnet details available + accountExplorerUrl = ''; //TODO- WIN-6519 when mainnet details available + chainId = 9999999999999; //TODO- WIN-6519 when mainnet details available ,this is a dummy value + nativeCoinOperationHashPrefix = ''; //TODO- WIN-6519 when mainnet details available +} + +class OgTestnet extends Testnet implements EthereumNetwork { + name = 'Zero Gravity Testnet'; + family = CoinFamily.OG; + explorerUrl = 'https://chainscan-galileo.0g.ai/tx/'; + accountExplorerUrl = 'https://chainscan-galileo.0g.ai/address/'; + chainId = 16601; + nativeCoinOperationHashPrefix = '16601'; +} + class Xdc extends Mainnet implements EthereumNetwork { name = 'XdcChain'; family = CoinFamily.XDC; @@ -1739,6 +1757,7 @@ export const Networks = { ctc: Object.freeze(new Creditcoin()), hypeevm: Object.freeze(new HypeEVM()), oas: Object.freeze(new Oas()), + og: Object.freeze(new Og()), ofc: Object.freeze(new Ofc()), optimism: Object.freeze(new Optimism()), osmo: Object.freeze(new Osmo()), @@ -1828,6 +1847,7 @@ export const Networks = { ctc: Object.freeze(new CreditcoinTestnet()), hypeevm: Object.freeze(new HypeEVMTestnet()), oas: Object.freeze(new OasTestnet()), + og: Object.freeze(new OgTestnet()), ofc: Object.freeze(new OfcTestnet()), optimism: Object.freeze(new OptimismTestnet()), osmo: Object.freeze(new OsmoTestnet()), diff --git a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts index 714f406c22..97de50daef 100644 --- a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts +++ b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts @@ -80,6 +80,7 @@ export const expectedColdFeatures = { 'mon', 'near', 'oas', + 'og', 'osmo', 'polyx', 'sgb', @@ -113,6 +114,7 @@ export const expectedColdFeatures = { 'tdot', 'tfetchai', 'tflr', + 'tog', 'tmon', 'tworld', 'tphrs',