aftermath-ts-sdk 1.3.23-cleanup → 1.3.23-perps.2
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/dist/general/apiHelpers/transactionsApiHelpers.d.ts +3 -0
- package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/apiHelpers/transactionsApiHelpers.js +12 -0
- package/dist/general/providers/aftermath.d.ts +0 -5
- package/dist/general/providers/aftermath.d.ts.map +1 -1
- package/dist/general/providers/aftermath.js +1 -6
- package/dist/general/providers/aftermathApi.d.ts +0 -5
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/providers/aftermathApi.js +0 -5
- package/dist/general/types/castingTypes.d.ts +2 -2
- package/dist/general/types/castingTypes.d.ts.map +1 -1
- package/dist/general/types/configTypes.d.ts +0 -10
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/types/generalTypes.d.ts +4 -0
- 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/utils/caller.d.ts +17 -2
- package/dist/general/utils/caller.d.ts.map +1 -1
- package/dist/general/utils/caller.js +35 -2
- package/dist/general/utils/casting.d.ts +4 -5
- package/dist/general/utils/casting.d.ts.map +1 -1
- package/dist/general/utils/casting.js +4 -5
- package/dist/general/utils/helpers.d.ts +1 -0
- package/dist/general/utils/helpers.d.ts.map +1 -1
- package/dist/general/utils/helpers.js +35 -6
- package/dist/general/wallet/wallet.d.ts +1 -1
- package/dist/general/wallet/wallet.d.ts.map +1 -1
- package/dist/packages/coin/coin.d.ts +1 -1
- package/dist/packages/coin/coin.d.ts.map +1 -1
- package/dist/packages/coin/coin.js +3 -1
- package/dist/packages/farms/api/farmsApiCasting.js +27 -27
- package/dist/packages/farms/farms.d.ts +1 -1
- package/dist/packages/farms/farms.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakedPosition.d.ts +1 -1
- package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
- package/dist/packages/farms/farmsStakingPool.d.ts +1 -1
- package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
- 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 +10 -7
- 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/leveragedStaking/api/leveragedStakingApiCasting.js +3 -3
- package/dist/packages/multisig/multisig.d.ts +1 -1
- package/dist/packages/multisig/multisig.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 +11 -203
- package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApi.js +924 -615
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +10 -21
- package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
- package/dist/packages/perpetuals/api/perpetualsApiCasting.js +260 -238
- package/dist/packages/perpetuals/index.d.ts +1 -0
- package/dist/packages/perpetuals/index.d.ts.map +1 -1
- package/dist/packages/perpetuals/index.js +1 -0
- package/dist/packages/perpetuals/perpetuals.d.ts +83 -14
- package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetuals.js +158 -59
- package/dist/packages/perpetuals/perpetualsAccount.d.ts +158 -86
- package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsAccount.js +481 -141
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +82 -149
- package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.d.ts +55 -20
- package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.js +114 -57
- package/dist/packages/perpetuals/perpetualsTypes.d.ts +586 -280
- package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsTypes.js +17 -81
- package/dist/packages/perpetuals/perpetualsVault.d.ts +109 -0
- package/dist/packages/perpetuals/perpetualsVault.d.ts.map +1 -0
- package/dist/packages/perpetuals/perpetualsVault.js +290 -0
- package/dist/packages/pools/api/poolsApiCasting.js +3 -3
- package/dist/packages/pools/pool.d.ts +1 -1
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pools.d.ts +1 -1
- package/dist/packages/pools/pools.d.ts.map +1 -1
- package/dist/packages/referralVault/referralVault.d.ts +1 -1
- package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
- package/dist/packages/router/api/routerApiCasting.js +1 -1
- package/dist/packages/staking/api/stakingApiCasting.js +3 -3
- package/dist/packages/staking/staking.d.ts +1 -1
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/sui/sui.d.ts +1 -1
- package/dist/packages/sui/sui.d.ts.map +1 -1
- package/dist/packages/suiFrens/api/suiFrensApiCasting.js +4 -4
- 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/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/package.json +1 -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
|
@@ -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);
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { Caller } from "../../general/utils/caller";
|
|
2
|
-
import {
|
|
2
|
+
import { PerpetualsMarketId, ApiPerpetualsOwnedAccountCapsBody, PerpetualsOrderSide, CoinType, PerpetualsOrderId, FilledTakerOrderEvent, Timestamp, ApiPerpetualsHistoricalMarketDataResponse, PerpetualsAccountCap, PerpetualsAccountId, PerpetualsAccountObject, CallerConfig, SuiAddress, ObjectId, ApiPerpetualsMarkets24hrStatsResponse, ApiPerpetualsAccountCapsBody, Percentage, Balance, PerpetualsVaultCap, PerpetualsVaultWithdrawRequest, PerpetualsVaultCapExtended, PerpetualsOrderPrice, ApiTransactionResponse } from "../../types";
|
|
3
3
|
import { PerpetualsMarket } from "./perpetualsMarket";
|
|
4
4
|
import { PerpetualsAccount } from "./perpetualsAccount";
|
|
5
5
|
import { PerpetualsOrderUtils } from "./utils";
|
|
6
|
+
import { AftermathApi } from "../../general/providers";
|
|
7
|
+
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
8
|
+
import { PerpetualsVault } from "./perpetualsVault";
|
|
6
9
|
export declare class Perpetuals extends Caller {
|
|
10
|
+
readonly Provider?: AftermathApi | undefined;
|
|
7
11
|
static readonly OrderUtils: typeof PerpetualsOrderUtils;
|
|
8
|
-
|
|
12
|
+
static readonly constants: {
|
|
13
|
+
stopOrderGasCostSUI: bigint;
|
|
14
|
+
};
|
|
15
|
+
constructor(config?: CallerConfig, Provider?: AftermathApi | undefined);
|
|
9
16
|
getAllMarkets(inputs: {
|
|
10
17
|
collateralCoinType: CoinType;
|
|
11
18
|
}): Promise<PerpetualsMarket[]>;
|
|
@@ -17,42 +24,104 @@ export declare class Perpetuals extends Caller {
|
|
|
17
24
|
marketIds: PerpetualsMarketId[];
|
|
18
25
|
collateralCoinType: CoinType;
|
|
19
26
|
}): Promise<PerpetualsMarket[]>;
|
|
27
|
+
getAllVaults(): Promise<PerpetualsVault[]>;
|
|
28
|
+
getVault(inputs: {
|
|
29
|
+
marketId: ObjectId;
|
|
30
|
+
}): Promise<PerpetualsVault>;
|
|
31
|
+
getVaults(inputs: {
|
|
32
|
+
vaultIds: ObjectId[];
|
|
33
|
+
}): Promise<PerpetualsVault[]>;
|
|
20
34
|
getAccount(inputs: {
|
|
21
|
-
accountCap: PerpetualsAccountCap;
|
|
35
|
+
accountCap: PerpetualsAccountCap | PerpetualsVaultCapExtended;
|
|
36
|
+
marketIds?: PerpetualsMarketId[];
|
|
22
37
|
}): Promise<PerpetualsAccount>;
|
|
23
|
-
|
|
38
|
+
getAccounts(inputs: {
|
|
39
|
+
accountCaps: (PerpetualsAccountCap | PerpetualsVaultCapExtended)[];
|
|
40
|
+
marketIds?: PerpetualsMarketId[];
|
|
41
|
+
}): Promise<PerpetualsAccount[]>;
|
|
42
|
+
getAccountObjects(inputs: {
|
|
43
|
+
accountIds: PerpetualsAccountId[];
|
|
24
44
|
collateralCoinType: CoinType;
|
|
45
|
+
marketIds?: PerpetualsMarketId[];
|
|
46
|
+
}): Promise<PerpetualsAccountObject[]>;
|
|
47
|
+
getOwnedAccountCaps(inputs: ApiPerpetualsOwnedAccountCapsBody & {
|
|
48
|
+
collateralCoinTypes?: CoinType[];
|
|
25
49
|
}): Promise<PerpetualsAccountCap[]>;
|
|
50
|
+
getOwnedVaultCaps(inputs: ApiPerpetualsOwnedAccountCapsBody): Promise<PerpetualsVaultCap[]>;
|
|
51
|
+
getOwnedWithdrawRequests(inputs: {
|
|
52
|
+
walletAddress: SuiAddress;
|
|
53
|
+
}): Promise<PerpetualsVaultWithdrawRequest[]>;
|
|
54
|
+
getAccountCaps(inputs: ApiPerpetualsAccountCapsBody): Promise<PerpetualsAccountCap[]>;
|
|
26
55
|
getMarketHistoricalData(inputs: {
|
|
27
|
-
collateralCoinType: CoinType;
|
|
28
56
|
marketId: PerpetualsMarketId;
|
|
29
57
|
fromTimestamp: Timestamp;
|
|
30
58
|
toTimestamp: Timestamp;
|
|
31
59
|
intervalMs: number;
|
|
32
60
|
}): Promise<ApiPerpetualsHistoricalMarketDataResponse>;
|
|
33
|
-
|
|
61
|
+
getMarkets24hrStats(inputs: {
|
|
62
|
+
marketIds: PerpetualsMarketId[];
|
|
63
|
+
}): Promise<ApiPerpetualsMarkets24hrStatsResponse>;
|
|
64
|
+
getPrices(inputs: {
|
|
65
|
+
marketIds: ObjectId[];
|
|
66
|
+
}): Promise<{
|
|
67
|
+
basePrice: number;
|
|
68
|
+
collateralPrice: number;
|
|
69
|
+
}[]>;
|
|
70
|
+
getLpCoinPrices(inputs: {
|
|
71
|
+
vaultIds: ObjectId[];
|
|
72
|
+
}): Promise<number[]>;
|
|
73
|
+
getCreateAccountTx(inputs: {
|
|
74
|
+
walletAddress: SuiAddress;
|
|
75
|
+
collateralCoinType: CoinType;
|
|
76
|
+
tx?: Transaction;
|
|
77
|
+
}): Promise<Omit<ApiTransactionResponse, "txKind"> & {
|
|
78
|
+
tx: Transaction;
|
|
79
|
+
}>;
|
|
80
|
+
getCreateVaultTx(inputs: {
|
|
81
|
+
walletAddress: SuiAddress;
|
|
82
|
+
collateralCoinType: CoinType;
|
|
83
|
+
lockPeriodMs: number;
|
|
84
|
+
ownerFeePercentage: Percentage;
|
|
85
|
+
forceWithdrawDelayMs: number;
|
|
86
|
+
lpCoinMetadata: {
|
|
87
|
+
symbol: string;
|
|
88
|
+
description: string;
|
|
89
|
+
name: string;
|
|
90
|
+
iconUrl?: string;
|
|
91
|
+
};
|
|
92
|
+
tx?: Transaction;
|
|
93
|
+
} & ({
|
|
94
|
+
initialDepositAmount?: Balance;
|
|
95
|
+
} | {
|
|
96
|
+
initialDepositCoinArg: TransactionObjectArgument;
|
|
97
|
+
})): Promise<Omit<ApiTransactionResponse, "txKind"> & {
|
|
98
|
+
tx: Transaction;
|
|
99
|
+
}>;
|
|
34
100
|
static positionSide(inputs: {
|
|
35
|
-
baseAssetAmount:
|
|
101
|
+
baseAssetAmount: number;
|
|
36
102
|
}): PerpetualsOrderSide;
|
|
37
|
-
static
|
|
103
|
+
static orderPriceFromEvent(inputs: {
|
|
38
104
|
orderEvent: FilledTakerOrderEvent;
|
|
39
105
|
}): number;
|
|
106
|
+
static orderPriceFromOrderId(inputs: {
|
|
107
|
+
orderId: PerpetualsOrderId;
|
|
108
|
+
}): number;
|
|
40
109
|
static priceToOrderPrice: (inputs: {
|
|
41
110
|
price: number;
|
|
42
|
-
lotSize: number | bigint;
|
|
43
|
-
tickSize: number | bigint;
|
|
44
111
|
}) => PerpetualsOrderPrice;
|
|
45
112
|
static orderPriceToPrice: (inputs: {
|
|
46
113
|
orderPrice: PerpetualsOrderPrice;
|
|
47
|
-
lotSize: number | bigint;
|
|
48
|
-
tickSize: number | bigint;
|
|
49
114
|
}) => number;
|
|
50
115
|
static lotOrTickSizeToNumber(lotOrTickSize: bigint): number;
|
|
51
116
|
static lotOrTickSizeToBigInt(lotOrTickSize: number): bigint;
|
|
52
117
|
static orderIdToSide: (orderId: PerpetualsOrderId) => PerpetualsOrderSide;
|
|
118
|
+
static eventTypeForCollateral: (inputs: {
|
|
119
|
+
eventType: string;
|
|
120
|
+
collateralCoinType: CoinType;
|
|
121
|
+
}) => string;
|
|
53
122
|
static calcEntryPrice(inputs: {
|
|
54
|
-
baseAssetAmount:
|
|
55
|
-
quoteAssetNotionalAmount:
|
|
123
|
+
baseAssetAmount: number;
|
|
124
|
+
quoteAssetNotionalAmount: number;
|
|
56
125
|
}): number;
|
|
57
126
|
}
|
|
58
127
|
//# sourceMappingURL=perpetuals.d.ts.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"perpetuals.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetuals.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,77 +8,190 @@ 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 _a;
|
|
12
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
12
|
exports.Perpetuals = void 0;
|
|
14
13
|
const caller_1 = require("../../general/utils/caller");
|
|
15
14
|
const types_1 = require("../../types");
|
|
16
15
|
const perpetualsMarket_1 = require("./perpetualsMarket");
|
|
17
16
|
const perpetualsAccount_1 = require("./perpetualsAccount");
|
|
18
|
-
const iFixedUtils_1 = require("../../general/utils/iFixedUtils");
|
|
19
17
|
const fixedUtils_1 = require("../../general/utils/fixedUtils");
|
|
20
|
-
const utils_1 = require("
|
|
21
|
-
const
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
const perpetualsVault_1 = require("./perpetualsVault");
|
|
22
20
|
class Perpetuals extends caller_1.Caller {
|
|
23
21
|
// =========================================================================
|
|
24
22
|
// Constructor
|
|
25
23
|
// =========================================================================
|
|
26
|
-
constructor(config) {
|
|
24
|
+
constructor(config, Provider) {
|
|
27
25
|
super(config, "perpetuals");
|
|
26
|
+
this.Provider = Provider;
|
|
28
27
|
}
|
|
29
28
|
// =========================================================================
|
|
30
29
|
// Class Objects
|
|
31
30
|
// =========================================================================
|
|
32
31
|
getAllMarkets(inputs) {
|
|
33
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const
|
|
35
|
-
const marketDatas = yield this.fetchApi(`${collateralCoinType}/markets`);
|
|
33
|
+
const marketDatas = yield this.fetchApi("all-markets", inputs);
|
|
36
34
|
return marketDatas.map((marketData) => new perpetualsMarket_1.PerpetualsMarket(marketData, this.config));
|
|
37
35
|
});
|
|
38
36
|
}
|
|
39
37
|
getMarket(inputs) {
|
|
40
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const
|
|
42
|
-
|
|
39
|
+
const markets = yield this.getMarkets({
|
|
40
|
+
marketIds: [inputs.marketId],
|
|
41
|
+
collateralCoinType: inputs.collateralCoinType,
|
|
42
|
+
});
|
|
43
|
+
return markets[0];
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
getMarkets(inputs) {
|
|
46
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
})));
|
|
48
|
+
const marketDatas = yield this.fetchApi("markets", Object.assign(Object.assign({}, inputs), { withOrderbook: false }));
|
|
49
|
+
return marketDatas.map((marketData) =>
|
|
50
|
+
// TODO: make orderbook as input ?
|
|
51
|
+
new perpetualsMarket_1.PerpetualsMarket(marketData.market, this.config));
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
+
getAllVaults() {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const vaultObjects = yield this.fetchApi("vaults", {});
|
|
57
|
+
return vaultObjects.map((vaultObject) => new perpetualsVault_1.PerpetualsVault(vaultObject, this.config));
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
getVault(inputs) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const vaults = yield this.getVaults({
|
|
63
|
+
vaultIds: [inputs.marketId],
|
|
64
|
+
});
|
|
65
|
+
return vaults[0];
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
getVaults(inputs) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const vaultObjects = yield this.fetchApi("vaults", inputs);
|
|
71
|
+
return vaultObjects.map((vaultObject) => new perpetualsVault_1.PerpetualsVault(vaultObject, this.config));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// TODO: merge this with `getAccountObjects` as an option ?
|
|
54
75
|
getAccount(inputs) {
|
|
55
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const { accountCap } = inputs;
|
|
57
|
-
|
|
58
|
-
|
|
77
|
+
const { accountCap, marketIds } = inputs;
|
|
78
|
+
return (yield this.getAccounts({
|
|
79
|
+
accountCaps: [accountCap],
|
|
80
|
+
marketIds,
|
|
81
|
+
}))[0];
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
// TODO: make account fetching get positions and account cap data all at once ?
|
|
85
|
+
getAccounts(inputs) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const { accountCaps, marketIds } = inputs;
|
|
88
|
+
if (accountCaps.length <= 0)
|
|
89
|
+
return [];
|
|
90
|
+
// TODO: handle different collateral coin types
|
|
91
|
+
const accountObjects = yield this.getAccountObjects({
|
|
92
|
+
accountIds: accountCaps.map((accountCap) => accountCap.accountId),
|
|
93
|
+
collateralCoinType: accountCaps[0].collateralCoinType,
|
|
94
|
+
marketIds,
|
|
95
|
+
});
|
|
96
|
+
return accountObjects.map((account, index) => new perpetualsAccount_1.PerpetualsAccount(account, accountCaps[index], this.config, this.Provider));
|
|
59
97
|
});
|
|
60
98
|
}
|
|
61
|
-
|
|
99
|
+
// TODO: handle different collateral coin types ?
|
|
100
|
+
getAccountObjects(inputs) {
|
|
62
101
|
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const { collateralCoinType,
|
|
64
|
-
|
|
102
|
+
const { accountIds, collateralCoinType, marketIds } = inputs;
|
|
103
|
+
if (accountIds.length <= 0)
|
|
104
|
+
return [];
|
|
105
|
+
return this.fetchApi("accounts/positions", {
|
|
106
|
+
accountIds,
|
|
107
|
+
collateralCoinType,
|
|
108
|
+
marketIds,
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
getOwnedAccountCaps(inputs) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
const { walletAddress, collateralCoinTypes } = inputs;
|
|
115
|
+
return this.fetchApi("accounts/owned", {
|
|
65
116
|
walletAddress,
|
|
117
|
+
collateralCoinTypes,
|
|
66
118
|
});
|
|
67
119
|
});
|
|
68
120
|
}
|
|
121
|
+
getOwnedVaultCaps(inputs) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
return this.fetchApi("vaults/owned-vault-caps", inputs);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
getOwnedWithdrawRequests(inputs) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
return this.fetchApi("vaults/owned-withdraw-requests", Object.assign({}, inputs));
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
getAccountCaps(inputs) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return this.fetchApi("accounts", inputs);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
69
136
|
// =========================================================================
|
|
70
137
|
// Data
|
|
71
138
|
// =========================================================================
|
|
72
139
|
getMarketHistoricalData(inputs) {
|
|
73
|
-
const {
|
|
74
|
-
return this.fetchApi(
|
|
140
|
+
const { marketId, fromTimestamp, toTimestamp, intervalMs } = inputs;
|
|
141
|
+
return this.fetchApi("market/candle-history", {
|
|
142
|
+
marketId,
|
|
143
|
+
fromTimestamp,
|
|
144
|
+
toTimestamp,
|
|
145
|
+
intervalMs,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
getMarkets24hrStats(inputs) {
|
|
149
|
+
return this.fetchApi("markets/24hr-stats", inputs);
|
|
150
|
+
}
|
|
151
|
+
// =========================================================================
|
|
152
|
+
// Prices
|
|
153
|
+
// =========================================================================
|
|
154
|
+
getPrices(inputs) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
if (inputs.marketIds.length <= 0)
|
|
157
|
+
return [];
|
|
158
|
+
return this.fetchApi("markets/prices", inputs);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
getLpCoinPrices(inputs) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
if (inputs.vaultIds.length <= 0)
|
|
164
|
+
return [];
|
|
165
|
+
return this.fetchApi("vaults/lp-coin-prices", inputs);
|
|
166
|
+
});
|
|
75
167
|
}
|
|
76
168
|
// =========================================================================
|
|
77
169
|
// Transactions
|
|
78
170
|
// =========================================================================
|
|
79
171
|
getCreateAccountTx(inputs) {
|
|
80
172
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
|
|
173
|
+
var _a;
|
|
174
|
+
const { walletAddress, collateralCoinType, tx } = inputs;
|
|
175
|
+
return this.fetchApiTxObject("transactions/create-account", {
|
|
176
|
+
walletAddress,
|
|
177
|
+
collateralCoinType,
|
|
178
|
+
txKind: yield ((_a = this.Provider) === null || _a === void 0 ? void 0 : _a.Transactions().fetchBase64TxKindFromTx({ tx })),
|
|
179
|
+
}, undefined, {
|
|
180
|
+
txKind: true,
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
getCreateVaultTx(inputs) {
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
var _a;
|
|
187
|
+
const { walletAddress, collateralCoinType, tx } = inputs;
|
|
188
|
+
return this.fetchApiTxObject("transactions/create-vault", {
|
|
189
|
+
walletAddress,
|
|
190
|
+
collateralCoinType,
|
|
191
|
+
txKind: yield ((_a = this.Provider) === null || _a === void 0 ? void 0 : _a.Transactions().fetchBase64TxKindFromTx({ tx })),
|
|
192
|
+
}, undefined, {
|
|
193
|
+
txKind: true,
|
|
194
|
+
});
|
|
82
195
|
});
|
|
83
196
|
}
|
|
84
197
|
// =========================================================================
|
|
@@ -88,15 +201,19 @@ class Perpetuals extends caller_1.Caller {
|
|
|
88
201
|
// Helpers
|
|
89
202
|
// =========================================================================
|
|
90
203
|
static positionSide(inputs) {
|
|
91
|
-
const baseAmount =
|
|
204
|
+
const baseAmount = inputs.baseAssetAmount;
|
|
92
205
|
const isLong = Math.sign(baseAmount);
|
|
93
206
|
const side = isLong >= 0 ? types_1.PerpetualsOrderSide.Bid : types_1.PerpetualsOrderSide.Ask;
|
|
94
207
|
return side;
|
|
95
208
|
}
|
|
96
|
-
static
|
|
209
|
+
static orderPriceFromEvent(inputs) {
|
|
97
210
|
const { orderEvent } = inputs;
|
|
98
|
-
return
|
|
99
|
-
|
|
211
|
+
return orderEvent.quoteAssetDelta / orderEvent.baseAssetDelta;
|
|
212
|
+
}
|
|
213
|
+
static orderPriceFromOrderId(inputs) {
|
|
214
|
+
const { orderId } = inputs;
|
|
215
|
+
const orderPrice = utils_1.PerpetualsOrderUtils.price(orderId);
|
|
216
|
+
return this.orderPriceToPrice({ orderPrice });
|
|
100
217
|
}
|
|
101
218
|
static lotOrTickSizeToNumber(lotOrTickSize) {
|
|
102
219
|
return Number(lotOrTickSize) / fixedUtils_1.FixedUtils.fixedOneN9;
|
|
@@ -109,51 +226,33 @@ class Perpetuals extends caller_1.Caller {
|
|
|
109
226
|
// =========================================================================
|
|
110
227
|
static calcEntryPrice(inputs) {
|
|
111
228
|
const { baseAssetAmount, quoteAssetNotionalAmount } = inputs;
|
|
112
|
-
const denominator =
|
|
229
|
+
const denominator = baseAssetAmount;
|
|
113
230
|
if (!denominator)
|
|
114
231
|
return 0;
|
|
115
|
-
return Math.abs(
|
|
116
|
-
denominator);
|
|
232
|
+
return Math.abs(quoteAssetNotionalAmount / denominator);
|
|
117
233
|
}
|
|
118
234
|
}
|
|
119
235
|
exports.Perpetuals = Perpetuals;
|
|
120
|
-
_a = Perpetuals;
|
|
121
236
|
// =========================================================================
|
|
122
237
|
// Constants
|
|
123
238
|
// =========================================================================
|
|
124
|
-
Perpetuals.OrderUtils =
|
|
239
|
+
Perpetuals.OrderUtils = utils_1.PerpetualsOrderUtils;
|
|
240
|
+
Perpetuals.constants = {
|
|
241
|
+
stopOrderGasCostSUI: BigInt(15000000), // 0.15 SUI
|
|
242
|
+
};
|
|
125
243
|
Perpetuals.priceToOrderPrice = (inputs) => {
|
|
126
|
-
const { price
|
|
127
|
-
|
|
128
|
-
// convert f18 to b9 (assuming the former is positive)
|
|
129
|
-
const price9 = priceFixed / fixedUtils_1.FixedUtils.fixedOneB9;
|
|
130
|
-
const denominator = fixedUtils_1.FixedUtils.fixedOneB9 /
|
|
131
|
-
(typeof lotSize === "number"
|
|
132
|
-
? _a.lotOrTickSizeToBigInt(lotSize)
|
|
133
|
-
: lotSize);
|
|
134
|
-
if (denominator <= BigInt(0))
|
|
135
|
-
return BigInt(0);
|
|
136
|
-
return (price9 /
|
|
137
|
-
(typeof tickSize === "number"
|
|
138
|
-
? _a.lotOrTickSizeToBigInt(tickSize)
|
|
139
|
-
: tickSize) /
|
|
140
|
-
denominator);
|
|
244
|
+
const { price } = inputs;
|
|
245
|
+
return BigInt(Math.round(price * fixedUtils_1.FixedUtils.fixedOneN9));
|
|
141
246
|
};
|
|
142
247
|
Perpetuals.orderPriceToPrice = (inputs) => {
|
|
143
|
-
const { orderPrice
|
|
144
|
-
|
|
145
|
-
(typeof lotSize === "number"
|
|
146
|
-
? _a.lotOrTickSizeToBigInt(lotSize)
|
|
147
|
-
: lotSize);
|
|
148
|
-
return fixedUtils_1.FixedUtils.directCast(orderPrice *
|
|
149
|
-
(typeof tickSize === "number"
|
|
150
|
-
? _a.lotOrTickSizeToBigInt(tickSize)
|
|
151
|
-
: tickSize) *
|
|
152
|
-
temp *
|
|
153
|
-
fixedUtils_1.FixedUtils.fixedOneB9);
|
|
248
|
+
const { orderPrice } = inputs;
|
|
249
|
+
return Number(orderPrice) / fixedUtils_1.FixedUtils.fixedOneN9;
|
|
154
250
|
};
|
|
155
251
|
Perpetuals.orderIdToSide = (orderId) => {
|
|
156
|
-
return
|
|
252
|
+
return Perpetuals.OrderUtils.isAsk(orderId)
|
|
157
253
|
? types_1.PerpetualsOrderSide.Ask
|
|
158
254
|
: types_1.PerpetualsOrderSide.Bid;
|
|
159
255
|
};
|
|
256
|
+
Perpetuals.eventTypeForCollateral = (inputs) => {
|
|
257
|
+
return `${inputs.eventType}<${inputs.collateralCoinType}>`;
|
|
258
|
+
};
|