@typus/typus-perp-sdk 1.2.2 → 1.3.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.
- package/dist/src/client.d.ts +22 -3
- package/dist/src/client.js +66 -8
- package/dist/src/fetch.d.ts +61 -17
- package/dist/src/fetch.js +20 -14
- package/dist/src/generated/typus_perp/admin.d.ts +65 -21
- package/dist/src/generated/typus_perp/admin.js +139 -123
- package/dist/src/generated/typus_perp/competition.d.ts +5 -17
- package/dist/src/generated/typus_perp/competition.js +63 -39
- package/dist/src/generated/typus_perp/deps/std/type_name.d.ts +9 -9
- package/dist/src/generated/typus_perp/deps/std/type_name.js +13 -16
- package/dist/src/generated/typus_perp/deps/sui/balance.d.ts +2 -2
- package/dist/src/generated/typus_perp/deps/sui/balance.js +5 -8
- package/dist/src/generated/typus_perp/deps/sui/object.d.ts +8 -0
- package/dist/src/generated/typus_perp/deps/sui/object.js +13 -0
- package/dist/src/generated/typus_perp/deps/sui/object_table.d.ts +5 -3
- package/dist/src/generated/typus_perp/deps/sui/object_table.js +40 -9
- package/dist/src/generated/typus_perp/deps/sui/table.d.ts +5 -3
- package/dist/src/generated/typus_perp/deps/sui/table.js +40 -9
- package/dist/src/generated/typus_perp/deps/sui/vec_set.d.ts +5 -3
- package/dist/src/generated/typus_perp/deps/sui/vec_set.js +5 -8
- package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.d.ts +4 -2
- package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.js +9 -12
- package/dist/src/generated/typus_perp/deps/typus/linked_object_table.d.ts +12 -6
- package/dist/src/generated/typus_perp/deps/typus/linked_object_table.js +41 -10
- package/dist/src/generated/typus_perp/deps/typus_framework/vault.d.ts +4 -2
- package/dist/src/generated/typus_perp/deps/typus_framework/vault.js +40 -9
- package/dist/src/generated/typus_perp/error.d.ts +201 -94
- package/dist/src/generated/typus_perp/error.js +300 -273
- package/dist/src/generated/typus_perp/escrow.d.ts +14 -6
- package/dist/src/generated/typus_perp/escrow.js +38 -37
- package/dist/src/generated/typus_perp/lending.d.ts +1 -1
- package/dist/src/generated/typus_perp/lending.js +3 -3
- package/dist/src/generated/typus_perp/lp_pool.d.ts +438 -392
- package/dist/src/generated/typus_perp/lp_pool.js +987 -934
- package/dist/src/generated/typus_perp/math.d.ts +13 -16
- package/dist/src/generated/typus_perp/math.js +51 -50
- package/dist/src/generated/typus_perp/position.d.ts +194 -104
- package/dist/src/generated/typus_perp/position.js +714 -731
- package/dist/src/generated/typus_perp/profit_vault.d.ts +62 -20
- package/dist/src/generated/typus_perp/profit_vault.js +162 -148
- package/dist/src/generated/typus_perp/symbol.d.ts +12 -5
- package/dist/src/generated/typus_perp/symbol.js +28 -25
- package/dist/src/generated/typus_perp/trading.d.ts +955 -133
- package/dist/src/generated/typus_perp/trading.js +1575 -1146
- package/dist/src/generated/typus_perp/treasury_caps.d.ts +16 -7
- package/dist/src/generated/typus_perp/treasury_caps.js +60 -24
- package/dist/src/generated/typus_perp/user_account.d.ts +40 -0
- package/dist/src/generated/typus_perp/user_account.js +66 -0
- package/dist/src/generated/typus_stake_pool/admin.d.ts +144 -10
- package/dist/src/generated/typus_stake_pool/admin.js +132 -49
- package/dist/src/generated/typus_stake_pool/deps/std/type_name.d.ts +9 -9
- package/dist/src/generated/typus_stake_pool/deps/std/type_name.js +13 -16
- package/dist/src/generated/typus_stake_pool/deps/sui/object.d.ts +8 -0
- package/dist/src/generated/typus_stake_pool/deps/sui/object.js +13 -0
- package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.d.ts +36 -0
- package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.js +31 -0
- package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.d.ts +5 -3
- package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.js +5 -8
- package/dist/src/generated/typus_stake_pool/stake_pool.d.ts +180 -79
- package/dist/src/generated/typus_stake_pool/stake_pool.js +446 -414
- package/dist/src/generated/utils/index.d.ts +4 -23
- package/dist/src/generated/utils/index.js +34 -54
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +35 -13
- package/dist/src/user/order.d.ts +0 -4
- package/dist/src/user/order.js +31 -74
- package/dist/src/user/orderWithBidReceipt.d.ts +0 -3
- package/dist/src/user/orderWithBidReceipt.js +24 -45
- package/dist/src/user/tlp.d.ts +0 -5
- package/dist/src/user/tlp.js +28 -73
- package/package.json +47 -40
|
@@ -33,10 +33,16 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.RealizeOptionPositionEvent = exports.ExpiredPositionInfo = exports.UpdateFundingRateEvent = exports.SettleReceiptCollateralEvent = exports.LiquidateEvent = exports.LiquidationInfo = exports.ManagerCloseOptionPositionEvent = exports.ManagerClearPositionEvent = exports.ManagerReducePositionEvent = exports.MatchTradingOrderEvent = exports.CreateTradingOrderWithBidReceiptsEvent = exports.IncreaseCollateralEvent = exports.ReleaseCollateralEvent = exports.CancelTradingOrderEvent = exports.ManagerCancelOrdersEvent = exports.CreateTradingOrderEvent = exports.ResumeTradingSymbolEvent = exports.SuspendTradingSymbolEvent = exports.ResumeMarketEvent = exports.SuspendMarketEvent = exports.UpdateMarketConfigEvent = exports.UpdateProtocolFeeShareBpEvent = exports.AddTradingSymbolEvent = exports.NewMarketsEvent = exports.USD = exports.SymbolMarket = exports.MarketConfig = exports.MarketInfo = exports.Markets = exports.MarketRegistry = void 0;
|
|
36
|
+
exports.MigrateMarketOracleIdEvent = exports.RealizeOptionPositionEvent = exports.ExpiredPositionInfo = exports.UpdateFundingRateEvent = exports.SettleReceiptCollateralEvent = exports.LiquidateEvent = exports.LiquidationInfo = exports.ManagerCloseOptionPositionEvent = exports.ManagerClearPositionEvent = exports.ManagerReducePositionEvent = exports.MatchTradingOrderEvent = exports.CreateTradingOrderWithBidReceiptsEvent = exports.IncreaseCollateralEvent = exports.ReleaseCollateralEvent = exports.CancelTradingOrderEvent = exports.ManagerCancelOrdersEvent = exports.CreateTradingOrderEvent = exports.ResumeTradingSymbolEvent = exports.SuspendTradingSymbolEvent = exports.ResumeMarketEvent = exports.SuspendMarketEvent = exports.UpdateMarketConfigEvent = exports.UpdateProtocolFeeShareBpEvent = exports.AddTradingSymbolEvent = exports.NewMarketsEvent = exports.ReferralInfo = exports.Referrals = exports.USD = exports.SymbolMarket = exports.MarketConfig = exports.MarketInfo = exports.Markets = exports.MarketRegistry = void 0;
|
|
37
37
|
exports.init = init;
|
|
38
|
+
exports.initReferralTable = initReferralTable;
|
|
39
|
+
exports.addReferralInfo = addReferralInfo;
|
|
40
|
+
exports.removeReferralInfo = removeReferralInfo;
|
|
41
|
+
exports.setReferral = setReferral;
|
|
42
|
+
exports.unsetReferral = unsetReferral;
|
|
38
43
|
exports.newMarkets = newMarkets;
|
|
39
44
|
exports.addTradingSymbol = addTradingSymbol;
|
|
45
|
+
exports.addTradingSymbolV2 = addTradingSymbolV2;
|
|
40
46
|
exports.updateProtocolFeeShareBp = updateProtocolFeeShareBp;
|
|
41
47
|
exports.updateMarketConfig = updateMarketConfig;
|
|
42
48
|
exports.suspendMarket = suspendMarket;
|
|
@@ -45,23 +51,37 @@ exports.suspendTradingSymbol = suspendTradingSymbol;
|
|
|
45
51
|
exports.resumeTradingSymbol = resumeTradingSymbol;
|
|
46
52
|
exports.removeTradingSymbol = removeTradingSymbol;
|
|
47
53
|
exports.createTradingOrder = createTradingOrder;
|
|
54
|
+
exports.createTradingOrderV2 = createTradingOrderV2;
|
|
48
55
|
exports.cancelTradingOrder = cancelTradingOrder;
|
|
49
56
|
exports.releaseCollateral = releaseCollateral;
|
|
57
|
+
exports.releaseCollateralV2 = releaseCollateralV2;
|
|
50
58
|
exports.increaseCollateral = increaseCollateral;
|
|
59
|
+
exports.increaseCollateralV2 = increaseCollateralV2;
|
|
51
60
|
exports.collectPositionFundingFee = collectPositionFundingFee;
|
|
61
|
+
exports.collectPositionFundingFeeV2 = collectPositionFundingFeeV2;
|
|
52
62
|
exports.createTradingOrderWithBidReceipt = createTradingOrderWithBidReceipt;
|
|
63
|
+
exports.createTradingOrderWithBidReceiptV2 = createTradingOrderWithBidReceiptV2;
|
|
53
64
|
exports.reduceOptionCollateralPositionSize = reduceOptionCollateralPositionSize;
|
|
65
|
+
exports.reduceOptionCollateralPositionSizeV2 = reduceOptionCollateralPositionSizeV2;
|
|
54
66
|
exports.matchTradingOrder = matchTradingOrder;
|
|
67
|
+
exports.matchTradingOrderV2 = matchTradingOrderV2;
|
|
55
68
|
exports.cancelLinkedOrders = cancelLinkedOrders;
|
|
56
69
|
exports.managerReducePosition = managerReducePosition;
|
|
70
|
+
exports.managerReducePositionV2 = managerReducePositionV2;
|
|
57
71
|
exports.managerClearPosition = managerClearPosition;
|
|
58
72
|
exports.managerCloseOptionPosition = managerCloseOptionPosition;
|
|
73
|
+
exports.managerCloseOptionPositionV2 = managerCloseOptionPositionV2;
|
|
59
74
|
exports.getTradingFeeConfig = getTradingFeeConfig;
|
|
60
75
|
exports.getLiquidationInfo = getLiquidationInfo;
|
|
61
76
|
exports.liquidate = liquidate;
|
|
77
|
+
exports.liquidateV2 = liquidateV2;
|
|
62
78
|
exports.settleReceiptCollateral = settleReceiptCollateral;
|
|
79
|
+
exports.settleReceiptCollateralV2 = settleReceiptCollateralV2;
|
|
63
80
|
exports.updateFundingRate = updateFundingRate;
|
|
81
|
+
exports.updateFundingRateV2 = updateFundingRateV2;
|
|
64
82
|
exports.getExpiredPositionInfo = getExpiredPositionInfo;
|
|
83
|
+
exports.createUserAccount = createUserAccount;
|
|
84
|
+
exports.withdrawUserAccount = withdrawUserAccount;
|
|
65
85
|
exports.prepareOrderExecution = prepareOrderExecution;
|
|
66
86
|
exports.executeOrder_ = executeOrder_;
|
|
67
87
|
exports.executeOptionCollateralOrder_ = executeOptionCollateralOrder_;
|
|
@@ -77,6 +97,7 @@ exports.checkCollateralEnoughWhenReducingPosition = checkCollateralEnoughWhenRed
|
|
|
77
97
|
exports.checkOptionCollateralEnough = checkOptionCollateralEnough;
|
|
78
98
|
exports.checkReserveEnough = checkReserveEnough;
|
|
79
99
|
exports.getMaxReleasingCollateralAmount_ = getMaxReleasingCollateralAmount_;
|
|
100
|
+
exports.getV2Price = getV2Price;
|
|
80
101
|
exports.normalSafetyCheck = normalSafetyCheck;
|
|
81
102
|
exports.validateTradingFeeConfig = validateTradingFeeConfig;
|
|
82
103
|
exports.adjustMarketInfoUserOrderSize = adjustMarketInfoUserOrderSize;
|
|
@@ -84,6 +105,7 @@ exports.adjustMarketInfoUserPositionSize = adjustMarketInfoUserPositionSize;
|
|
|
84
105
|
exports.exerciseBidReceipts = exerciseBidReceipts;
|
|
85
106
|
exports.returnToUser = returnToUser;
|
|
86
107
|
exports.checkPositionUserMatched = checkPositionUserMatched;
|
|
108
|
+
exports.getUserReferral = getUserReferral;
|
|
87
109
|
exports.getUserOrders = getUserOrders;
|
|
88
110
|
exports.getUserPositions = getUserPositions;
|
|
89
111
|
exports.getAllPositions = getAllPositions;
|
|
@@ -94,95 +116,52 @@ exports.calculateTradingFeeRateMbp = calculateTradingFeeRateMbp;
|
|
|
94
116
|
exports.getMarketsBcs = getMarketsBcs;
|
|
95
117
|
exports.getMutMarketId = getMutMarketId;
|
|
96
118
|
exports.tradingSymbolExists = tradingSymbolExists;
|
|
119
|
+
exports.managerCancelOrderByOpenInterestLimit = managerCancelOrderByOpenInterestLimit;
|
|
97
120
|
exports.deprecated = deprecated;
|
|
121
|
+
exports.migrateOracleIdToV2 = migrateOracleIdToV2;
|
|
98
122
|
/**************************************************************
|
|
99
123
|
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
100
124
|
**************************************************************/
|
|
101
|
-
const
|
|
125
|
+
const index_1 = require("../utils/index");
|
|
102
126
|
const bcs_1 = require("@mysten/sui/bcs");
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const type_name_6 = __importStar(require("./deps/std/type_name.js"));
|
|
113
|
-
const type_name_7 = __importStar(require("./deps/std/type_name.js"));
|
|
114
|
-
const type_name_8 = __importStar(require("./deps/std/type_name.js"));
|
|
115
|
-
const type_name_9 = __importStar(require("./deps/std/type_name.js"));
|
|
116
|
-
const type_name_10 = __importStar(require("./deps/std/type_name.js"));
|
|
117
|
-
const type_name_11 = __importStar(require("./deps/std/type_name.js"));
|
|
118
|
-
const type_name_12 = __importStar(require("./deps/std/type_name.js"));
|
|
119
|
-
const type_name_13 = __importStar(require("./deps/std/type_name.js"));
|
|
120
|
-
const type_name_14 = __importStar(require("./deps/std/type_name.js"));
|
|
121
|
-
const type_name_15 = __importStar(require("./deps/std/type_name.js"));
|
|
122
|
-
const type_name_16 = __importStar(require("./deps/std/type_name.js"));
|
|
123
|
-
const type_name_17 = __importStar(require("./deps/std/type_name.js"));
|
|
124
|
-
const type_name_18 = __importStar(require("./deps/std/type_name.js"));
|
|
125
|
-
const type_name_19 = __importStar(require("./deps/std/type_name.js"));
|
|
126
|
-
const type_name_20 = __importStar(require("./deps/std/type_name.js"));
|
|
127
|
-
const type_name_21 = __importStar(require("./deps/std/type_name.js"));
|
|
128
|
-
const type_name_22 = __importStar(require("./deps/std/type_name.js"));
|
|
129
|
-
const type_name_23 = __importStar(require("./deps/std/type_name.js"));
|
|
130
|
-
const type_name_24 = __importStar(require("./deps/std/type_name.js"));
|
|
131
|
-
const type_name_25 = __importStar(require("./deps/std/type_name.js"));
|
|
132
|
-
const type_name_26 = __importStar(require("./deps/std/type_name.js"));
|
|
133
|
-
const type_name_27 = __importStar(require("./deps/std/type_name.js"));
|
|
134
|
-
const type_name_28 = __importStar(require("./deps/std/type_name.js"));
|
|
135
|
-
const type_name_29 = __importStar(require("./deps/std/type_name.js"));
|
|
136
|
-
const type_name_30 = __importStar(require("./deps/std/type_name.js"));
|
|
137
|
-
const type_name_31 = __importStar(require("./deps/std/type_name.js"));
|
|
138
|
-
const type_name_32 = __importStar(require("./deps/std/type_name.js"));
|
|
139
|
-
const type_name_33 = __importStar(require("./deps/std/type_name.js"));
|
|
140
|
-
const type_name_34 = __importStar(require("./deps/std/type_name.js"));
|
|
141
|
-
const type_name_35 = __importStar(require("./deps/std/type_name.js"));
|
|
142
|
-
const type_name_36 = __importStar(require("./deps/std/type_name.js"));
|
|
143
|
-
const type_name_37 = __importStar(require("./deps/std/type_name.js"));
|
|
144
|
-
const type_name_38 = __importStar(require("./deps/std/type_name.js"));
|
|
145
|
-
const type_name_39 = __importStar(require("./deps/std/type_name.js"));
|
|
146
|
-
const $moduleName = "@typus/perp::trading";
|
|
147
|
-
exports.MarketRegistry = new index_js_1.MoveStruct({
|
|
148
|
-
name: `${$moduleName}::MarketRegistry`,
|
|
149
|
-
fields: {
|
|
150
|
-
id: bcs_1.bcs.Address,
|
|
127
|
+
const object = __importStar(require("./deps/sui/object"));
|
|
128
|
+
const linked_object_table = __importStar(require("./deps/typus/linked_object_table"));
|
|
129
|
+
const type_name = __importStar(require("./deps/std/type_name"));
|
|
130
|
+
const object_table = __importStar(require("./deps/sui/object_table"));
|
|
131
|
+
const keyed_big_vector = __importStar(require("./deps/typus/keyed_big_vector"));
|
|
132
|
+
const table = __importStar(require("./deps/sui/table"));
|
|
133
|
+
const $moduleName = '@typus/perp::trading';
|
|
134
|
+
exports.MarketRegistry = new index_1.MoveStruct({ name: `${$moduleName}::MarketRegistry`, fields: {
|
|
135
|
+
id: object.UID,
|
|
151
136
|
/** The UID of the referral registry. */
|
|
152
|
-
referral_registry:
|
|
137
|
+
referral_registry: object.UID,
|
|
153
138
|
/** A linked object table of markets. */
|
|
154
139
|
markets: linked_object_table.LinkedObjectTable(bcs_1.bcs.u64()),
|
|
155
140
|
/** The number of markets. */
|
|
156
141
|
num_market: bcs_1.bcs.u64(),
|
|
157
142
|
/** Padding for future use. */
|
|
158
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
name: `${$moduleName}::Markets`,
|
|
163
|
-
fields: {
|
|
164
|
-
id: bcs_1.bcs.Address,
|
|
143
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
144
|
+
} });
|
|
145
|
+
exports.Markets = new index_1.MoveStruct({ name: `${$moduleName}::Markets`, fields: {
|
|
146
|
+
id: object.UID,
|
|
165
147
|
/** The index of the market. */
|
|
166
148
|
index: bcs_1.bcs.u64(),
|
|
167
149
|
/** The type name of the LP token. */
|
|
168
150
|
lp_token_type: type_name.TypeName,
|
|
169
151
|
/** The type name of the quote token. */
|
|
170
|
-
quote_token_type:
|
|
152
|
+
quote_token_type: type_name.TypeName,
|
|
171
153
|
/** Whether the market is active. */
|
|
172
154
|
is_active: bcs_1.bcs.bool(),
|
|
173
155
|
/** The protocol's share of the trading fee in basis points. */
|
|
174
156
|
protocol_fee_share_bp: bcs_1.bcs.u64(),
|
|
175
157
|
/** A vector of the symbols in the market. */
|
|
176
|
-
symbols: bcs_1.bcs.vector(
|
|
158
|
+
symbols: bcs_1.bcs.vector(type_name.TypeName),
|
|
177
159
|
/** An object table of the symbol markets. */
|
|
178
160
|
symbol_markets: object_table.ObjectTable,
|
|
179
161
|
/** Padding for future use. */
|
|
180
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
exports.MarketInfo = new index_js_1.MoveStruct({
|
|
184
|
-
name: `${$moduleName}::MarketInfo`,
|
|
185
|
-
fields: {
|
|
162
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
163
|
+
} });
|
|
164
|
+
exports.MarketInfo = new index_1.MoveStruct({ name: `${$moduleName}::MarketInfo`, fields: {
|
|
186
165
|
/** Whether the market is active. */
|
|
187
166
|
is_active: bcs_1.bcs.bool(),
|
|
188
167
|
/** The number of decimals for the size. */
|
|
@@ -212,12 +191,9 @@ exports.MarketInfo = new index_js_1.MoveStruct({
|
|
|
212
191
|
/** The previous cumulative funding rate index. */
|
|
213
192
|
previous_cumulative_funding_rate_index: bcs_1.bcs.u64(),
|
|
214
193
|
/** Padding for future use. */
|
|
215
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
exports.MarketConfig = new index_js_1.MoveStruct({
|
|
219
|
-
name: `${$moduleName}::MarketConfig`,
|
|
220
|
-
fields: {
|
|
194
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
195
|
+
} });
|
|
196
|
+
exports.MarketConfig = new index_1.MoveStruct({ name: `${$moduleName}::MarketConfig`, fields: {
|
|
221
197
|
/** The address of the oracle. */
|
|
222
198
|
oracle_id: bcs_1.bcs.Address,
|
|
223
199
|
/** The maximum leverage in mega basis points. */
|
|
@@ -236,111 +212,89 @@ exports.MarketConfig = new index_js_1.MoveStruct({
|
|
|
236
212
|
funding_interval_ts_ms: bcs_1.bcs.u64(),
|
|
237
213
|
/** The experience multiplier. */
|
|
238
214
|
exp_multiplier: bcs_1.bcs.u64(),
|
|
239
|
-
/** The
|
|
215
|
+
/** The cool-down threshold in milliseconds. */
|
|
240
216
|
cool_down_threshold_ts_ms: bcs_1.bcs.u64(),
|
|
241
217
|
/** Padding for future use. */
|
|
242
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
name: `${$moduleName}::SymbolMarket`,
|
|
247
|
-
fields: {
|
|
248
|
-
id: bcs_1.bcs.Address,
|
|
218
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
219
|
+
} });
|
|
220
|
+
exports.SymbolMarket = new index_1.MoveStruct({ name: `${$moduleName}::SymbolMarket`, fields: {
|
|
221
|
+
id: object.UID,
|
|
249
222
|
/** A keyed big vector of user positions. */
|
|
250
223
|
user_positions: keyed_big_vector.KeyedBigVector,
|
|
251
224
|
/** The UID of the token collateral orders. */
|
|
252
|
-
token_collateral_orders:
|
|
225
|
+
token_collateral_orders: object.UID,
|
|
253
226
|
/** The UID of the option collateral orders. */
|
|
254
|
-
option_collateral_orders:
|
|
227
|
+
option_collateral_orders: object.UID,
|
|
255
228
|
/** Information about the market. */
|
|
256
229
|
market_info: exports.MarketInfo,
|
|
257
230
|
/** Configuration for the market. */
|
|
258
|
-
market_config: exports.MarketConfig
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
231
|
+
market_config: exports.MarketConfig
|
|
232
|
+
} });
|
|
233
|
+
exports.USD = new index_1.MoveStruct({ name: `${$moduleName}::USD`, fields: {
|
|
234
|
+
dummy_field: bcs_1.bcs.bool()
|
|
235
|
+
} });
|
|
236
|
+
exports.Referrals = new index_1.MoveStruct({ name: `${$moduleName}::Referrals`, fields: {
|
|
237
|
+
id: object.UID,
|
|
238
|
+
referral_infos: table.Table,
|
|
239
|
+
referrals: table.Table,
|
|
240
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
241
|
+
} });
|
|
242
|
+
exports.ReferralInfo = new index_1.MoveStruct({ name: `${$moduleName}::ReferralInfo`, fields: {
|
|
243
|
+
id: bcs_1.bcs.u64(),
|
|
244
|
+
fee_reduction_bp: bcs_1.bcs.u64(),
|
|
245
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
246
|
+
} });
|
|
247
|
+
exports.NewMarketsEvent = new index_1.MoveStruct({ name: `${$moduleName}::NewMarketsEvent`, fields: {
|
|
270
248
|
index: bcs_1.bcs.u64(),
|
|
271
|
-
lp_token_type:
|
|
272
|
-
quote_token_type:
|
|
249
|
+
lp_token_type: type_name.TypeName,
|
|
250
|
+
quote_token_type: type_name.TypeName,
|
|
273
251
|
protocol_fee_share_bp: bcs_1.bcs.u64(),
|
|
274
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
exports.AddTradingSymbolEvent = new index_js_1.MoveStruct({
|
|
278
|
-
name: `${$moduleName}::AddTradingSymbolEvent`,
|
|
279
|
-
fields: {
|
|
252
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
253
|
+
} });
|
|
254
|
+
exports.AddTradingSymbolEvent = new index_1.MoveStruct({ name: `${$moduleName}::AddTradingSymbolEvent`, fields: {
|
|
280
255
|
index: bcs_1.bcs.u64(),
|
|
281
|
-
base_token_type:
|
|
256
|
+
base_token_type: type_name.TypeName,
|
|
282
257
|
market_info: exports.MarketInfo,
|
|
283
258
|
market_config: exports.MarketConfig,
|
|
284
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
exports.UpdateProtocolFeeShareBpEvent = new index_js_1.MoveStruct({
|
|
288
|
-
name: `${$moduleName}::UpdateProtocolFeeShareBpEvent`,
|
|
289
|
-
fields: {
|
|
259
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
260
|
+
} });
|
|
261
|
+
exports.UpdateProtocolFeeShareBpEvent = new index_1.MoveStruct({ name: `${$moduleName}::UpdateProtocolFeeShareBpEvent`, fields: {
|
|
290
262
|
index: bcs_1.bcs.u64(),
|
|
291
263
|
previous_protocol_fee_share_bp: bcs_1.bcs.u64(),
|
|
292
264
|
new_protocol_fee_share_bp: bcs_1.bcs.u64(),
|
|
293
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
exports.UpdateMarketConfigEvent = new index_js_1.MoveStruct({
|
|
297
|
-
name: `${$moduleName}::UpdateMarketConfigEvent`,
|
|
298
|
-
fields: {
|
|
265
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
266
|
+
} });
|
|
267
|
+
exports.UpdateMarketConfigEvent = new index_1.MoveStruct({ name: `${$moduleName}::UpdateMarketConfigEvent`, fields: {
|
|
299
268
|
index: bcs_1.bcs.u64(),
|
|
300
|
-
base_token_type:
|
|
269
|
+
base_token_type: type_name.TypeName,
|
|
301
270
|
previous_market_config: exports.MarketConfig,
|
|
302
271
|
new_market_config: exports.MarketConfig,
|
|
303
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
exports.SuspendMarketEvent = new index_js_1.MoveStruct({
|
|
307
|
-
name: `${$moduleName}::SuspendMarketEvent`,
|
|
308
|
-
fields: {
|
|
272
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
273
|
+
} });
|
|
274
|
+
exports.SuspendMarketEvent = new index_1.MoveStruct({ name: `${$moduleName}::SuspendMarketEvent`, fields: {
|
|
309
275
|
index: bcs_1.bcs.u64(),
|
|
310
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
exports.ResumeMarketEvent = new index_js_1.MoveStruct({
|
|
314
|
-
name: `${$moduleName}::ResumeMarketEvent`,
|
|
315
|
-
fields: {
|
|
276
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
277
|
+
} });
|
|
278
|
+
exports.ResumeMarketEvent = new index_1.MoveStruct({ name: `${$moduleName}::ResumeMarketEvent`, fields: {
|
|
316
279
|
index: bcs_1.bcs.u64(),
|
|
317
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
exports.SuspendTradingSymbolEvent = new index_js_1.MoveStruct({
|
|
321
|
-
name: `${$moduleName}::SuspendTradingSymbolEvent`,
|
|
322
|
-
fields: {
|
|
280
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
281
|
+
} });
|
|
282
|
+
exports.SuspendTradingSymbolEvent = new index_1.MoveStruct({ name: `${$moduleName}::SuspendTradingSymbolEvent`, fields: {
|
|
323
283
|
index: bcs_1.bcs.u64(),
|
|
324
|
-
suspended_base_token:
|
|
325
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
exports.ResumeTradingSymbolEvent = new index_js_1.MoveStruct({
|
|
329
|
-
name: `${$moduleName}::ResumeTradingSymbolEvent`,
|
|
330
|
-
fields: {
|
|
284
|
+
suspended_base_token: type_name.TypeName,
|
|
285
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
286
|
+
} });
|
|
287
|
+
exports.ResumeTradingSymbolEvent = new index_1.MoveStruct({ name: `${$moduleName}::ResumeTradingSymbolEvent`, fields: {
|
|
331
288
|
index: bcs_1.bcs.u64(),
|
|
332
|
-
resumed_base_token:
|
|
333
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
exports.CreateTradingOrderEvent = new index_js_1.MoveStruct({
|
|
337
|
-
name: `${$moduleName}::CreateTradingOrderEvent`,
|
|
338
|
-
fields: {
|
|
289
|
+
resumed_base_token: type_name.TypeName,
|
|
290
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
291
|
+
} });
|
|
292
|
+
exports.CreateTradingOrderEvent = new index_1.MoveStruct({ name: `${$moduleName}::CreateTradingOrderEvent`, fields: {
|
|
339
293
|
user: bcs_1.bcs.Address,
|
|
340
294
|
market_index: bcs_1.bcs.u64(),
|
|
341
295
|
pool_index: bcs_1.bcs.u64(),
|
|
342
|
-
collateral_token:
|
|
343
|
-
base_token:
|
|
296
|
+
collateral_token: type_name.TypeName,
|
|
297
|
+
base_token: type_name.TypeName,
|
|
344
298
|
order_id: bcs_1.bcs.u64(),
|
|
345
299
|
linked_position_id: bcs_1.bcs.option(bcs_1.bcs.u64()),
|
|
346
300
|
collateral_amount: bcs_1.bcs.u64(),
|
|
@@ -353,72 +307,57 @@ exports.CreateTradingOrderEvent = new index_js_1.MoveStruct({
|
|
|
353
307
|
trading_pair_oracle_price: bcs_1.bcs.u64(),
|
|
354
308
|
filled: bcs_1.bcs.bool(),
|
|
355
309
|
filled_price: bcs_1.bcs.option(bcs_1.bcs.u64()),
|
|
356
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
exports.ManagerCancelOrdersEvent = new index_js_1.MoveStruct({
|
|
360
|
-
name: `${$moduleName}::ManagerCancelOrdersEvent`,
|
|
361
|
-
fields: {
|
|
310
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
311
|
+
} });
|
|
312
|
+
exports.ManagerCancelOrdersEvent = new index_1.MoveStruct({ name: `${$moduleName}::ManagerCancelOrdersEvent`, fields: {
|
|
362
313
|
reason: bcs_1.bcs.string(),
|
|
363
|
-
collateral_token:
|
|
364
|
-
base_token:
|
|
314
|
+
collateral_token: type_name.TypeName,
|
|
315
|
+
base_token: type_name.TypeName,
|
|
365
316
|
order_type_tag: bcs_1.bcs.u8(),
|
|
366
317
|
order_id: bcs_1.bcs.u64(),
|
|
367
318
|
order_size: bcs_1.bcs.u64(),
|
|
368
319
|
order_price: bcs_1.bcs.u64(),
|
|
369
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
exports.CancelTradingOrderEvent = new index_js_1.MoveStruct({
|
|
373
|
-
name: `${$moduleName}::CancelTradingOrderEvent`,
|
|
374
|
-
fields: {
|
|
320
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
321
|
+
} });
|
|
322
|
+
exports.CancelTradingOrderEvent = new index_1.MoveStruct({ name: `${$moduleName}::CancelTradingOrderEvent`, fields: {
|
|
375
323
|
user: bcs_1.bcs.Address,
|
|
376
324
|
market_index: bcs_1.bcs.u64(),
|
|
377
325
|
order_id: bcs_1.bcs.u64(),
|
|
378
326
|
trigger_price: bcs_1.bcs.u64(),
|
|
379
|
-
collateral_token:
|
|
380
|
-
base_token:
|
|
327
|
+
collateral_token: type_name.TypeName,
|
|
328
|
+
base_token: type_name.TypeName,
|
|
381
329
|
released_collateral_amount: bcs_1.bcs.u64(),
|
|
382
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
exports.ReleaseCollateralEvent = new index_js_1.MoveStruct({
|
|
386
|
-
name: `${$moduleName}::ReleaseCollateralEvent`,
|
|
387
|
-
fields: {
|
|
330
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
331
|
+
} });
|
|
332
|
+
exports.ReleaseCollateralEvent = new index_1.MoveStruct({ name: `${$moduleName}::ReleaseCollateralEvent`, fields: {
|
|
388
333
|
user: bcs_1.bcs.Address,
|
|
389
334
|
market_index: bcs_1.bcs.u64(),
|
|
390
335
|
pool_index: bcs_1.bcs.u64(),
|
|
391
336
|
position_id: bcs_1.bcs.u64(),
|
|
392
|
-
collateral_token:
|
|
393
|
-
base_token:
|
|
337
|
+
collateral_token: type_name.TypeName,
|
|
338
|
+
base_token: type_name.TypeName,
|
|
394
339
|
released_collateral_amount: bcs_1.bcs.u64(),
|
|
395
340
|
remaining_collateral_amount: bcs_1.bcs.u64(),
|
|
396
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
exports.IncreaseCollateralEvent = new index_js_1.MoveStruct({
|
|
400
|
-
name: `${$moduleName}::IncreaseCollateralEvent`,
|
|
401
|
-
fields: {
|
|
341
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
342
|
+
} });
|
|
343
|
+
exports.IncreaseCollateralEvent = new index_1.MoveStruct({ name: `${$moduleName}::IncreaseCollateralEvent`, fields: {
|
|
402
344
|
user: bcs_1.bcs.Address,
|
|
403
345
|
market_index: bcs_1.bcs.u64(),
|
|
404
346
|
pool_index: bcs_1.bcs.u64(),
|
|
405
347
|
position_id: bcs_1.bcs.u64(),
|
|
406
|
-
collateral_token:
|
|
407
|
-
base_token:
|
|
348
|
+
collateral_token: type_name.TypeName,
|
|
349
|
+
base_token: type_name.TypeName,
|
|
408
350
|
increased_collateral_amount: bcs_1.bcs.u64(),
|
|
409
351
|
remaining_collateral_amount: bcs_1.bcs.u64(),
|
|
410
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
exports.CreateTradingOrderWithBidReceiptsEvent = new index_js_1.MoveStruct({
|
|
414
|
-
name: `${$moduleName}::CreateTradingOrderWithBidReceiptsEvent`,
|
|
415
|
-
fields: {
|
|
352
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
353
|
+
} });
|
|
354
|
+
exports.CreateTradingOrderWithBidReceiptsEvent = new index_1.MoveStruct({ name: `${$moduleName}::CreateTradingOrderWithBidReceiptsEvent`, fields: {
|
|
416
355
|
user: bcs_1.bcs.Address,
|
|
417
356
|
market_index: bcs_1.bcs.u64(),
|
|
418
357
|
pool_index: bcs_1.bcs.u64(),
|
|
419
358
|
dov_index: bcs_1.bcs.u64(),
|
|
420
|
-
collateral_token:
|
|
421
|
-
base_token:
|
|
359
|
+
collateral_token: type_name.TypeName,
|
|
360
|
+
base_token: type_name.TypeName,
|
|
422
361
|
order_id: bcs_1.bcs.u64(),
|
|
423
362
|
collateral_in_deposit_token: bcs_1.bcs.u64(),
|
|
424
363
|
is_long: bcs_1.bcs.bool(),
|
|
@@ -426,124 +365,94 @@ exports.CreateTradingOrderWithBidReceiptsEvent = new index_js_1.MoveStruct({
|
|
|
426
365
|
trigger_price: bcs_1.bcs.u64(),
|
|
427
366
|
filled: bcs_1.bcs.bool(),
|
|
428
367
|
filled_price: bcs_1.bcs.option(bcs_1.bcs.u64()),
|
|
429
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
fields: {
|
|
435
|
-
collateral_token: type_name_21.TypeName,
|
|
436
|
-
base_token: type_name_22.TypeName,
|
|
368
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
369
|
+
} });
|
|
370
|
+
exports.MatchTradingOrderEvent = new index_1.MoveStruct({ name: `${$moduleName}::MatchTradingOrderEvent`, fields: {
|
|
371
|
+
collateral_token: type_name.TypeName,
|
|
372
|
+
base_token: type_name.TypeName,
|
|
437
373
|
matched_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
|
|
438
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
exports.ManagerReducePositionEvent = new index_js_1.MoveStruct({
|
|
442
|
-
name: `${$moduleName}::ManagerReducePositionEvent`,
|
|
443
|
-
fields: {
|
|
374
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
375
|
+
} });
|
|
376
|
+
exports.ManagerReducePositionEvent = new index_1.MoveStruct({ name: `${$moduleName}::ManagerReducePositionEvent`, fields: {
|
|
444
377
|
user: bcs_1.bcs.Address,
|
|
445
|
-
collateral_token:
|
|
446
|
-
base_token:
|
|
378
|
+
collateral_token: type_name.TypeName,
|
|
379
|
+
base_token: type_name.TypeName,
|
|
447
380
|
position_id: bcs_1.bcs.u64(),
|
|
448
381
|
reduced_size: bcs_1.bcs.u64(),
|
|
449
382
|
collateral_price: bcs_1.bcs.u64(),
|
|
450
383
|
trading_price: bcs_1.bcs.u64(),
|
|
451
384
|
cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
|
|
452
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
exports.ManagerClearPositionEvent = new index_js_1.MoveStruct({
|
|
456
|
-
name: `${$moduleName}::ManagerClearPositionEvent`,
|
|
457
|
-
fields: {
|
|
385
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
386
|
+
} });
|
|
387
|
+
exports.ManagerClearPositionEvent = new index_1.MoveStruct({ name: `${$moduleName}::ManagerClearPositionEvent`, fields: {
|
|
458
388
|
user: bcs_1.bcs.Address,
|
|
459
|
-
collateral_token:
|
|
460
|
-
base_token:
|
|
389
|
+
collateral_token: type_name.TypeName,
|
|
390
|
+
base_token: type_name.TypeName,
|
|
461
391
|
position_id: bcs_1.bcs.u64(),
|
|
462
392
|
removed_size: bcs_1.bcs.u64(),
|
|
463
393
|
cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
|
|
464
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
exports.ManagerCloseOptionPositionEvent = new index_js_1.MoveStruct({
|
|
468
|
-
name: `${$moduleName}::ManagerCloseOptionPositionEvent`,
|
|
469
|
-
fields: {
|
|
394
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
395
|
+
} });
|
|
396
|
+
exports.ManagerCloseOptionPositionEvent = new index_1.MoveStruct({ name: `${$moduleName}::ManagerCloseOptionPositionEvent`, fields: {
|
|
470
397
|
user: bcs_1.bcs.Address,
|
|
471
|
-
collateral_token:
|
|
472
|
-
base_token:
|
|
398
|
+
collateral_token: type_name.TypeName,
|
|
399
|
+
base_token: type_name.TypeName,
|
|
473
400
|
position_id: bcs_1.bcs.u64(),
|
|
474
401
|
order_size: bcs_1.bcs.u64(),
|
|
475
402
|
collateral_price: bcs_1.bcs.u64(),
|
|
476
403
|
trading_price: bcs_1.bcs.u64(),
|
|
477
404
|
cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
|
|
478
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
exports.LiquidationInfo = new index_js_1.MoveStruct({
|
|
482
|
-
name: `${$moduleName}::LiquidationInfo`,
|
|
483
|
-
fields: {
|
|
405
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
406
|
+
} });
|
|
407
|
+
exports.LiquidationInfo = new index_1.MoveStruct({ name: `${$moduleName}::LiquidationInfo`, fields: {
|
|
484
408
|
position_id: bcs_1.bcs.u64(),
|
|
485
409
|
dov_index: bcs_1.bcs.option(bcs_1.bcs.u64()),
|
|
486
|
-
bid_token: bcs_1.bcs.option(
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
exports.LiquidateEvent = new index_js_1.MoveStruct({
|
|
490
|
-
name: `${$moduleName}::LiquidateEvent`,
|
|
491
|
-
fields: {
|
|
410
|
+
bid_token: bcs_1.bcs.option(type_name.TypeName)
|
|
411
|
+
} });
|
|
412
|
+
exports.LiquidateEvent = new index_1.MoveStruct({ name: `${$moduleName}::LiquidateEvent`, fields: {
|
|
492
413
|
user: bcs_1.bcs.Address,
|
|
493
|
-
collateral_token:
|
|
494
|
-
base_token:
|
|
414
|
+
collateral_token: type_name.TypeName,
|
|
415
|
+
base_token: type_name.TypeName,
|
|
495
416
|
position_id: bcs_1.bcs.u64(),
|
|
496
417
|
collateral_price: bcs_1.bcs.u64(),
|
|
497
418
|
trading_price: bcs_1.bcs.u64(),
|
|
498
419
|
realized_liquidator_fee: bcs_1.bcs.u64(),
|
|
499
420
|
realized_value_for_lp_pool: bcs_1.bcs.u64(),
|
|
500
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
exports.SettleReceiptCollateralEvent = new index_js_1.MoveStruct({
|
|
504
|
-
name: `${$moduleName}::SettleReceiptCollateralEvent`,
|
|
505
|
-
fields: {
|
|
421
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
422
|
+
} });
|
|
423
|
+
exports.SettleReceiptCollateralEvent = new index_1.MoveStruct({ name: `${$moduleName}::SettleReceiptCollateralEvent`, fields: {
|
|
506
424
|
user: bcs_1.bcs.Address,
|
|
507
|
-
collateral_token:
|
|
508
|
-
bid_token:
|
|
425
|
+
collateral_token: type_name.TypeName,
|
|
426
|
+
bid_token: type_name.TypeName,
|
|
509
427
|
position_id: bcs_1.bcs.u64(),
|
|
510
428
|
realized_liquidator_fee: bcs_1.bcs.u64(),
|
|
511
429
|
remaining_unrealized_sign: bcs_1.bcs.bool(),
|
|
512
430
|
remaining_unrealized_value: bcs_1.bcs.u64(),
|
|
513
431
|
remaining_value_for_lp_pool: bcs_1.bcs.u64(),
|
|
514
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
name: `${$moduleName}::UpdateFundingRateEvent`,
|
|
519
|
-
fields: {
|
|
520
|
-
base_token: type_name_34.TypeName,
|
|
432
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
433
|
+
} });
|
|
434
|
+
exports.UpdateFundingRateEvent = new index_1.MoveStruct({ name: `${$moduleName}::UpdateFundingRateEvent`, fields: {
|
|
435
|
+
base_token: type_name.TypeName,
|
|
521
436
|
new_funding_ts_ms: bcs_1.bcs.u64(),
|
|
522
437
|
intervals_count: bcs_1.bcs.u64(),
|
|
523
438
|
previous_cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
|
|
524
439
|
previous_cumulative_funding_rate_index: bcs_1.bcs.u64(),
|
|
525
440
|
cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
|
|
526
441
|
cumulative_funding_rate_index: bcs_1.bcs.u64(),
|
|
527
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
exports.ExpiredPositionInfo = new index_js_1.MoveStruct({
|
|
531
|
-
name: `${$moduleName}::ExpiredPositionInfo`,
|
|
532
|
-
fields: {
|
|
442
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
443
|
+
} });
|
|
444
|
+
exports.ExpiredPositionInfo = new index_1.MoveStruct({ name: `${$moduleName}::ExpiredPositionInfo`, fields: {
|
|
533
445
|
position_id: bcs_1.bcs.u64(),
|
|
534
446
|
dov_index: bcs_1.bcs.u64(),
|
|
535
|
-
collateral_token:
|
|
536
|
-
bid_token:
|
|
537
|
-
base_token:
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
exports.RealizeOptionPositionEvent = new index_js_1.MoveStruct({
|
|
541
|
-
name: `${$moduleName}::RealizeOptionPositionEvent`,
|
|
542
|
-
fields: {
|
|
447
|
+
collateral_token: type_name.TypeName,
|
|
448
|
+
bid_token: type_name.TypeName,
|
|
449
|
+
base_token: type_name.TypeName
|
|
450
|
+
} });
|
|
451
|
+
exports.RealizeOptionPositionEvent = new index_1.MoveStruct({ name: `${$moduleName}::RealizeOptionPositionEvent`, fields: {
|
|
543
452
|
position_user: bcs_1.bcs.Address,
|
|
544
453
|
position_id: bcs_1.bcs.u64(),
|
|
545
|
-
trading_symbol:
|
|
546
|
-
realize_balance_token_type:
|
|
454
|
+
trading_symbol: type_name.TypeName,
|
|
455
|
+
realize_balance_token_type: type_name.TypeName,
|
|
547
456
|
exercise_balance_value: bcs_1.bcs.u64(),
|
|
548
457
|
user_remaining_value: bcs_1.bcs.u64(),
|
|
549
458
|
user_remaining_in_usd: bcs_1.bcs.u64(),
|
|
@@ -551,1135 +460,1605 @@ exports.RealizeOptionPositionEvent = new index_js_1.MoveStruct({
|
|
|
551
460
|
fee_value: bcs_1.bcs.u64(),
|
|
552
461
|
realized_trading_fee: bcs_1.bcs.u64(),
|
|
553
462
|
realized_borrow_fee: bcs_1.bcs.u64(),
|
|
554
|
-
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
555
|
-
}
|
|
556
|
-
}
|
|
463
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
464
|
+
} });
|
|
465
|
+
exports.MigrateMarketOracleIdEvent = new index_1.MoveStruct({ name: `${$moduleName}::MigrateMarketOracleIdEvent`, fields: {
|
|
466
|
+
sender: bcs_1.bcs.Address,
|
|
467
|
+
new_oracle_id: bcs_1.bcs.Address,
|
|
468
|
+
u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64())
|
|
469
|
+
} });
|
|
557
470
|
function init(options = {}) {
|
|
558
|
-
const packageAddress = options.package ??
|
|
471
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
472
|
+
return (tx) => tx.moveCall({
|
|
473
|
+
package: packageAddress,
|
|
474
|
+
module: 'trading',
|
|
475
|
+
function: 'init',
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
function initReferralTable(options) {
|
|
479
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
480
|
+
const argumentsTypes = [
|
|
481
|
+
`${packageAddress}::admin::Version`,
|
|
482
|
+
`${packageAddress}::trading::MarketRegistry`
|
|
483
|
+
];
|
|
484
|
+
const parameterNames = ["version", "registry"];
|
|
485
|
+
return (tx) => tx.moveCall({
|
|
486
|
+
package: packageAddress,
|
|
487
|
+
module: 'trading',
|
|
488
|
+
function: 'init_referral_table',
|
|
489
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
function addReferralInfo(options) {
|
|
493
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
494
|
+
const argumentsTypes = [
|
|
495
|
+
`${packageAddress}::admin::Version`,
|
|
496
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
497
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::string::String',
|
|
498
|
+
'u64'
|
|
499
|
+
];
|
|
500
|
+
const parameterNames = ["version", "registry", "code", "feeReductionBp"];
|
|
501
|
+
return (tx) => tx.moveCall({
|
|
502
|
+
package: packageAddress,
|
|
503
|
+
module: 'trading',
|
|
504
|
+
function: 'add_referral_info',
|
|
505
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
function removeReferralInfo(options) {
|
|
509
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
510
|
+
const argumentsTypes = [
|
|
511
|
+
`${packageAddress}::admin::Version`,
|
|
512
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
513
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::string::String'
|
|
514
|
+
];
|
|
515
|
+
const parameterNames = ["version", "registry", "code"];
|
|
516
|
+
return (tx) => tx.moveCall({
|
|
517
|
+
package: packageAddress,
|
|
518
|
+
module: 'trading',
|
|
519
|
+
function: 'remove_referral_info',
|
|
520
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
function setReferral(options) {
|
|
524
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
525
|
+
const argumentsTypes = [
|
|
526
|
+
`${packageAddress}::admin::Version`,
|
|
527
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
528
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::string::String'
|
|
529
|
+
];
|
|
530
|
+
const parameterNames = ["version", "registry", "code"];
|
|
531
|
+
return (tx) => tx.moveCall({
|
|
532
|
+
package: packageAddress,
|
|
533
|
+
module: 'trading',
|
|
534
|
+
function: 'set_referral',
|
|
535
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
536
|
+
});
|
|
537
|
+
}
|
|
538
|
+
function unsetReferral(options) {
|
|
539
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
540
|
+
const argumentsTypes = [
|
|
541
|
+
`${packageAddress}::admin::Version`,
|
|
542
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
543
|
+
'address'
|
|
544
|
+
];
|
|
545
|
+
const parameterNames = ["version", "registry", "user"];
|
|
559
546
|
return (tx) => tx.moveCall({
|
|
560
547
|
package: packageAddress,
|
|
561
|
-
module:
|
|
562
|
-
function:
|
|
548
|
+
module: 'trading',
|
|
549
|
+
function: 'unset_referral',
|
|
550
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
563
551
|
});
|
|
564
552
|
}
|
|
565
553
|
/** [Authorized Function] Creates a new market. */
|
|
566
554
|
function newMarkets(options) {
|
|
567
|
-
const packageAddress = options.package ??
|
|
568
|
-
const argumentsTypes = [
|
|
555
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
556
|
+
const argumentsTypes = [
|
|
557
|
+
`${packageAddress}::admin::Version`,
|
|
558
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
559
|
+
'u64'
|
|
560
|
+
];
|
|
569
561
|
const parameterNames = ["version", "registry", "protocolFeeShareBp"];
|
|
570
562
|
return (tx) => tx.moveCall({
|
|
571
563
|
package: packageAddress,
|
|
572
|
-
module:
|
|
573
|
-
function:
|
|
574
|
-
arguments: (0,
|
|
575
|
-
typeArguments: options.typeArguments
|
|
564
|
+
module: 'trading',
|
|
565
|
+
function: 'new_markets',
|
|
566
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
567
|
+
typeArguments: options.typeArguments
|
|
576
568
|
});
|
|
577
569
|
}
|
|
578
|
-
/** [
|
|
570
|
+
/** [DEPRECATED] Use `add_trading_symbol_v2` with `&OracleV2` instead. */
|
|
579
571
|
function addTradingSymbol(options) {
|
|
580
|
-
const packageAddress = options.package ??
|
|
581
|
-
const argumentsTypes = [
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
];
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
572
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
573
|
+
const argumentsTypes = [
|
|
574
|
+
`${packageAddress}::admin::Version`,
|
|
575
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
576
|
+
'u64',
|
|
577
|
+
'u64',
|
|
578
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
579
|
+
'u64',
|
|
580
|
+
'u64',
|
|
581
|
+
'u64',
|
|
582
|
+
'u64',
|
|
583
|
+
'vector<u64>',
|
|
584
|
+
'u64',
|
|
585
|
+
'u64',
|
|
586
|
+
'u64',
|
|
587
|
+
'u64',
|
|
588
|
+
'u64',
|
|
589
|
+
'u64',
|
|
590
|
+
'u64',
|
|
591
|
+
'vector<u64>',
|
|
592
|
+
'u64',
|
|
593
|
+
'u64',
|
|
594
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
595
|
+
];
|
|
596
|
+
const parameterNames = ["version", "registry", "marketIndex", "sizeDecimal", "oracle", "maxLeverageMbp", "optionCollateralMaxLeverageMbp", "minSize", "lotSize", "tradingFeeConfig", "basicFundingRate", "fundingIntervalTsMs", "expMultiplier", "maxBuyOpenInterest", "maxSellOpenInterest", "maintenanceMarginRateBp", "optionMaintenanceMarginRateBp", "optionTradingFeeConfig", "tradingFeeFormulaVersion", "profitVaultFlag"];
|
|
597
|
+
return (tx) => tx.moveCall({
|
|
598
|
+
package: packageAddress,
|
|
599
|
+
module: 'trading',
|
|
600
|
+
function: 'add_trading_symbol',
|
|
601
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
602
|
+
typeArguments: options.typeArguments
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
/** [Authorized Function] Adds a new trading symbol to a market. */
|
|
606
|
+
function addTradingSymbolV2(options) {
|
|
607
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
608
|
+
const argumentsTypes = [
|
|
609
|
+
`${packageAddress}::admin::Version`,
|
|
610
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
611
|
+
'u64',
|
|
612
|
+
'u64',
|
|
613
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
614
|
+
'u64',
|
|
615
|
+
'u64',
|
|
616
|
+
'u64',
|
|
617
|
+
'u64',
|
|
618
|
+
'vector<u64>',
|
|
619
|
+
'u64',
|
|
620
|
+
'u64',
|
|
621
|
+
'u64',
|
|
622
|
+
'u64',
|
|
623
|
+
'u64',
|
|
624
|
+
'u64',
|
|
625
|
+
'u64',
|
|
626
|
+
'vector<u64>',
|
|
627
|
+
'u64',
|
|
628
|
+
'u64',
|
|
629
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
630
|
+
];
|
|
631
|
+
const parameterNames = ["version", "registry", "marketIndex", "sizeDecimal", "oracleV2", "maxLeverageMbp", "optionCollateralMaxLeverageMbp", "minSize", "lotSize", "tradingFeeConfig", "basicFundingRate", "fundingIntervalTsMs", "expMultiplier", "maxBuyOpenInterest", "maxSellOpenInterest", "maintenanceMarginRateBp", "optionMaintenanceMarginRateBp", "optionTradingFeeConfig", "tradingFeeFormulaVersion", "profitVaultFlag"];
|
|
632
|
+
return (tx) => tx.moveCall({
|
|
633
|
+
package: packageAddress,
|
|
634
|
+
module: 'trading',
|
|
635
|
+
function: 'add_trading_symbol_v2',
|
|
636
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
637
|
+
typeArguments: options.typeArguments
|
|
634
638
|
});
|
|
635
639
|
}
|
|
636
640
|
/** [Authorized Function] Updates the protocol fee share. */
|
|
637
641
|
function updateProtocolFeeShareBp(options) {
|
|
638
|
-
const packageAddress = options.package ??
|
|
639
|
-
const argumentsTypes = [
|
|
642
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
643
|
+
const argumentsTypes = [
|
|
644
|
+
`${packageAddress}::admin::Version`,
|
|
645
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
646
|
+
'u64',
|
|
647
|
+
'u64'
|
|
648
|
+
];
|
|
640
649
|
const parameterNames = ["version", "registry", "marketIndex", "protocolFeeShareBp"];
|
|
641
650
|
return (tx) => tx.moveCall({
|
|
642
651
|
package: packageAddress,
|
|
643
|
-
module:
|
|
644
|
-
function:
|
|
645
|
-
arguments: (0,
|
|
652
|
+
module: 'trading',
|
|
653
|
+
function: 'update_protocol_fee_share_bp',
|
|
654
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
646
655
|
});
|
|
647
656
|
}
|
|
648
657
|
/** [Authorized Function] Updates the market configuration. */
|
|
649
658
|
function updateMarketConfig(options) {
|
|
650
|
-
const packageAddress = options.package ??
|
|
651
|
-
const argumentsTypes = [
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
];
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
"optionCollateralMaxLeverageMbp",
|
|
680
|
-
"minSize",
|
|
681
|
-
"lotSize",
|
|
682
|
-
"tradingFeeConfig",
|
|
683
|
-
"basicFundingRate",
|
|
684
|
-
"fundingIntervalTsMs",
|
|
685
|
-
"expMultiplier",
|
|
686
|
-
"coolDownThresholdTsMs",
|
|
687
|
-
"maxBuyOpenInterest",
|
|
688
|
-
"maxSellOpenInterest",
|
|
689
|
-
"maintenanceMarginRateBp",
|
|
690
|
-
"optionCollateralMaintenanceMarginRateBp",
|
|
691
|
-
"optionCollateralTradingFeeConfig",
|
|
692
|
-
"tradingFeeFormulaVersion",
|
|
693
|
-
"profitVaultFlag",
|
|
694
|
-
];
|
|
695
|
-
return (tx) => tx.moveCall({
|
|
696
|
-
package: packageAddress,
|
|
697
|
-
module: "trading",
|
|
698
|
-
function: "update_market_config",
|
|
699
|
-
arguments: (0, index_js_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
700
|
-
typeArguments: options.typeArguments,
|
|
659
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
660
|
+
const argumentsTypes = [
|
|
661
|
+
`${packageAddress}::admin::Version`,
|
|
662
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
663
|
+
'u64',
|
|
664
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<address>',
|
|
665
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
666
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
667
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
668
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
669
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<vector<u64>>',
|
|
670
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
671
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
672
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
673
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
674
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
675
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
676
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
677
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<vector<u64>>',
|
|
678
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
679
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>'
|
|
680
|
+
];
|
|
681
|
+
const parameterNames = ["version", "registry", "marketIndex", "oracleId", "maxLeverageMbp", "optionCollateralMaxLeverageMbp", "minSize", "lotSize", "tradingFeeConfig", "basicFundingRate", "fundingIntervalTsMs", "expMultiplier", "maxBuyOpenInterest", "maxSellOpenInterest", "maintenanceMarginRateBp", "optionCollateralMaintenanceMarginRateBp", "optionCollateralTradingFeeConfig", "tradingFeeFormulaVersion", "profitVaultFlag"];
|
|
682
|
+
return (tx) => tx.moveCall({
|
|
683
|
+
package: packageAddress,
|
|
684
|
+
module: 'trading',
|
|
685
|
+
function: 'update_market_config',
|
|
686
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
687
|
+
typeArguments: options.typeArguments
|
|
701
688
|
});
|
|
702
689
|
}
|
|
703
690
|
/** [Authorized Function] Suspends a market. */
|
|
704
691
|
function suspendMarket(options) {
|
|
705
|
-
const packageAddress = options.package ??
|
|
706
|
-
const argumentsTypes = [
|
|
692
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
693
|
+
const argumentsTypes = [
|
|
694
|
+
`${packageAddress}::admin::Version`,
|
|
695
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
696
|
+
'u64'
|
|
697
|
+
];
|
|
707
698
|
const parameterNames = ["version", "registry", "marketIndex"];
|
|
708
699
|
return (tx) => tx.moveCall({
|
|
709
700
|
package: packageAddress,
|
|
710
|
-
module:
|
|
711
|
-
function:
|
|
712
|
-
arguments: (0,
|
|
701
|
+
module: 'trading',
|
|
702
|
+
function: 'suspend_market',
|
|
703
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
713
704
|
});
|
|
714
705
|
}
|
|
715
706
|
/** [Authorized Function] Resumes a market. */
|
|
716
707
|
function resumeMarket(options) {
|
|
717
|
-
const packageAddress = options.package ??
|
|
718
|
-
const argumentsTypes = [
|
|
708
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
709
|
+
const argumentsTypes = [
|
|
710
|
+
`${packageAddress}::admin::Version`,
|
|
711
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
712
|
+
'u64'
|
|
713
|
+
];
|
|
719
714
|
const parameterNames = ["version", "registry", "marketIndex"];
|
|
720
715
|
return (tx) => tx.moveCall({
|
|
721
716
|
package: packageAddress,
|
|
722
|
-
module:
|
|
723
|
-
function:
|
|
724
|
-
arguments: (0,
|
|
717
|
+
module: 'trading',
|
|
718
|
+
function: 'resume_market',
|
|
719
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
725
720
|
});
|
|
726
721
|
}
|
|
727
722
|
/** [Authorized Function] Suspends a trading symbol. */
|
|
728
723
|
function suspendTradingSymbol(options) {
|
|
729
|
-
const packageAddress = options.package ??
|
|
730
|
-
const argumentsTypes = [
|
|
724
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
725
|
+
const argumentsTypes = [
|
|
726
|
+
`${packageAddress}::admin::Version`,
|
|
727
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
728
|
+
'u64'
|
|
729
|
+
];
|
|
731
730
|
const parameterNames = ["version", "registry", "marketIndex"];
|
|
732
731
|
return (tx) => tx.moveCall({
|
|
733
732
|
package: packageAddress,
|
|
734
|
-
module:
|
|
735
|
-
function:
|
|
736
|
-
arguments: (0,
|
|
737
|
-
typeArguments: options.typeArguments
|
|
733
|
+
module: 'trading',
|
|
734
|
+
function: 'suspend_trading_symbol',
|
|
735
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
736
|
+
typeArguments: options.typeArguments
|
|
738
737
|
});
|
|
739
738
|
}
|
|
740
739
|
/** [Authorized Function] Resumes a trading symbol. */
|
|
741
740
|
function resumeTradingSymbol(options) {
|
|
742
|
-
const packageAddress = options.package ??
|
|
743
|
-
const argumentsTypes = [
|
|
741
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
742
|
+
const argumentsTypes = [
|
|
743
|
+
`${packageAddress}::admin::Version`,
|
|
744
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
745
|
+
'u64'
|
|
746
|
+
];
|
|
744
747
|
const parameterNames = ["version", "registry", "marketIndex"];
|
|
745
748
|
return (tx) => tx.moveCall({
|
|
746
749
|
package: packageAddress,
|
|
747
|
-
module:
|
|
748
|
-
function:
|
|
749
|
-
arguments: (0,
|
|
750
|
-
typeArguments: options.typeArguments
|
|
750
|
+
module: 'trading',
|
|
751
|
+
function: 'resume_trading_symbol',
|
|
752
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
753
|
+
typeArguments: options.typeArguments
|
|
751
754
|
});
|
|
752
755
|
}
|
|
753
756
|
/** [Authorized Function] Removes a trading symbol from a market. */
|
|
754
757
|
function removeTradingSymbol(options) {
|
|
755
|
-
const packageAddress = options.package ??
|
|
756
|
-
const argumentsTypes = [
|
|
758
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
759
|
+
const argumentsTypes = [
|
|
760
|
+
`${packageAddress}::admin::Version`,
|
|
761
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
762
|
+
'u64'
|
|
763
|
+
];
|
|
757
764
|
const parameterNames = ["version", "registry", "marketIndex"];
|
|
758
765
|
return (tx) => tx.moveCall({
|
|
759
766
|
package: packageAddress,
|
|
760
|
-
module:
|
|
761
|
-
function:
|
|
762
|
-
arguments: (0,
|
|
763
|
-
typeArguments: options.typeArguments
|
|
767
|
+
module: 'trading',
|
|
768
|
+
function: 'remove_trading_symbol',
|
|
769
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
770
|
+
typeArguments: options.typeArguments
|
|
764
771
|
});
|
|
765
772
|
}
|
|
766
|
-
/** [
|
|
773
|
+
/** [DEPRECATED] Use `create_trading_order_v2` with `&OracleV2` instead. */
|
|
767
774
|
function createTradingOrder(options) {
|
|
768
|
-
const packageAddress = options.package ??
|
|
769
|
-
const argumentsTypes = [
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
];
|
|
786
|
-
const parameterNames = [
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
775
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
776
|
+
const argumentsTypes = [
|
|
777
|
+
`${packageAddress}::admin::Version`,
|
|
778
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
779
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
780
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
781
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
782
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
783
|
+
'u64',
|
|
784
|
+
'u64',
|
|
785
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
786
|
+
`0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`,
|
|
787
|
+
'bool',
|
|
788
|
+
'bool',
|
|
789
|
+
'bool',
|
|
790
|
+
'u64',
|
|
791
|
+
'u64'
|
|
792
|
+
];
|
|
793
|
+
const parameterNames = ["version", "registry", "poolRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "linkedPositionId", "collateral", "reduceOnly", "isLong", "isStopOrder", "size", "triggerPrice"];
|
|
794
|
+
return (tx) => tx.moveCall({
|
|
795
|
+
package: packageAddress,
|
|
796
|
+
module: 'trading',
|
|
797
|
+
function: 'create_trading_order',
|
|
798
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
799
|
+
typeArguments: options.typeArguments
|
|
800
|
+
});
|
|
801
|
+
}
|
|
802
|
+
/** [User Function] Creates a new trading order. */
|
|
803
|
+
function createTradingOrderV2(options) {
|
|
804
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
805
|
+
const argumentsTypes = [
|
|
806
|
+
`${packageAddress}::admin::Version`,
|
|
807
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
808
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
809
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
810
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
811
|
+
'u64',
|
|
812
|
+
'u64',
|
|
813
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
814
|
+
`0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`,
|
|
815
|
+
'bool',
|
|
816
|
+
'bool',
|
|
817
|
+
'bool',
|
|
818
|
+
'u64',
|
|
819
|
+
'u64'
|
|
820
|
+
];
|
|
821
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "linkedPositionId", "collateral", "reduceOnly", "isLong", "isStopOrder", "size", "triggerPrice"];
|
|
822
|
+
return (tx) => tx.moveCall({
|
|
823
|
+
package: packageAddress,
|
|
824
|
+
module: 'trading',
|
|
825
|
+
function: 'create_trading_order_v2',
|
|
826
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
827
|
+
typeArguments: options.typeArguments
|
|
808
828
|
});
|
|
809
829
|
}
|
|
810
830
|
/** [User Function] Cancels a trading order. */
|
|
811
831
|
function cancelTradingOrder(options) {
|
|
812
|
-
const packageAddress = options.package ??
|
|
813
|
-
const argumentsTypes = [
|
|
832
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
833
|
+
const argumentsTypes = [
|
|
834
|
+
`${packageAddress}::admin::Version`,
|
|
835
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
836
|
+
'u64',
|
|
837
|
+
'u64',
|
|
838
|
+
'u64',
|
|
839
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<address>'
|
|
840
|
+
];
|
|
814
841
|
const parameterNames = ["version", "registry", "marketIndex", "orderId", "triggerPrice", "orderUser"];
|
|
815
842
|
return (tx) => tx.moveCall({
|
|
816
843
|
package: packageAddress,
|
|
817
|
-
module:
|
|
818
|
-
function:
|
|
819
|
-
arguments: (0,
|
|
820
|
-
typeArguments: options.typeArguments
|
|
844
|
+
module: 'trading',
|
|
845
|
+
function: 'cancel_trading_order',
|
|
846
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
847
|
+
typeArguments: options.typeArguments
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
/** [DEPRECATED] Use `release_collateral_v2` with `&OracleV2` instead. */
|
|
851
|
+
function releaseCollateral(options) {
|
|
852
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
853
|
+
const argumentsTypes = [
|
|
854
|
+
`${packageAddress}::admin::Version`,
|
|
855
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
856
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
857
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
858
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
859
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
860
|
+
'u64',
|
|
861
|
+
'u64',
|
|
862
|
+
'u64',
|
|
863
|
+
'u64'
|
|
864
|
+
];
|
|
865
|
+
const parameterNames = ["version", "registry", "poolRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "positionId", "releaseAmount"];
|
|
866
|
+
return (tx) => tx.moveCall({
|
|
867
|
+
package: packageAddress,
|
|
868
|
+
module: 'trading',
|
|
869
|
+
function: 'release_collateral',
|
|
870
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
871
|
+
typeArguments: options.typeArguments
|
|
821
872
|
});
|
|
822
873
|
}
|
|
823
874
|
/**
|
|
824
875
|
* [User Function] Releases collateral from a position. Safe with
|
|
825
876
|
* `check_position_user_matched`
|
|
826
877
|
*/
|
|
827
|
-
function
|
|
828
|
-
const packageAddress = options.package ??
|
|
829
|
-
const argumentsTypes = [
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
"releaseAmount",
|
|
878
|
+
function releaseCollateralV2(options) {
|
|
879
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
880
|
+
const argumentsTypes = [
|
|
881
|
+
`${packageAddress}::admin::Version`,
|
|
882
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
883
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
884
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
885
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
886
|
+
'u64',
|
|
887
|
+
'u64',
|
|
888
|
+
'u64',
|
|
889
|
+
'u64'
|
|
840
890
|
];
|
|
891
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId", "releaseAmount"];
|
|
841
892
|
return (tx) => tx.moveCall({
|
|
842
893
|
package: packageAddress,
|
|
843
|
-
module:
|
|
844
|
-
function:
|
|
845
|
-
arguments: (0,
|
|
846
|
-
typeArguments: options.typeArguments
|
|
894
|
+
module: 'trading',
|
|
895
|
+
function: 'release_collateral_v2',
|
|
896
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
897
|
+
typeArguments: options.typeArguments
|
|
898
|
+
});
|
|
899
|
+
}
|
|
900
|
+
/** [DEPRECATED] Use `increase_collateral_v2` with `&OracleV2` instead. */
|
|
901
|
+
function increaseCollateral(options) {
|
|
902
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
903
|
+
const argumentsTypes = [
|
|
904
|
+
`${packageAddress}::admin::Version`,
|
|
905
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
906
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
907
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
908
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
909
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
910
|
+
'u64',
|
|
911
|
+
'u64',
|
|
912
|
+
'u64',
|
|
913
|
+
`0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`
|
|
914
|
+
];
|
|
915
|
+
const parameterNames = ["version", "registry", "poolRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "positionId", "collateral"];
|
|
916
|
+
return (tx) => tx.moveCall({
|
|
917
|
+
package: packageAddress,
|
|
918
|
+
module: 'trading',
|
|
919
|
+
function: 'increase_collateral',
|
|
920
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
921
|
+
typeArguments: options.typeArguments
|
|
847
922
|
});
|
|
848
923
|
}
|
|
849
924
|
/**
|
|
850
925
|
* [User Function] Increases the collateral of a position. Safe with
|
|
851
926
|
* `check_position_user_matched`
|
|
852
927
|
*/
|
|
853
|
-
function
|
|
854
|
-
const packageAddress = options.package ??
|
|
855
|
-
const argumentsTypes = [
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
"collateral",
|
|
928
|
+
function increaseCollateralV2(options) {
|
|
929
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
930
|
+
const argumentsTypes = [
|
|
931
|
+
`${packageAddress}::admin::Version`,
|
|
932
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
933
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
934
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
935
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
936
|
+
'u64',
|
|
937
|
+
'u64',
|
|
938
|
+
'u64',
|
|
939
|
+
`0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`
|
|
866
940
|
];
|
|
941
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId", "collateral"];
|
|
867
942
|
return (tx) => tx.moveCall({
|
|
868
943
|
package: packageAddress,
|
|
869
|
-
module:
|
|
870
|
-
function:
|
|
871
|
-
arguments: (0,
|
|
872
|
-
typeArguments: options.typeArguments
|
|
944
|
+
module: 'trading',
|
|
945
|
+
function: 'increase_collateral_v2',
|
|
946
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
947
|
+
typeArguments: options.typeArguments
|
|
873
948
|
});
|
|
874
949
|
}
|
|
875
|
-
/**
|
|
950
|
+
/** [DEPRECATED] Use `collect_position_funding_fee_v2` with `&OracleV2` instead. */
|
|
876
951
|
function collectPositionFundingFee(options) {
|
|
877
|
-
const packageAddress = options.package ??
|
|
878
|
-
const argumentsTypes = [
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
952
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
953
|
+
const argumentsTypes = [
|
|
954
|
+
`${packageAddress}::admin::Version`,
|
|
955
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
956
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
957
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
958
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
959
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
960
|
+
'u64',
|
|
961
|
+
'u64',
|
|
962
|
+
'u64'
|
|
888
963
|
];
|
|
964
|
+
const parameterNames = ["version", "registry", "poolRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "positionId"];
|
|
889
965
|
return (tx) => tx.moveCall({
|
|
890
966
|
package: packageAddress,
|
|
891
|
-
module:
|
|
892
|
-
function:
|
|
893
|
-
arguments: (0,
|
|
894
|
-
typeArguments: options.typeArguments
|
|
967
|
+
module: 'trading',
|
|
968
|
+
function: 'collect_position_funding_fee',
|
|
969
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
970
|
+
typeArguments: options.typeArguments
|
|
895
971
|
});
|
|
896
972
|
}
|
|
897
|
-
/**
|
|
973
|
+
/** Collects the funding fee for a position. Safe with `check_position_user_matched` */
|
|
974
|
+
function collectPositionFundingFeeV2(options) {
|
|
975
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
976
|
+
const argumentsTypes = [
|
|
977
|
+
`${packageAddress}::admin::Version`,
|
|
978
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
979
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
980
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
981
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
982
|
+
'u64',
|
|
983
|
+
'u64',
|
|
984
|
+
'u64'
|
|
985
|
+
];
|
|
986
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId"];
|
|
987
|
+
return (tx) => tx.moveCall({
|
|
988
|
+
package: packageAddress,
|
|
989
|
+
module: 'trading',
|
|
990
|
+
function: 'collect_position_funding_fee_v2',
|
|
991
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
992
|
+
typeArguments: options.typeArguments
|
|
993
|
+
});
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* [DEPRECATED] Use `create_trading_order_with_bid_receipt_v2` with `&OracleV2`
|
|
997
|
+
* instead.
|
|
998
|
+
*/
|
|
898
999
|
function createTradingOrderWithBidReceipt(options) {
|
|
899
|
-
const packageAddress = options.package ??
|
|
900
|
-
const argumentsTypes = [
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
];
|
|
918
|
-
const parameterNames = [
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
"marketIndex",
|
|
926
|
-
"poolIndex",
|
|
927
|
-
"typusEcosystemVersion",
|
|
928
|
-
"typusUserRegistry",
|
|
929
|
-
"typusLeaderboardRegistry",
|
|
930
|
-
"tailsStakingRegistry",
|
|
931
|
-
"competitionConfig",
|
|
932
|
-
"collateralBidReceipt",
|
|
933
|
-
"isLong",
|
|
934
|
-
];
|
|
935
|
-
return (tx) => tx.moveCall({
|
|
936
|
-
package: packageAddress,
|
|
937
|
-
module: "trading",
|
|
938
|
-
function: "create_trading_order_with_bid_receipt",
|
|
939
|
-
arguments: (0, index_js_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
940
|
-
typeArguments: options.typeArguments,
|
|
1000
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1001
|
+
const argumentsTypes = [
|
|
1002
|
+
`${packageAddress}::admin::Version`,
|
|
1003
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1004
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1005
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1006
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1007
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1008
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1009
|
+
'u64',
|
|
1010
|
+
'u64',
|
|
1011
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1012
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1013
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1014
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1015
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1016
|
+
'0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded::vault::TypusBidReceipt',
|
|
1017
|
+
'bool'
|
|
1018
|
+
];
|
|
1019
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "collateralBidReceipt", "isLong"];
|
|
1020
|
+
return (tx) => tx.moveCall({
|
|
1021
|
+
package: packageAddress,
|
|
1022
|
+
module: 'trading',
|
|
1023
|
+
function: 'create_trading_order_with_bid_receipt',
|
|
1024
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1025
|
+
typeArguments: options.typeArguments
|
|
941
1026
|
});
|
|
942
1027
|
}
|
|
943
|
-
/** [User Function]
|
|
1028
|
+
/** [User Function] Creates a new trading order with a bid receipt as collateral. */
|
|
1029
|
+
function createTradingOrderWithBidReceiptV2(options) {
|
|
1030
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1031
|
+
const argumentsTypes = [
|
|
1032
|
+
`${packageAddress}::admin::Version`,
|
|
1033
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1034
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1035
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1036
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1037
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1038
|
+
'u64',
|
|
1039
|
+
'u64',
|
|
1040
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1041
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1042
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1043
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1044
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1045
|
+
'0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded::vault::TypusBidReceipt',
|
|
1046
|
+
'bool'
|
|
1047
|
+
];
|
|
1048
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "collateralBidReceipt", "isLong"];
|
|
1049
|
+
return (tx) => tx.moveCall({
|
|
1050
|
+
package: packageAddress,
|
|
1051
|
+
module: 'trading',
|
|
1052
|
+
function: 'create_trading_order_with_bid_receipt_v2',
|
|
1053
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1054
|
+
typeArguments: options.typeArguments
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1057
|
+
/**
|
|
1058
|
+
* [DEPRECATED] Use `reduce_option_collateral_position_size_v2` with `&OracleV2`
|
|
1059
|
+
* instead.
|
|
1060
|
+
*/
|
|
944
1061
|
function reduceOptionCollateralPositionSize(options) {
|
|
945
|
-
const packageAddress = options.package ??
|
|
946
|
-
const argumentsTypes = [
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
];
|
|
964
|
-
const parameterNames = [
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
"marketIndex",
|
|
972
|
-
"poolIndex",
|
|
973
|
-
"typusEcosystemVersion",
|
|
974
|
-
"typusUserRegistry",
|
|
975
|
-
"typusLeaderboardRegistry",
|
|
976
|
-
"tailsStakingRegistry",
|
|
977
|
-
"competitionConfig",
|
|
978
|
-
"positionId",
|
|
979
|
-
"orderSize",
|
|
980
|
-
];
|
|
981
|
-
return (tx) => tx.moveCall({
|
|
982
|
-
package: packageAddress,
|
|
983
|
-
module: "trading",
|
|
984
|
-
function: "reduce_option_collateral_position_size",
|
|
985
|
-
arguments: (0, index_js_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
986
|
-
typeArguments: options.typeArguments,
|
|
1062
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1063
|
+
const argumentsTypes = [
|
|
1064
|
+
`${packageAddress}::admin::Version`,
|
|
1065
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1066
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1067
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1068
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1069
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1070
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1071
|
+
'u64',
|
|
1072
|
+
'u64',
|
|
1073
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1074
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1075
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1076
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1077
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1078
|
+
'u64',
|
|
1079
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>'
|
|
1080
|
+
];
|
|
1081
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId", "orderSize"];
|
|
1082
|
+
return (tx) => tx.moveCall({
|
|
1083
|
+
package: packageAddress,
|
|
1084
|
+
module: 'trading',
|
|
1085
|
+
function: 'reduce_option_collateral_position_size',
|
|
1086
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1087
|
+
typeArguments: options.typeArguments
|
|
987
1088
|
});
|
|
988
1089
|
}
|
|
989
|
-
/** [
|
|
1090
|
+
/** [User Function] Reduces the size of an option collateral position. */
|
|
1091
|
+
function reduceOptionCollateralPositionSizeV2(options) {
|
|
1092
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1093
|
+
const argumentsTypes = [
|
|
1094
|
+
`${packageAddress}::admin::Version`,
|
|
1095
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1096
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1097
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1098
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1099
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1100
|
+
'u64',
|
|
1101
|
+
'u64',
|
|
1102
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1103
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1104
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1105
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1106
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1107
|
+
'u64',
|
|
1108
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>'
|
|
1109
|
+
];
|
|
1110
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId", "orderSize"];
|
|
1111
|
+
return (tx) => tx.moveCall({
|
|
1112
|
+
package: packageAddress,
|
|
1113
|
+
module: 'trading',
|
|
1114
|
+
function: 'reduce_option_collateral_position_size_v2',
|
|
1115
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1116
|
+
typeArguments: options.typeArguments
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
/** [DEPRECATED] Use `match_trading_order_v2` with `&OracleV2` instead. */
|
|
990
1120
|
function matchTradingOrder(options) {
|
|
991
|
-
const packageAddress = options.package ??
|
|
992
|
-
const argumentsTypes = [
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
];
|
|
1011
|
-
const parameterNames = [
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1121
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1122
|
+
const argumentsTypes = [
|
|
1123
|
+
`${packageAddress}::admin::Version`,
|
|
1124
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1125
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1126
|
+
`${packageAddress}::profit_vault::ProfitVault`,
|
|
1127
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1128
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1129
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1130
|
+
'u64',
|
|
1131
|
+
'u64',
|
|
1132
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1133
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1134
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1135
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1136
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1137
|
+
'u8',
|
|
1138
|
+
'u64',
|
|
1139
|
+
'u64'
|
|
1140
|
+
];
|
|
1141
|
+
const parameterNames = ["version", "registry", "poolRegistry", "profitVault", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "orderTypeTag", "triggerPrice", "maxOperationCount"];
|
|
1142
|
+
return (tx) => tx.moveCall({
|
|
1143
|
+
package: packageAddress,
|
|
1144
|
+
module: 'trading',
|
|
1145
|
+
function: 'match_trading_order',
|
|
1146
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1147
|
+
typeArguments: options.typeArguments
|
|
1148
|
+
});
|
|
1149
|
+
}
|
|
1150
|
+
/** [Authorized Function] Matches trading orders. */
|
|
1151
|
+
function matchTradingOrderV2(options) {
|
|
1152
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1153
|
+
const argumentsTypes = [
|
|
1154
|
+
`${packageAddress}::admin::Version`,
|
|
1155
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1156
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1157
|
+
`${packageAddress}::profit_vault::ProfitVault`,
|
|
1158
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1159
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1160
|
+
'u64',
|
|
1161
|
+
'u64',
|
|
1162
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1163
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1164
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1165
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1166
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1167
|
+
'u8',
|
|
1168
|
+
'u64',
|
|
1169
|
+
'u64'
|
|
1170
|
+
];
|
|
1171
|
+
const parameterNames = ["version", "registry", "poolRegistry", "profitVault", "oracleV2", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "orderTypeTag", "triggerPrice", "maxOperationCount"];
|
|
1172
|
+
return (tx) => tx.moveCall({
|
|
1173
|
+
package: packageAddress,
|
|
1174
|
+
module: 'trading',
|
|
1175
|
+
function: 'match_trading_order_v2',
|
|
1176
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1177
|
+
typeArguments: options.typeArguments
|
|
1035
1178
|
});
|
|
1036
1179
|
}
|
|
1037
1180
|
/** [Authorized Function] Cancels linked orders. */
|
|
1038
1181
|
function cancelLinkedOrders(options) {
|
|
1039
|
-
const packageAddress = options.package ??
|
|
1040
|
-
const argumentsTypes = [
|
|
1182
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1183
|
+
const argumentsTypes = [
|
|
1184
|
+
`${packageAddress}::admin::Version`,
|
|
1185
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1186
|
+
'u64',
|
|
1187
|
+
'vector<u64>',
|
|
1188
|
+
'vector<u64>',
|
|
1189
|
+
'address'
|
|
1190
|
+
];
|
|
1041
1191
|
const parameterNames = ["version", "registry", "marketIndex", "linkedOrderIds", "linkedOrderPrices", "user"];
|
|
1042
1192
|
return (tx) => tx.moveCall({
|
|
1043
1193
|
package: packageAddress,
|
|
1044
|
-
module:
|
|
1045
|
-
function:
|
|
1046
|
-
arguments: (0,
|
|
1047
|
-
typeArguments: options.typeArguments
|
|
1194
|
+
module: 'trading',
|
|
1195
|
+
function: 'cancel_linked_orders',
|
|
1196
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1197
|
+
typeArguments: options.typeArguments
|
|
1048
1198
|
});
|
|
1049
1199
|
}
|
|
1050
|
-
/** [
|
|
1200
|
+
/** [DEPRECATED] Use `manager_reduce_position_v2` with `&OracleV2` instead. */
|
|
1051
1201
|
function managerReducePosition(options) {
|
|
1052
|
-
const packageAddress = options.package ??
|
|
1053
|
-
const argumentsTypes = [
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
];
|
|
1071
|
-
const parameterNames = [
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1202
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1203
|
+
const argumentsTypes = [
|
|
1204
|
+
`${packageAddress}::admin::Version`,
|
|
1205
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1206
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1207
|
+
`${packageAddress}::profit_vault::ProfitVault`,
|
|
1208
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1209
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1210
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1211
|
+
'u64',
|
|
1212
|
+
'u64',
|
|
1213
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1214
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1215
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1216
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1217
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1218
|
+
'u64',
|
|
1219
|
+
'u64'
|
|
1220
|
+
];
|
|
1221
|
+
const parameterNames = ["version", "registry", "poolRegistry", "profitVault", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId", "reducedRatioBp"];
|
|
1222
|
+
return (tx) => tx.moveCall({
|
|
1223
|
+
package: packageAddress,
|
|
1224
|
+
module: 'trading',
|
|
1225
|
+
function: 'manager_reduce_position',
|
|
1226
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1227
|
+
typeArguments: options.typeArguments
|
|
1228
|
+
});
|
|
1229
|
+
}
|
|
1230
|
+
/** [Authorized Function] Reduces a position by the manager. */
|
|
1231
|
+
function managerReducePositionV2(options) {
|
|
1232
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1233
|
+
const argumentsTypes = [
|
|
1234
|
+
`${packageAddress}::admin::Version`,
|
|
1235
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1236
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1237
|
+
`${packageAddress}::profit_vault::ProfitVault`,
|
|
1238
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1239
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1240
|
+
'u64',
|
|
1241
|
+
'u64',
|
|
1242
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1243
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1244
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1245
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1246
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1247
|
+
'u64',
|
|
1248
|
+
'u64'
|
|
1249
|
+
];
|
|
1250
|
+
const parameterNames = ["version", "registry", "poolRegistry", "profitVault", "oracleV2", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId", "reducedRatioBp"];
|
|
1251
|
+
return (tx) => tx.moveCall({
|
|
1252
|
+
package: packageAddress,
|
|
1253
|
+
module: 'trading',
|
|
1254
|
+
function: 'manager_reduce_position_v2',
|
|
1255
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1256
|
+
typeArguments: options.typeArguments
|
|
1094
1257
|
});
|
|
1095
1258
|
}
|
|
1096
1259
|
function managerClearPosition(options) {
|
|
1097
|
-
const packageAddress = options.package ??
|
|
1098
|
-
const argumentsTypes = [
|
|
1260
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1261
|
+
const argumentsTypes = [
|
|
1262
|
+
`${packageAddress}::admin::Version`,
|
|
1263
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1264
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1265
|
+
'u64',
|
|
1266
|
+
'u64',
|
|
1267
|
+
'u64'
|
|
1268
|
+
];
|
|
1099
1269
|
const parameterNames = ["version", "registry", "poolRegistry", "marketIndex", "poolIndex", "positionId"];
|
|
1100
1270
|
return (tx) => tx.moveCall({
|
|
1101
1271
|
package: packageAddress,
|
|
1102
|
-
module:
|
|
1103
|
-
function:
|
|
1104
|
-
arguments: (0,
|
|
1105
|
-
typeArguments: options.typeArguments
|
|
1272
|
+
module: 'trading',
|
|
1273
|
+
function: 'manager_clear_position',
|
|
1274
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1275
|
+
typeArguments: options.typeArguments
|
|
1106
1276
|
});
|
|
1107
1277
|
}
|
|
1108
|
-
/** [
|
|
1278
|
+
/** [DEPRECATED] Use `manager_close_option_position_v2` with `&OracleV2` instead. */
|
|
1109
1279
|
function managerCloseOptionPosition(options) {
|
|
1110
|
-
const packageAddress = options.package ??
|
|
1111
|
-
const argumentsTypes = [
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
];
|
|
1128
|
-
const parameterNames = [
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1280
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1281
|
+
const argumentsTypes = [
|
|
1282
|
+
`${packageAddress}::admin::Version`,
|
|
1283
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1284
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1285
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1286
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1287
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1288
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1289
|
+
'u64',
|
|
1290
|
+
'u64',
|
|
1291
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1292
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1293
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1294
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1295
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1296
|
+
'u64'
|
|
1297
|
+
];
|
|
1298
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId"];
|
|
1299
|
+
return (tx) => tx.moveCall({
|
|
1300
|
+
package: packageAddress,
|
|
1301
|
+
module: 'trading',
|
|
1302
|
+
function: 'manager_close_option_position',
|
|
1303
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1304
|
+
typeArguments: options.typeArguments
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
/** [Authorized Function] Closes an option position by the manager. */
|
|
1308
|
+
function managerCloseOptionPositionV2(options) {
|
|
1309
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1310
|
+
const argumentsTypes = [
|
|
1311
|
+
`${packageAddress}::admin::Version`,
|
|
1312
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1313
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1314
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1315
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1316
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1317
|
+
'u64',
|
|
1318
|
+
'u64',
|
|
1319
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1320
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1321
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1322
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1323
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1324
|
+
'u64'
|
|
1325
|
+
];
|
|
1326
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig", "positionId"];
|
|
1327
|
+
return (tx) => tx.moveCall({
|
|
1328
|
+
package: packageAddress,
|
|
1329
|
+
module: 'trading',
|
|
1330
|
+
function: 'manager_close_option_position_v2',
|
|
1331
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1332
|
+
typeArguments: options.typeArguments
|
|
1150
1333
|
});
|
|
1151
1334
|
}
|
|
1152
1335
|
function getTradingFeeConfig(options) {
|
|
1153
|
-
const packageAddress = options.package ??
|
|
1154
|
-
const argumentsTypes = [
|
|
1336
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1337
|
+
const argumentsTypes = [
|
|
1338
|
+
`${packageAddress}::trading::MarketConfig`,
|
|
1339
|
+
'bool'
|
|
1340
|
+
];
|
|
1155
1341
|
const parameterNames = ["marketConfig", "isOptionPosition"];
|
|
1156
1342
|
return (tx) => tx.moveCall({
|
|
1157
1343
|
package: packageAddress,
|
|
1158
|
-
module:
|
|
1159
|
-
function:
|
|
1160
|
-
arguments: (0,
|
|
1344
|
+
module: 'trading',
|
|
1345
|
+
function: 'get_trading_fee_config',
|
|
1346
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1161
1347
|
});
|
|
1162
1348
|
}
|
|
1163
1349
|
/** [View Function] Gets the liquidation information for a position. */
|
|
1164
1350
|
function getLiquidationInfo(options) {
|
|
1165
|
-
const packageAddress = options.package ??
|
|
1166
|
-
const argumentsTypes = [
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
"getAll",
|
|
1351
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1352
|
+
const argumentsTypes = [
|
|
1353
|
+
`${packageAddress}::admin::Version`,
|
|
1354
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1355
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1356
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1357
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1358
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1359
|
+
'u64',
|
|
1360
|
+
'u64',
|
|
1361
|
+
'bool'
|
|
1177
1362
|
];
|
|
1363
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "getAll"];
|
|
1178
1364
|
return (tx) => tx.moveCall({
|
|
1179
1365
|
package: packageAddress,
|
|
1180
|
-
module:
|
|
1181
|
-
function:
|
|
1182
|
-
arguments: (0,
|
|
1183
|
-
typeArguments: options.typeArguments
|
|
1366
|
+
module: 'trading',
|
|
1367
|
+
function: 'get_liquidation_info',
|
|
1368
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1369
|
+
typeArguments: options.typeArguments
|
|
1184
1370
|
});
|
|
1185
1371
|
}
|
|
1186
|
-
/** [
|
|
1372
|
+
/** [DEPRECATED] Use `liquidate_v2` with `&OracleV2` instead. */
|
|
1187
1373
|
function liquidate(options) {
|
|
1188
|
-
const packageAddress = options.package ??
|
|
1189
|
-
const argumentsTypes = [
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1374
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1375
|
+
const argumentsTypes = [
|
|
1376
|
+
`${packageAddress}::admin::Version`,
|
|
1377
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1378
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1379
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1380
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1381
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1382
|
+
'u64',
|
|
1383
|
+
'u64',
|
|
1384
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1385
|
+
'u64'
|
|
1200
1386
|
];
|
|
1387
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "typusOracleTradingSymbol", "marketIndex", "poolIndex", "positionId"];
|
|
1201
1388
|
return (tx) => tx.moveCall({
|
|
1202
1389
|
package: packageAddress,
|
|
1203
|
-
module:
|
|
1204
|
-
function:
|
|
1205
|
-
arguments: (0,
|
|
1206
|
-
typeArguments: options.typeArguments
|
|
1390
|
+
module: 'trading',
|
|
1391
|
+
function: 'liquidate',
|
|
1392
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1393
|
+
typeArguments: options.typeArguments
|
|
1207
1394
|
});
|
|
1208
1395
|
}
|
|
1209
|
-
/** [Authorized Function]
|
|
1396
|
+
/** [Authorized Function] Liquidates a position. */
|
|
1397
|
+
function liquidateV2(options) {
|
|
1398
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1399
|
+
const argumentsTypes = [
|
|
1400
|
+
`${packageAddress}::admin::Version`,
|
|
1401
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1402
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1403
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1404
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1405
|
+
'u64',
|
|
1406
|
+
'u64',
|
|
1407
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1408
|
+
'u64'
|
|
1409
|
+
];
|
|
1410
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId"];
|
|
1411
|
+
return (tx) => tx.moveCall({
|
|
1412
|
+
package: packageAddress,
|
|
1413
|
+
module: 'trading',
|
|
1414
|
+
function: 'liquidate_v2',
|
|
1415
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1416
|
+
typeArguments: options.typeArguments
|
|
1417
|
+
});
|
|
1418
|
+
}
|
|
1419
|
+
/** [DEPRECATED] Use `settle_receipt_collateral_v2` with `&OracleV2` instead. */
|
|
1210
1420
|
function settleReceiptCollateral(options) {
|
|
1211
|
-
const packageAddress = options.package ??
|
|
1212
|
-
const argumentsTypes = [
|
|
1421
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1422
|
+
const argumentsTypes = [
|
|
1423
|
+
`${packageAddress}::admin::Version`,
|
|
1424
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1425
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1426
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1427
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1428
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1429
|
+
'u64',
|
|
1430
|
+
'u64'
|
|
1431
|
+
];
|
|
1213
1432
|
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "marketIndex", "poolIndex"];
|
|
1214
1433
|
return (tx) => tx.moveCall({
|
|
1215
1434
|
package: packageAddress,
|
|
1216
|
-
module:
|
|
1217
|
-
function:
|
|
1218
|
-
arguments: (0,
|
|
1219
|
-
typeArguments: options.typeArguments
|
|
1435
|
+
module: 'trading',
|
|
1436
|
+
function: 'settle_receipt_collateral',
|
|
1437
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1438
|
+
typeArguments: options.typeArguments
|
|
1220
1439
|
});
|
|
1221
1440
|
}
|
|
1222
|
-
/** [Authorized Function]
|
|
1441
|
+
/** [Authorized Function] Settles receipt collateral. */
|
|
1442
|
+
function settleReceiptCollateralV2(options) {
|
|
1443
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1444
|
+
const argumentsTypes = [
|
|
1445
|
+
`${packageAddress}::admin::Version`,
|
|
1446
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1447
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1448
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1449
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1450
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1451
|
+
'u64',
|
|
1452
|
+
'u64'
|
|
1453
|
+
];
|
|
1454
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex"];
|
|
1455
|
+
return (tx) => tx.moveCall({
|
|
1456
|
+
package: packageAddress,
|
|
1457
|
+
module: 'trading',
|
|
1458
|
+
function: 'settle_receipt_collateral_v2',
|
|
1459
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1460
|
+
typeArguments: options.typeArguments
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1463
|
+
/** [DEPRECATED] Use `update_funding_rate_v2` with `&OracleV2` instead. */
|
|
1223
1464
|
function updateFundingRate(options) {
|
|
1224
|
-
const packageAddress = options.package ??
|
|
1225
|
-
const argumentsTypes = [
|
|
1465
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1466
|
+
const argumentsTypes = [
|
|
1467
|
+
`${packageAddress}::admin::Version`,
|
|
1468
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1469
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1470
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle::Oracle',
|
|
1471
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1472
|
+
'u64',
|
|
1473
|
+
'u64'
|
|
1474
|
+
];
|
|
1226
1475
|
const parameterNames = ["version", "registry", "poolRegistry", "typusOracleTradingSymbol", "marketIndex", "poolIndex"];
|
|
1227
1476
|
return (tx) => tx.moveCall({
|
|
1228
1477
|
package: packageAddress,
|
|
1229
|
-
module:
|
|
1230
|
-
function:
|
|
1231
|
-
arguments: (0,
|
|
1232
|
-
typeArguments: options.typeArguments
|
|
1478
|
+
module: 'trading',
|
|
1479
|
+
function: 'update_funding_rate',
|
|
1480
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1481
|
+
typeArguments: options.typeArguments
|
|
1482
|
+
});
|
|
1483
|
+
}
|
|
1484
|
+
/** [Authorized Function] Updates the funding rate. */
|
|
1485
|
+
function updateFundingRateV2(options) {
|
|
1486
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1487
|
+
const argumentsTypes = [
|
|
1488
|
+
`${packageAddress}::admin::Version`,
|
|
1489
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1490
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1491
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1492
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
1493
|
+
'u64',
|
|
1494
|
+
'u64'
|
|
1495
|
+
];
|
|
1496
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex"];
|
|
1497
|
+
return (tx) => tx.moveCall({
|
|
1498
|
+
package: packageAddress,
|
|
1499
|
+
module: 'trading',
|
|
1500
|
+
function: 'update_funding_rate_v2',
|
|
1501
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1502
|
+
typeArguments: options.typeArguments
|
|
1233
1503
|
});
|
|
1234
1504
|
}
|
|
1235
1505
|
function getExpiredPositionInfo(options) {
|
|
1236
|
-
const packageAddress = options.package ??
|
|
1237
|
-
const argumentsTypes = [
|
|
1506
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1507
|
+
const argumentsTypes = [
|
|
1508
|
+
`${packageAddress}::admin::Version`,
|
|
1509
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1510
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1511
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1512
|
+
'u64',
|
|
1513
|
+
'u64'
|
|
1514
|
+
];
|
|
1238
1515
|
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "marketIndex", "poolIndex"];
|
|
1239
1516
|
return (tx) => tx.moveCall({
|
|
1240
1517
|
package: packageAddress,
|
|
1241
|
-
module:
|
|
1242
|
-
function:
|
|
1243
|
-
arguments: (0,
|
|
1518
|
+
module: 'trading',
|
|
1519
|
+
function: 'get_expired_position_info',
|
|
1520
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1521
|
+
});
|
|
1522
|
+
}
|
|
1523
|
+
/** [User Function] Creates a new user account. */
|
|
1524
|
+
function createUserAccount(options) {
|
|
1525
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1526
|
+
const argumentsTypes = [
|
|
1527
|
+
`${packageAddress}::admin::Version`,
|
|
1528
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1529
|
+
'u64'
|
|
1530
|
+
];
|
|
1531
|
+
const parameterNames = ["version", "registry", "marketIndex"];
|
|
1532
|
+
return (tx) => tx.moveCall({
|
|
1533
|
+
package: packageAddress,
|
|
1534
|
+
module: 'trading',
|
|
1535
|
+
function: 'create_user_account',
|
|
1536
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1537
|
+
});
|
|
1538
|
+
}
|
|
1539
|
+
/** Withdraws collateral from a user account. Safe with `UserAccountCap` */
|
|
1540
|
+
function withdrawUserAccount(options) {
|
|
1541
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1542
|
+
const argumentsTypes = [
|
|
1543
|
+
`${packageAddress}::admin::Version`,
|
|
1544
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1545
|
+
'u64',
|
|
1546
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
1547
|
+
`${packageAddress}::user_account::UserAccountCap`
|
|
1548
|
+
];
|
|
1549
|
+
const parameterNames = ["version", "registry", "marketIndex", "amount", "userAccountCap"];
|
|
1550
|
+
return (tx) => tx.moveCall({
|
|
1551
|
+
package: packageAddress,
|
|
1552
|
+
module: 'trading',
|
|
1553
|
+
function: 'withdraw_user_account',
|
|
1554
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1555
|
+
typeArguments: options.typeArguments
|
|
1244
1556
|
});
|
|
1245
1557
|
}
|
|
1246
1558
|
function prepareOrderExecution(options) {
|
|
1247
|
-
const packageAddress = options.package ??
|
|
1248
|
-
const argumentsTypes = [
|
|
1559
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1560
|
+
const argumentsTypes = [
|
|
1561
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1562
|
+
`${packageAddress}::lp_pool::LiquidityPool`,
|
|
1563
|
+
`${packageAddress}::position::TradingOrder`
|
|
1564
|
+
];
|
|
1249
1565
|
const parameterNames = ["symbolMarket", "liquidityPool", "order"];
|
|
1250
1566
|
return (tx) => tx.moveCall({
|
|
1251
1567
|
package: packageAddress,
|
|
1252
|
-
module:
|
|
1253
|
-
function:
|
|
1254
|
-
arguments: (0,
|
|
1255
|
-
typeArguments: options.typeArguments
|
|
1568
|
+
module: 'trading',
|
|
1569
|
+
function: 'prepare_order_execution',
|
|
1570
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1571
|
+
typeArguments: options.typeArguments
|
|
1256
1572
|
});
|
|
1257
1573
|
}
|
|
1258
1574
|
function executeOrder_(options) {
|
|
1259
|
-
const packageAddress = options.package ??
|
|
1260
|
-
const argumentsTypes = [
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
"collateralOraclePrice",
|
|
1288
|
-
"collateralOraclePriceDecimal",
|
|
1289
|
-
"tradingPairOraclePrice",
|
|
1290
|
-
"tradingPairOraclePriceDecimal",
|
|
1291
|
-
"typusEcosystemVersion",
|
|
1292
|
-
"typusUserRegistry",
|
|
1293
|
-
"typusLeaderboardRegistry",
|
|
1294
|
-
"tailsStakingRegistry",
|
|
1295
|
-
"competitionConfig",
|
|
1296
|
-
];
|
|
1297
|
-
return (tx) => tx.moveCall({
|
|
1298
|
-
package: packageAddress,
|
|
1299
|
-
module: "trading",
|
|
1300
|
-
function: "execute_order_",
|
|
1301
|
-
arguments: (0, index_js_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1302
|
-
typeArguments: options.typeArguments,
|
|
1575
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1576
|
+
const argumentsTypes = [
|
|
1577
|
+
`${packageAddress}::admin::Version`,
|
|
1578
|
+
`${packageAddress}::trading::Referrals`,
|
|
1579
|
+
'u64',
|
|
1580
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1581
|
+
`${packageAddress}::lp_pool::LiquidityPool`,
|
|
1582
|
+
`${packageAddress}::profit_vault::ProfitVault`,
|
|
1583
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1584
|
+
'u64',
|
|
1585
|
+
'u64',
|
|
1586
|
+
'u64',
|
|
1587
|
+
'u64',
|
|
1588
|
+
'u64',
|
|
1589
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1590
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1591
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1592
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1593
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1594
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
1595
|
+
];
|
|
1596
|
+
const parameterNames = ["version", "referrals", "marketIndex", "symbolMarket", "liquidityPool", "profitVault", "order", "protocolFeeShareBp", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig"];
|
|
1597
|
+
return (tx) => tx.moveCall({
|
|
1598
|
+
package: packageAddress,
|
|
1599
|
+
module: 'trading',
|
|
1600
|
+
function: 'execute_order_',
|
|
1601
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1602
|
+
typeArguments: options.typeArguments
|
|
1303
1603
|
});
|
|
1304
1604
|
}
|
|
1305
1605
|
function executeOptionCollateralOrder_(options) {
|
|
1306
|
-
const packageAddress = options.package ??
|
|
1307
|
-
const argumentsTypes = [
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
];
|
|
1328
|
-
const parameterNames = [
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
"order",
|
|
1336
|
-
"protocolFeeShareBp",
|
|
1337
|
-
"collateralOraclePrice",
|
|
1338
|
-
"collateralOraclePriceDecimal",
|
|
1339
|
-
"tradingPairOraclePrice",
|
|
1340
|
-
"tradingPairOraclePriceDecimal",
|
|
1341
|
-
"tradingFeeMbp",
|
|
1342
|
-
"typusEcosystemVersion",
|
|
1343
|
-
"typusUserRegistry",
|
|
1344
|
-
"typusLeaderboardRegistry",
|
|
1345
|
-
"tailsStakingRegistry",
|
|
1346
|
-
"competitionConfig",
|
|
1347
|
-
];
|
|
1348
|
-
return (tx) => tx.moveCall({
|
|
1349
|
-
package: packageAddress,
|
|
1350
|
-
module: "trading",
|
|
1351
|
-
function: "execute_option_collateral_order_",
|
|
1352
|
-
arguments: (0, index_js_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1353
|
-
typeArguments: options.typeArguments,
|
|
1606
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1607
|
+
const argumentsTypes = [
|
|
1608
|
+
`${packageAddress}::admin::Version`,
|
|
1609
|
+
`${packageAddress}::trading::Referrals`,
|
|
1610
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1611
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1612
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1613
|
+
`${packageAddress}::lp_pool::LiquidityPool`,
|
|
1614
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1615
|
+
'u64',
|
|
1616
|
+
'u64',
|
|
1617
|
+
'u64',
|
|
1618
|
+
'u64',
|
|
1619
|
+
'u64',
|
|
1620
|
+
'u64',
|
|
1621
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version',
|
|
1622
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry',
|
|
1623
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry',
|
|
1624
|
+
'0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry',
|
|
1625
|
+
`${packageAddress}::competition::CompetitionConfig`,
|
|
1626
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
1627
|
+
];
|
|
1628
|
+
const parameterNames = ["version", "referrals", "dovRegistry", "oracleV2", "symbolMarket", "liquidityPool", "order", "protocolFeeShareBp", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "tradingFeeMbp", "typusEcosystemVersion", "typusUserRegistry", "typusLeaderboardRegistry", "tailsStakingRegistry", "competitionConfig"];
|
|
1629
|
+
return (tx) => tx.moveCall({
|
|
1630
|
+
package: packageAddress,
|
|
1631
|
+
module: 'trading',
|
|
1632
|
+
function: 'execute_option_collateral_order_',
|
|
1633
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1634
|
+
typeArguments: options.typeArguments
|
|
1354
1635
|
});
|
|
1355
1636
|
}
|
|
1356
1637
|
function removeLinkedOrders(options) {
|
|
1357
|
-
const packageAddress = options.package ??
|
|
1358
|
-
const argumentsTypes = [
|
|
1638
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1639
|
+
const argumentsTypes = [
|
|
1640
|
+
`${packageAddress}::admin::Version`,
|
|
1641
|
+
'u64',
|
|
1642
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1643
|
+
'vector<u64>',
|
|
1644
|
+
'vector<u64>',
|
|
1645
|
+
'address'
|
|
1646
|
+
];
|
|
1359
1647
|
const parameterNames = ["version", "marketIndex", "symbolMarket", "linkedOrderIds", "linkedOrderPrices", "user"];
|
|
1360
1648
|
return (tx) => tx.moveCall({
|
|
1361
1649
|
package: packageAddress,
|
|
1362
|
-
module:
|
|
1363
|
-
function:
|
|
1364
|
-
arguments: (0,
|
|
1365
|
-
typeArguments: options.typeArguments
|
|
1650
|
+
module: 'trading',
|
|
1651
|
+
function: 'remove_linked_orders',
|
|
1652
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1653
|
+
typeArguments: options.typeArguments
|
|
1366
1654
|
});
|
|
1367
1655
|
}
|
|
1368
1656
|
function removeLinkedOrder_(options) {
|
|
1369
|
-
const packageAddress = options.package ??
|
|
1370
|
-
const argumentsTypes = [
|
|
1657
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1658
|
+
const argumentsTypes = [
|
|
1659
|
+
`${packageAddress}::admin::Version`,
|
|
1660
|
+
'u64',
|
|
1661
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1662
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1663
|
+
'address'
|
|
1664
|
+
];
|
|
1371
1665
|
const parameterNames = ["version", "marketIndex", "symbolMarket", "order", "user"];
|
|
1372
1666
|
return (tx) => tx.moveCall({
|
|
1373
1667
|
package: packageAddress,
|
|
1374
|
-
module:
|
|
1375
|
-
function:
|
|
1376
|
-
arguments: (0,
|
|
1377
|
-
typeArguments: options.typeArguments
|
|
1668
|
+
module: 'trading',
|
|
1669
|
+
function: 'remove_linked_order_',
|
|
1670
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1671
|
+
typeArguments: options.typeArguments
|
|
1378
1672
|
});
|
|
1379
1673
|
}
|
|
1380
1674
|
function getMutOrders(options) {
|
|
1381
|
-
const packageAddress = options.package ??
|
|
1382
|
-
const argumentsTypes = [
|
|
1675
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1676
|
+
const argumentsTypes = [
|
|
1677
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1678
|
+
'bool',
|
|
1679
|
+
'u8'
|
|
1680
|
+
];
|
|
1383
1681
|
const parameterNames = ["symbolMarket", "isTokenCollateral", "orderTypeTag"];
|
|
1384
1682
|
return (tx) => tx.moveCall({
|
|
1385
1683
|
package: packageAddress,
|
|
1386
|
-
module:
|
|
1387
|
-
function:
|
|
1388
|
-
arguments: (0,
|
|
1684
|
+
module: 'trading',
|
|
1685
|
+
function: 'get_mut_orders',
|
|
1686
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1389
1687
|
});
|
|
1390
1688
|
}
|
|
1391
1689
|
function getOrders(options) {
|
|
1392
|
-
const packageAddress = options.package ??
|
|
1393
|
-
const argumentsTypes = [
|
|
1690
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1691
|
+
const argumentsTypes = [
|
|
1692
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1693
|
+
'bool',
|
|
1694
|
+
'u8'
|
|
1695
|
+
];
|
|
1394
1696
|
const parameterNames = ["symbolMarket", "isTokenCollateral", "orderTypeTag"];
|
|
1395
1697
|
return (tx) => tx.moveCall({
|
|
1396
1698
|
package: packageAddress,
|
|
1397
|
-
module:
|
|
1398
|
-
function:
|
|
1399
|
-
arguments: (0,
|
|
1699
|
+
module: 'trading',
|
|
1700
|
+
function: 'get_orders',
|
|
1701
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1400
1702
|
});
|
|
1401
1703
|
}
|
|
1402
1704
|
function getOrderKey(options) {
|
|
1403
|
-
const packageAddress = options.package ??
|
|
1404
|
-
const argumentsTypes = [
|
|
1705
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1706
|
+
const argumentsTypes = [
|
|
1707
|
+
'u8'
|
|
1708
|
+
];
|
|
1405
1709
|
const parameterNames = ["orderTypeTag"];
|
|
1406
1710
|
return (tx) => tx.moveCall({
|
|
1407
1711
|
package: packageAddress,
|
|
1408
|
-
module:
|
|
1409
|
-
function:
|
|
1410
|
-
arguments: (0,
|
|
1712
|
+
module: 'trading',
|
|
1713
|
+
function: 'get_order_key',
|
|
1714
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1411
1715
|
});
|
|
1412
1716
|
}
|
|
1413
1717
|
function takeOrderByOrderIdAndPrice(options) {
|
|
1414
|
-
const packageAddress = options.package ??
|
|
1415
|
-
const argumentsTypes = [
|
|
1718
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1719
|
+
const argumentsTypes = [
|
|
1720
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1721
|
+
'u64',
|
|
1722
|
+
'u64',
|
|
1723
|
+
'bool',
|
|
1724
|
+
'address'
|
|
1725
|
+
];
|
|
1416
1726
|
const parameterNames = ["symbolMarket", "triggerPrice", "orderId", "isTokenCollateral", "user"];
|
|
1417
1727
|
return (tx) => tx.moveCall({
|
|
1418
1728
|
package: packageAddress,
|
|
1419
|
-
module:
|
|
1420
|
-
function:
|
|
1421
|
-
arguments: (0,
|
|
1729
|
+
module: 'trading',
|
|
1730
|
+
function: 'take_order_by_order_id_and_price',
|
|
1731
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1422
1732
|
});
|
|
1423
1733
|
}
|
|
1424
1734
|
function getLinkedPosition(options) {
|
|
1425
|
-
const packageAddress = options.package ??
|
|
1426
|
-
const argumentsTypes = [
|
|
1735
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1736
|
+
const argumentsTypes = [
|
|
1737
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1738
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
|
|
1739
|
+
'address'
|
|
1740
|
+
];
|
|
1427
1741
|
const parameterNames = ["symbolMarket", "linkedPositionId", "user"];
|
|
1428
1742
|
return (tx) => tx.moveCall({
|
|
1429
1743
|
package: packageAddress,
|
|
1430
|
-
module:
|
|
1431
|
-
function:
|
|
1432
|
-
arguments: (0,
|
|
1744
|
+
module: 'trading',
|
|
1745
|
+
function: 'get_linked_position',
|
|
1746
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1433
1747
|
});
|
|
1434
1748
|
}
|
|
1435
1749
|
function checkCollateralEnoughWhenAddingPosition(options) {
|
|
1436
|
-
const packageAddress = options.package ??
|
|
1437
|
-
const argumentsTypes = [
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
"tradingFeeMbp",
|
|
1750
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1751
|
+
const argumentsTypes = [
|
|
1752
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1753
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1754
|
+
'u64',
|
|
1755
|
+
'u64',
|
|
1756
|
+
'u64',
|
|
1757
|
+
'u64',
|
|
1758
|
+
'u64'
|
|
1446
1759
|
];
|
|
1760
|
+
const parameterNames = ["symbolMarket", "order", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "tradingFeeMbp"];
|
|
1447
1761
|
return (tx) => tx.moveCall({
|
|
1448
1762
|
package: packageAddress,
|
|
1449
|
-
module:
|
|
1450
|
-
function:
|
|
1451
|
-
arguments: (0,
|
|
1452
|
-
typeArguments: options.typeArguments
|
|
1763
|
+
module: 'trading',
|
|
1764
|
+
function: 'check_collateral_enough_when_adding_position',
|
|
1765
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1766
|
+
typeArguments: options.typeArguments
|
|
1453
1767
|
});
|
|
1454
1768
|
}
|
|
1455
1769
|
function checkCollateralEnoughWhenReducingPosition(options) {
|
|
1456
|
-
const packageAddress = options.package ??
|
|
1457
|
-
const argumentsTypes = [
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
"tradingFeeMbp",
|
|
1770
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1771
|
+
const argumentsTypes = [
|
|
1772
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1773
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1774
|
+
'u64',
|
|
1775
|
+
'u64',
|
|
1776
|
+
'u64',
|
|
1777
|
+
'u64',
|
|
1778
|
+
'u64'
|
|
1466
1779
|
];
|
|
1780
|
+
const parameterNames = ["symbolMarket", "order", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "tradingFeeMbp"];
|
|
1467
1781
|
return (tx) => tx.moveCall({
|
|
1468
1782
|
package: packageAddress,
|
|
1469
|
-
module:
|
|
1470
|
-
function:
|
|
1471
|
-
arguments: (0,
|
|
1472
|
-
typeArguments: options.typeArguments
|
|
1783
|
+
module: 'trading',
|
|
1784
|
+
function: 'check_collateral_enough_when_reducing_position',
|
|
1785
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1786
|
+
typeArguments: options.typeArguments
|
|
1473
1787
|
});
|
|
1474
1788
|
}
|
|
1475
1789
|
function checkOptionCollateralEnough(options) {
|
|
1476
|
-
const packageAddress = options.package ??
|
|
1477
|
-
const argumentsTypes = [
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
"tradingFeeMbp",
|
|
1790
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1791
|
+
const argumentsTypes = [
|
|
1792
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1793
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1794
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1795
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1796
|
+
'u64',
|
|
1797
|
+
'u64',
|
|
1798
|
+
'u64',
|
|
1799
|
+
'u64',
|
|
1800
|
+
'u64',
|
|
1801
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
1489
1802
|
];
|
|
1803
|
+
const parameterNames = ["dovRegistry", "oracleV2", "symbolMarket", "order", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "tradingFeeMbp"];
|
|
1490
1804
|
return (tx) => tx.moveCall({
|
|
1491
1805
|
package: packageAddress,
|
|
1492
|
-
module:
|
|
1493
|
-
function:
|
|
1494
|
-
arguments: (0,
|
|
1495
|
-
typeArguments: options.typeArguments
|
|
1806
|
+
module: 'trading',
|
|
1807
|
+
function: 'check_option_collateral_enough',
|
|
1808
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1809
|
+
typeArguments: options.typeArguments
|
|
1496
1810
|
});
|
|
1497
1811
|
}
|
|
1498
1812
|
function checkReserveEnough(options) {
|
|
1499
|
-
const packageAddress = options.package ??
|
|
1500
|
-
const argumentsTypes = [
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
"tradingPairOraclePriceDecimal",
|
|
1813
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1814
|
+
const argumentsTypes = [
|
|
1815
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1816
|
+
`${packageAddress}::lp_pool::LiquidityPool`,
|
|
1817
|
+
`${packageAddress}::position::TradingOrder`,
|
|
1818
|
+
'u64',
|
|
1819
|
+
'u64',
|
|
1820
|
+
'u64',
|
|
1821
|
+
'u64'
|
|
1509
1822
|
];
|
|
1823
|
+
const parameterNames = ["symbolMarket", "liquidityPool", "order", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal"];
|
|
1510
1824
|
return (tx) => tx.moveCall({
|
|
1511
1825
|
package: packageAddress,
|
|
1512
|
-
module:
|
|
1513
|
-
function:
|
|
1514
|
-
arguments: (0,
|
|
1515
|
-
typeArguments: options.typeArguments
|
|
1826
|
+
module: 'trading',
|
|
1827
|
+
function: 'check_reserve_enough',
|
|
1828
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1829
|
+
typeArguments: options.typeArguments
|
|
1516
1830
|
});
|
|
1517
1831
|
}
|
|
1518
1832
|
function getMaxReleasingCollateralAmount_(options) {
|
|
1519
|
-
const packageAddress = options.package ??
|
|
1520
|
-
const argumentsTypes = [
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1833
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1834
|
+
const argumentsTypes = [
|
|
1835
|
+
`${packageAddress}::lp_pool::LiquidityPool`,
|
|
1836
|
+
`${packageAddress}::position::Position`,
|
|
1837
|
+
`${packageAddress}::trading::MarketInfo`,
|
|
1838
|
+
`${packageAddress}::trading::MarketConfig`,
|
|
1839
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName',
|
|
1840
|
+
'u64',
|
|
1841
|
+
'u64',
|
|
1842
|
+
'u64',
|
|
1843
|
+
'u64',
|
|
1844
|
+
'u64'
|
|
1845
|
+
];
|
|
1846
|
+
const parameterNames = ["liquidityPool", "position", "marketInfo", "marketConfig", "collateralToken", "collateralOraclePrice", "collateralOraclePriceDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "cumulativeBorrowRate"];
|
|
1847
|
+
return (tx) => tx.moveCall({
|
|
1848
|
+
package: packageAddress,
|
|
1849
|
+
module: 'trading',
|
|
1850
|
+
function: 'get_max_releasing_collateral_amount_',
|
|
1851
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1852
|
+
});
|
|
1853
|
+
}
|
|
1854
|
+
function getV2Price(options) {
|
|
1855
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1856
|
+
const argumentsTypes = [
|
|
1857
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1858
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName',
|
|
1859
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'
|
|
1532
1860
|
];
|
|
1861
|
+
const parameterNames = ["oracleV2", "tokenType"];
|
|
1533
1862
|
return (tx) => tx.moveCall({
|
|
1534
1863
|
package: packageAddress,
|
|
1535
|
-
module:
|
|
1536
|
-
function:
|
|
1537
|
-
arguments: (0,
|
|
1864
|
+
module: 'trading',
|
|
1865
|
+
function: 'get_v2_price',
|
|
1866
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1538
1867
|
});
|
|
1539
1868
|
}
|
|
1540
1869
|
function normalSafetyCheck(options) {
|
|
1541
|
-
const packageAddress = options.package ??
|
|
1542
|
-
const argumentsTypes = [
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
"poolIndex",
|
|
1551
|
-
"positionId",
|
|
1870
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1871
|
+
const argumentsTypes = [
|
|
1872
|
+
`${packageAddress}::admin::Version`,
|
|
1873
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1874
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
1875
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
1876
|
+
'u64',
|
|
1877
|
+
'u64',
|
|
1878
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>'
|
|
1552
1879
|
];
|
|
1880
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId"];
|
|
1553
1881
|
return (tx) => tx.moveCall({
|
|
1554
1882
|
package: packageAddress,
|
|
1555
|
-
module:
|
|
1556
|
-
function:
|
|
1557
|
-
arguments: (0,
|
|
1558
|
-
typeArguments: options.typeArguments
|
|
1883
|
+
module: 'trading',
|
|
1884
|
+
function: 'normal_safety_check',
|
|
1885
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1886
|
+
typeArguments: options.typeArguments
|
|
1559
1887
|
});
|
|
1560
1888
|
}
|
|
1561
1889
|
function validateTradingFeeConfig(options) {
|
|
1562
|
-
const packageAddress = options.package ??
|
|
1563
|
-
const argumentsTypes = [
|
|
1890
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1891
|
+
const argumentsTypes = [
|
|
1892
|
+
'vector<u64>'
|
|
1893
|
+
];
|
|
1564
1894
|
const parameterNames = ["config"];
|
|
1565
1895
|
return (tx) => tx.moveCall({
|
|
1566
1896
|
package: packageAddress,
|
|
1567
|
-
module:
|
|
1568
|
-
function:
|
|
1569
|
-
arguments: (0,
|
|
1897
|
+
module: 'trading',
|
|
1898
|
+
function: 'validate_trading_fee_config',
|
|
1899
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1570
1900
|
});
|
|
1571
1901
|
}
|
|
1572
1902
|
function adjustMarketInfoUserOrderSize(options) {
|
|
1573
|
-
const packageAddress = options.package ??
|
|
1574
|
-
const argumentsTypes = [
|
|
1903
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1904
|
+
const argumentsTypes = [
|
|
1905
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1906
|
+
'bool',
|
|
1907
|
+
'bool',
|
|
1908
|
+
'u64'
|
|
1909
|
+
];
|
|
1575
1910
|
const parameterNames = ["symbolMarket", "long", "filledOrCancelled", "size"];
|
|
1576
1911
|
return (tx) => tx.moveCall({
|
|
1577
1912
|
package: packageAddress,
|
|
1578
|
-
module:
|
|
1579
|
-
function:
|
|
1580
|
-
arguments: (0,
|
|
1913
|
+
module: 'trading',
|
|
1914
|
+
function: 'adjust_market_info_user_order_size',
|
|
1915
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1581
1916
|
});
|
|
1582
1917
|
}
|
|
1583
1918
|
function adjustMarketInfoUserPositionSize(options) {
|
|
1584
|
-
const packageAddress = options.package ??
|
|
1585
|
-
const argumentsTypes = [
|
|
1919
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1920
|
+
const argumentsTypes = [
|
|
1921
|
+
`${packageAddress}::trading::SymbolMarket`,
|
|
1922
|
+
'bool',
|
|
1923
|
+
'bool',
|
|
1924
|
+
'u64'
|
|
1925
|
+
];
|
|
1586
1926
|
const parameterNames = ["symbolMarket", "filledOrderIsLong", "reducingPosition", "size"];
|
|
1587
1927
|
return (tx) => tx.moveCall({
|
|
1588
1928
|
package: packageAddress,
|
|
1589
|
-
module:
|
|
1590
|
-
function:
|
|
1591
|
-
arguments: (0,
|
|
1929
|
+
module: 'trading',
|
|
1930
|
+
function: 'adjust_market_info_user_position_size',
|
|
1931
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1592
1932
|
});
|
|
1593
1933
|
}
|
|
1594
1934
|
function exerciseBidReceipts(options) {
|
|
1595
|
-
const packageAddress = options.package ??
|
|
1596
|
-
const argumentsTypes = [
|
|
1935
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1936
|
+
const argumentsTypes = [
|
|
1937
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
1938
|
+
'vector<0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded::vault::TypusBidReceipt>'
|
|
1939
|
+
];
|
|
1597
1940
|
const parameterNames = ["dovRegistry", "bidReceipts"];
|
|
1598
1941
|
return (tx) => tx.moveCall({
|
|
1599
1942
|
package: packageAddress,
|
|
1600
|
-
module:
|
|
1601
|
-
function:
|
|
1602
|
-
arguments: (0,
|
|
1603
|
-
typeArguments: options.typeArguments
|
|
1943
|
+
module: 'trading',
|
|
1944
|
+
function: 'exercise_bid_receipts',
|
|
1945
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1946
|
+
typeArguments: options.typeArguments
|
|
1604
1947
|
});
|
|
1605
1948
|
}
|
|
1606
1949
|
function returnToUser(options) {
|
|
1607
|
-
const packageAddress = options.package ??
|
|
1608
|
-
const argumentsTypes = [
|
|
1950
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1951
|
+
const argumentsTypes = [
|
|
1952
|
+
`0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance<${options.typeArguments[0]}>`,
|
|
1953
|
+
'address'
|
|
1954
|
+
];
|
|
1609
1955
|
const parameterNames = ["balance", "user"];
|
|
1610
1956
|
return (tx) => tx.moveCall({
|
|
1611
1957
|
package: packageAddress,
|
|
1612
|
-
module:
|
|
1613
|
-
function:
|
|
1614
|
-
arguments: (0,
|
|
1615
|
-
typeArguments: options.typeArguments
|
|
1958
|
+
module: 'trading',
|
|
1959
|
+
function: 'return_to_user',
|
|
1960
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1961
|
+
typeArguments: options.typeArguments
|
|
1616
1962
|
});
|
|
1617
1963
|
}
|
|
1618
1964
|
function checkPositionUserMatched(options) {
|
|
1619
|
-
const packageAddress = options.package ??
|
|
1620
|
-
const argumentsTypes = [
|
|
1965
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1966
|
+
const argumentsTypes = [
|
|
1967
|
+
`${packageAddress}::position::Position`,
|
|
1968
|
+
'address'
|
|
1969
|
+
];
|
|
1621
1970
|
const parameterNames = ["position", "user"];
|
|
1622
1971
|
return (tx) => tx.moveCall({
|
|
1623
1972
|
package: packageAddress,
|
|
1624
|
-
module:
|
|
1625
|
-
function:
|
|
1626
|
-
arguments: (0,
|
|
1973
|
+
module: 'trading',
|
|
1974
|
+
function: 'check_position_user_matched',
|
|
1975
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1976
|
+
});
|
|
1977
|
+
}
|
|
1978
|
+
function getUserReferral(options) {
|
|
1979
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1980
|
+
const argumentsTypes = [
|
|
1981
|
+
`${packageAddress}::admin::Version`,
|
|
1982
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1983
|
+
'address'
|
|
1984
|
+
];
|
|
1985
|
+
const parameterNames = ["version", "registry", "user"];
|
|
1986
|
+
return (tx) => tx.moveCall({
|
|
1987
|
+
package: packageAddress,
|
|
1988
|
+
module: 'trading',
|
|
1989
|
+
function: 'get_user_referral',
|
|
1990
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1627
1991
|
});
|
|
1628
1992
|
}
|
|
1629
1993
|
/** [View Function] Gets the user's orders. */
|
|
1630
1994
|
function getUserOrders(options) {
|
|
1631
|
-
const packageAddress = options.package ??
|
|
1632
|
-
const argumentsTypes = [
|
|
1995
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1996
|
+
const argumentsTypes = [
|
|
1997
|
+
`${packageAddress}::admin::Version`,
|
|
1998
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
1999
|
+
'u64',
|
|
2000
|
+
'address'
|
|
2001
|
+
];
|
|
1633
2002
|
const parameterNames = ["version", "registry", "marketIndex", "user"];
|
|
1634
2003
|
return (tx) => tx.moveCall({
|
|
1635
2004
|
package: packageAddress,
|
|
1636
|
-
module:
|
|
1637
|
-
function:
|
|
1638
|
-
arguments: (0,
|
|
2005
|
+
module: 'trading',
|
|
2006
|
+
function: 'get_user_orders',
|
|
2007
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1639
2008
|
});
|
|
1640
2009
|
}
|
|
1641
2010
|
/** [View Function] Gets the user's positions. */
|
|
1642
2011
|
function getUserPositions(options) {
|
|
1643
|
-
const packageAddress = options.package ??
|
|
1644
|
-
const argumentsTypes = [
|
|
2012
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2013
|
+
const argumentsTypes = [
|
|
2014
|
+
`${packageAddress}::admin::Version`,
|
|
2015
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2016
|
+
'u64',
|
|
2017
|
+
'address'
|
|
2018
|
+
];
|
|
1645
2019
|
const parameterNames = ["version", "registry", "marketIndex", "user"];
|
|
1646
2020
|
return (tx) => tx.moveCall({
|
|
1647
2021
|
package: packageAddress,
|
|
1648
|
-
module:
|
|
1649
|
-
function:
|
|
1650
|
-
arguments: (0,
|
|
2022
|
+
module: 'trading',
|
|
2023
|
+
function: 'get_user_positions',
|
|
2024
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1651
2025
|
});
|
|
1652
2026
|
}
|
|
1653
2027
|
/** [View Function] Gets all positions. */
|
|
1654
2028
|
function getAllPositions(options) {
|
|
1655
|
-
const packageAddress = options.package ??
|
|
2029
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
1656
2030
|
const argumentsTypes = [
|
|
1657
2031
|
`${packageAddress}::admin::Version`,
|
|
1658
2032
|
`${packageAddress}::trading::MarketRegistry`,
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
2033
|
+
'u64',
|
|
2034
|
+
'u64',
|
|
2035
|
+
'u64'
|
|
1662
2036
|
];
|
|
1663
2037
|
const parameterNames = ["version", "registry", "marketIndex", "slice", "page"];
|
|
1664
2038
|
return (tx) => tx.moveCall({
|
|
1665
2039
|
package: packageAddress,
|
|
1666
|
-
module:
|
|
1667
|
-
function:
|
|
1668
|
-
arguments: (0,
|
|
1669
|
-
typeArguments: options.typeArguments
|
|
2040
|
+
module: 'trading',
|
|
2041
|
+
function: 'get_all_positions',
|
|
2042
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2043
|
+
typeArguments: options.typeArguments
|
|
1670
2044
|
});
|
|
1671
2045
|
}
|
|
1672
2046
|
/** [View Function] Gets active orders by order type tag. */
|
|
1673
2047
|
function getActiveOrdersByOrderTag(options) {
|
|
1674
|
-
const packageAddress = options.package ??
|
|
1675
|
-
const argumentsTypes = [
|
|
2048
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2049
|
+
const argumentsTypes = [
|
|
2050
|
+
`${packageAddress}::admin::Version`,
|
|
2051
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2052
|
+
'u64',
|
|
2053
|
+
'u8'
|
|
2054
|
+
];
|
|
1676
2055
|
const parameterNames = ["version", "registry", "marketIndex", "orderTypeTag"];
|
|
1677
2056
|
return (tx) => tx.moveCall({
|
|
1678
2057
|
package: packageAddress,
|
|
1679
|
-
module:
|
|
1680
|
-
function:
|
|
1681
|
-
arguments: (0,
|
|
1682
|
-
typeArguments: options.typeArguments
|
|
2058
|
+
module: 'trading',
|
|
2059
|
+
function: 'get_active_orders_by_order_tag',
|
|
2060
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2061
|
+
typeArguments: options.typeArguments
|
|
1683
2062
|
});
|
|
1684
2063
|
}
|
|
1685
2064
|
/**
|
|
@@ -1687,112 +2066,162 @@ function getActiveOrdersByOrderTag(options) {
|
|
|
1687
2066
|
* a position.
|
|
1688
2067
|
*/
|
|
1689
2068
|
function getMaxReleasingCollateralAmount(options) {
|
|
1690
|
-
const packageAddress = options.package ??
|
|
1691
|
-
const argumentsTypes = [
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
"positionId",
|
|
2069
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2070
|
+
const argumentsTypes = [
|
|
2071
|
+
`${packageAddress}::admin::Version`,
|
|
2072
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2073
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
2074
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
2075
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
2076
|
+
'u64',
|
|
2077
|
+
'u64',
|
|
2078
|
+
'u64'
|
|
1701
2079
|
];
|
|
2080
|
+
const parameterNames = ["version", "registry", "poolRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId"];
|
|
1702
2081
|
return (tx) => tx.moveCall({
|
|
1703
2082
|
package: packageAddress,
|
|
1704
|
-
module:
|
|
1705
|
-
function:
|
|
1706
|
-
arguments: (0,
|
|
1707
|
-
typeArguments: options.typeArguments
|
|
2083
|
+
module: 'trading',
|
|
2084
|
+
function: 'get_max_releasing_collateral_amount',
|
|
2085
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2086
|
+
typeArguments: options.typeArguments
|
|
1708
2087
|
});
|
|
1709
2088
|
}
|
|
1710
2089
|
/** [View Functio Only] Gets the estimated liquidation price and PnL for a position. */
|
|
1711
2090
|
function getEstimatedLiquidationPriceAndPnl(options) {
|
|
1712
|
-
const packageAddress = options.package ??
|
|
1713
|
-
const argumentsTypes = [
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
"positionId",
|
|
2091
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2092
|
+
const argumentsTypes = [
|
|
2093
|
+
`${packageAddress}::admin::Version`,
|
|
2094
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2095
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
2096
|
+
'0x02821e55ac15f878ebc46f5bbd611de4d683c70e6308abb78880fd7f9d1d98ed::typus_dov_single::Registry',
|
|
2097
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2',
|
|
2098
|
+
'u64',
|
|
2099
|
+
'u64',
|
|
2100
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
2101
|
+
'u64'
|
|
1724
2102
|
];
|
|
2103
|
+
const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "oracleV2", "marketIndex", "poolIndex", "positionId"];
|
|
1725
2104
|
return (tx) => tx.moveCall({
|
|
1726
2105
|
package: packageAddress,
|
|
1727
|
-
module:
|
|
1728
|
-
function:
|
|
1729
|
-
arguments: (0,
|
|
1730
|
-
typeArguments: options.typeArguments
|
|
2106
|
+
module: 'trading',
|
|
2107
|
+
function: 'get_estimated_liquidation_price_and_pnl',
|
|
2108
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2109
|
+
typeArguments: options.typeArguments
|
|
1731
2110
|
});
|
|
1732
2111
|
}
|
|
1733
2112
|
function calculateTradingFeeRateMbp(options) {
|
|
1734
|
-
const packageAddress = options.package ??
|
|
1735
|
-
const argumentsTypes = [
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
"tradingFeeConfig",
|
|
2113
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2114
|
+
const argumentsTypes = [
|
|
2115
|
+
'u64',
|
|
2116
|
+
'u64',
|
|
2117
|
+
'u64',
|
|
2118
|
+
'u64',
|
|
2119
|
+
'u64',
|
|
2120
|
+
'u64',
|
|
2121
|
+
'u64',
|
|
2122
|
+
'bool',
|
|
2123
|
+
'u64',
|
|
2124
|
+
'vector<u64>'
|
|
1747
2125
|
];
|
|
2126
|
+
const parameterNames = ["formulaVersion", "userLongPositionSize", "userShortPositionSize", "tvlUsd", "sizeDecimal", "tradingPairOraclePrice", "tradingPairOraclePriceDecimal", "orderSide", "orderSize", "tradingFeeConfig"];
|
|
1748
2127
|
return (tx) => tx.moveCall({
|
|
1749
2128
|
package: packageAddress,
|
|
1750
|
-
module:
|
|
1751
|
-
function:
|
|
1752
|
-
arguments: (0,
|
|
2129
|
+
module: 'trading',
|
|
2130
|
+
function: 'calculate_trading_fee_rate_mbp',
|
|
2131
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1753
2132
|
});
|
|
1754
2133
|
}
|
|
1755
2134
|
/** [View Function] Gets the BCS-serialized markets. */
|
|
1756
2135
|
function getMarketsBcs(options) {
|
|
1757
|
-
const packageAddress = options.package ??
|
|
1758
|
-
const argumentsTypes = [
|
|
2136
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2137
|
+
const argumentsTypes = [
|
|
2138
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2139
|
+
'vector<u64>'
|
|
2140
|
+
];
|
|
1759
2141
|
const parameterNames = ["registry", "indexes"];
|
|
1760
2142
|
return (tx) => tx.moveCall({
|
|
1761
2143
|
package: packageAddress,
|
|
1762
|
-
module:
|
|
1763
|
-
function:
|
|
1764
|
-
arguments: (0,
|
|
2144
|
+
module: 'trading',
|
|
2145
|
+
function: 'get_markets_bcs',
|
|
2146
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1765
2147
|
});
|
|
1766
2148
|
}
|
|
1767
2149
|
/** Gets a mutable reference to the market ID. WARNING: no authority check inside */
|
|
1768
2150
|
function getMutMarketId(options) {
|
|
1769
|
-
const packageAddress = options.package ??
|
|
1770
|
-
const argumentsTypes = [
|
|
2151
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2152
|
+
const argumentsTypes = [
|
|
2153
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2154
|
+
'u64'
|
|
2155
|
+
];
|
|
1771
2156
|
const parameterNames = ["registry", "marketIndex"];
|
|
1772
2157
|
return (tx) => tx.moveCall({
|
|
1773
2158
|
package: packageAddress,
|
|
1774
|
-
module:
|
|
1775
|
-
function:
|
|
1776
|
-
arguments: (0,
|
|
2159
|
+
module: 'trading',
|
|
2160
|
+
function: 'get_mut_market_id',
|
|
2161
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1777
2162
|
});
|
|
1778
2163
|
}
|
|
1779
2164
|
function tradingSymbolExists(options) {
|
|
1780
|
-
const packageAddress = options.package ??
|
|
1781
|
-
const argumentsTypes = [
|
|
2165
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2166
|
+
const argumentsTypes = [
|
|
2167
|
+
`${packageAddress}::trading::Markets`
|
|
2168
|
+
];
|
|
1782
2169
|
const parameterNames = ["market"];
|
|
1783
2170
|
return (tx) => tx.moveCall({
|
|
1784
2171
|
package: packageAddress,
|
|
1785
|
-
module:
|
|
1786
|
-
function:
|
|
1787
|
-
arguments: (0,
|
|
1788
|
-
typeArguments: options.typeArguments
|
|
2172
|
+
module: 'trading',
|
|
2173
|
+
function: 'trading_symbol_exists',
|
|
2174
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2175
|
+
typeArguments: options.typeArguments
|
|
2176
|
+
});
|
|
2177
|
+
}
|
|
2178
|
+
function managerCancelOrderByOpenInterestLimit(options) {
|
|
2179
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2180
|
+
const argumentsTypes = [
|
|
2181
|
+
`${packageAddress}::admin::Version`,
|
|
2182
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2183
|
+
`${packageAddress}::lp_pool::Registry`,
|
|
2184
|
+
'0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',
|
|
2185
|
+
'u64',
|
|
2186
|
+
'u64',
|
|
2187
|
+
'u8',
|
|
2188
|
+
'u64',
|
|
2189
|
+
'u64'
|
|
2190
|
+
];
|
|
2191
|
+
const parameterNames = ["version", "registry", "poolRegistry", "marketIndex", "poolIndex", "orderTypeTag", "triggerPrice", "maxOperationCount"];
|
|
2192
|
+
return (tx) => tx.moveCall({
|
|
2193
|
+
package: packageAddress,
|
|
2194
|
+
module: 'trading',
|
|
2195
|
+
function: 'manager_cancel_order_by_open_interest_limit',
|
|
2196
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
2197
|
+
typeArguments: options.typeArguments
|
|
1789
2198
|
});
|
|
1790
2199
|
}
|
|
1791
2200
|
function deprecated(options = {}) {
|
|
1792
|
-
const packageAddress = options.package ??
|
|
2201
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2202
|
+
return (tx) => tx.moveCall({
|
|
2203
|
+
package: packageAddress,
|
|
2204
|
+
module: 'trading',
|
|
2205
|
+
function: 'deprecated',
|
|
2206
|
+
});
|
|
2207
|
+
}
|
|
2208
|
+
/**
|
|
2209
|
+
* [Authorized Function] Overwrite every SymbolMarket's `oracle_id` with the live
|
|
2210
|
+
* `OracleV2` id. Run once after upgrading typus_perp to point all market configs
|
|
2211
|
+
* at the redeployed OracleV2.
|
|
2212
|
+
*/
|
|
2213
|
+
function migrateOracleIdToV2(options) {
|
|
2214
|
+
const packageAddress = options.package ?? '@typus/perp';
|
|
2215
|
+
const argumentsTypes = [
|
|
2216
|
+
`${packageAddress}::admin::Version`,
|
|
2217
|
+
`${packageAddress}::trading::MarketRegistry`,
|
|
2218
|
+
'0xd2e030ab7f0fc956c7e683cf3c6faf3d22868dee81a4aae9f4a10a6d998a8a02::oracle_v2::OracleV2'
|
|
2219
|
+
];
|
|
2220
|
+
const parameterNames = ["version", "registry", "oracleV2"];
|
|
1793
2221
|
return (tx) => tx.moveCall({
|
|
1794
2222
|
package: packageAddress,
|
|
1795
|
-
module:
|
|
1796
|
-
function:
|
|
2223
|
+
module: 'trading',
|
|
2224
|
+
function: 'migrate_oracle_id_to_v2',
|
|
2225
|
+
arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
|
|
1797
2226
|
});
|
|
1798
2227
|
}
|