aftermath-ts-sdk 1.2.51-temp.0 → 1.2.52-perps.3
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.
- package/README.md +61 -27
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts +1 -1
- package/dist/general/apiHelpers/eventsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/eventsApiHelpers.js +4 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +6 -0
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.js +46 -0
- package/dist/general/dynamicGas/dynamicGas.d.ts +34 -0
- package/dist/general/dynamicGas/dynamicGas.d.ts.map +1 -1
- package/dist/general/dynamicGas/dynamicGas.js +34 -0
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts +25 -0
- package/dist/general/dynamicGas/dynamicGasTypes.d.ts.map +1 -1
- package/dist/general/prices/coinGeckoTypes.d.ts +2 -0
- package/dist/general/prices/coinGeckoTypes.d.ts.map +1 -1
- package/dist/general/prices/prices.d.ts +73 -0
- package/dist/general/prices/prices.d.ts.map +1 -1
- package/dist/general/prices/prices.js +73 -0
- package/dist/general/providers/aftermath.d.ts +107 -27
- package/dist/general/providers/aftermath.d.ts.map +1 -1
- package/dist/general/providers/aftermath.js +110 -30
- package/dist/general/providers/aftermathApi.d.ts +128 -10
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/providers/aftermathApi.js +133 -14
- package/dist/general/types/castingTypes.d.ts +15 -7
- package/dist/general/types/castingTypes.d.ts.map +1 -1
- package/dist/general/types/castingTypes.js +6 -0
- package/dist/general/types/configTypes.d.ts +14 -9
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/types/generalTypes.d.ts +229 -7
- package/dist/general/types/generalTypes.d.ts.map +1 -1
- package/dist/general/types/moveErrorsInterface.d.ts +1 -1
- package/dist/general/types/moveErrorsInterface.d.ts.map +1 -1
- package/dist/general/types/suiTypes.d.ts +0 -16
- package/dist/general/types/suiTypes.d.ts.map +1 -1
- package/dist/general/types/suiTypes.js +3 -25
- package/dist/general/utils/caller.d.ts +5 -2
- package/dist/general/utils/caller.d.ts.map +1 -1
- package/dist/general/utils/caller.js +9 -1
- package/dist/general/utils/casting.d.ts +156 -7
- package/dist/general/utils/casting.d.ts.map +1 -1
- package/dist/general/utils/casting.js +159 -20
- package/dist/general/utils/fixedUtils.d.ts +89 -2
- package/dist/general/utils/fixedUtils.d.ts.map +1 -1
- package/dist/general/utils/fixedUtils.js +81 -4
- package/dist/general/utils/helpers.d.ts +327 -10
- package/dist/general/utils/helpers.d.ts.map +1 -1
- package/dist/general/utils/helpers.js +409 -91
- package/dist/general/utils/iFixedUtils.d.ts +64 -0
- package/dist/general/utils/iFixedUtils.d.ts.map +1 -1
- package/dist/general/utils/iFixedUtils.js +64 -0
- package/dist/general/wallet/wallet.d.ts +76 -1
- package/dist/general/wallet/wallet.d.ts.map +1 -1
- package/dist/general/wallet/wallet.js +75 -5
- package/dist/packages/auth/auth.d.ts +113 -4
- package/dist/packages/auth/auth.d.ts.map +1 -1
- package/dist/packages/auth/auth.js +190 -59
- package/dist/packages/auth/authTypes.d.ts +66 -0
- package/dist/packages/auth/authTypes.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApi.js +29 -20
- package/dist/packages/coin/coin.d.ts +256 -1
- package/dist/packages/coin/coin.d.ts.map +1 -1
- package/dist/packages/coin/coin.js +246 -15
- package/dist/packages/coin/coinTypes.d.ts +95 -0
- package/dist/packages/coin/coinTypes.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApi.d.ts +2 -0
- package/dist/packages/dca/api/dcaApi.d.ts.map +1 -1
- package/dist/packages/dca/api/dcaApi.js +6 -3
- package/dist/packages/dca/dca.d.ts +125 -35
- package/dist/packages/dca/dca.d.ts.map +1 -1
- package/dist/packages/dca/dca.js +135 -43
- package/dist/packages/dca/dcaTypes.d.ts +217 -42
- package/dist/packages/dca/dcaTypes.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApi.d.ts +725 -58
- package/dist/packages/farms/api/farmsApi.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApi.js +1149 -153
- package/dist/packages/farms/api/farmsApiCasting.d.ts +34 -18
- package/dist/packages/farms/api/farmsApiCasting.d.ts.map +1 -1
- package/dist/packages/farms/api/farmsApiCasting.js +218 -17
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts +117 -21
- package/dist/packages/farms/api/farmsApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/farms/farms.d.ts +188 -3
- package/dist/packages/farms/farms.d.ts.map +1 -1
- package/dist/packages/farms/farms.js +192 -12
- package/dist/packages/farms/farmsStakedPosition.d.ts +143 -8
- package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakedPosition.js +243 -137
- package/dist/packages/farms/farmsStakingPool.d.ts +169 -3
- package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakingPool.js +212 -70
- package/dist/packages/farms/farmsTypes.d.ts +302 -2
- package/dist/packages/farms/farmsTypes.d.ts.map +1 -1
- package/dist/packages/farms/farmsTypes.js +18 -0
- package/dist/packages/faucet/api/faucetApi.d.ts +9 -17
- package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApi.js +44 -49
- package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApiCasting.js +8 -5
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +1 -4
- package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/faucet/faucet.d.ts +1 -1
- package/dist/packages/faucet/faucet.d.ts.map +1 -1
- package/dist/packages/faucet/faucet.js +1 -1
- package/dist/packages/faucet/faucetTypes.d.ts +2 -3
- package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts +12 -0
- package/dist/packages/limitOrders/api/limitOrdersApi.d.ts.map +1 -0
- package/dist/packages/limitOrders/api/limitOrdersApi.js +25 -0
- package/dist/packages/limitOrders/index.d.ts +2 -0
- package/dist/packages/limitOrders/index.d.ts.map +1 -0
- package/dist/packages/limitOrders/index.js +17 -0
- package/dist/packages/limitOrders/limitOrders.d.ts +143 -0
- package/dist/packages/limitOrders/limitOrders.d.ts.map +1 -0
- package/dist/packages/limitOrders/limitOrders.js +190 -0
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts +211 -0
- package/dist/packages/limitOrders/limitOrdersTypes.d.ts.map +1 -0
- package/dist/packages/multisig/multisig.d.ts +34 -5
- package/dist/packages/multisig/multisig.d.ts.map +1 -1
- package/dist/packages/multisig/multisig.js +33 -4
- package/dist/packages/multisig/multisigTypes.d.ts +17 -0
- package/dist/packages/multisig/multisigTypes.d.ts.map +1 -1
- package/dist/packages/nftAmm/nftAmm.d.ts +1 -1
- package/dist/packages/nftAmm/nftAmm.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts +7 -16
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApi.js +318 -276
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +7 -7
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApiCasting.js +71 -84
- package/dist/packages/perpetuals/perpetuals.d.ts +33 -4
- package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetuals.js +105 -18
- package/dist/packages/perpetuals/perpetualsAccount.d.ts +87 -52
- package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsAccount.js +544 -91
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +55 -26
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.d.ts +28 -4
- package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.js +75 -13
- package/dist/packages/perpetuals/perpetualsTypes.d.ts +263 -213
- package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsTypes.js +24 -77
- package/dist/packages/pools/pool.d.ts +328 -86
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pool.js +333 -91
- package/dist/packages/pools/pools.d.ts +300 -38
- package/dist/packages/pools/pools.d.ts.map +1 -1
- package/dist/packages/pools/pools.js +306 -52
- package/dist/packages/pools/poolsTypes.d.ts +267 -2
- package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
- package/dist/packages/referralVault/referralVault.d.ts +38 -1
- package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
- package/dist/packages/referralVault/referralVault.js +37 -0
- package/dist/packages/router/router.d.ts +213 -17
- package/dist/packages/router/router.d.ts.map +1 -1
- package/dist/packages/router/router.js +214 -18
- package/dist/packages/router/routerTypes.d.ts +199 -15
- package/dist/packages/router/routerTypes.d.ts.map +1 -1
- package/dist/packages/staking/staking.d.ts +302 -44
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/staking/staking.js +308 -51
- package/dist/packages/staking/stakingTypes.d.ts +426 -6
- package/dist/packages/staking/stakingTypes.d.ts.map +1 -1
- package/dist/packages/staking/stakingTypes.js +19 -0
- package/dist/packages/sui/sui.d.ts +40 -1
- package/dist/packages/sui/sui.d.ts.map +1 -1
- package/dist/packages/sui/sui.js +39 -0
- package/dist/packages/suiFrens/stakedSuiFren.d.ts +1 -1
- package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +1 -1
- package/dist/packages/suiFrens/suiFren.d.ts +1 -1
- package/dist/packages/suiFrens/suiFren.d.ts.map +1 -1
- package/dist/packages/suiFrens/suiFrens.d.ts +1 -1
- package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -1
- package/dist/packages/userData/api/userDataApi.d.ts +6 -0
- package/dist/packages/userData/api/userDataApi.d.ts.map +1 -0
- package/dist/packages/userData/api/userDataApi.js +12 -0
- package/dist/packages/userData/index.d.ts +2 -0
- package/dist/packages/userData/index.d.ts.map +1 -0
- package/dist/packages/userData/index.js +17 -0
- package/dist/packages/userData/userData.d.ts +89 -0
- package/dist/packages/userData/userData.d.ts.map +1 -0
- package/dist/packages/userData/userData.js +119 -0
- package/dist/packages/userData/userDataTypes.d.ts +29 -0
- package/dist/packages/userData/userDataTypes.d.ts.map +1 -0
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/package.json +1 -1
- package/dist/general/historicalData/historicalData.d.ts +0 -15
- package/dist/general/historicalData/historicalData.d.ts.map +0 -1
- package/dist/general/historicalData/historicalData.js +0 -45
- package/dist/general/historicalData/historicalDataTypes.d.ts +0 -10
- package/dist/general/historicalData/historicalDataTypes.d.ts.map +0 -1
- package/dist/packages/dca/api/dcaApiCasting.d.ts +0 -11
- package/dist/packages/dca/api/dcaApiCasting.d.ts.map +0 -1
- package/dist/packages/dca/api/dcaApiCasting.js +0 -186
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +0 -142
- package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +0 -1
- package/dist/packages/oracle/api/oracleApi.d.ts +0 -21
- package/dist/packages/oracle/api/oracleApi.d.ts.map +0 -1
- package/dist/packages/oracle/api/oracleApi.js +0 -76
- package/dist/packages/oracle/api/oracleApiCasting.d.ts +0 -6
- package/dist/packages/oracle/api/oracleApiCasting.d.ts.map +0 -1
- package/dist/packages/oracle/api/oracleApiCasting.js +0 -25
- package/dist/packages/oracle/oracle.d.ts +0 -15
- package/dist/packages/oracle/oracle.d.ts.map +0 -1
- package/dist/packages/oracle/oracle.js +0 -46
- package/dist/packages/oracle/oracleCastingTypes.d.ts +0 -11
- package/dist/packages/oracle/oracleCastingTypes.d.ts.map +0 -1
- package/dist/packages/oracle/oracleCastingTypes.js +0 -2
- package/dist/packages/oracle/oracleTypes.d.ts +0 -10
- package/dist/packages/oracle/oracleTypes.d.ts.map +0 -1
- package/dist/packages/oracle/oracleTypes.js +0 -2
- /package/dist/{general/historicalData/historicalDataTypes.js → packages/limitOrders/limitOrdersTypes.js} +0 -0
- /package/dist/packages/{dca/api/dcaApiCastingTypes.js → userData/userDataTypes.js} +0 -0
|
@@ -8,17 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
12
|
exports.PerpetualsApi = void 0;
|
|
24
13
|
const transactions_1 = require("@mysten/sui/transactions");
|
|
@@ -34,12 +23,72 @@ class PerpetualsApi {
|
|
|
34
23
|
constructor(Provider) {
|
|
35
24
|
this.Provider = Provider;
|
|
36
25
|
// =========================================================================
|
|
26
|
+
// Objects
|
|
27
|
+
// =========================================================================
|
|
28
|
+
// public fetchMarket = async (inputs: {
|
|
29
|
+
// marketId: PerpetualsMarketId;
|
|
30
|
+
// collateralCoinType: CoinType;
|
|
31
|
+
// }): Promise<PerpetualsMarketData> => {
|
|
32
|
+
// const { collateralCoinType } = inputs;
|
|
33
|
+
// return this.Provider.Objects().fetchCastObject({
|
|
34
|
+
// objectId: inputs.marketId,
|
|
35
|
+
// objectFromSuiObjectResponse: (data) =>
|
|
36
|
+
// Casting.perpetuals.clearingHouseFromOnChain(
|
|
37
|
+
// data,
|
|
38
|
+
// collateralCoinType
|
|
39
|
+
// ),
|
|
40
|
+
// });
|
|
41
|
+
// };
|
|
42
|
+
// =========================================================================
|
|
43
|
+
// Inspections
|
|
44
|
+
// =========================================================================
|
|
45
|
+
// public fetchOrderbookPrice = async (inputs: {
|
|
46
|
+
// collateralCoinType: ObjectId;
|
|
47
|
+
// marketId: PerpetualsMarketId;
|
|
48
|
+
// // marketInitialSharedVersion: ObjectVersion;
|
|
49
|
+
// }): Promise<number> => {
|
|
50
|
+
// const {
|
|
51
|
+
// collateralCoinType,
|
|
52
|
+
// marketId,
|
|
53
|
+
// // marketInitialSharedVersion
|
|
54
|
+
// } = inputs;
|
|
55
|
+
// const tx = new Transaction();
|
|
56
|
+
// this.getBookPriceTx({
|
|
57
|
+
// tx,
|
|
58
|
+
// marketId,
|
|
59
|
+
// collateralCoinType,
|
|
60
|
+
// // marketInitialSharedVersion,
|
|
61
|
+
// });
|
|
62
|
+
// const bytes =
|
|
63
|
+
// await this.Provider.Inspections().fetchFirstBytesFromTxOutput({
|
|
64
|
+
// tx,
|
|
65
|
+
// });
|
|
66
|
+
// return PerpetualsApiCasting.orderbookPriceFromBytes(bytes);
|
|
67
|
+
// };
|
|
68
|
+
// public fetchAllMarketIds = async (inputs: {
|
|
69
|
+
// collateralCoinType: CoinType;
|
|
70
|
+
// }): Promise<PerpetualsMarketId[]> => {
|
|
71
|
+
// const { collateralCoinType } = inputs;
|
|
72
|
+
// const marketIdsData = await this.Provider.indexerCaller.fetchIndexer<
|
|
73
|
+
// {
|
|
74
|
+
// marketId: ObjectId;
|
|
75
|
+
// }[]
|
|
76
|
+
// >(
|
|
77
|
+
// `perpetuals/markets/${Helpers.addLeadingZeroesToType(
|
|
78
|
+
// collateralCoinType
|
|
79
|
+
// )}`
|
|
80
|
+
// );
|
|
81
|
+
// return marketIdsData.map((data) =>
|
|
82
|
+
// Helpers.addLeadingZeroesToType(data.marketId)
|
|
83
|
+
// );
|
|
84
|
+
// };
|
|
85
|
+
// =========================================================================
|
|
37
86
|
// Transaction Commands
|
|
38
87
|
// =========================================================================
|
|
39
88
|
this.depositCollateralTx = (inputs) => {
|
|
40
89
|
const { tx, collateralCoinType, accountCapId } = inputs;
|
|
41
90
|
return tx.moveCall({
|
|
42
|
-
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.
|
|
91
|
+
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.packages.perpetuals, PerpetualsApi.constants.moduleNames.interface, "deposit_collateral"),
|
|
43
92
|
typeArguments: [collateralCoinType],
|
|
44
93
|
arguments: [
|
|
45
94
|
typeof accountCapId === "string"
|
|
@@ -215,7 +264,7 @@ class PerpetualsApi {
|
|
|
215
264
|
this.withdrawCollateralTx = (inputs) => {
|
|
216
265
|
const { tx, collateralCoinType, accountCapId, amount } = inputs;
|
|
217
266
|
return tx.moveCall({
|
|
218
|
-
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.
|
|
267
|
+
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.packages.perpetuals, PerpetualsApi.constants.moduleNames.interface, "withdraw_collateral"),
|
|
219
268
|
typeArguments: [collateralCoinType],
|
|
220
269
|
arguments: [
|
|
221
270
|
typeof accountCapId === "string"
|
|
@@ -228,9 +277,9 @@ class PerpetualsApi {
|
|
|
228
277
|
this.createAccountTx = (inputs) => {
|
|
229
278
|
const { tx, collateralCoinType } = inputs;
|
|
230
279
|
return tx.moveCall({
|
|
231
|
-
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.
|
|
280
|
+
target: utils_1.Helpers.transactions.createTxTarget(this.addresses.packages.perpetuals, PerpetualsApi.constants.moduleNames.interface, "create_account"),
|
|
232
281
|
typeArguments: [collateralCoinType],
|
|
233
|
-
arguments: [tx.object(this.addresses.
|
|
282
|
+
arguments: [tx.object(this.addresses.objects.registry)],
|
|
234
283
|
});
|
|
235
284
|
};
|
|
236
285
|
// public getHotPotatoFieldsTx = (
|
|
@@ -277,52 +326,6 @@ class PerpetualsApi {
|
|
|
277
326
|
// ],
|
|
278
327
|
// });
|
|
279
328
|
// };
|
|
280
|
-
this.placeSLTPOrderTx = (inputs) => {
|
|
281
|
-
throw new Error("TODO");
|
|
282
|
-
// const { tx } = inputs;
|
|
283
|
-
// if ("price" in inputs) {
|
|
284
|
-
// this.placeLimitOrderTx({ ...inputs, tx });
|
|
285
|
-
// } else {
|
|
286
|
-
// this.placeMarketOrderTx({ ...inputs, tx });
|
|
287
|
-
// }
|
|
288
|
-
// const orderType = PerpetualsOrderType.PostOnly;
|
|
289
|
-
// const side =
|
|
290
|
-
// inputs.side === PerpetualsOrderSide.Ask
|
|
291
|
-
// ? PerpetualsOrderSide.Bid
|
|
292
|
-
// : PerpetualsOrderSide.Ask;
|
|
293
|
-
// const orderPrice =
|
|
294
|
-
// "price" in inputs ? inputs.price : inputs.marketPrice;
|
|
295
|
-
// if (
|
|
296
|
-
// "slPrice" in inputs &&
|
|
297
|
-
// ((inputs.side === PerpetualsOrderSide.Ask &&
|
|
298
|
-
// inputs.slPrice > orderPrice) ||
|
|
299
|
-
// (inputs.side === PerpetualsOrderSide.Bid &&
|
|
300
|
-
// inputs.slPrice < orderPrice))
|
|
301
|
-
// ) {
|
|
302
|
-
// this.placeLimitOrderTx({
|
|
303
|
-
// ...inputs,
|
|
304
|
-
// tx,
|
|
305
|
-
// orderType,
|
|
306
|
-
// side,
|
|
307
|
-
// price: inputs.slPrice,
|
|
308
|
-
// });
|
|
309
|
-
// }
|
|
310
|
-
// if (
|
|
311
|
-
// "tpPrice" in inputs &&
|
|
312
|
-
// ((inputs.side === PerpetualsOrderSide.Ask &&
|
|
313
|
-
// inputs.tpPrice < orderPrice) ||
|
|
314
|
-
// (inputs.side === PerpetualsOrderSide.Bid &&
|
|
315
|
-
// inputs.tpPrice > orderPrice))
|
|
316
|
-
// ) {
|
|
317
|
-
// this.placeLimitOrderTx({
|
|
318
|
-
// ...inputs,
|
|
319
|
-
// tx,
|
|
320
|
-
// orderType,
|
|
321
|
-
// side,
|
|
322
|
-
// price: inputs.tpPrice,
|
|
323
|
-
// });
|
|
324
|
-
// }
|
|
325
|
-
};
|
|
326
329
|
this.getPositionTx = (inputs) => {
|
|
327
330
|
const { tx, marketId, collateralCoinType } = inputs;
|
|
328
331
|
return tx.moveCall({
|
|
@@ -421,77 +424,113 @@ class PerpetualsApi {
|
|
|
421
424
|
coinId }, inputs));
|
|
422
425
|
return tx;
|
|
423
426
|
});
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
427
|
+
// public buildCancelOrderTx = (
|
|
428
|
+
// inputs: ApiPerpetualsCancelOrderBody
|
|
429
|
+
// ): Transaction => {
|
|
430
|
+
// const {
|
|
431
|
+
// packageId,
|
|
432
|
+
// orderId,
|
|
433
|
+
// marketId,
|
|
434
|
+
// marketInitialSharedVersion,
|
|
435
|
+
// collateralChange,
|
|
436
|
+
// basePriceFeedId,
|
|
437
|
+
// collateralPriceFeedId,
|
|
438
|
+
// ...otherInputs
|
|
439
|
+
// } = inputs;
|
|
440
|
+
// return this.buildCancelOrdersTx({
|
|
441
|
+
// ...otherInputs,
|
|
442
|
+
// orderDatas: [
|
|
443
|
+
// {
|
|
444
|
+
// packageId,
|
|
445
|
+
// orderId,
|
|
446
|
+
// marketId,
|
|
447
|
+
// marketInitialSharedVersion,
|
|
448
|
+
// collateralChange,
|
|
449
|
+
// basePriceFeedId,
|
|
450
|
+
// collateralPriceFeedId,
|
|
451
|
+
// },
|
|
452
|
+
// ],
|
|
453
|
+
// });
|
|
454
|
+
// };
|
|
455
|
+
// public buildCancelOrdersTx = (
|
|
456
|
+
// inputs: ApiPerpetualsCancelOrdersBody
|
|
457
|
+
// ): Transaction => {
|
|
458
|
+
// const { orderDatas, collateralCoinType, accountCapId } = inputs;
|
|
459
|
+
// if (orderDatas.length <= 0)
|
|
460
|
+
// throw new Error("cannot have order datas of length zero");
|
|
461
|
+
// const tx = new Transaction();
|
|
462
|
+
// tx.setSender(inputs.walletAddress);
|
|
463
|
+
// const marketIdToOrderIds = orderDatas.reduce(
|
|
464
|
+
// (acc, order) => {
|
|
465
|
+
// if (order.marketId in acc) {
|
|
466
|
+
// return {
|
|
467
|
+
// ...acc,
|
|
468
|
+
// [order.marketId]: [...acc[order.marketId], order],
|
|
469
|
+
// };
|
|
470
|
+
// }
|
|
471
|
+
// return {
|
|
472
|
+
// ...acc,
|
|
473
|
+
// [order.marketId]: [order],
|
|
474
|
+
// };
|
|
475
|
+
// },
|
|
476
|
+
// {} as Record<
|
|
477
|
+
// PerpetualsMarketId,
|
|
478
|
+
// {
|
|
479
|
+
// packageId: PackageId;
|
|
480
|
+
// orderId: PerpetualsOrderId;
|
|
481
|
+
// marketId: PerpetualsMarketId;
|
|
482
|
+
// marketInitialSharedVersion: ObjectVersion;
|
|
483
|
+
// collateralChange: Balance;
|
|
484
|
+
// basePriceFeedId: ObjectId;
|
|
485
|
+
// collateralPriceFeedId: ObjectId;
|
|
486
|
+
// }[]
|
|
487
|
+
// >
|
|
488
|
+
// );
|
|
489
|
+
// for (const [marketId, orders] of Object.entries(marketIdToOrderIds)) {
|
|
490
|
+
// if (orders.length <= 0) continue;
|
|
491
|
+
// const marketInitialSharedVersion =
|
|
492
|
+
// orders[0].marketInitialSharedVersion;
|
|
493
|
+
// const packageId = orders[0].packageId;
|
|
494
|
+
// this.cancelOrdersTx({
|
|
495
|
+
// tx,
|
|
496
|
+
// collateralCoinType,
|
|
497
|
+
// accountCapId,
|
|
498
|
+
// marketId,
|
|
499
|
+
// marketInitialSharedVersion,
|
|
500
|
+
// packageId,
|
|
501
|
+
// orderIds: orders.map((order) => order.orderId),
|
|
502
|
+
// });
|
|
503
|
+
// const netCollateralChange = Helpers.sumBigInt(
|
|
504
|
+
// orders.map((order) => order.collateralChange)
|
|
505
|
+
// );
|
|
506
|
+
// if (netCollateralChange < BigInt(0)) {
|
|
507
|
+
// this.deallocateCollateralTx({
|
|
508
|
+
// tx,
|
|
509
|
+
// accountCapId,
|
|
510
|
+
// collateralCoinType,
|
|
511
|
+
// marketId,
|
|
512
|
+
// marketInitialSharedVersion,
|
|
513
|
+
// packageId,
|
|
514
|
+
// amount: Helpers.absBigInt(netCollateralChange),
|
|
515
|
+
// basePriceFeedId: orders[0].basePriceFeedId,
|
|
516
|
+
// collateralPriceFeedId: orders[0].collateralPriceFeedId,
|
|
517
|
+
// });
|
|
518
|
+
// } else if (netCollateralChange > BigInt(0)) {
|
|
519
|
+
// this.allocateCollateralTx({
|
|
520
|
+
// tx,
|
|
521
|
+
// accountCapId,
|
|
522
|
+
// collateralCoinType,
|
|
523
|
+
// marketId,
|
|
524
|
+
// marketInitialSharedVersion,
|
|
525
|
+
// packageId,
|
|
526
|
+
// amount: netCollateralChange,
|
|
527
|
+
// });
|
|
528
|
+
// } else {
|
|
529
|
+
// // no collateral change
|
|
530
|
+
// }
|
|
531
|
+
// }
|
|
532
|
+
// return tx;
|
|
533
|
+
// };
|
|
495
534
|
this.buildWithdrawCollateralTx = (inputs) => {
|
|
496
535
|
const tx = new transactions_1.Transaction();
|
|
497
536
|
tx.setSender(inputs.walletAddress);
|
|
@@ -506,16 +545,6 @@ class PerpetualsApi {
|
|
|
506
545
|
tx.transferObjects([accountCap], inputs.walletAddress);
|
|
507
546
|
return tx;
|
|
508
547
|
};
|
|
509
|
-
this.fetchBuildPlaceSLTPOrderTx = (inputs) => {
|
|
510
|
-
throw new Error("TODO");
|
|
511
|
-
// const { tx, sessionPotatoId } = this.createTxAndStartSession(inputs);
|
|
512
|
-
// this.placeSLTPOrderTx({
|
|
513
|
-
// ...inputs,
|
|
514
|
-
// tx,
|
|
515
|
-
// sessionPotatoId,
|
|
516
|
-
// });
|
|
517
|
-
// return tx;
|
|
518
|
-
};
|
|
519
548
|
this.buildTransferCollateralTx = (inputs) => {
|
|
520
549
|
const { walletAddress, collateralCoinType, fromAccountCapId, toAccountCapId, amount, } = inputs;
|
|
521
550
|
const tx = new transactions_1.Transaction();
|
|
@@ -536,54 +565,66 @@ class PerpetualsApi {
|
|
|
536
565
|
};
|
|
537
566
|
this.buildAllocateCollateralTx = transactionsApiHelpers_1.TransactionsApiHelpers.createBuildTxFunc(this.allocateCollateralTx);
|
|
538
567
|
this.buildDeallocateCollateralTx = transactionsApiHelpers_1.TransactionsApiHelpers.createBuildTxFunc(this.deallocateCollateralTx);
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
568
|
+
// public buildReduceOrdersTx = (
|
|
569
|
+
// inputs: ApiPerpetualsReduceOrdersBody
|
|
570
|
+
// ): Transaction => {
|
|
571
|
+
// const {
|
|
572
|
+
// walletAddress,
|
|
573
|
+
// collateralChange,
|
|
574
|
+
// accountCapId,
|
|
575
|
+
// collateralCoinType,
|
|
576
|
+
// marketId,
|
|
577
|
+
// marketInitialSharedVersion,
|
|
578
|
+
// packageId,
|
|
579
|
+
// basePriceFeedId,
|
|
580
|
+
// collateralPriceFeedId,
|
|
581
|
+
// orderIds,
|
|
582
|
+
// sizesToSubtract,
|
|
583
|
+
// } = inputs;
|
|
584
|
+
// const tx = new Transaction();
|
|
585
|
+
// tx.setSender(walletAddress);
|
|
586
|
+
// this.reduceOrdersTx({
|
|
587
|
+
// tx,
|
|
588
|
+
// packageId,
|
|
589
|
+
// collateralCoinType,
|
|
590
|
+
// accountCapId,
|
|
591
|
+
// marketId,
|
|
592
|
+
// marketInitialSharedVersion,
|
|
593
|
+
// orderIds,
|
|
594
|
+
// sizesToSubtract,
|
|
595
|
+
// });
|
|
596
|
+
// if (collateralChange < BigInt(0)) {
|
|
597
|
+
// this.deallocateCollateralTx({
|
|
598
|
+
// tx,
|
|
599
|
+
// accountCapId,
|
|
600
|
+
// collateralCoinType,
|
|
601
|
+
// marketId,
|
|
602
|
+
// marketInitialSharedVersion,
|
|
603
|
+
// packageId,
|
|
604
|
+
// basePriceFeedId,
|
|
605
|
+
// collateralPriceFeedId,
|
|
606
|
+
// amount: Helpers.absBigInt(collateralChange),
|
|
607
|
+
// });
|
|
608
|
+
// } else if (collateralChange > BigInt(0)) {
|
|
609
|
+
// this.allocateCollateralTx({
|
|
610
|
+
// tx,
|
|
611
|
+
// accountCapId,
|
|
612
|
+
// collateralCoinType,
|
|
613
|
+
// marketId,
|
|
614
|
+
// marketInitialSharedVersion,
|
|
615
|
+
// packageId,
|
|
616
|
+
// amount: collateralChange,
|
|
617
|
+
// });
|
|
618
|
+
// } else {
|
|
619
|
+
// // no collateral change
|
|
620
|
+
// }
|
|
621
|
+
// return tx;
|
|
622
|
+
// };
|
|
582
623
|
// =========================================================================
|
|
583
624
|
// Helpers
|
|
584
625
|
// =========================================================================
|
|
585
626
|
this.getAccountCapType = (inputs) => {
|
|
586
|
-
return `${this.addresses.
|
|
627
|
+
return `${this.addresses.packages.events}::${PerpetualsApi.constants.moduleNames.account}::Account<${inputs.collateralCoinType}>`;
|
|
587
628
|
};
|
|
588
629
|
// =========================================================================
|
|
589
630
|
// Private Helpers
|
|
@@ -971,15 +1012,11 @@ class PerpetualsApi {
|
|
|
971
1012
|
// =========================================================================
|
|
972
1013
|
// Event Types
|
|
973
1014
|
// =========================================================================
|
|
974
|
-
this.eventType = (eventName) => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.
|
|
975
|
-
const
|
|
976
|
-
|
|
977
|
-
if (!perpetuals || !oracle)
|
|
1015
|
+
this.eventType = (eventName) => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.events, PerpetualsApi.constants.moduleNames.events, eventName);
|
|
1016
|
+
const addresses = this.Provider.addresses.perpetuals;
|
|
1017
|
+
if (!addresses)
|
|
978
1018
|
throw new Error("not all required addresses have been set in provider");
|
|
979
|
-
this.addresses =
|
|
980
|
-
perpetuals,
|
|
981
|
-
oracle,
|
|
982
|
-
};
|
|
1019
|
+
this.addresses = addresses;
|
|
983
1020
|
this.eventTypes = {
|
|
984
1021
|
// Collateral
|
|
985
1022
|
withdrewCollateral: this.eventType("WithdrewCollateral"),
|
|
@@ -995,7 +1032,7 @@ class PerpetualsApi {
|
|
|
995
1032
|
// Order
|
|
996
1033
|
canceledOrder: this.eventType("CanceledOrder"),
|
|
997
1034
|
postedOrder: this.eventType("PostedOrder"),
|
|
998
|
-
|
|
1035
|
+
filledMakerOrders: this.eventType("FilledMakerOrders"),
|
|
999
1036
|
filledTakerOrder: this.eventType("FilledTakerOrder"),
|
|
1000
1037
|
reducedOrder: this.eventType("ReducedOrder"),
|
|
1001
1038
|
// Order Receipts
|
|
@@ -1007,89 +1044,94 @@ class PerpetualsApi {
|
|
|
1007
1044
|
updatedFunding: this.eventType("UpdatedFunding"),
|
|
1008
1045
|
// Version
|
|
1009
1046
|
updatedMarketVersion: this.eventType("UpdatedClearingHouseVersion"),
|
|
1047
|
+
// Stop Order
|
|
1048
|
+
createdStopOrderTicket: this.eventType("CreatedStopOrderTicket"),
|
|
1049
|
+
deletedStopOrderTicket: this.eventType("DeletedStopOrderTicket"),
|
|
1010
1050
|
};
|
|
1011
1051
|
this.moveErrors = {
|
|
1012
|
-
[this.addresses.
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1052
|
+
[this.addresses.packages.perpetuals]: {
|
|
1053
|
+
["ANY"]: {
|
|
1054
|
+
// Clearing House
|
|
1055
|
+
// Cannot deposit/withdraw zero coins to/from the account's collateral.
|
|
1056
|
+
0: "Deposit Or Withdraw Amount Zero",
|
|
1057
|
+
// Orderbook size or price are invalid values
|
|
1058
|
+
1: "Invalid Size Or Price",
|
|
1059
|
+
// When trying to access a particular insurance fund, but it does not exist.
|
|
1060
|
+
2: "Invalid Insurance Fund Id",
|
|
1061
|
+
// Index price returned from oracle is 0 or invalid value
|
|
1062
|
+
3: "Bad Index Price",
|
|
1063
|
+
// Registry already contains the specified collateral type
|
|
1064
|
+
4: "Invalid Collateral Type",
|
|
1065
|
+
// Order value in USD is too low
|
|
1066
|
+
5: "Order Usd Value Too Low",
|
|
1067
|
+
// Wrong number of sizes passed to liquidation.
|
|
1068
|
+
// It must match the number of liqee's positions.
|
|
1069
|
+
6: "Invalid Number Of Sizes",
|
|
1070
|
+
// MarketManager
|
|
1071
|
+
// Tried to create a new market with invalid parameters.
|
|
1072
|
+
1000: "Invalid Market Parameters",
|
|
1073
|
+
// Tried to call `update_funding` before enough time has passed since the
|
|
1074
|
+
// last update.
|
|
1075
|
+
1001: "Updating Funding Too Early",
|
|
1076
|
+
// Margin ratio update proposal already exists for market
|
|
1077
|
+
1002: "Proposal Already Exists",
|
|
1078
|
+
// Margin ratio update proposal cannot be commited too early
|
|
1079
|
+
1003: "Premature Proposal",
|
|
1080
|
+
// Margin ratio update proposal delay is outside the valid range
|
|
1081
|
+
1004: "Invalid Proposal Delay",
|
|
1082
|
+
// Market does not exist
|
|
1083
|
+
1005: "Market Does Not Exist",
|
|
1084
|
+
// Tried to update a config with a value outside of the allowed range
|
|
1085
|
+
1006: "Value Out Of Range",
|
|
1086
|
+
// Margin ratio update proposal does not exist for market
|
|
1087
|
+
1007: "Proposal Does Not Exist",
|
|
1088
|
+
// Exchange has no available fees to withdraw
|
|
1089
|
+
1008: "No Fees Accrued",
|
|
1090
|
+
// Tried to withdraw more insurance funds than the allowed amount
|
|
1091
|
+
1009: "Insufficient Insurance Surplus",
|
|
1092
|
+
// Cannot create a market for which a price feed does not exist
|
|
1093
|
+
1010: "No Price Feed For Market",
|
|
1094
|
+
// Account Manager
|
|
1095
|
+
// Tried accessing a nonexistent account.
|
|
1096
|
+
2000: "Account Not Found",
|
|
1097
|
+
// Tried accessing a nonexistent account position.
|
|
1098
|
+
2001: "Position Not Found",
|
|
1099
|
+
// Tried creating a new position when the account already has the maximum
|
|
1100
|
+
// allowed number of open positions.
|
|
1101
|
+
2002: "Max Positions Exceeded",
|
|
1102
|
+
// An operation brought an account below initial margin requirements.
|
|
1103
|
+
// 2003: "Initial Margin Requirement Violated",
|
|
1104
|
+
2003: "Margin Requirements Violated, Try Lowering Size",
|
|
1105
|
+
// Account is above MMR, so can't be liquidated.
|
|
1106
|
+
2004: "Account Above MMR",
|
|
1107
|
+
// Cannot realize bad debt via means other than calling 'liquidate'.
|
|
1108
|
+
2005: "Account Bad Debt",
|
|
1109
|
+
// Cannot withdraw more than the account's free collateral.
|
|
1110
|
+
2006: "Insufficient Free Collateral",
|
|
1111
|
+
// Cannot delete a position that is not worthless
|
|
1112
|
+
2007: "Position Not Null",
|
|
1113
|
+
// Tried placing a new pending order when the position already has the maximum
|
|
1114
|
+
// allowed number of pending orders.
|
|
1115
|
+
2008: "Max Pending Orders Exceeded",
|
|
1116
|
+
// Used for checking both liqee and liqor positions during liquidation
|
|
1117
|
+
2009: "Account Below IMR",
|
|
1118
|
+
// When leaving liqee's account with a margin ratio above tolerance,
|
|
1119
|
+
// meaning that liqor has overbought position
|
|
1120
|
+
2010: "Account Above Tolerance",
|
|
1121
|
+
// Orderbook & OrderedMap
|
|
1122
|
+
// While searching for a key, but it doesn't exist.
|
|
1123
|
+
3000: "Key Does Not Exist",
|
|
1124
|
+
// While inserting already existing key.
|
|
1125
|
+
3001: "Key Already Exists",
|
|
1126
|
+
// When attempting to destroy a non-empty map
|
|
1127
|
+
3002: "Destroying Not Empty Map",
|
|
1128
|
+
// Invalid user tries to modify an order
|
|
1129
|
+
3003: "Invalid User For Order",
|
|
1130
|
+
// Orderbook flag requirements violated
|
|
1131
|
+
3004: "Flag Requirements Violated",
|
|
1132
|
+
// Minimum size matched not reached
|
|
1133
|
+
3005: "Not Enough Liquidity",
|
|
1134
|
+
},
|
|
1093
1135
|
},
|
|
1094
1136
|
};
|
|
1095
1137
|
}
|