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