aftermath-ts-sdk 1.1.75 → 1.1.77

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.
Files changed (69) hide show
  1. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +8 -0
  2. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
  3. package/dist/general/apiHelpers/transactionsApiHelpers.js +73 -0
  4. package/dist/general/providers/aftermath.d.ts +6 -0
  5. package/dist/general/providers/aftermath.d.ts.map +1 -1
  6. package/dist/general/providers/aftermath.js +8 -0
  7. package/dist/general/providers/aftermathApi.d.ts +2 -0
  8. package/dist/general/providers/aftermathApi.d.ts.map +1 -1
  9. package/dist/general/providers/aftermathApi.js +4 -0
  10. package/dist/general/types/castingTypes.d.ts +1 -0
  11. package/dist/general/types/castingTypes.d.ts.map +1 -1
  12. package/dist/general/types/configTypes.d.ts +13 -0
  13. package/dist/general/types/configTypes.d.ts.map +1 -1
  14. package/dist/general/types/generalTypes.d.ts +1 -0
  15. package/dist/general/types/generalTypes.d.ts.map +1 -1
  16. package/dist/general/utils/casting.d.ts +2 -0
  17. package/dist/general/utils/casting.d.ts.map +1 -1
  18. package/dist/general/utils/casting.js +2 -0
  19. package/dist/packages/dca/api/dcaApi.d.ts +44 -0
  20. package/dist/packages/dca/api/dcaApi.d.ts.map +1 -0
  21. package/dist/packages/dca/api/dcaApi.js +215 -0
  22. package/dist/packages/dca/api/dcaApiCasting.d.ts +11 -0
  23. package/dist/packages/dca/api/dcaApiCasting.d.ts.map +1 -0
  24. package/dist/packages/dca/api/dcaApiCasting.js +170 -0
  25. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +132 -0
  26. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +1 -0
  27. package/dist/packages/dca/api/dcaApiCastingTypes.js +2 -0
  28. package/dist/packages/dca/dca.d.ts +87 -0
  29. package/dist/packages/dca/dca.d.ts.map +1 -0
  30. package/dist/packages/dca/dca.js +138 -0
  31. package/dist/packages/dca/dcaTypes.d.ts +130 -0
  32. package/dist/packages/dca/dcaTypes.d.ts.map +1 -0
  33. package/dist/packages/dca/dcaTypes.js +2 -0
  34. package/dist/packages/dca/index.d.ts +2 -0
  35. package/dist/packages/dca/index.d.ts.map +1 -0
  36. package/dist/packages/dca/index.js +17 -0
  37. package/dist/packages/multisig/api/multisigApi.d.ts +2 -0
  38. package/dist/packages/multisig/api/multisigApi.d.ts.map +1 -0
  39. package/dist/packages/multisig/api/multisigApi.js +49 -0
  40. package/dist/packages/multisig/index.d.ts +2 -0
  41. package/dist/packages/multisig/index.d.ts.map +1 -0
  42. package/dist/packages/multisig/index.js +3 -0
  43. package/dist/packages/multisig/multisig.d.ts +2 -0
  44. package/dist/packages/multisig/multisig.d.ts.map +1 -0
  45. package/dist/packages/multisig/multisig.js +37 -0
  46. package/dist/packages/multisig/multisigTypes.d.ts +2 -0
  47. package/dist/packages/multisig/multisigTypes.d.ts.map +1 -0
  48. package/dist/packages/multisig/multisigTypes.js +13 -0
  49. package/dist/packages/perpetuals/api/perpetualsApi.d.ts +19 -14
  50. package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
  51. package/dist/packages/perpetuals/api/perpetualsApi.js +403 -362
  52. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +1 -0
  53. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
  54. package/dist/packages/perpetuals/api/perpetualsApiCasting.js +5 -3
  55. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
  56. package/dist/packages/perpetuals/perpetualsAccount.d.ts +16 -4
  57. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
  58. package/dist/packages/perpetuals/perpetualsAccount.js +50 -22
  59. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +7 -6
  60. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
  61. package/dist/packages/perpetuals/perpetualsMarket.d.ts +3 -33
  62. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
  63. package/dist/packages/perpetuals/perpetualsMarket.js +8 -184
  64. package/dist/packages/perpetuals/perpetualsTypes.d.ts +65 -16
  65. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
  66. package/dist/packages/router/api/routerApi.d.ts +2 -4
  67. package/dist/packages/router/api/routerApi.d.ts.map +1 -1
  68. package/dist/packages/router/api/routerApi.js +12 -53
  69. package/package.json +1 -1
@@ -8,6 +8,7 @@ export declare class PerpetualsApiCasting {
8
8
  position: PerpetualsPositionIndexerResponse;
9
9
  collateralCoinType: CoinType;
10
10
  marketId: PerpetualsMarketId;
11
+ leverage: number;
11
12
  }) => PerpetualsPosition;
12
13
  static accountObjectFromIndexerResponse: (response: PerpetualsAccountPositionsIndexerResponse, collateralCoinType: CoinType) => PerpetualsAccountObject;
13
14
  static marketDataFromIndexerResponse(data: PerpetualsMarketDataIndexerResponse, collateralCoinType: CoinType, baseAssetSymbol: CoinSymbol): PerpetualsMarketData;
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/perpetuals/api/perpetualsApiCasting.ts"],"names":[],"mappings":"AACA,OAAO,EAMN,uBAAuB,EACvB,kBAAkB,EAGlB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EAGjC,yCAAyC,EACzC,iCAAiC,EACjC,mCAAmC,EACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAkB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG7E,qBAAa,oBAAoB;WASlB,oBAAoB,CACjC,IAAI,EAAE,GAAG,EACT,kBAAkB,EAAE,QAAQ,EAC5B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,GAClB,uBAAuB;IA6B1B,OAAc,0BAA0B,WAAY;QACnD,QAAQ,EAAE,iCAAiC,CAAC;QAC5C,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;KAC7B,KAAG,kBAAkB,CAkDpB;IAEF,OAAc,gCAAgC,4EAEzB,QAAQ,KAC1B,uBAAuB,CAYxB;WAMY,6BAA6B,CAC1C,IAAI,EAAE,mCAAmC,EACzC,kBAAkB,EAAE,QAAQ,EAC5B,eAAe,EAAE,UAAU,GACzB,oBAAoB;IAevB,OAAO,CAAC,MAAM,CAAC,+BAA+B,CA0C5C;IAEF,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAwB3C;IAMF,OAAc,uBAAuB,UAAW,MAAM,EAAE,KAAG,MAAM,CAK/D;IAEF,OAAc,gBAAgB,SAAU,GAAG,KAAG,mBAAmB,CAK/D;IAUF,OAAc,kCAAkC,oDAE7C,uBAAuB,CASxB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CASzB;IAEF,OAAc,8BAA8B,gDAEzC,mBAAmB,CAYpB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CAUzB;IAEF,OAAc,qCAAqC,uDAEhD,0BAA0B,CAU3B;IAMF,OAAc,0BAA0B,4CAErC,eAAe,CAgBhB;IAMF,OAAc,8BAA8B,gDAEzC,mBAAmB,CASpB;IAMF,OAAc,6BAA6B,+CAExC,kBAAkB,CAYnB;IAEF,OAAc,2BAA2B,6CAEtC,gBAAgB,CAgBjB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CAkBtB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CA+BtB;IAEF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAMF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAEF,OAAc,iCAAiC,mDAE5C,sBAAsB,CAYvB;CACF"}
1
+ {"version":3,"file":"perpetualsApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/perpetuals/api/perpetualsApiCasting.ts"],"names":[],"mappings":"AACA,OAAO,EAMN,uBAAuB,EACvB,kBAAkB,EAGlB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EAGjC,yCAAyC,EACzC,iCAAiC,EACjC,mCAAmC,EACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAkB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG7E,qBAAa,oBAAoB;WASlB,oBAAoB,CACjC,IAAI,EAAE,GAAG,EACT,kBAAkB,EAAE,QAAQ,EAC5B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,GAClB,uBAAuB;IA6B1B,OAAc,0BAA0B,WAAY;QACnD,QAAQ,EAAE,iCAAiC,CAAC;QAC5C,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;KACjB,KAAG,kBAAkB,CAmDpB;IAEF,OAAc,gCAAgC,4EAEzB,QAAQ,KAC1B,uBAAuB,CAmBxB;WAMY,6BAA6B,CAC1C,IAAI,EAAE,mCAAmC,EACzC,kBAAkB,EAAE,QAAQ,EAC5B,eAAe,EAAE,UAAU,GACzB,oBAAoB;IAevB,OAAO,CAAC,MAAM,CAAC,+BAA+B,CA0C5C;IAEF,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAwB3C;IAMF,OAAc,uBAAuB,UAAW,MAAM,EAAE,KAAG,MAAM,CAK/D;IAEF,OAAc,gBAAgB,SAAU,GAAG,KAAG,mBAAmB,CAK/D;IAUF,OAAc,kCAAkC,oDAE7C,uBAAuB,CASxB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CASzB;IAEF,OAAc,8BAA8B,gDAEzC,mBAAmB,CAYpB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CAUzB;IAEF,OAAc,qCAAqC,uDAEhD,0BAA0B,CAU3B;IAMF,OAAc,0BAA0B,4CAErC,eAAe,CAgBhB;IAMF,OAAc,8BAA8B,gDAEzC,mBAAmB,CASpB;IAMF,OAAc,6BAA6B,+CAExC,kBAAkB,CAYnB;IAEF,OAAc,2BAA2B,6CAEtC,gBAAgB,CAgBjB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CAkBtB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CA+BtB;IAEF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAMF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAEF,OAAc,iCAAiC,mDAE5C,sBAAsB,CAYvB;CACF"}
@@ -58,9 +58,10 @@ _a = PerpetualsApiCasting;
58
58
  // };
59
59
  // };
60
60
  PerpetualsApiCasting.positionFromIndexerReponse = (inputs) => {
61
- const { position, collateralCoinType, marketId } = inputs;
61
+ const { position, collateralCoinType, marketId, leverage } = inputs;
62
62
  return {
63
63
  collateralCoinType,
64
+ leverage,
64
65
  collateral: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.collateral),
65
66
  baseAssetAmount: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.base_asset_amount),
66
67
  quoteAssetNotionalAmount: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.quote_asset_notional_amount),
@@ -88,9 +89,10 @@ PerpetualsApiCasting.positionFromIndexerReponse = (inputs) => {
88
89
  };
89
90
  PerpetualsApiCasting.accountObjectFromIndexerResponse = (response, collateralCoinType) => {
90
91
  return {
91
- positions: response.map(([marketIdAsStringBytes, position]) => _a.positionFromIndexerReponse({
92
+ positions: response.map(([marketIdAsStringBytes, position, leverageAsStringBytes]) => _a.positionFromIndexerReponse({
92
93
  position,
93
94
  collateralCoinType,
95
+ leverage: utils_1.Casting.IFixed.numberFromIFixed(utils_1.Casting.IFixed.iFixedFromStringBytes(leverageAsStringBytes)) || 1,
94
96
  marketId: utils_1.Casting.addressFromStringBytes(marketIdAsStringBytes),
95
97
  })),
96
98
  };
@@ -283,7 +285,7 @@ PerpetualsApiCasting.filledMakerOrderEventFromOnChain = (eventOnChain) => {
283
285
  orderId: BigInt(fields.order_id),
284
286
  side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
285
287
  size: BigInt(fields.maker_size),
286
- dropped: fields.dropped,
288
+ dropped: BigInt(fields.maker_final_size) === BigInt(0),
287
289
  quoteAssetNotionalAmount: BigInt(fields.maker_quote_amount),
288
290
  asksQuantity: BigInt(fields.maker_pending_asks_quantity),
289
291
  bidsQuantity: BigInt(fields.maker_pending_bids_quantity),
@@ -1 +1 @@
1
- {"version":3,"file":"perpetuals.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetuals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACN,8BAA8B,EAC9B,UAAU,EAKV,kBAAkB,EAClB,yBAAyB,EAEzB,mBAAmB,EAEnB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EAGT,yCAAyC,EACzC,oBAAoB,EAGpB,MAAM,EAEN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,UAAW,SAAQ,MAAM;aAWT,OAAO,CAAC;IANpC,gBAAuB,UAAU,8BAAwB;gBAM7B,OAAO,CAAC,wBAAY;IAQnC,aAAa,CAAC,MAAM,EAAE;QAClC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUlB,SAAS,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOhB,UAAU,CAAC,MAAM,EAAE;QAC/B,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAYlB,UAAU,CAAC,MAAM,EAAE;QAC/B,UAAU,EAAE,oBAAoB,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQjB,kBAAkB,CAC9B,MAAM,EAAE,yBAAyB,GAAG;QACnC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GACC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAc3B,uBAAuB,CAAC,MAAM,EAAE;QACtC,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,aAAa,EAAE,SAAS,CAAC;QACzB,WAAW,EAAE,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACnB;IAiBY,kBAAkB,CAAC,MAAM,EAAE,8BAA8B;WAexD,YAAY,CAAC,MAAM,EAAE;QAClC,eAAe,EAAE,MAAM,CAAC;KACxB,GAAG,mBAAmB;WAQT,UAAU,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,qBAAqB,CAAC;KAClC,GAAG,MAAM;IAQV,OAAc,iBAAiB,WAAY;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,oBAAoB,CAqBtB;IAEF,OAAc,iBAAiB,WAAY;QAC1C,UAAU,EAAE,oBAAoB,CAAC;QACjC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,MAAM,CAgBR;WAEY,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;WAIpD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAIlE,OAAc,aAAa,YACjB,iBAAiB,KACxB,mBAAmB,CAIpB;WAMY,cAAc,CAAC,MAAM,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;KACjC,GAAG,MAAM;CAWV"}
1
+ {"version":3,"file":"perpetuals.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetuals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACN,8BAA8B,EAC9B,UAAU,EAKV,kBAAkB,EAClB,yBAAyB,EAEzB,mBAAmB,EAEnB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EAET,yCAAyC,EACzC,oBAAoB,EAGpB,MAAM,EAEN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,UAAW,SAAQ,MAAM;aAWT,OAAO,CAAC;IANpC,gBAAuB,UAAU,8BAAwB;gBAM7B,OAAO,CAAC,wBAAY;IAQnC,aAAa,CAAC,MAAM,EAAE;QAClC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUlB,SAAS,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOhB,UAAU,CAAC,MAAM,EAAE;QAC/B,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAYlB,UAAU,CAAC,MAAM,EAAE;QAC/B,UAAU,EAAE,oBAAoB,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQjB,kBAAkB,CAC9B,MAAM,EAAE,yBAAyB,GAAG;QACnC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GACC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAc3B,uBAAuB,CAAC,MAAM,EAAE;QACtC,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,aAAa,EAAE,SAAS,CAAC;QACzB,WAAW,EAAE,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACnB;IAiBY,kBAAkB,CAAC,MAAM,EAAE,8BAA8B;WAexD,YAAY,CAAC,MAAM,EAAE;QAClC,eAAe,EAAE,MAAM,CAAC;KACxB,GAAG,mBAAmB;WAQT,UAAU,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,qBAAqB,CAAC;KAClC,GAAG,MAAM;IAQV,OAAc,iBAAiB,WAAY;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,oBAAoB,CAqBtB;IAEF,OAAc,iBAAiB,WAAY;QAC1C,UAAU,EAAE,oBAAoB,CAAC;QACjC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,MAAM,CAgBR;WAEY,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;WAIpD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAIlE,OAAc,aAAa,YACjB,iBAAiB,KACxB,mBAAmB,CAIpB;WAMY,cAAc,CAAC,MAAM,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;KACjC,GAAG,MAAM;CAWV"}
@@ -1,5 +1,5 @@
1
1
  import { Caller } from "../../general/utils/caller";
2
- import { ApiPerpetualsPreviewOrderBody, Balance, PerpetualsAccountCap, PerpetualsAccountObject, PerpetualsMarketId, PerpetualsOrderId, PerpetualsOrderSide, PerpetualsPosition, SdkPerpetualsLimitOrderInputs, SdkPerpetualsMarketOrderInputs, SdkPerpetualsSLTPOrderInputs, SuiNetwork, SuiAddress, ApiIndexerEventsBody, CollateralEvent, PerpetualsOrderEvent, ObjectId, PerpetualsOrderData, CoinDecimal, Percentage, ObjectVersion } from "../../types";
2
+ import { ApiPerpetualsPreviewOrderBody, Balance, PerpetualsAccountCap, PerpetualsAccountObject, PerpetualsMarketId, PerpetualsOrderId, PerpetualsOrderSide, PerpetualsPosition, SdkPerpetualsLimitOrderInputs, SdkPerpetualsMarketOrderInputs, SdkPerpetualsSLTPOrderInputs, SuiNetwork, SuiAddress, ObjectId, PerpetualsOrderData, CoinDecimal, Percentage, ObjectVersion, ApiDataWithCursorBody, Timestamp, PerpetualsAccountCollateralChangesWithCursor, PerpetualsAccountTradesWithCursor, ApiPerpetualsSetPositionLeverageBody } from "../../types";
3
3
  import { PerpetualsMarket } from "./perpetualsMarket";
4
4
  import { Transaction } from "@mysten/sui/transactions";
5
5
  export declare class PerpetualsAccount extends Caller {
@@ -55,6 +55,18 @@ export declare class PerpetualsAccount extends Caller {
55
55
  indexPrice: number;
56
56
  collateralPrice: number;
57
57
  }): Promise<Transaction>;
58
+ setPositionLeverage(inputs: ApiPerpetualsSetPositionLeverageBody): Promise<boolean>;
59
+ getPositionLeverages(inputs: {
60
+ marketIds: PerpetualsMarketId[];
61
+ }): Promise<number[]>;
62
+ setPositionLeverageMessageToSign(inputs: {
63
+ marketId: PerpetualsMarketId;
64
+ leverage: number;
65
+ }): {
66
+ account_id: number;
67
+ market_id: PerpetualsMarketId;
68
+ leverage: number;
69
+ };
58
70
  getOrderPreview(inputs: Omit<ApiPerpetualsPreviewOrderBody, "accountId" | "collateralCoinType" | "accountCapId">, abortSignal?: AbortSignal): Promise<{
59
71
  error: string;
60
72
  } | {
@@ -68,9 +80,9 @@ export declare class PerpetualsAccount extends Caller {
68
80
  collateralChange: Balance;
69
81
  executionPrice: number;
70
82
  }>;
71
- getOrderDatas(): PerpetualsOrderData[] | Promise<PerpetualsOrderData[]>;
72
- getCollateralEvents(inputs: ApiIndexerEventsBody): Promise<import("../../types").IndexerEventsWithCursor<CollateralEvent>>;
73
- getOrderEvents(inputs: ApiIndexerEventsBody): Promise<import("../../types").IndexerEventsWithCursor<PerpetualsOrderEvent>>;
83
+ getOrderDatas(): Promise<PerpetualsOrderData[]>;
84
+ getCollateralHistory(inputs: ApiDataWithCursorBody<Timestamp>): Promise<PerpetualsAccountCollateralChangesWithCursor>;
85
+ getOrderHistory(inputs: ApiDataWithCursorBody<Timestamp>): Promise<PerpetualsAccountTradesWithCursor>;
74
86
  calcFreeCollateralForPosition: (inputs: {
75
87
  market: PerpetualsMarket;
76
88
  indexPrice: number;
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsAccount.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perpetualsAccount.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsAccount.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,8 @@ class PerpetualsAccount extends caller_1.Caller {
115
115
  var _a, _b;
116
116
  const marketId = inputs.market.marketId;
117
117
  const position = (_b = (_a = inputs.position) !== null && _a !== void 0 ? _a : this.positionForMarketId({ marketId })) !== null && _b !== void 0 ? _b : this.emptyPosition({ marketId });
118
- const marginRatioInitial = iFixedUtils_1.IFixedUtils.numberFromIFixed(inputs.market.marketParams.marginRatioInitial);
118
+ const marginRatioInitial = 1 / position.leverage;
119
+ // const marginRatioInitial = inputs.market.initialMarginRatio();
119
120
  const marginRatioMaintenance = iFixedUtils_1.IFixedUtils.numberFromIFixed(inputs.market.marketParams.marginRatioMaintenance);
120
121
  const baseAssetAmount = iFixedUtils_1.IFixedUtils.numberFromIFixed(position.baseAssetAmount);
121
122
  const quoteAssetAmount = iFixedUtils_1.IFixedUtils.numberFromIFixed(position.quoteAssetNotionalAmount);
@@ -206,7 +207,7 @@ class PerpetualsAccount extends caller_1.Caller {
206
207
  // TODO: move conversion to helper function, since used often
207
208
  const ordersCollateral = __1.Coin.normalizeBalance(utils_1.Helpers.sum(orderDatas
208
209
  .filter((orderData) => orderData.marketId === market.marketId)
209
- .map((orderData) => market.calcCollateralUsedForOrder(Object.assign(Object.assign({}, inputs), { orderData })).collateral)), this.collateralDecimals());
210
+ .map((orderData) => market.calcCollateralUsedForOrder(Object.assign(Object.assign({}, inputs), { orderData, leverage: position.leverage })).collateral)), this.collateralDecimals());
210
211
  const fullPositionCollateralChange = utils_1.Helpers.maxBigInt(BigInt(Math.floor(Number(__1.Coin.normalizeBalance(this.calcFreeMarginUsdForPosition(inputs) *
211
212
  collateralPrice, this.collateralDecimals()) - ordersCollateral) *
212
213
  (1 -
@@ -242,7 +243,8 @@ class PerpetualsAccount extends caller_1.Caller {
242
243
  bidsQuantity: BigInt(0),
243
244
  pendingOrders: [],
244
245
  makerFee: BigInt(1000000000000000000),
245
- takerFee: BigInt(1000000000000000000), // 100%
246
+ takerFee: BigInt(1000000000000000000),
247
+ leverage: 1,
246
248
  };
247
249
  };
248
250
  }
@@ -306,6 +308,33 @@ class PerpetualsAccount extends caller_1.Caller {
306
308
  // =========================================================================
307
309
  // Inspections
308
310
  // =========================================================================
311
+ setPositionLeverage(inputs) {
312
+ return __awaiter(this, void 0, void 0, function* () {
313
+ return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/set-position-leverage`, inputs);
314
+ });
315
+ }
316
+ // public async getAllPositionLeverages(): Promise<
317
+ // {
318
+ // marketId: PerpetualsMarketId;
319
+ // leverage: number;
320
+ // }[]
321
+ // > {
322
+ // return this.fetchApi(
323
+ // `${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/position-leverages`
324
+ // );
325
+ // }
326
+ getPositionLeverages(inputs) {
327
+ return __awaiter(this, void 0, void 0, function* () {
328
+ return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/position-leverages/${JSON.stringify(inputs.marketIds)}`);
329
+ });
330
+ }
331
+ setPositionLeverageMessageToSign(inputs) {
332
+ return {
333
+ account_id: Number(this.accountCap.accountId),
334
+ market_id: inputs.marketId,
335
+ leverage: inputs.leverage,
336
+ };
337
+ }
309
338
  getOrderPreview(inputs, abortSignal) {
310
339
  return __awaiter(this, void 0, void 0, function* () {
311
340
  const response = yield this.fetchApi("preview-order", Object.assign(Object.assign({}, inputs), { accountId: this.accountCap.accountId, collateralCoinType: this.accountCap.collateralCoinType }), abortSignal);
@@ -316,31 +345,30 @@ class PerpetualsAccount extends caller_1.Caller {
316
345
  });
317
346
  }
318
347
  getOrderDatas() {
319
- const orderDatas = this.account.positions.reduce((acc, position) => [
320
- ...acc,
321
- ...position.pendingOrders.map((order) => ({
322
- orderId: order.orderId,
323
- marketId: position.marketId,
324
- currentSize: order.size,
325
- })),
326
- ], []);
327
- if (orderDatas.length <= 0)
328
- return [];
329
- return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/order-datas`, {
330
- orderDatas,
348
+ return __awaiter(this, void 0, void 0, function* () {
349
+ const orderDatas = this.account.positions.reduce((acc, position) => [
350
+ ...acc,
351
+ ...position.pendingOrders.map((order) => ({
352
+ orderId: order.orderId,
353
+ currentSize: order.size,
354
+ })),
355
+ ], []);
356
+ if (orderDatas.length <= 0)
357
+ return [];
358
+ return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/order-datas`, {
359
+ orderDatas,
360
+ accountCapId: this.accountCap.objectId,
361
+ });
331
362
  });
332
363
  }
333
- // =========================================================================
334
- // Events
335
- // =========================================================================
336
- getCollateralEvents(inputs) {
364
+ getCollateralHistory(inputs) {
337
365
  return __awaiter(this, void 0, void 0, function* () {
338
- return this.fetchApiIndexerEvents(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/events/collateral`, inputs);
366
+ return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/collateral-history`, Object.assign(Object.assign({}, inputs), { accountCapId: this.accountCap.objectId }));
339
367
  });
340
368
  }
341
- getOrderEvents(inputs) {
369
+ getOrderHistory(inputs) {
342
370
  return __awaiter(this, void 0, void 0, function* () {
343
- return this.fetchApiIndexerEvents(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/events/order`, inputs);
371
+ return this.fetchApi(`${this.accountCap.collateralCoinType}/accounts/${this.accountCap.accountId}/order-history`, Object.assign(Object.assign({}, inputs), { accountCapId: this.accountCap.objectId }));
344
372
  });
345
373
  }
346
374
  // =========================================================================
@@ -67,7 +67,8 @@ export interface PerpetualsPositionIndexerResponse {
67
67
  }
68
68
  export type PerpetualsAccountPositionsIndexerResponse = [
69
69
  IdAsStringBytes,
70
- PerpetualsPositionIndexerResponse
70
+ PerpetualsPositionIndexerResponse,
71
+ IFixedAsStringBytes
71
72
  ][];
72
73
  export type PerpetualsPreviewOrderIndexerResponse = {
73
74
  position: PerpetualsPositionIndexerResponse;
@@ -140,15 +141,15 @@ export type PostedOrderEventOnChain = EventOnChain<{
140
141
  export type FilledMakerOrderEventOnChain = EventOnChain<{
141
142
  ch_id: ObjectId;
142
143
  maker_account_id: BigIntAsString;
143
- maker_collateral: IFixedAsString;
144
144
  collateral_change_usd: IFixedAsString;
145
- order_id: BigIntAsString;
146
- maker_size: BigIntAsString;
147
- dropped: boolean;
148
145
  maker_base_amount: IFixedAsString;
149
- maker_quote_amount: IFixedAsString;
146
+ maker_collateral: IFixedAsString;
147
+ maker_final_size: BigIntAsString;
150
148
  maker_pending_asks_quantity: IFixedAsString;
151
149
  maker_pending_bids_quantity: IFixedAsString;
150
+ maker_quote_amount: IFixedAsString;
151
+ maker_size: BigIntAsString;
152
+ order_id: BigIntAsString;
152
153
  }>;
153
154
  export type FilledTakerOrderEventOnChain = EventOnChain<{
154
155
  ch_id: ObjectId;
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsCastingTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsCastingTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perpetualsCastingTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsCastingTypes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PerpetualsAccount } from "../..";
2
2
  import { Caller } from "../../general/utils/caller";
3
- import { ApiIndexerEventsBody, CoinType, FilledTakerOrderEvent, PerpetualsMarketId, PerpetualsMarketParams, PerpetualsMarketState, PerpetualsOrderData, PerpetualsOrderId, PerpetualsOrderPrice, PerpetualsOrderSide, PerpetualsOrderbookState, PerpetualsPosition, SuiNetwork, Timestamp, PerpetualsMarketData, Balance, PerpetualsFilledOrderData, ApiPerpetualsMarket24hrVolumeResponse } from "../../types";
3
+ import { CoinType, PerpetualsMarketId, PerpetualsMarketParams, PerpetualsMarketState, PerpetualsOrderData, PerpetualsOrderId, PerpetualsOrderPrice, PerpetualsOrderSide, PerpetualsOrderbookState, SuiNetwork, Timestamp, PerpetualsMarketData, ApiPerpetualsMarket24hrVolumeResponse, ApiDataWithCursorBody, PerpetualsTradeHistoryWithCursor } from "../../types";
4
4
  export declare class PerpetualsMarket extends Caller {
5
5
  marketData: PerpetualsMarketData;
6
6
  readonly network?: SuiNetwork | undefined;
@@ -23,7 +23,7 @@ export declare class PerpetualsMarket extends Caller {
23
23
  leverage: number;
24
24
  price?: PerpetualsOrderPrice;
25
25
  }) => Promise<number>;
26
- getFilledOrderEvents(inputs: ApiIndexerEventsBody): Promise<import("../..").IndexerEventsWithCursor<FilledTakerOrderEvent>>;
26
+ getTradeHistory(inputs: ApiDataWithCursorBody<Timestamp>): Promise<PerpetualsTradeHistoryWithCursor>;
27
27
  timeUntilNextFundingMs: () => Timestamp;
28
28
  nextFundingTimeMs: () => Timestamp;
29
29
  estimatedFundingRate: (inputs: {
@@ -35,38 +35,8 @@ export declare class PerpetualsMarket extends Caller {
35
35
  orderPriceToPrice: (inputs: {
36
36
  orderPrice: PerpetualsOrderPrice;
37
37
  }) => number;
38
- calcOrderCollateral(inputs: {
39
- indexPrice: number;
40
- size: bigint;
41
- }): Balance;
42
- calcOptimisticMaxOrderSize: (inputs: {
43
- position: PerpetualsPosition | undefined;
44
- account: PerpetualsAccount;
45
- indexPrice: number;
46
- collateralPrice: number;
47
- side: PerpetualsOrderSide;
48
- }) => number;
49
- calcPessimisticMaxOrderSizeUsd: (inputs: {
50
- position: PerpetualsPosition | undefined;
51
- freeMarginUsd: number;
52
- minInitialMargin: number;
53
- indexPrice: number;
54
- side: PerpetualsOrderSide;
55
- executionPrice: number;
56
- sizeFilled: number;
57
- sizePosted: number;
58
- optimisticSize: number;
59
- }) => Promise<number>;
60
- calcCollateralRequiredForOrder: (inputs: {
61
- fills: PerpetualsFilledOrderData[];
62
- account: PerpetualsAccount;
63
- side: PerpetualsOrderSide;
64
- size: number;
65
- indexPrice: number;
66
- collateralPrice: number;
67
- price: number | undefined;
68
- }) => number;
69
38
  calcCollateralUsedForOrder: (inputs: {
39
+ leverage: number;
70
40
  orderData: PerpetualsOrderData;
71
41
  indexPrice: number;
72
42
  collateralPrice: number;
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsMarket.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsMarket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perpetualsMarket.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsMarket.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAKN,QAAQ,EAKR,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEnB,wBAAwB,EAExB,UAAU,EACV,SAAS,EAET,oBAAoB,EAIpB,qCAAqC,EACrC,qBAAqB,EACrB,gCAAgC,EAChC,MAAM,aAAa,CAAC;AAIrB,qBAAa,gBAAiB,SAAQ,MAAM;IAenC,UAAU,EAAE,oBAAoB;aACvB,OAAO,CAAC;IAXzB,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C,SAAgB,kBAAkB,EAAE,QAAQ,CAAC;IAC7C,SAAgB,YAAY,EAAE,sBAAsB,CAAC;IACrD,SAAgB,WAAW,EAAE,qBAAqB,CAAC;gBAO3C,UAAU,EAAE,oBAAoB,EACvB,OAAO,CAAC,wBAAY;IAgB9B,iBAAiB;IAIjB,aAAa,IAAI,OAAO,CAAC,qCAAqC,CAAC;IAM/D,gBAAgB;IAIhB,iBAAiB,CAAC,MAAM,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACxB;IAWM,kBAAkB,WAAkB;QAC1C,OAAO,EAAE,iBAAiB,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,oBAAoB,CAAC;KAC7B,KAAG,QAAQ,MAAM,CAAC,CAajB;IAMW,eAAe,CAAC,MAAM,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAW9D,sBAAsB,QAAO,SAAS,CAE3C;IAEK,iBAAiB,QAAO,SAAS,CAMtC;IAOK,oBAAoB,WAAY;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM,CAWpE;IAEK,iBAAiB,WAAY;QACnC,KAAK,EAAE,MAAM,CAAC;KACd,KAAG,oBAAoB,CAStB;IAEK,iBAAiB,WAAY;QACnC,UAAU,EAAE,oBAAoB,CAAC;KACjC,KAAG,MAAM,CASR;IAEK,0BAA0B,WAAY;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,mBAAmB,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACxB;oBACY,MAAM;uBACH,MAAM;MAkBpB;IAMK,OAAO;IAIP,QAAQ;IAIR,WAAW;IASX,kBAAkB;IAUlB,UAAU,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,iBAAiB,CAAA;KAAE,GAAG,MAAM;IAM1D,iBAAiB,WAAY;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,YAEnD;IAEK,gBAAgB,WAAY;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,YAMlE;IAuBF,OAAO,CAAC,qBAAqB;CA8E7B"}
@@ -13,7 +13,6 @@ exports.PerpetualsMarket = void 0;
13
13
  const __1 = require("../..");
14
14
  const caller_1 = require("../../general/utils/caller");
15
15
  const iFixedUtils_1 = require("../../general/utils/iFixedUtils");
16
- const types_1 = require("../../types");
17
16
  const perpetuals_1 = require("./perpetuals");
18
17
  const utils_1 = require("./utils");
19
18
  class PerpetualsMarket extends caller_1.Caller {
@@ -79,181 +78,10 @@ class PerpetualsMarket extends caller_1.Caller {
79
78
  tickSize,
80
79
  });
81
80
  };
82
- this.calcOptimisticMaxOrderSize = (inputs) => {
83
- const { position, indexPrice, side, account, collateralPrice } = inputs;
84
- const imr = this.initialMarginRatio();
85
- const isReversing = position
86
- ? Boolean(side ^ perpetuals_1.Perpetuals.positionSide(position))
87
- : false;
88
- const freeMarginUsd = account.calcFreeMarginUsdForPosition(Object.assign(Object.assign({}, inputs), { market: this })) +
89
- account.collateral() * collateralPrice;
90
- let maxSize = freeMarginUsd / (indexPrice * imr);
91
- if (isReversing && position && position.baseAssetAmount > BigInt(0)) {
92
- const currentSizeNum = __1.Casting.IFixed.numberFromIFixed(position.baseAssetAmount) * 2;
93
- const bidsQuantityNum = __1.Casting.IFixed.numberFromIFixed(position.bidsQuantity);
94
- const asksQuantityNum = __1.Casting.IFixed.numberFromIFixed(position.asksQuantity);
95
- maxSize += Math.max(Math.abs(currentSizeNum + bidsQuantityNum), Math.abs(currentSizeNum - asksQuantityNum));
96
- }
97
- return maxSize;
98
- };
99
- this.calcPessimisticMaxOrderSizeUsd = (inputs) => __awaiter(this, void 0, void 0, function* () {
100
- const { indexPrice, side, position, executionPrice, freeMarginUsd, minInitialMargin, sizeFilled, sizePosted, optimisticSize, } = inputs;
101
- const percentFilled = Math.min(sizeFilled / (sizeFilled + sizePosted), 1);
102
- const marginRatioInitial = this.initialMarginRatio();
103
- const takerFee = __1.Casting.IFixed.numberFromIFixed(this.marketParams.takerFee);
104
- const isReversing = position
105
- ? Boolean(side ^ perpetuals_1.Perpetuals.positionSide(position))
106
- : false;
107
- const slippage = percentFilled === 0
108
- ? 0
109
- : Math.max((side === types_1.PerpetualsOrderSide.Bid
110
- ? executionPrice - indexPrice
111
- : indexPrice - executionPrice) / indexPrice, 0);
112
- const marginOfError = 0.005;
113
- const safetyScalar = Math.min(1 - slippage, 1 - marginOfError);
114
- let maxSize = 0;
115
- if (isReversing && position && position.baseAssetAmount !== BigInt(0)) {
116
- maxSize += Math.abs(__1.Casting.IFixed.numberFromIFixed(position.baseAssetAmount));
117
- // Size that can be placed to close the position
118
- const { marginDelta, reqDelta, sizeFilled, sizePosted } = this.simulateClosePosition({
119
- position,
120
- indexPrice,
121
- executionPrice,
122
- size: optimisticSize,
123
- percentFilled,
124
- });
125
- const newPercentFilled = sizeFilled / (sizeFilled + sizePosted);
126
- const margin = freeMarginUsd + minInitialMargin + marginDelta;
127
- const imr = minInitialMargin + reqDelta;
128
- // Size that adds margin requirement
129
- maxSize +=
130
- ((margin - imr) * safetyScalar) /
131
- (indexPrice * marginRatioInitial +
132
- (executionPrice * takerFee + slippage * indexPrice) *
133
- newPercentFilled);
134
- }
135
- else {
136
- maxSize =
137
- (freeMarginUsd * safetyScalar) /
138
- (indexPrice * marginRatioInitial +
139
- (executionPrice * takerFee + slippage * indexPrice) *
140
- percentFilled);
141
- }
142
- // accounts for any minor price fluctatuations or possible rounding errors
143
- return (this.roundToValidSize({ size: maxSize, floor: true }) * indexPrice);
144
- });
145
- this.calcCollateralRequiredForOrder = (inputs) => {
146
- const { account, size, fills, side, price, indexPrice, collateralPrice, } = inputs;
147
- const position = account.positionForMarketId({
148
- marketId: this.marketId,
149
- });
150
- const positionSize = position
151
- ? Math.abs(__1.Casting.IFixed.numberFromIFixed(position.baseAssetAmount))
152
- : 0;
153
- const isOpeningOrIncreasingPosition = !position ||
154
- !positionSize ||
155
- perpetuals_1.Perpetuals.positionSide(position) === side;
156
- let sizeRemaining = Math.abs(size);
157
- let fillsRemaining = __1.Helpers.deepCopy(fills.map((fill) => (Object.assign(Object.assign({}, fill), { size: Math.abs(fill.size) }))));
158
- let sizeFilled = 0;
159
- let sizeFilledUsd = 0;
160
- let sizeFilledForReversing = 0;
161
- let sizeFilledForReversingUsd = 0;
162
- while (sizeRemaining > 0 && fillsRemaining.length > 0) {
163
- const fill = fillsRemaining[0];
164
- if (price !== undefined &&
165
- (side === types_1.PerpetualsOrderSide.Bid
166
- ? price < fill.price
167
- : price > fill.price))
168
- break;
169
- let sizeToFill;
170
- if (!isOpeningOrIncreasingPosition && sizeFilled >= positionSize) {
171
- sizeToFill = Math.min(sizeRemaining, fill.size);
172
- sizeFilledForReversing += sizeToFill;
173
- sizeFilledForReversingUsd += sizeToFill * fill.price;
174
- }
175
- else {
176
- sizeToFill = Math.min(sizeRemaining, fill.size, isOpeningOrIncreasingPosition
177
- ? Number.MAX_VALUE
178
- : positionSize - sizeFilled);
179
- sizeFilled += sizeToFill;
180
- sizeFilledUsd += sizeToFill * fill.price;
181
- }
182
- sizeRemaining -= sizeToFill;
183
- fillsRemaining[0].size -= sizeToFill;
184
- if (fillsRemaining[0].size <= 0) {
185
- fillsRemaining = [...fillsRemaining.slice(1)];
186
- }
187
- }
188
- const imr = this.initialMarginRatio();
189
- const sizePosted = sizeRemaining;
190
- const executionPrice = sizeFilled ? sizeFilledUsd / sizeFilled : 0;
191
- const collateralForUnrealizedPnl = (sizeFilled *
192
- Math.max(0, side === types_1.PerpetualsOrderSide.Bid
193
- ? executionPrice - indexPrice
194
- : indexPrice - executionPrice)) /
195
- collateralPrice;
196
- const collateralForFilled = (sizeFilled * executionPrice * imr) / collateralPrice;
197
- const collateralForPosted = (sizePosted * indexPrice * imr) / collateralPrice;
198
- const marginOfError = 0.1;
199
- let collateralRequired;
200
- if (isOpeningOrIncreasingPosition) {
201
- // opening/increasing position
202
- collateralRequired =
203
- (1 + marginOfError) *
204
- (collateralForFilled +
205
- collateralForPosted +
206
- collateralForUnrealizedPnl);
207
- }
208
- else if (sizeFilled === positionSize &&
209
- sizeFilledForReversing === 0) {
210
- // closing position
211
- // TODO: make this match account close position tx inputs calc
212
- return 0;
213
- }
214
- else if (sizeFilledForReversing > 0) {
215
- // reversing position
216
- // TODO: use correct calculations
217
- // const executionPriceForReversing = sizeFilledForReversing
218
- // ? sizeFilledForReversingUsd / sizeFilledForReversing
219
- // : 0;
220
- // const collateralForFilledForReversing =
221
- // (sizeFilledForReversing * executionPriceForReversing * imr) /
222
- // collateralPrice;
223
- // collateralRequired =
224
- // (1 + marginOfError) *
225
- // (collateralForFilledForReversing + collateralForPosted);
226
- const executionPriceForReversing = sizeFilledForReversing
227
- ? sizeFilledForReversingUsd / sizeFilledForReversing
228
- : 0;
229
- const collateralForFilledForReversing = (sizeFilledForReversing * executionPriceForReversing * imr) /
230
- collateralPrice;
231
- const collateralForUnrealizedPnlForReversing = (sizeFilledForReversing *
232
- Math.max(0, side === types_1.PerpetualsOrderSide.Bid
233
- ? executionPriceForReversing - indexPrice
234
- : indexPrice - executionPriceForReversing)) /
235
- collateralPrice;
236
- // const positionFreeMargin =
237
- // account.calcFreeMarginUsdForPosition({
238
- // ...inputs,
239
- // market: this,
240
- // }) * collateralPrice;
241
- const collateralChange = collateralForPosted +
242
- (collateralForFilledForReversing +
243
- // - positionFreeMargin
244
- collateralForUnrealizedPnlForReversing);
245
- return ((1 + marginOfError * (collateralChange > 0 ? 1 : -1)) *
246
- collateralChange);
247
- }
248
- else {
249
- // reducing position
250
- return 0;
251
- }
252
- return Math.min(collateralRequired, account.collateral());
253
- };
254
81
  this.calcCollateralUsedForOrder = (inputs) => {
255
- const { orderData, indexPrice, collateralPrice } = inputs;
256
- const imr = this.initialMarginRatio();
82
+ const { leverage, orderData, indexPrice, collateralPrice } = inputs;
83
+ const imr = 1 / leverage;
84
+ // const imr = this.initialMarginRatio();
257
85
  const collateralUsd = Number(orderData.initialSize - orderData.filledSize) *
258
86
  this.lotSize() *
259
87
  indexPrice *
@@ -293,18 +121,13 @@ class PerpetualsMarket extends caller_1.Caller {
293
121
  return this.fetchApi("orderbook-state", Object.assign(Object.assign({}, inputs), { lotSize: this.lotSize(), tickSize: this.tickSize() }));
294
122
  }
295
123
  // =========================================================================
296
- // Events
124
+ // Trade History
297
125
  // =========================================================================
298
- getFilledOrderEvents(inputs) {
126
+ getTradeHistory(inputs) {
299
127
  return __awaiter(this, void 0, void 0, function* () {
300
- return this.fetchApiIndexerEvents(`events/filled-order`, inputs);
128
+ return this.fetchApi(`trade-history`, inputs);
301
129
  });
302
130
  }
303
- calcOrderCollateral(inputs) {
304
- const { indexPrice, size } = inputs;
305
- const imr = this.initialMarginRatio();
306
- return BigInt(Math.floor(Number(size) * this.lotSize() * indexPrice * imr));
307
- }
308
131
  // =========================================================================
309
132
  // Value Conversions
310
133
  // =========================================================================
@@ -350,7 +173,8 @@ class PerpetualsMarket extends caller_1.Caller {
350
173
  // }
351
174
  simulateClosePosition(inputs) {
352
175
  const { position, indexPrice, executionPrice, size, percentFilled } = inputs;
353
- const imr = this.initialMarginRatio();
176
+ const imr = 1 / position.leverage;
177
+ // const imr = this.initialMarginRatio();
354
178
  const takerFee = __1.Casting.IFixed.numberFromIFixed(this.marketParams.takerFee);
355
179
  const positionSizeNum = __1.Casting.IFixed.numberFromIFixed(position.baseAssetAmount);
356
180
  const positionBidsNum = __1.Casting.IFixed.numberFromIFixed(position.bidsQuantity);