aftermath-ts-sdk 1.3.22 → 1.3.23-perps.1

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 (128) hide show
  1. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +3 -0
  2. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
  3. package/dist/general/apiHelpers/transactionsApiHelpers.js +12 -0
  4. package/dist/general/providers/aftermath.d.ts +0 -5
  5. package/dist/general/providers/aftermath.d.ts.map +1 -1
  6. package/dist/general/providers/aftermath.js +1 -6
  7. package/dist/general/providers/aftermathApi.d.ts +0 -10
  8. package/dist/general/providers/aftermathApi.d.ts.map +1 -1
  9. package/dist/general/providers/aftermathApi.js +0 -10
  10. package/dist/general/types/configTypes.d.ts +0 -10
  11. package/dist/general/types/configTypes.d.ts.map +1 -1
  12. package/dist/general/types/generalTypes.d.ts +4 -0
  13. package/dist/general/types/generalTypes.d.ts.map +1 -1
  14. package/dist/general/types/moveErrorsInterface.d.ts +1 -1
  15. package/dist/general/types/moveErrorsInterface.d.ts.map +1 -1
  16. package/dist/general/utils/caller.d.ts +17 -2
  17. package/dist/general/utils/caller.d.ts.map +1 -1
  18. package/dist/general/utils/caller.js +35 -2
  19. package/dist/general/utils/casting.d.ts +4 -5
  20. package/dist/general/utils/casting.d.ts.map +1 -1
  21. package/dist/general/utils/casting.js +4 -5
  22. package/dist/general/utils/helpers.d.ts +1 -0
  23. package/dist/general/utils/helpers.d.ts.map +1 -1
  24. package/dist/general/utils/helpers.js +35 -6
  25. package/dist/general/wallet/wallet.d.ts +1 -6
  26. package/dist/general/wallet/wallet.d.ts.map +1 -1
  27. package/dist/general/wallet/wallet.js +5 -19
  28. package/dist/packages/coin/coin.d.ts +1 -1
  29. package/dist/packages/coin/coin.d.ts.map +1 -1
  30. package/dist/packages/coin/coin.js +3 -1
  31. package/dist/packages/farms/api/farmsApi.d.ts +3 -0
  32. package/dist/packages/farms/api/farmsApi.d.ts.map +1 -1
  33. package/dist/packages/farms/api/farmsApi.js +3 -0
  34. package/dist/packages/farms/farms.d.ts +1 -1
  35. package/dist/packages/farms/farms.d.ts.map +1 -1
  36. package/dist/packages/farms/farms.js +2 -3
  37. package/dist/packages/farms/farmsStakedPosition.d.ts +1 -1
  38. package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
  39. package/dist/packages/farms/farmsStakingPool.d.ts +1 -1
  40. package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
  41. package/dist/packages/faucet/api/faucetApi.d.ts +9 -17
  42. package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
  43. package/dist/packages/faucet/api/faucetApi.js +44 -49
  44. package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +1 -1
  45. package/dist/packages/faucet/api/faucetApiCasting.js +8 -5
  46. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +1 -4
  47. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +1 -1
  48. package/dist/packages/faucet/faucet.d.ts +1 -1
  49. package/dist/packages/faucet/faucet.d.ts.map +1 -1
  50. package/dist/packages/faucet/faucet.js +1 -1
  51. package/dist/packages/faucet/faucetTypes.d.ts +2 -3
  52. package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
  53. package/dist/packages/multisig/multisig.d.ts +1 -1
  54. package/dist/packages/multisig/multisig.d.ts.map +1 -1
  55. package/dist/packages/nftAmm/nftAmm.d.ts +1 -1
  56. package/dist/packages/nftAmm/nftAmm.d.ts.map +1 -1
  57. package/dist/packages/perpetuals/api/perpetualsApi.d.ts +11 -203
  58. package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
  59. package/dist/packages/perpetuals/api/perpetualsApi.js +924 -615
  60. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +10 -21
  61. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
  62. package/dist/packages/perpetuals/api/perpetualsApiCasting.js +243 -221
  63. package/dist/packages/perpetuals/index.d.ts +1 -0
  64. package/dist/packages/perpetuals/index.d.ts.map +1 -1
  65. package/dist/packages/perpetuals/index.js +1 -0
  66. package/dist/packages/perpetuals/perpetuals.d.ts +83 -14
  67. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
  68. package/dist/packages/perpetuals/perpetuals.js +158 -59
  69. package/dist/packages/perpetuals/perpetualsAccount.d.ts +158 -86
  70. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
  71. package/dist/packages/perpetuals/perpetualsAccount.js +481 -141
  72. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +82 -149
  73. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
  74. package/dist/packages/perpetuals/perpetualsMarket.d.ts +55 -20
  75. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
  76. package/dist/packages/perpetuals/perpetualsMarket.js +110 -55
  77. package/dist/packages/perpetuals/perpetualsTypes.d.ts +586 -280
  78. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
  79. package/dist/packages/perpetuals/perpetualsTypes.js +17 -81
  80. package/dist/packages/perpetuals/perpetualsVault.d.ts +109 -0
  81. package/dist/packages/perpetuals/perpetualsVault.d.ts.map +1 -0
  82. package/dist/packages/perpetuals/perpetualsVault.js +290 -0
  83. package/dist/packages/pools/pool.d.ts +1 -1
  84. package/dist/packages/pools/pool.d.ts.map +1 -1
  85. package/dist/packages/pools/pools.d.ts +1 -1
  86. package/dist/packages/pools/pools.d.ts.map +1 -1
  87. package/dist/packages/referralVault/referralVault.d.ts +1 -1
  88. package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
  89. package/dist/packages/router/api/routerApi.d.ts +1 -7
  90. package/dist/packages/router/api/routerApi.d.ts.map +1 -1
  91. package/dist/packages/router/api/routerApi.js +6 -43
  92. package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
  93. package/dist/packages/staking/staking.d.ts +1 -1
  94. package/dist/packages/staking/staking.d.ts.map +1 -1
  95. package/dist/packages/sui/api/suiApi.d.ts +13 -0
  96. package/dist/packages/sui/api/suiApi.d.ts.map +1 -1
  97. package/dist/packages/sui/api/suiApi.js +13 -0
  98. package/dist/packages/sui/sui.d.ts +1 -6
  99. package/dist/packages/sui/sui.d.ts.map +1 -1
  100. package/dist/packages/sui/sui.js +1 -15
  101. package/dist/packages/suiFrens/stakedSuiFren.d.ts +1 -1
  102. package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +1 -1
  103. package/dist/packages/suiFrens/suiFren.d.ts +1 -1
  104. package/dist/packages/suiFrens/suiFren.d.ts.map +1 -1
  105. package/dist/packages/suiFrens/suiFrens.d.ts +1 -1
  106. package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -1
  107. package/dist/types.d.ts +0 -1
  108. package/dist/types.d.ts.map +1 -1
  109. package/dist/types.js +0 -1
  110. package/package.json +1 -1
  111. package/dist/packages/oracle/api/oracleApi.d.ts +0 -21
  112. package/dist/packages/oracle/api/oracleApi.d.ts.map +0 -1
  113. package/dist/packages/oracle/api/oracleApi.js +0 -76
  114. package/dist/packages/oracle/api/oracleApiCasting.d.ts +0 -6
  115. package/dist/packages/oracle/api/oracleApiCasting.d.ts.map +0 -1
  116. package/dist/packages/oracle/api/oracleApiCasting.js +0 -25
  117. package/dist/packages/oracle/oracle.d.ts +0 -15
  118. package/dist/packages/oracle/oracle.d.ts.map +0 -1
  119. package/dist/packages/oracle/oracle.js +0 -46
  120. package/dist/packages/oracle/oracleCastingTypes.d.ts +0 -11
  121. package/dist/packages/oracle/oracleCastingTypes.d.ts.map +0 -1
  122. package/dist/packages/oracle/oracleCastingTypes.js +0 -2
  123. package/dist/packages/oracle/oracleTypes.d.ts +0 -10
  124. package/dist/packages/oracle/oracleTypes.d.ts.map +0 -1
  125. package/dist/packages/oracle/oracleTypes.js +0 -2
  126. package/dist/packages/userData/api/userDataApi.d.ts +0 -6
  127. package/dist/packages/userData/api/userDataApi.d.ts.map +0 -1
  128. package/dist/packages/userData/api/userDataApi.js +0 -12
@@ -1,92 +1,19 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.PerpetualsApiCasting = void 0;
5
4
  const perpetualsTypes_1 = require("../perpetualsTypes");
6
5
  const utils_1 = require("../../../general/utils");
7
6
  const __1 = require("../..");
8
- const fixedUtils_1 = require("../../../general/utils/fixedUtils");
9
- const bcs_1 = require("@mysten/sui/bcs");
10
7
  // TODO: handle 0xs and leading 0s everywhere
11
8
  class PerpetualsApiCasting {
12
- // =========================================================================
13
- // Objects
14
- // =========================================================================
15
- // =========================================================================
16
- // Account
17
- // =========================================================================
18
- static rawAccountCapFromRaw(data, collateralCoinType, version, digest) {
19
- return {
20
- collateralCoinType,
21
- objectId: utils_1.Helpers.addLeadingZeroesToType(data.id),
22
- objectType: data.objectType, // use Helpers.addLeadingZeroesToType ?
23
- objectVersion: version,
24
- objectDigest: digest,
25
- accountId: BigInt(data.accountId),
26
- collateral: BigInt(data.collateral.value),
27
- };
28
- }
29
- // =========================================================================
30
- // Clearing House
31
- // =========================================================================
32
- static marketDataFromIndexerResponse(data, collateralCoinType, baseAssetSymbol) {
33
- return {
34
- packageId: utils_1.Casting.addressFromStringBytes(data.pkg_id),
35
- objectId: utils_1.Casting.addressFromStringBytes(data.object.id.id),
36
- initialSharedVersion: Number(data.initial_shared_version),
37
- collateralCoinType,
38
- marketParams: this.marketParamsFromIndexerResponse(data.object.market_params, baseAssetSymbol),
39
- marketState: this.marketStateFromIndexerResponse(data.object.market_state),
40
- };
41
- }
42
- // =========================================================================
43
- // Orderbook
44
- // =========================================================================
45
- static orderbookFromIndexerResponse(data, lotSize, tickSize) {
46
- const partialOrderbook = {
47
- asks: Object.entries(data.asks).reduce((acc, [orderId, order]) => (Object.assign(Object.assign({}, acc), { [orderId]: {
48
- accountId: BigInt(order.account_id),
49
- size: Number(order.size) *
50
- __1.Perpetuals.lotOrTickSizeToNumber(lotSize),
51
- price: __1.Perpetuals.orderPriceToPrice({
52
- orderPrice: __1.Perpetuals.OrderUtils.price(BigInt(orderId)),
53
- lotSize,
54
- tickSize,
55
- }),
56
- } })), {}),
57
- bids: Object.entries(data.bids).reduce((acc, [orderId, order]) => (Object.assign(Object.assign({}, acc), { [orderId]: {
58
- accountId: BigInt(order.account_id),
59
- size: Number(order.size) *
60
- __1.Perpetuals.lotOrTickSizeToNumber(lotSize),
61
- price: __1.Perpetuals.orderPriceToPrice({
62
- orderPrice: __1.Perpetuals.OrderUtils.price(BigInt(orderId)),
63
- lotSize,
64
- tickSize,
65
- }),
66
- } })), {}),
67
- asksTotalSize: Number(data.asks_size) *
68
- __1.Perpetuals.lotOrTickSizeToNumber(lotSize),
69
- bidsTotalSize: Number(data.bids_size) *
70
- __1.Perpetuals.lotOrTickSizeToNumber(lotSize),
71
- };
72
- const bids = Object.values(partialOrderbook.bids);
73
- const asks = Object.values(partialOrderbook.asks);
74
- const bestBidPrice = bids.length <= 0
75
- ? undefined
76
- : Math.max(...bids.map((order) => order.price));
77
- const bestAskPrice = asks.length <= 0
78
- ? undefined
79
- : Math.min(...asks.map((order) => order.price));
80
- const midPrice = bestBidPrice === undefined || bestAskPrice === undefined
81
- ? undefined
82
- : (bestBidPrice + bestAskPrice) / 2;
83
- return Object.assign(Object.assign({}, partialOrderbook), { bestBidPrice,
84
- bestAskPrice,
85
- midPrice });
86
- }
87
9
  }
88
10
  exports.PerpetualsApiCasting = PerpetualsApiCasting;
89
- _a = PerpetualsApiCasting;
11
+ // =========================================================================
12
+ // Objects
13
+ // =========================================================================
14
+ // =========================================================================
15
+ // Account
16
+ // =========================================================================
90
17
  // public static partialPositionFromRaw = (
91
18
  // data: any
92
19
  // ): Omit<PerpetualsPosition, "collateralCoinType" | "marketId"> => {
@@ -103,95 +30,21 @@ _a = PerpetualsApiCasting;
103
30
  // takerFee: BigInt(data.takerFee),
104
31
  // };
105
32
  // };
106
- PerpetualsApiCasting.positionFromIndexerReponse = (inputs) => {
107
- const { position, collateralCoinType, marketId, leverage } = inputs;
108
- return {
109
- collateralCoinType,
110
- leverage,
111
- collateral: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.collateral),
112
- baseAssetAmount: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.base_asset_amount),
113
- quoteAssetNotionalAmount: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.quote_asset_notional_amount),
114
- cumFundingRateLong: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.cum_funding_rate_long),
115
- cumFundingRateShort: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.cum_funding_rate_short),
116
- asksQuantity: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.asks_quantity),
117
- bidsQuantity: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.bids_quantity),
118
- marketId: utils_1.Helpers.addLeadingZeroesToType(marketId),
119
- // NOTE: do we want to store all pending order data here as well ?
120
- pendingOrders: [
121
- ...Object.entries(position.pending_orders.bids).map(([orderId, size]) => ({
122
- size: BigInt(size),
123
- orderId: BigInt(orderId),
124
- side: perpetualsTypes_1.PerpetualsOrderSide.Bid,
125
- })),
126
- ...Object.entries(position.pending_orders.asks).map(([orderId, size]) => ({
127
- size: BigInt(size),
128
- orderId: BigInt(orderId),
129
- side: perpetualsTypes_1.PerpetualsOrderSide.Ask,
130
- })),
131
- ],
132
- makerFee: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.maker_fee),
133
- takerFee: utils_1.Casting.IFixed.iFixedFromStringBytes(position.position.taker_fee),
134
- };
135
- };
136
- PerpetualsApiCasting.accountObjectFromIndexerResponse = (response, collateralCoinType) => {
137
- return {
138
- positions: response.map(([marketIdAsStringBytes, position, leverageAsStringBytes]) => _a.positionFromIndexerReponse({
139
- position,
140
- collateralCoinType,
141
- leverage: utils_1.Casting.IFixed.numberFromIFixed(utils_1.Casting.IFixed.iFixedFromStringBytes(leverageAsStringBytes)) || 1,
142
- marketId: utils_1.Casting.addressFromStringBytes(marketIdAsStringBytes),
143
- })),
144
- };
145
- };
146
- PerpetualsApiCasting.marketParamsFromIndexerResponse = (data, baseAssetSymbol) => {
147
- return {
148
- baseAssetSymbol,
149
- basePriceFeedId: utils_1.Casting.addressFromStringBytes(data.base_pfs_id),
150
- collateralPriceFeedId: utils_1.Casting.addressFromStringBytes(data.collateral_pfs_id),
151
- marginRatioInitial: utils_1.Casting.IFixed.iFixedFromStringBytes(data.margin_ratio_initial),
152
- marginRatioMaintenance: utils_1.Casting.IFixed.iFixedFromStringBytes(data.margin_ratio_maintenance),
153
- fundingFrequencyMs: BigInt(data.funding_frequency_ms),
154
- fundingPeriodMs: BigInt(data.funding_period_ms),
155
- premiumTwapFrequencyMs: BigInt(data.premium_twap_frequency_ms),
156
- premiumTwapPeriodMs: BigInt(data.premium_twap_period_ms),
157
- spreadTwapFrequencyMs: BigInt(data.spread_twap_frequency_ms),
158
- spreadTwapPeriodMs: BigInt(data.spread_twap_period_ms),
159
- makerFee: utils_1.Casting.IFixed.iFixedFromStringBytes(data.maker_fee),
160
- takerFee: utils_1.Casting.IFixed.iFixedFromStringBytes(data.taker_fee),
161
- liquidationFee: utils_1.Casting.IFixed.iFixedFromStringBytes(data.liquidation_fee),
162
- forceCancelFee: utils_1.Casting.IFixed.iFixedFromStringBytes(data.force_cancel_fee),
163
- insuranceFundFee: utils_1.Casting.IFixed.iFixedFromStringBytes(data.insurance_fund_fee),
164
- lotSize: BigInt(data.lot_size),
165
- tickSize: BigInt(data.tick_size),
166
- liquidationTolerance: BigInt(data.liquidation_tolerance),
167
- maxPendingOrders: BigInt(data.max_pending_orders),
168
- minOrderUsdValue: utils_1.Casting.IFixed.iFixedFromStringBytes(data.min_order_usd_value),
169
- oracleTolerance: BigInt(data.oracle_tolerance),
170
- };
171
- };
172
- PerpetualsApiCasting.marketStateFromIndexerResponse = (data) => {
173
- return {
174
- cumFundingRateLong: utils_1.Casting.IFixed.iFixedFromStringBytes(data.cum_funding_rate_long),
175
- cumFundingRateShort: utils_1.Casting.IFixed.iFixedFromStringBytes(data.cum_funding_rate_short),
176
- fundingLastUpdateMs: Number(data.funding_last_upd_ms),
177
- premiumTwap: utils_1.Casting.IFixed.iFixedFromStringBytes(data.premium_twap),
178
- premiumTwapLastUpdateMs: Number(data.premium_twap_last_upd_ms),
179
- spreadTwap: utils_1.Casting.IFixed.iFixedFromStringBytes(data.spread_twap),
180
- spreadTwapLastUpdateMs: Number(data.spread_twap_last_upd_ms),
181
- openInterest: utils_1.Casting.IFixed.iFixedFromStringBytes(data.open_interest),
182
- feesAccrued: utils_1.Casting.IFixed.iFixedFromStringBytes(data.fees_accrued),
183
- };
184
- };
185
- PerpetualsApiCasting.orderbookPriceFromBytes = (bytes) => {
186
- const unwrapped = bcs_1.bcs.option(bcs_1.bcs.u256()).parse(new Uint8Array(bytes));
187
- return fixedUtils_1.FixedUtils.directCast(unwrapped != null ? BigInt(unwrapped) : BigInt(0));
188
- };
189
- PerpetualsApiCasting.orderInfoFromRaw = (data) => {
190
- return {
191
- price: BigInt(data.price),
192
- size: BigInt(data.size),
193
- };
194
- };
33
+ // =========================================================================
34
+ // Orderbook
35
+ // =========================================================================
36
+ // public static orderbookPriceFromBytes = (bytes: number[]): number => {
37
+ // const unwrapped = bcs.option(bcs.u256()).parse(new Uint8Array(bytes));
38
+ // return FixedUtils.directCast(
39
+ // unwrapped != null ? BigInt(unwrapped) : BigInt(0)
40
+ // );
41
+ // };
42
+ // public static orderInfoFromRaw = (data: any): PerpetualsOrderInfo => {
43
+ // return {
44
+ // price: BigInt(data.price),
45
+ // size: BigInt(data.size),
46
+ // };
47
+ // };
195
48
  // =========================================================================
196
49
  // Events
197
50
  // =========================================================================
@@ -235,10 +88,10 @@ PerpetualsApiCasting.settledFundingEventFromOnChain = (eventOnChain) => {
235
88
  const fields = eventOnChain.parsedJson;
236
89
  return {
237
90
  accountId: BigInt(fields.account_id),
238
- collateralDeltaUsd: BigInt(fields.collateral_change_usd),
91
+ collateralDeltaUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.collateral_change_usd)),
239
92
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
240
- marketFundingRateLong: BigInt(fields.mkt_funding_rate_long),
241
- marketFundingRateShort: BigInt(fields.mkt_funding_rate_short),
93
+ marketFundingRateLong: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.mkt_funding_rate_long)),
94
+ marketFundingRateShort: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.mkt_funding_rate_short)),
242
95
  timestamp: eventOnChain.timestampMs,
243
96
  txnDigest: eventOnChain.id.txDigest,
244
97
  type: eventOnChain.type,
@@ -248,8 +101,8 @@ PerpetualsApiCasting.allocatedCollateralEventFromOnChain = (eventOnChain) => {
248
101
  const fields = eventOnChain.parsedJson;
249
102
  return {
250
103
  accountId: BigInt(fields.account_id),
104
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
251
105
  collateralDelta: BigInt(fields.collateral),
252
- positionCollateralAfter: BigInt(fields.position_collateral_after),
253
106
  timestamp: eventOnChain.timestampMs,
254
107
  txnDigest: eventOnChain.id.txDigest,
255
108
  type: eventOnChain.type,
@@ -259,8 +112,8 @@ PerpetualsApiCasting.deallocatedCollateralEventFromOnChain = (eventOnChain) => {
259
112
  const fields = eventOnChain.parsedJson;
260
113
  return {
261
114
  accountId: BigInt(fields.account_id),
115
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
262
116
  collateralDelta: BigInt(fields.collateral),
263
- positionCollateralAfter: BigInt(fields.position_collateral_after),
264
117
  timestamp: eventOnChain.timestampMs,
265
118
  txnDigest: eventOnChain.id.txDigest,
266
119
  type: eventOnChain.type,
@@ -273,11 +126,18 @@ PerpetualsApiCasting.liquidatedEventFromOnChain = (eventOnChain) => {
273
126
  const fields = eventOnChain.parsedJson;
274
127
  return {
275
128
  accountId: BigInt(fields.liqee_account_id),
276
- collateralDeltaUsd: BigInt(fields.liqee_collateral_change_usd),
129
+ collateralDeltaUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liqee_pnl)) -
130
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liquidation_fees)) -
131
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.force_cancel_fees)) -
132
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.insurance_fund_fees)),
277
133
  liqorAccountId: BigInt(fields.liqor_account_id),
278
134
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
279
- markPrice: BigInt(fields.mark_price),
280
- size: BigInt(fields.size_liquidated),
135
+ baseLiquidated: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.base_liquidated)),
136
+ quoteLiquidated: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_liquidated)),
137
+ liqeePnlUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liqee_pnl)),
138
+ liquidationFeesUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liquidation_fees)),
139
+ forceCancelFeesUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.force_cancel_fees)),
140
+ insuranceFundFeesUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.insurance_fund_fees)),
281
141
  side: fields.is_liqee_long
282
142
  ? perpetualsTypes_1.PerpetualsOrderSide.Bid
283
143
  : perpetualsTypes_1.PerpetualsOrderSide.Ask,
@@ -299,52 +159,80 @@ PerpetualsApiCasting.createdAccountEventFromOnChain = (eventOnChain) => {
299
159
  type: eventOnChain.type,
300
160
  };
301
161
  };
302
- // =========================================================================
303
- // Order
304
- // =========================================================================
305
- PerpetualsApiCasting.canceledOrderEventFromOnChain = (eventOnChain) => {
162
+ // public static createdSubAccountEventFromOnChain = (
163
+ // eventOnChain: CreatedSubAccountEventOnChain
164
+ // ): CreatedSubAccountEvent => {
165
+ // const fields = eventOnChain.parsedJson;
166
+ // return {
167
+ // users: fields.users.map((user) =>
168
+ // Helpers.addLeadingZeroesToType(user)
169
+ // ),
170
+ // accountId: BigInt(fields.account_id),
171
+ // subAccountId: Helpers.addLeadingZeroesToType(fields.subaccount_id),
172
+ // timestamp: eventOnChain.timestampMs,
173
+ // txnDigest: eventOnChain.id.txDigest,
174
+ // type: eventOnChain.type,
175
+ // };
176
+ // };
177
+ // public static setSubAccountUsersEventFromOnChain = (
178
+ // eventOnChain: SetSubAccountUsersEventOnChain
179
+ // ): SetSubAccountUsersEvent => {
180
+ // const fields = eventOnChain.parsedJson;
181
+ // return {
182
+ // users: fields.users.map((user) =>
183
+ // Helpers.addLeadingZeroesToType(user)
184
+ // ),
185
+ // accountId: BigInt(fields.account_id),
186
+ // subAccountId: Helpers.addLeadingZeroesToType(fields.subaccount_id),
187
+ // timestamp: eventOnChain.timestampMs,
188
+ // txnDigest: eventOnChain.id.txDigest,
189
+ // type: eventOnChain.type,
190
+ // };
191
+ // };
192
+ PerpetualsApiCasting.SetPositionInitialMarginRatioEventFromOnChain = (eventOnChain) => {
306
193
  const fields = eventOnChain.parsedJson;
307
194
  return {
308
- accountId: BigInt(fields.account_id),
309
195
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
310
- side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
311
- size: BigInt(fields.size),
312
- orderId: BigInt(fields.order_id),
196
+ accountId: BigInt(fields.account_id),
197
+ initialMarginRatio: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.initial_margin_ratio)),
313
198
  timestamp: eventOnChain.timestampMs,
314
199
  txnDigest: eventOnChain.id.txDigest,
315
200
  type: eventOnChain.type,
316
201
  };
317
202
  };
318
- PerpetualsApiCasting.postedOrderEventFromOnChain = (eventOnChain) => {
203
+ // =========================================================================
204
+ // Order
205
+ // =========================================================================
206
+ PerpetualsApiCasting.canceledOrderEventFromOnChain = (eventOnChain) => {
319
207
  const fields = eventOnChain.parsedJson;
320
208
  return {
321
209
  accountId: BigInt(fields.account_id),
322
210
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
323
- side: BigInt(fields.posted_base_ask) > BigInt(fields.posted_base_bid)
324
- ? perpetualsTypes_1.PerpetualsOrderSide.Ask
325
- : perpetualsTypes_1.PerpetualsOrderSide.Bid,
326
- size: BigInt(fields.posted_base_ask + fields.posted_base_bid),
327
- asksQuantity: BigInt(fields.pending_asks),
328
- bidsQuantity: BigInt(fields.pending_bids),
211
+ side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
212
+ size: BigInt(fields.size),
213
+ orderId: BigInt(fields.order_id),
329
214
  timestamp: eventOnChain.timestampMs,
330
215
  txnDigest: eventOnChain.id.txDigest,
331
216
  type: eventOnChain.type,
332
217
  };
333
218
  };
334
- PerpetualsApiCasting.filledMakerOrderEventFromOnChain = (eventOnChain) => {
335
- const fields = eventOnChain.parsedJson;
219
+ PerpetualsApiCasting.filledMakerOrdersEventFromOnChain = (eventOnChain) => {
336
220
  return {
337
- baseAssetAmount: BigInt(fields.maker_base_amount),
338
- accountId: BigInt(fields.maker_account_id),
339
- collateralDeltaUsd: BigInt(fields.collateral_change_usd),
340
- marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
341
- orderId: BigInt(fields.order_id),
342
- side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
343
- size: BigInt(fields.maker_size),
344
- dropped: BigInt(fields.maker_final_size) === BigInt(0),
345
- quoteAssetNotionalAmount: BigInt(fields.maker_quote_amount),
346
- asksQuantity: BigInt(fields.maker_pending_asks_quantity),
347
- bidsQuantity: BigInt(fields.maker_pending_bids_quantity),
221
+ events: eventOnChain.parsedJson.events.map((fields) => ({
222
+ accountId: BigInt(fields.maker_account_id),
223
+ takerAccountId: BigInt(fields.taker_account_id),
224
+ collateralDeltaUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.pnl)) -
225
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.fees)),
226
+ pnlUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.pnl)),
227
+ feesUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.fees)),
228
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
229
+ orderId: BigInt(fields.order_id),
230
+ side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
231
+ size: BigInt(fields.filled_size),
232
+ dropped: BigInt(fields.remaining_size) === BigInt(0),
233
+ sizeRemaining: BigInt(fields.remaining_size),
234
+ canceledSize: BigInt(fields.canceled_size),
235
+ })),
348
236
  timestamp: eventOnChain.timestampMs,
349
237
  txnDigest: eventOnChain.id.txDigest,
350
238
  type: eventOnChain.type,
@@ -352,25 +240,25 @@ PerpetualsApiCasting.filledMakerOrderEventFromOnChain = (eventOnChain) => {
352
240
  };
353
241
  PerpetualsApiCasting.filledTakerOrderEventFromOnChain = (eventOnChain) => {
354
242
  const fields = eventOnChain.parsedJson;
355
- const baseAssetDelta = utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.base_asset_delta_bid)) -
356
- utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.base_asset_delta_ask)));
243
+ const baseAssetDelta = utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.base_asset_delta_bid)) -
244
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.base_asset_delta_ask));
357
245
  return {
358
246
  baseAssetDelta,
359
247
  accountId: BigInt(fields.taker_account_id),
360
- collateralDeltaUsd: BigInt(fields.collateral_change_usd),
248
+ collateralDeltaUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_pnl)) -
249
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_fees)),
250
+ takerPnlUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_pnl)),
251
+ takerFeesUsd: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_fees)),
361
252
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
362
- baseAssetAmount: BigInt(fields.taker_base_amount),
363
- quoteAssetNotionalAmount: BigInt(fields.taker_quote_amount),
364
253
  side: __1.Perpetuals.positionSide({ baseAssetAmount: baseAssetDelta }),
365
- quoteAssetDelta: utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_bid)) -
366
- utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_ask))),
367
- liquidatedVolume: BigInt(fields.liquidated_volume),
254
+ quoteAssetDelta: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_bid)) -
255
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_ask)),
368
256
  timestamp: eventOnChain.timestampMs,
369
257
  txnDigest: eventOnChain.id.txDigest,
370
258
  type: eventOnChain.type,
371
259
  };
372
260
  };
373
- PerpetualsApiCasting.postedOrderReceiptEventFromOnChain = (eventOnChain) => {
261
+ PerpetualsApiCasting.postedOrderEventFromOnChain = (eventOnChain) => {
374
262
  const fields = eventOnChain.parsedJson;
375
263
  return {
376
264
  accountId: BigInt(fields.account_id),
@@ -378,6 +266,10 @@ PerpetualsApiCasting.postedOrderReceiptEventFromOnChain = (eventOnChain) => {
378
266
  size: BigInt(fields.order_size),
379
267
  orderId: BigInt(fields.order_id),
380
268
  side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
269
+ reduceOnly: fields.reduce_only,
270
+ expiryTimestamp: !fields.expiration_timestamp_ms
271
+ ? undefined
272
+ : BigInt(fields.expiration_timestamp_ms),
381
273
  timestamp: eventOnChain.timestampMs,
382
274
  txnDigest: eventOnChain.id.txDigest,
383
275
  type: eventOnChain.type,
@@ -396,15 +288,145 @@ PerpetualsApiCasting.reducedOrderEventFromOnChain = (eventOnChain) => {
396
288
  };
397
289
  };
398
290
  // =========================================================================
291
+ // Stop Orders
292
+ // =========================================================================
293
+ PerpetualsApiCasting.createdStopOrderTicketEventFromOnChain = (eventOnChain) => {
294
+ const fields = eventOnChain.parsedJson;
295
+ return {
296
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(fields.ticket_id),
297
+ accountId: BigInt(fields.account_id),
298
+ executors: fields.executors.map((executor) => utils_1.Helpers.addLeadingZeroesToType(executor)),
299
+ gas: BigInt(fields.gas),
300
+ stopOrderType: Number(fields.stop_order_type),
301
+ encryptedDetails: fields.encrypted_details,
302
+ timestamp: eventOnChain.timestampMs,
303
+ txnDigest: eventOnChain.id.txDigest,
304
+ type: eventOnChain.type,
305
+ };
306
+ };
307
+ PerpetualsApiCasting.executedStopOrderTicketEventFromOnChain = (eventOnChain) => {
308
+ const f = eventOnChain.parsedJson;
309
+ return {
310
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(f.ticket_id),
311
+ executor: utils_1.Helpers.addLeadingZeroesToType(f.executor),
312
+ accountId: BigInt(f.account_id),
313
+ timestamp: eventOnChain.timestampMs,
314
+ txnDigest: eventOnChain.id.txDigest,
315
+ type: eventOnChain.type,
316
+ };
317
+ };
318
+ PerpetualsApiCasting.deletedStopOrderTicketEventFromOnChain = (eventOnChain) => {
319
+ const f = eventOnChain.parsedJson;
320
+ return {
321
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(f.ticket_id),
322
+ executor: utils_1.Helpers.addLeadingZeroesToType(f.executor),
323
+ accountId: BigInt(f.account_id),
324
+ subAccountId: f.subaccount_id
325
+ ? utils_1.Helpers.addLeadingZeroesToType(f.subaccount_id)
326
+ : undefined,
327
+ timestamp: eventOnChain.timestampMs,
328
+ txnDigest: eventOnChain.id.txDigest,
329
+ type: eventOnChain.type,
330
+ };
331
+ };
332
+ PerpetualsApiCasting.editedStopOrderTicketDetailsEventFromOnChain = (eventOnChain) => {
333
+ const f = eventOnChain.parsedJson;
334
+ return {
335
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(f.ticket_id),
336
+ stopOrderType: Number(f.stop_order_type),
337
+ accountId: BigInt(f.account_id),
338
+ subAccountId: f.subaccount_id
339
+ ? utils_1.Helpers.addLeadingZeroesToType(f.subaccount_id)
340
+ : undefined,
341
+ encryptedDetails: f.encrypted_details,
342
+ timestamp: eventOnChain.timestampMs,
343
+ txnDigest: eventOnChain.id.txDigest,
344
+ type: eventOnChain.type,
345
+ };
346
+ };
347
+ PerpetualsApiCasting.editedStopOrderTicketExecutorEventFromOnChain = (eventOnChain) => {
348
+ const f = eventOnChain.parsedJson;
349
+ return {
350
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(f.ticket_id),
351
+ accountId: BigInt(f.account_id),
352
+ subAccountId: f.subaccount_id
353
+ ? utils_1.Helpers.addLeadingZeroesToType(f.subaccount_id)
354
+ : undefined,
355
+ executors: f.executors.map((executor) => utils_1.Helpers.addLeadingZeroesToType(executor)),
356
+ timestamp: eventOnChain.timestampMs,
357
+ txnDigest: eventOnChain.id.txDigest,
358
+ type: eventOnChain.type,
359
+ };
360
+ };
361
+ // public static addedStopOrderTicketCollateralEventFromOnChain = (
362
+ // eventOnChain: AddedStopOrderTicketCollateralEventOnChain
363
+ // ): AddedStopOrderTicketCollateralEvent => {
364
+ // const f = eventOnChain.parsedJson;
365
+ // return {
366
+ // ticketId: Helpers.addLeadingZeroesToType(f.ticket_id),
367
+ // accountId: BigInt(f.account_id),
368
+ // subAccountId: f.subaccount_id
369
+ // ? Helpers.addLeadingZeroesToType(f.subaccount_id)
370
+ // : undefined,
371
+ // collateralToAllocate: BigInt(f.collateral_to_allocate),
372
+ // timestamp: eventOnChain.timestampMs,
373
+ // txnDigest: eventOnChain.id.txDigest,
374
+ // type: eventOnChain.type,
375
+ // };
376
+ // };
377
+ // public static removedStopOrderTicketCollateralEventFromOnChain = (
378
+ // eventOnChain: RemovedStopOrderTicketCollateralEventOnChain
379
+ // ): RemovedStopOrderTicketCollateralEvent => {
380
+ // const f = eventOnChain.parsedJson;
381
+ // return {
382
+ // ticketId: Helpers.addLeadingZeroesToType(f.ticket_id),
383
+ // accountId: BigInt(f.account_id),
384
+ // subAccountId: f.subaccount_id
385
+ // ? Helpers.addLeadingZeroesToType(f.subaccount_id)
386
+ // : undefined,
387
+ // collateralToRemove: BigInt(f.collateral_to_remove),
388
+ // timestamp: eventOnChain.timestampMs,
389
+ // txnDigest: eventOnChain.id.txDigest,
390
+ // type: eventOnChain.type,
391
+ // };
392
+ // };
393
+ // public static transferredDeallocatedCollateralEventFromOnChain = (
394
+ // eventOnChain: TransferredDeallocatedCollateralEventOnChain
395
+ // ): TransferredDeallocatedCollateralEvent => {
396
+ // const f = eventOnChain.parsedJson;
397
+ // return {
398
+ // chId: Helpers.addLeadingZeroesToType(f.ch_id),
399
+ // objectId: Helpers.addLeadingZeroesToType(f.obj_id),
400
+ // accountId: BigInt(f.account_id),
401
+ // collateral: BigInt(f.collateral),
402
+ // timestamp: eventOnChain.timestampMs,
403
+ // txnDigest: eventOnChain.id.txDigest,
404
+ // type: eventOnChain.type,
405
+ // };
406
+ // };
407
+ // public static receivedCollateralEventFromOnChain = (
408
+ // eventOnChain: ReceivedCollateralEventOnChain
409
+ // ): ReceivedCollateralEvent => {
410
+ // const f = eventOnChain.parsedJson;
411
+ // return {
412
+ // objectId: Helpers.addLeadingZeroesToType(f.obj_id),
413
+ // accountId: BigInt(f.account_id),
414
+ // collateral: BigInt(f.collateral),
415
+ // timestamp: eventOnChain.timestampMs,
416
+ // txnDigest: eventOnChain.id.txDigest,
417
+ // type: eventOnChain.type,
418
+ // };
419
+ // };
420
+ // =========================================================================
399
421
  // Twap
400
422
  // =========================================================================
401
423
  PerpetualsApiCasting.updatedPremiumTwapEventFromOnChain = (eventOnChain) => {
402
424
  const fields = eventOnChain.parsedJson;
403
425
  return {
404
426
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
405
- indexPrice: BigInt(fields.index_price),
406
- bookPrice: BigInt(fields.book_price),
407
- premiumTwap: BigInt(fields.premium_twap),
427
+ indexPrice: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.index_price)),
428
+ bookPrice: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.book_price)),
429
+ premiumTwap: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.premium_twap)),
408
430
  premiumTwapLastUpdateMs: Number(fields.premium_twap_last_upd_ms),
409
431
  timestamp: eventOnChain.timestampMs,
410
432
  txnDigest: eventOnChain.id.txDigest,
@@ -415,9 +437,9 @@ PerpetualsApiCasting.updatedSpreadTwapEventFromOnChain = (eventOnChain) => {
415
437
  const fields = eventOnChain.parsedJson;
416
438
  return {
417
439
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
418
- bookPrice: BigInt(fields.book_price),
419
- indexPrice: BigInt(fields.index_price),
420
- spreadTwap: BigInt(fields.spread_twap),
440
+ bookPrice: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.book_price)),
441
+ indexPrice: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.index_price)),
442
+ spreadTwap: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.spread_twap)),
421
443
  spreadTwapLastUpdateMs: Number(fields.spread_twap_last_upd_ms),
422
444
  timestamp: eventOnChain.timestampMs,
423
445
  txnDigest: eventOnChain.id.txDigest,
@@ -431,8 +453,8 @@ PerpetualsApiCasting.updatedFundingEventFromOnChain = (eventOnChain) => {
431
453
  const fields = eventOnChain.parsedJson;
432
454
  return {
433
455
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
434
- cumFundingRateLong: BigInt(fields.cum_funding_rate_long),
435
- cumFundingRateShort: BigInt(fields.cum_funding_rate_short),
456
+ cumFundingRateLong: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.cum_funding_rate_long)),
457
+ cumFundingRateShort: utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.cum_funding_rate_short)),
436
458
  fundingLastUpdateMs: Number(fields.funding_last_upd_ms),
437
459
  timestamp: eventOnChain.timestampMs,
438
460
  txnDigest: eventOnChain.id.txDigest,
@@ -1,4 +1,5 @@
1
1
  export * from "./perpetuals";
2
2
  export * from "./perpetualsAccount";
3
3
  export * from "./perpetualsMarket";
4
+ export * from "./perpetualsVault";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./perpetuals"), exports);
18
18
  __exportStar(require("./perpetualsAccount"), exports);
19
19
  __exportStar(require("./perpetualsMarket"), exports);
20
+ __exportStar(require("./perpetualsVault"), exports);