Skip to content

Commit 43036cc

Browse files
authored
Merge pull request #7984 from BitGo/COIN-7422-dydx-sdk-changes
feat(statics): add dYdX L1 chain support
2 parents 32da460 + e69e56a commit 43036cc

5 files changed

Lines changed: 51 additions & 1 deletion

File tree

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,6 +1037,26 @@ export const allCoinsAndTokens = [
10371037
BaseUnit.KAVA,
10381038
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
10391039
),
1040+
account(
1041+
'f5a8c3d1-7b2e-4f9a-8c6d-1e3b5a7c9d2f',
1042+
'dydxcosmos',
1043+
'dYdX Cosmos',
1044+
Networks.main.dydx,
1045+
18,
1046+
UnderlyingAsset.DYDX,
1047+
BaseUnit.DYDX,
1048+
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
1049+
),
1050+
account(
1051+
'a2b4c6d8-e1f3-5a7b-9c2d-4e6f8a1b3c5d',
1052+
'tdydxcosmos',
1053+
'Testnet dYdX Cosmos',
1054+
Networks.test.dydx,
1055+
18,
1056+
UnderlyingAsset.DYDX,
1057+
BaseUnit.DYDX,
1058+
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
1059+
),
10401060
account(
10411061
'7df858d5-9da3-4071-ab06-399962ea87b7',
10421062
'coreum',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export enum CoinFamily {
4949
DOGE = 'doge',
5050
DOGEOS = 'dogeos',
5151
DOT = 'dot',
52+
DYDX = 'dydx',
5253
ETH = 'eth',
5354
ETH2 = 'eth2',
5455
ETHW = 'ethw',
@@ -3604,6 +3605,7 @@ export enum BaseUnit {
36043605
IOTA = 'iota',
36053606
ZETA = 'azeta',
36063607
KAVA = 'ukava',
3608+
DYDX = 'adydx',
36073609
COREUM = 'ucore',
36083610
TCOREUM = 'utestcore', // Coreum testnet uses different name for native coin
36093611
ISLM = 'aISLM',

modules/statics/src/networks.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -999,6 +999,30 @@ class KavaTestnet extends Testnet implements CosmosNetwork {
999999
validDenoms = ['kava', 'ukava'];
10001000
}
10011001

1002+
class Dydx extends Mainnet implements CosmosNetwork {
1003+
name = 'Dydx';
1004+
family = CoinFamily.DYDX;
1005+
explorerUrl = 'https://www.mintscan.io/dydx/tx/';
1006+
addressPrefix = 'dydx';
1007+
validatorPrefix = 'dydxvaloper';
1008+
denom = 'adydx';
1009+
gasAmount = '5000000000000000';
1010+
gasLimit = 200000;
1011+
validDenoms = ['adydx'];
1012+
}
1013+
1014+
class DydxTestnet extends Testnet implements CosmosNetwork {
1015+
name = 'DydxTestnet';
1016+
family = CoinFamily.DYDX;
1017+
explorerUrl = 'https://www.mintscan.io/dydx-testnet/tx/';
1018+
addressPrefix = 'dydx';
1019+
validatorPrefix = 'dydxvaloper';
1020+
denom = 'adv4tnt';
1021+
gasAmount = '5000000000000000';
1022+
gasLimit = 200000;
1023+
validDenoms = ['adv4tnt'];
1024+
}
1025+
10021026
class Ton extends Mainnet implements AccountNetwork {
10031027
name = 'Ton';
10041028
family = CoinFamily.TON;
@@ -2358,6 +2382,7 @@ export const Networks = {
23582382
dogecoin: Object.freeze(new Dogecoin()),
23592383
dogeos: Object.freeze(new Dogeos()),
23602384
dot: Object.freeze(new PolkadotAssetHub()),
2385+
dydx: Object.freeze(new Dydx()),
23612386
eCash: Object.freeze(new ECash()),
23622387
eos: Object.freeze(new Eos()),
23632388
ethereum: Object.freeze(new Ethereum()),
@@ -2469,6 +2494,7 @@ export const Networks = {
24692494
dogecoin: Object.freeze(new DogecoinTestnet()),
24702495
dogeos: Object.freeze(new DogeosTestnet()),
24712496
dot: Object.freeze(new WestendAssetHub()),
2497+
dydx: Object.freeze(new DydxTestnet()),
24722498
eCash: Object.freeze(new ECashTestnet()),
24732499
eos: Object.freeze(new EosTestnet()),
24742500
fiat: Object.freeze(new FiatTestnet()),

modules/statics/test/unit/coins.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@ coins.forEach((coin, coinName) => {
878878
});
879879

880880
if (!coin.isToken && coin.family !== CoinFamily.FIAT) {
881-
if (coin.family !== CoinFamily.THOR) {
881+
if (coin.family !== CoinFamily.THOR && coin.family !== CoinFamily.DYDX) {
882882
it(`has expected network type`, function () {
883883
coin.network.type.should.eql(coin.name === coin.family ? NetworkType.MAINNET : NetworkType.TESTNET);
884884
});

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ export const expectedColdFeatures = {
8888
'cronos',
8989
'dogeos',
9090
'dot',
91+
'dydxcosmos',
9192
'fetchai',
9293
'flow',
9394
'fluenteth',
@@ -152,6 +153,7 @@ export const expectedColdFeatures = {
152153
'tcronos',
153154
'tdogeos',
154155
'tdot',
156+
'tdydxcosmos',
155157
'tfetchai',
156158
'tflow',
157159
'tfluenteth',

0 commit comments

Comments
 (0)