flash-sdk 15.0.2-alpha.0 → 15.1.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() });
@@ -1144,29 +1144,29 @@
1144
1144
  "isToken2022": false
1145
1145
  },
1146
1146
  {
1147
- "symbol": "2Z",
1148
- "mintKey": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1149
- "decimals": 8,
1147
+ "symbol": "MET",
1148
+ "mintKey": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1149
+ "decimals": 6,
1150
1150
  "usdPrecision": 4,
1151
1151
  "tokenPrecision": 4,
1152
1152
  "isStable": false,
1153
1153
  "isVirtual": false,
1154
- "lazerId": 2316,
1155
- "pythTicker": "Crypto.2Z/USD",
1156
- "pythPriceId": "0xf2b3ab1c49e35e881003c3c0482d18b181a1560b697b844c24c8f85aba1cab95",
1154
+ "lazerId": 2382,
1155
+ "pythTicker": "Crypto.MET/USD",
1156
+ "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682",
1157
1157
  "isToken2022": false
1158
1158
  },
1159
1159
  {
1160
- "symbol": "MET",
1161
- "mintKey": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1162
- "decimals": 6,
1160
+ "symbol": "HYPE",
1161
+ "mintKey": "98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g",
1162
+ "decimals": 9,
1163
1163
  "usdPrecision": 4,
1164
1164
  "tokenPrecision": 4,
1165
1165
  "isStable": false,
1166
1166
  "isVirtual": false,
1167
- "lazerId": 2382,
1168
- "pythTicker": "Crypto.MET/USD",
1169
- "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682",
1167
+ "lazerId": 110,
1168
+ "pythTicker": "Crypto.HYPE/USD",
1169
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b",
1170
1170
  "isToken2022": false
1171
1171
  }
1172
1172
  ],
@@ -1273,23 +1273,6 @@
1273
1273
  "pythTicker": "Crypto.KMNO/USD",
1274
1274
  "pythPriceId": "0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0"
1275
1275
  },
1276
- {
1277
- "custodyId": 7,
1278
- "custodyAccount": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1279
- "tokenAccount": "C1TiexZz6uHgR3zS8QETAD88vXXhDt6WKqbQKzqt4drK",
1280
- "symbol": "2Z",
1281
- "mintKey": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1282
- "decimals": 8,
1283
- "usdPrecision": 4,
1284
- "tokenPrecision": 4,
1285
- "isStable": false,
1286
- "isVirtual": false,
1287
- "intOracleAddress": "DENBVxPsCmnr4L91RNDX15RVbVzfa5J5M7vQjz4eBmds",
1288
- "extOracleAddress": "FrbKHNNy7yrRmEjyy8C9PsVubrCbWkFku3DqRfFPZjyS",
1289
- "lazerId": 2316,
1290
- "pythTicker": "Crypto.2Z/USD",
1291
- "pythPriceId": "0xf2b3ab1c49e35e881003c3c0482d18b181a1560b697b844c24c8f85aba1cab95"
1292
- },
1293
1276
  {
1294
1277
  "custodyId": 8,
1295
1278
  "custodyAccount": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
@@ -1306,6 +1289,23 @@
1306
1289
  "lazerId": 2382,
1307
1290
  "pythTicker": "Crypto.MET/USD",
1308
1291
  "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682"
1292
+ },
1293
+ {
1294
+ "custodyId": 9,
1295
+ "custodyAccount": "AC5Uash5GPiHmST2dbqszJezVf2QVHseAi79zch9ANYo",
1296
+ "tokenAccount": "BabUu46q8aiYwuHbJv3zua9sYodmTjLo6HQUdvBCxnPj",
1297
+ "symbol": "HYPE",
1298
+ "mintKey": "98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g",
1299
+ "decimals": 9,
1300
+ "usdPrecision": 4,
1301
+ "tokenPrecision": 4,
1302
+ "isStable": false,
1303
+ "isVirtual": false,
1304
+ "intOracleAddress": "48k9AUvWX5kHWVyY5Vo5B7gwwm2hnn5YSgc4KUsKe27D",
1305
+ "extOracleAddress": "6usXZCEM4kf1KHGDTzgQLAWtDMNdzLjfAUYSwGKJm19Y",
1306
+ "lazerId": 110,
1307
+ "pythTicker": "Crypto.HYPE/USD",
1308
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b"
1309
1309
  }
1310
1310
  ],
1311
1311
  "markets": [
@@ -1470,67 +1470,101 @@
1470
1470
  "collateralMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
1471
1471
  },
1472
1472
  {
1473
- "marketId": 12,
1474
- "marketAccount": "CJnePGUX6aK9PiLA1EHRY4gczcLwEPcDwn4tKXT24kQE",
1473
+ "marketId": 14,
1474
+ "marketAccount": "ERAAAg44sTiWf52eGH43accCYKggJYqMowTzoHHGenti",
1475
1475
  "marketCorrelation": true,
1476
1476
  "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1477
- "targetCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1478
- "collateralCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1477
+ "targetCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1478
+ "collateralCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1479
1479
  "side": "long",
1480
1480
  "maxLev": 10,
1481
1481
  "degenMinLev": 1,
1482
1482
  "degenMaxLev": 10,
1483
- "targetCustodyId": 7,
1484
- "collateralCustodyId": 7,
1485
- "targetMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1486
- "collateralMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd"
1483
+ "targetCustodyId": 8,
1484
+ "collateralCustodyId": 8,
1485
+ "targetMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1486
+ "collateralMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL"
1487
1487
  },
1488
1488
  {
1489
- "marketId": 13,
1490
- "marketAccount": "CdfVZirn5fXz4FS7noBPzdraFTFMA5wTED7VqHdraPxX",
1489
+ "marketId": 15,
1490
+ "marketAccount": "H5SsjeU6TFQpZBD8FUPqGKTGqhPTBtDkuhSJuSAp3HM4",
1491
1491
  "marketCorrelation": false,
1492
1492
  "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1493
- "targetCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1493
+ "targetCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1494
1494
  "collateralCustody": "6fiadNoZVTha5NdaktZgJ3PHm7bncZpiqGvFbCsrUv72",
1495
1495
  "side": "short",
1496
1496
  "maxLev": 10,
1497
1497
  "degenMinLev": 1,
1498
1498
  "degenMaxLev": 10,
1499
- "targetCustodyId": 7,
1499
+ "targetCustodyId": 8,
1500
1500
  "collateralCustodyId": 0,
1501
- "targetMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1501
+ "targetMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1502
1502
  "collateralMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
1503
1503
  },
1504
1504
  {
1505
- "marketId": 14,
1506
- "marketAccount": "ERAAAg44sTiWf52eGH43accCYKggJYqMowTzoHHGenti",
1505
+ "marketId": 16,
1506
+ "marketAccount": "6aCHZF8itdQKaFiVuZYPhhQvAPkTCWVv5w5rV5ka3xQw",
1507
1507
  "marketCorrelation": true,
1508
1508
  "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1509
- "targetCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1510
- "collateralCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1509
+ "targetCustody": "AC5Uash5GPiHmST2dbqszJezVf2QVHseAi79zch9ANYo",
1510
+ "collateralCustody": "AC5Uash5GPiHmST2dbqszJezVf2QVHseAi79zch9ANYo",
1511
+ "side": "long",
1512
+ "maxLev": 50,
1513
+ "degenMinLev": 1,
1514
+ "degenMaxLev": 50,
1515
+ "targetCustodyId": 9,
1516
+ "collateralCustodyId": 9,
1517
+ "targetMint": "98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g",
1518
+ "collateralMint": "98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g"
1519
+ },
1520
+ {
1521
+ "marketId": 17,
1522
+ "marketAccount": "5YY8VCBCBWNzBPjMXtwhizPykZyieLnkXShEh44ttdK7",
1523
+ "marketCorrelation": false,
1524
+ "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1525
+ "targetCustody": "AC5Uash5GPiHmST2dbqszJezVf2QVHseAi79zch9ANYo",
1526
+ "collateralCustody": "6fiadNoZVTha5NdaktZgJ3PHm7bncZpiqGvFbCsrUv72",
1527
+ "side": "short",
1528
+ "maxLev": 50,
1529
+ "degenMinLev": 1,
1530
+ "degenMaxLev": 50,
1531
+ "targetCustodyId": 9,
1532
+ "collateralCustodyId": 0,
1533
+ "targetMint": "98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g",
1534
+ "collateralMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
1535
+ }
1536
+ ],
1537
+ "marketsDeprecated": [
1538
+ {
1539
+ "marketId": 12,
1540
+ "marketAccount": "CJnePGUX6aK9PiLA1EHRY4gczcLwEPcDwn4tKXT24kQE",
1541
+ "marketCorrelation": true,
1542
+ "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1543
+ "targetCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1544
+ "collateralCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1511
1545
  "side": "long",
1512
1546
  "maxLev": 10,
1513
1547
  "degenMinLev": 1,
1514
1548
  "degenMaxLev": 10,
1515
- "targetCustodyId": 8,
1516
- "collateralCustodyId": 8,
1517
- "targetMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1518
- "collateralMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL"
1549
+ "targetCustodyId": 7,
1550
+ "collateralCustodyId": 7,
1551
+ "targetMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1552
+ "collateralMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd"
1519
1553
  },
1520
1554
  {
1521
- "marketId": 15,
1522
- "marketAccount": "H5SsjeU6TFQpZBD8FUPqGKTGqhPTBtDkuhSJuSAp3HM4",
1555
+ "marketId": 13,
1556
+ "marketAccount": "CdfVZirn5fXz4FS7noBPzdraFTFMA5wTED7VqHdraPxX",
1523
1557
  "marketCorrelation": false,
1524
1558
  "pool": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
1525
- "targetCustody": "9GeU2eX2B8nLCJr7FKhXeR73fM2ULBwUXZqHov9iipxz",
1559
+ "targetCustody": "5Yi2PMxDJfMF8pUiYqvoN3ChnVgePm6fqxohzfdsYgYz",
1526
1560
  "collateralCustody": "6fiadNoZVTha5NdaktZgJ3PHm7bncZpiqGvFbCsrUv72",
1527
1561
  "side": "short",
1528
1562
  "maxLev": 10,
1529
1563
  "degenMinLev": 1,
1530
1564
  "degenMaxLev": 10,
1531
- "targetCustodyId": 8,
1565
+ "targetCustodyId": 7,
1532
1566
  "collateralCustodyId": 0,
1533
- "targetMint": "METvsvVRapdj9cFLzq4Tr43xK4tAjQfwX76z3n6mWQL",
1567
+ "targetMint": "J6pQQ3FAcJQeWPPGppWRb4nM8jU3wLyYbRrLh7feMfvd",
1534
1568
  "collateralMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
1535
1569
  }
1536
1570
  ]
@@ -3746,6 +3780,19 @@
3746
3780
  "pythTicker": "Crypto.MET/USD",
3747
3781
  "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682",
3748
3782
  "isToken2022": false
3783
+ },
3784
+ {
3785
+ "symbol": "HYPE",
3786
+ "mintKey": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
3787
+ "decimals": 9,
3788
+ "usdPrecision": 4,
3789
+ "tokenPrecision": 4,
3790
+ "isStable": false,
3791
+ "isVirtual": false,
3792
+ "lazerId": 110,
3793
+ "pythTicker": "Crypto.HYPE/USD",
3794
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b",
3795
+ "isToken2022": false
3749
3796
  }
3750
3797
  ],
3751
3798
  "custodies": [
@@ -3867,6 +3914,23 @@
3867
3914
  "lazerId": 2382,
3868
3915
  "pythTicker": "Crypto.MET/USD",
3869
3916
  "pythPriceId": "0x0292e0f405bcd4a496d34e48307f6787349ad2bcd8505c3d3a9f77d81a67a682"
3917
+ },
3918
+ {
3919
+ "custodyId": 9,
3920
+ "custodyAccount": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
3921
+ "tokenAccount": "ERSbeFyzQpkKkTRgrVsfPkExHsWuM1h4SSaNRRSYKexM",
3922
+ "symbol": "HYPE",
3923
+ "mintKey": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
3924
+ "decimals": 9,
3925
+ "usdPrecision": 4,
3926
+ "tokenPrecision": 4,
3927
+ "isStable": false,
3928
+ "isVirtual": false,
3929
+ "intOracleAddress": "88SYrzfE3SdGbdVvwqLfHCUj8sfVbENz9eUUpCCCDwyM",
3930
+ "extOracleAddress": "6usXZCEM4kf1KHGDTzgQLAWtDMNdzLjfAUYSwGKJm19Y",
3931
+ "lazerId": 110,
3932
+ "pythTicker": "Crypto.HYPE/USD",
3933
+ "pythPriceId": "0x4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b"
3870
3934
  }
3871
3935
  ],
3872
3936
  "markets": [
@@ -4061,6 +4125,38 @@
4061
4125
  "collateralCustodyId": 1,
4062
4126
  "targetMint": "met2Hm6WYJaN27BkDVAuNefdk4BzkRpy5HqDrXVgDVH",
4063
4127
  "collateralMint": "jupFZJoi1GKLMyt2J2Ui13BNTNh47XQtYPpNucbMAF4"
4128
+ },
4129
+ {
4130
+ "marketId": 17,
4131
+ "marketAccount": "F5NRDqaM6vYCtT97NtTzwYS3NHtbpP9SXhvd5quDkovQ",
4132
+ "marketCorrelation": true,
4133
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4134
+ "targetCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4135
+ "collateralCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4136
+ "side": "long",
4137
+ "maxLev": 50,
4138
+ "degenMinLev": 1,
4139
+ "degenMaxLev": 50,
4140
+ "targetCustodyId": 9,
4141
+ "collateralCustodyId": 9,
4142
+ "targetMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
4143
+ "collateralMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg"
4144
+ },
4145
+ {
4146
+ "marketId": 18,
4147
+ "marketAccount": "ExscQbvAc8WfuMiTjwtb8JHGFHmKytQJvbEUZWtG2Yyp",
4148
+ "marketCorrelation": false,
4149
+ "pool": "4yKTVsodk49vH4DAQVHe8wTdGrFiYq6GkNJaSGRAdnPK",
4150
+ "targetCustody": "9TbFLEzyexD4BeygzQYFAT6zj3sWkTfhet6315rxRYKx",
4151
+ "collateralCustody": "GbkkynYgzS3XBTXdeonisT82TkX5q5JHjo5EBBa9bZQ4",
4152
+ "side": "short",
4153
+ "maxLev": 50,
4154
+ "degenMinLev": 1,
4155
+ "degenMaxLev": 50,
4156
+ "targetCustodyId": 9,
4157
+ "collateralCustodyId": 0,
4158
+ "targetMint": "hypeDsEnh7Qe6PHVbQotUkdkyp4pzYMfrjSie5RvzGg",
4159
+ "collateralMint": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr"
4064
4160
  }
4065
4161
  ],
4066
4162
  "marketsDeprecated": [