flash-sdk 15.0.1-alpha.0 → 15.0.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -918,4 +918,12 @@ export declare class PerpetualsClient {
918
918
  instructions: TransactionInstruction[];
919
919
  additionalSigners: Signer[];
920
920
  }>;
921
+ forceSettlePosition: (market: PublicKey, owner: PublicKey, receivingAccount: PublicKey, poolConfig: PoolConfig) => Promise<{
922
+ instructions: TransactionInstruction[];
923
+ additionalSigners: Signer[];
924
+ }>;
925
+ forceSettleOrder: (market: PublicKey, owner: PublicKey, poolConfig: PoolConfig) => Promise<{
926
+ instructions: TransactionInstruction[];
927
+ additionalSigners: Signer[];
928
+ }>;
921
929
  }
@@ -8791,6 +8791,199 @@ var PerpetualsClient = (function () {
8791
8791
  });
8792
8792
  });
8793
8793
  };
8794
+ this.forceSettlePosition = function (market, owner, receivingAccount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
8795
+ var instructions, additionalSigners, marketAccount, targetCustody_1, collateralCustody_1, targetCustodyConfig, collateralCustodyConfig, positionAccount, orderAccount, remainingAccounts, orderAccountInfo, forceSettlePositionIx, err_79;
8796
+ return __generator(this, function (_a) {
8797
+ switch (_a.label) {
8798
+ case 0:
8799
+ instructions = [];
8800
+ additionalSigners = [];
8801
+ _a.label = 1;
8802
+ case 1:
8803
+ _a.trys.push([1, 5, , 6]);
8804
+ return [4, this.program.account.market.fetch(market)];
8805
+ case 2:
8806
+ marketAccount = _a.sent();
8807
+ targetCustody_1 = marketAccount.targetCustody;
8808
+ collateralCustody_1 = marketAccount.collateralCustody;
8809
+ targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.custodyAccount.equals(targetCustody_1); });
8810
+ collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.custodyAccount.equals(collateralCustody_1); });
8811
+ positionAccount = this.findProgramAddress("position", [
8812
+ owner,
8813
+ market,
8814
+ ]).publicKey;
8815
+ orderAccount = this.findProgramAddress("order", [
8816
+ owner,
8817
+ market,
8818
+ ]).publicKey;
8819
+ remainingAccounts = [];
8820
+ return [4, this.provider.connection.getAccountInfo(orderAccount)];
8821
+ case 3:
8822
+ orderAccountInfo = _a.sent();
8823
+ if (orderAccountInfo) {
8824
+ remainingAccounts.push({
8825
+ pubkey: orderAccount,
8826
+ isSigner: false,
8827
+ isWritable: true,
8828
+ });
8829
+ }
8830
+ return [4, this.program.methods
8831
+ .forceSettlePosition({})
8832
+ .accountsPartial({
8833
+ admin: this.provider.wallet.publicKey,
8834
+ multisig: this.multisig.publicKey,
8835
+ receivingAccount: receivingAccount,
8836
+ transferAuthority: this.authority.publicKey,
8837
+ perpetuals: this.perpetuals.publicKey,
8838
+ pool: poolConfig.poolAddress,
8839
+ position: positionAccount,
8840
+ market: market,
8841
+ targetCustody: targetCustody_1,
8842
+ targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
8843
+ collateralCustody: collateralCustody_1,
8844
+ collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
8845
+ collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
8846
+ collateralTokenProgram: poolConfig.getTokenFromMintPk(collateralCustodyConfig.mintKey).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
8847
+ eventAuthority: this.eventAuthority.publicKey,
8848
+ program: this.programId,
8849
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
8850
+ collateralMint: collateralCustodyConfig.mintKey,
8851
+ })
8852
+ .remainingAccounts(remainingAccounts)
8853
+ .instruction()];
8854
+ case 4:
8855
+ forceSettlePositionIx = _a.sent();
8856
+ instructions.push(forceSettlePositionIx);
8857
+ return [3, 6];
8858
+ case 5:
8859
+ err_79 = _a.sent();
8860
+ console.log("perpClient forceSettlePosition error:: ", err_79);
8861
+ throw err_79;
8862
+ case 6: return [2, {
8863
+ instructions: __spreadArray([], instructions, true),
8864
+ additionalSigners: additionalSigners
8865
+ }];
8866
+ }
8867
+ });
8868
+ }); };
8869
+ this.forceSettleOrder = function (market, owner, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
8870
+ var instructions, additionalSigners, marketAccount, targetCustody, orderKey, orderAccount, uidToCustodyConfig, _i, _a, custodyConfig, custody, activeLimitOrders, uniqueUids, _b, uniqueUids_1, uid, reserveCustodyConfig, isToken2022, receivingAccount, forceSettleOrderIx, reserveCustodyConfig, isToken2022, receivingAccount, forceSettleOrderIx, err_80;
8871
+ return __generator(this, function (_c) {
8872
+ switch (_c.label) {
8873
+ case 0:
8874
+ instructions = [];
8875
+ additionalSigners = [];
8876
+ _c.label = 1;
8877
+ case 1:
8878
+ _c.trys.push([1, 14, , 15]);
8879
+ return [4, this.program.account.market.fetch(market)];
8880
+ case 2:
8881
+ marketAccount = _c.sent();
8882
+ targetCustody = marketAccount.targetCustody;
8883
+ orderKey = this.findProgramAddress("order", [
8884
+ owner,
8885
+ market,
8886
+ ]).publicKey;
8887
+ return [4, this.program.account.order.fetch(orderKey)];
8888
+ case 3:
8889
+ orderAccount = _c.sent();
8890
+ uidToCustodyConfig = new Map();
8891
+ _i = 0, _a = poolConfig.custodies;
8892
+ _c.label = 4;
8893
+ case 4:
8894
+ if (!(_i < _a.length)) return [3, 7];
8895
+ custodyConfig = _a[_i];
8896
+ return [4, this.program.account.custody.fetch(custodyConfig.custodyAccount)];
8897
+ case 5:
8898
+ custody = _c.sent();
8899
+ uidToCustodyConfig.set(custody.uid, custodyConfig);
8900
+ _c.label = 6;
8901
+ case 6:
8902
+ _i++;
8903
+ return [3, 4];
8904
+ case 7:
8905
+ activeLimitOrders = orderAccount.limitOrders.slice(0, orderAccount.activeOrders);
8906
+ uniqueUids = Array.from(new Set(activeLimitOrders.map(function (o) { return o.reserveCustodyUid; })));
8907
+ _b = 0, uniqueUids_1 = uniqueUids;
8908
+ _c.label = 8;
8909
+ case 8:
8910
+ if (!(_b < uniqueUids_1.length)) return [3, 11];
8911
+ uid = uniqueUids_1[_b];
8912
+ reserveCustodyConfig = uidToCustodyConfig.get(uid);
8913
+ if (!reserveCustodyConfig)
8914
+ return [3, 10];
8915
+ isToken2022 = poolConfig.getTokenFromMintPk(reserveCustodyConfig.mintKey).isToken2022;
8916
+ receivingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(reserveCustodyConfig.mintKey, owner, true, isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
8917
+ return [4, this.program.methods
8918
+ .forceSettleOrder({})
8919
+ .accountsPartial({
8920
+ admin: this.provider.wallet.publicKey,
8921
+ multisig: this.multisig.publicKey,
8922
+ receivingAccount: receivingAccount,
8923
+ transferAuthority: this.authority.publicKey,
8924
+ perpetuals: this.perpetuals.publicKey,
8925
+ pool: poolConfig.poolAddress,
8926
+ order: orderKey,
8927
+ market: market,
8928
+ targetCustody: targetCustody,
8929
+ reserveCustody: reserveCustodyConfig.custodyAccount,
8930
+ reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
8931
+ reserveTokenProgram: isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
8932
+ eventAuthority: this.eventAuthority.publicKey,
8933
+ program: this.programId,
8934
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
8935
+ reserveMint: reserveCustodyConfig.mintKey,
8936
+ })
8937
+ .instruction()];
8938
+ case 9:
8939
+ forceSettleOrderIx = _c.sent();
8940
+ instructions.push(forceSettleOrderIx);
8941
+ _c.label = 10;
8942
+ case 10:
8943
+ _b++;
8944
+ return [3, 8];
8945
+ case 11:
8946
+ if (!(uniqueUids.length === 0 && (orderAccount.openTp > 0 || orderAccount.openSl > 0))) return [3, 13];
8947
+ reserveCustodyConfig = poolConfig.custodies[0];
8948
+ isToken2022 = poolConfig.getTokenFromMintPk(reserveCustodyConfig.mintKey).isToken2022;
8949
+ receivingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(reserveCustodyConfig.mintKey, owner, true, isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
8950
+ return [4, this.program.methods
8951
+ .forceSettleOrder({})
8952
+ .accountsPartial({
8953
+ admin: this.provider.wallet.publicKey,
8954
+ multisig: this.multisig.publicKey,
8955
+ receivingAccount: receivingAccount,
8956
+ transferAuthority: this.authority.publicKey,
8957
+ perpetuals: this.perpetuals.publicKey,
8958
+ pool: poolConfig.poolAddress,
8959
+ order: orderKey,
8960
+ market: market,
8961
+ targetCustody: targetCustody,
8962
+ reserveCustody: reserveCustodyConfig.custodyAccount,
8963
+ reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
8964
+ reserveTokenProgram: isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
8965
+ eventAuthority: this.eventAuthority.publicKey,
8966
+ program: this.programId,
8967
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
8968
+ reserveMint: reserveCustodyConfig.mintKey,
8969
+ })
8970
+ .instruction()];
8971
+ case 12:
8972
+ forceSettleOrderIx = _c.sent();
8973
+ instructions.push(forceSettleOrderIx);
8974
+ _c.label = 13;
8975
+ case 13: return [3, 15];
8976
+ case 14:
8977
+ err_80 = _c.sent();
8978
+ console.log("perpClient forceSettleOrder error:: ", err_80);
8979
+ throw err_80;
8980
+ case 15: return [2, {
8981
+ instructions: __spreadArray([], instructions, true),
8982
+ additionalSigners: additionalSigners
8983
+ }];
8984
+ }
8985
+ });
8986
+ }); };
8794
8987
  this.provider = provider;
8795
8988
  (0, anchor_1.setProvider)(provider);
8796
8989
  var idlWithAddress = __assign(__assign({}, perpetuals_json_1.default), { address: programId.toBase58() });
@@ -3734,19 +3734,6 @@
3734
3734
  "pythPriceId": "0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0",
3735
3735
  "isToken2022": false
3736
3736
  },
3737
- {
3738
- "symbol": "2Z",
3739
- "mintKey": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
3740
- "decimals": 8,
3741
- "usdPrecision": 4,
3742
- "tokenPrecision": 4,
3743
- "isStable": false,
3744
- "isVirtual": false,
3745
- "lazerId": 2316,
3746
- "pythTicker": "Crypto.2Z/USD",
3747
- "pythPriceId": "0xf2b3ab1c49e35e881003c3c0482d18b181a1560b697b844c24c8f85aba1cab95",
3748
- "isToken2022": false
3749
- },
3750
3737
  {
3751
3738
  "symbol": "MET",
3752
3739
  "mintKey": "met2Hm6WYJaN27BkDVAuNefdk4BzkRpy5HqDrXVgDVH",
@@ -3759,6 +3746,19 @@
3759
3746
  "pythTicker": "Crypto.MET/USD",
3760
3747
  "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682",
3761
3748
  "isToken2022": false
3749
+ },
3750
+ {
3751
+ "symbol": "HYPE",
3752
+ "mintKey": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
3753
+ "decimals": 9,
3754
+ "usdPrecision": 4,
3755
+ "tokenPrecision": 4,
3756
+ "isStable": false,
3757
+ "isVirtual": false,
3758
+ "lazerId": 110,
3759
+ "pythTicker": "Crypto.HYPE/USD",
3760
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b",
3761
+ "isToken2022": false
3762
3762
  }
3763
3763
  ],
3764
3764
  "custodies": [
@@ -3864,23 +3864,6 @@
3864
3864
  "pythTicker": "Crypto.KMNO/USD",
3865
3865
  "pythPriceId": "0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0"
3866
3866
  },
3867
- {
3868
- "custodyId": 7,
3869
- "custodyAccount": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
3870
- "tokenAccount": "AUY7eUCnV89bE1k7cJcCz5auuknQM4xvcA5rAxn9qsCM",
3871
- "symbol": "2Z",
3872
- "mintKey": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
3873
- "decimals": 8,
3874
- "usdPrecision": 4,
3875
- "tokenPrecision": 4,
3876
- "isStable": false,
3877
- "isVirtual": false,
3878
- "intOracleAddress": "7uzvDr6RQLgnZzjGkWFN6bSq1sXqDuNiAVvEC8yhkLeW",
3879
- "extOracleAddress": "FrbKHNNy7yrRmEjyy8C9PsVubrCbWkFku3DqRfFPZjyS",
3880
- "lazerId": 2316,
3881
- "pythTicker": "Crypto.2Z/USD",
3882
- "pythPriceId": "0xf2b3ab1c49e35e881003c3c0482d18b181a1560b697b844c24c8f85aba1cab95"
3883
- },
3884
3867
  {
3885
3868
  "custodyId": 8,
3886
3869
  "custodyAccount": "J9Vtnk25A3r4eC5aS2UCfYQZL7k1CsQEjsqdZo3EjRRZ",
@@ -3897,6 +3880,23 @@
3897
3880
  "lazerId": 2382,
3898
3881
  "pythTicker": "Crypto.MET/USD",
3899
3882
  "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682"
3883
+ },
3884
+ {
3885
+ "custodyId": 9,
3886
+ "custodyAccount": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
3887
+ "tokenAccount": "ERSbeFyzQpkKkTRgrVsfPkExHsWuM1h4SSaNRRSYKexM",
3888
+ "symbol": "HYPE",
3889
+ "mintKey": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
3890
+ "decimals": 9,
3891
+ "usdPrecision": 4,
3892
+ "tokenPrecision": 4,
3893
+ "isStable": false,
3894
+ "isVirtual": false,
3895
+ "intOracleAddress": "88SYrzfE3SdGbdVvwqLfHCUj8sfVbENz9eUUpCCCDwyM",
3896
+ "extOracleAddress": "6usXZCEM4kf1KHGDTzgQLAWtDMNdzLjfAUYSwGKJm19Y",
3897
+ "lazerId": 110,
3898
+ "pythTicker": "Crypto.HYPE/USD",
3899
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b"
3900
3900
  }
3901
3901
  ],
3902
3902
  "markets": [
@@ -4060,38 +4060,6 @@
4060
4060
  "targetMint": "kmnooU2T6dYeVvPcwFjtNwDdgfNtAY6qs8tnxacZQxb",
4061
4061
  "collateralMint": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr"
4062
4062
  },
4063
- {
4064
- "marketId": 12,
4065
- "marketAccount": "D4C8ppxjJgsJ7b6shuPTZWUZnsACCVJs7L92ZNdWFpqP",
4066
- "marketCorrelation": true,
4067
- "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4068
- "targetCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4069
- "collateralCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4070
- "side": "long",
4071
- "maxLev": 10,
4072
- "degenMinLev": 1,
4073
- "degenMaxLev": 10,
4074
- "targetCustodyId": 6,
4075
- "collateralCustodyId": 6,
4076
- "targetMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
4077
- "collateralMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3"
4078
- },
4079
- {
4080
- "marketId": 13,
4081
- "marketAccount": "Fxc2z9sQRS2vZML53pGivPpbqhJcyXbHye3NvZsdCQna",
4082
- "marketCorrelation": false,
4083
- "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4084
- "targetCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4085
- "collateralCustody": "GbkkynYgzS3XBTXdeonisT82TkX5q5JHjo5EBBa9bZQ4",
4086
- "side": "short",
4087
- "maxLev": 10,
4088
- "degenMinLev": 1,
4089
- "degenMaxLev": 10,
4090
- "targetCustodyId": 6,
4091
- "collateralCustodyId": 0,
4092
- "targetMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
4093
- "collateralMint": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr"
4094
- },
4095
4063
  {
4096
4064
  "marketId": 15,
4097
4065
  "marketAccount": "EaE55FhbPvRSTkCCx9VftYT6jofpcxwSok1sroEt8Amn",
@@ -4123,6 +4091,38 @@
4123
4091
  "collateralCustodyId": 1,
4124
4092
  "targetMint": "met2Hm6WYJaN27BkDVAuNefdk4BzkRpy5HqDrXVgDVH",
4125
4093
  "collateralMint": "jupFZJoi1GKLMyt2J2Ui13BNTNh47XQtYPpNucbMAF4"
4094
+ },
4095
+ {
4096
+ "marketId": 17,
4097
+ "marketAccount": "F5NRDqaM6vYCtT97NtTzwYS3NHtbpP9SXhvd5quDkovQ",
4098
+ "marketCorrelation": true,
4099
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4100
+ "targetCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4101
+ "collateralCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4102
+ "side": "long",
4103
+ "maxLev": 50,
4104
+ "degenMinLev": 1,
4105
+ "degenMaxLev": 50,
4106
+ "targetCustodyId": 9,
4107
+ "collateralCustodyId": 9,
4108
+ "targetMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
4109
+ "collateralMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg"
4110
+ },
4111
+ {
4112
+ "marketId": 18,
4113
+ "marketAccount": "ExscQbvAc8WfuMiTjwtb8JHGFHmKytQJvbEUZWtG2Yyp",
4114
+ "marketCorrelation": false,
4115
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4116
+ "targetCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4117
+ "collateralCustody": "GbkkynYgzS3XBTXdeonisT82TkX5q5JHjo5EBBa9bZQ4",
4118
+ "side": "short",
4119
+ "maxLev": 50,
4120
+ "degenMinLev": 1,
4121
+ "degenMaxLev": 50,
4122
+ "targetCustodyId": 9,
4123
+ "collateralCustodyId": 0,
4124
+ "targetMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
4125
+ "collateralMint": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr"
4126
4126
  }
4127
4127
  ],
4128
4128
  "marketsDeprecated": [
@@ -4141,6 +4141,38 @@
4141
4141
  "collateralCustodyId": 6,
4142
4142
  "targetMint": "met2Hm6WYJaN27BkDVAuNefdk4BzkRpy5HqDrXVgDVH",
4143
4143
  "collateralMint": "met2Hm6WYJaN27BkDVAuNefdk4BzkRpy5HqDrXVgDVH"
4144
+ },
4145
+ {
4146
+ "marketId": 12,
4147
+ "marketAccount": "D4C8ppxjJgsJ7b6shuPTZWUZnsACCVJs7L92ZNdWFpqP",
4148
+ "marketCorrelation": true,
4149
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4150
+ "targetCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4151
+ "collateralCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4152
+ "side": "long",
4153
+ "maxLev": 10,
4154
+ "degenMinLev": 1,
4155
+ "degenMaxLev": 10,
4156
+ "targetCustodyId": 6,
4157
+ "collateralCustodyId": 6,
4158
+ "targetMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
4159
+ "collateralMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3"
4160
+ },
4161
+ {
4162
+ "marketId": 13,
4163
+ "marketAccount": "Fxc2z9sQRS2vZML53pGivPpbqhJcyXbHye3NvZsdCQna",
4164
+ "marketCorrelation": false,
4165
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4166
+ "targetCustody": "GSsipaKzDUjRTuao1fCJvsBiSKBtGDApZHp1TFyYF9Jk",
4167
+ "collateralCustody": "GbkkynYgzS3XBTXdeonisT82TkX5q5JHjo5EBBa9bZQ4",
4168
+ "side": "short",
4169
+ "maxLev": 10,
4170
+ "degenMinLev": 1,
4171
+ "degenMaxLev": 10,
4172
+ "targetCustodyId": 6,
4173
+ "collateralCustodyId": 0,
4174
+ "targetMint": "2zRoPBHuDHcwHym3aeAtZZhWbpzHUXJSe3H8Rnsh3SL3",
4175
+ "collateralMint": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr"
4144
4176
  }
4145
4177
  ]
4146
4178
  },