@typus/typus-sdk 1.0.29 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/constants.d.ts +22 -0
  2. package/lib/constants.js +28 -0
  3. package/lib/utils/auction/sealedAuction.d.ts +33 -0
  4. package/lib/utils/auction/sealedAuction.js +64 -0
  5. package/lib/utils/leader-board.d.ts +7 -0
  6. package/lib/utils/leader-board.js +197 -0
  7. package/lib/utils/mint.d.ts +2 -0
  8. package/lib/utils/mint.js +58 -0
  9. package/lib/utils/tools.d.ts +1 -0
  10. package/lib/utils/tools.js +12 -0
  11. package/lib/utils/typus-dov-double/authorized-entry.d.ts +102 -0
  12. package/lib/utils/typus-dov-double/authorized-entry.js +295 -0
  13. package/lib/utils/typus-dov-double/manager-entry.d.ts +219 -0
  14. package/lib/utils/typus-dov-double/manager-entry.js +584 -0
  15. package/lib/utils/typus-dov-double/portfolio-vault.d.ts +68 -0
  16. package/lib/utils/typus-dov-double/portfolio-vault.js +296 -0
  17. package/lib/utils/typus-dov-double/user-entry.d.ts +93 -0
  18. package/lib/utils/typus-dov-double/user-entry.js +280 -0
  19. package/lib/utils/typus-dov-double/view-function.d.ts +11 -0
  20. package/lib/utils/typus-dov-double/view-function.js +213 -0
  21. package/lib/utils/typus-dov-single/portfolio-vault.d.ts +61 -0
  22. package/lib/utils/typus-dov-single/portfolio-vault.js +241 -0
  23. package/lib/utils/typus-dov-single/user-entry.d.ts +81 -0
  24. package/lib/utils/typus-dov-single/user-entry.js +284 -0
  25. package/lib/utils/typus-dov-single/view-function.d.ts +10 -0
  26. package/lib/utils/typus-dov-single/view-function.js +196 -0
  27. package/lib/utils/typus-framework/dutch.d.ts +25 -0
  28. package/lib/utils/typus-framework/dutch.js +84 -0
  29. package/lib/utils/typus-framework/vault.d.ts +32 -0
  30. package/lib/utils/typus-framework/vault.js +32 -0
  31. package/package.json +1 -1
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.getNewBidTx = exports.getUnsubscribeTx = exports.getCompoundTx = exports.getClaimAndHarvestTx = exports.getHarvestTx = exports.getClaimTx = exports.getWithdrawTx = exports.getDepositTx = void 0;
56
+ var sui_js_1 = require("@mysten/sui.js");
57
+ /**
58
+ public(friend) entry fun deposit<D_TOKEN, B_TOKEN, O_TOKEN>(
59
+ registry: &mut Registry,
60
+ index: u64,
61
+ coins: vector<Coin<D_TOKEN>>,
62
+ amount: u64,
63
+ ctx: &mut TxContext
64
+ )
65
+ @param typeArguments [Deposit Vault Token, Bid Vault Token, Oracle Token]
66
+ */
67
+ function getDepositTx(gasBudget, packageId, typeArguments, registry, index, coins, amount) {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ var tx, _a, coin;
70
+ return __generator(this, function (_b) {
71
+ tx = new sui_js_1.TransactionBlock();
72
+ if (typeArguments[0] == sui_js_1.SUI_TYPE_ARG) {
73
+ _a = __read(tx.splitCoins(tx.gas, [tx.pure(amount)]), 1), coin = _a[0];
74
+ tx.moveCall({
75
+ target: "".concat(packageId, "::typus_dov_single::deposit"),
76
+ typeArguments: typeArguments,
77
+ arguments: [tx.pure(registry), tx.pure(index), tx.makeMoveVec({ objects: [coin] }), tx.pure(amount)],
78
+ });
79
+ }
80
+ else {
81
+ tx.moveCall({
82
+ target: "".concat(packageId, "::typus_dov_single::deposit"),
83
+ typeArguments: typeArguments,
84
+ arguments: [tx.pure(registry), tx.pure(index), tx.makeMoveVec({ objects: coins.map(function (id) { return tx.object(id); }) }), tx.pure(amount)],
85
+ });
86
+ }
87
+ tx.setGasBudget(gasBudget);
88
+ return [2 /*return*/, tx];
89
+ });
90
+ });
91
+ }
92
+ exports.getDepositTx = getDepositTx;
93
+ /**
94
+ public(friend) entry fun withdraw<TOKEN>(
95
+ registry: &mut Registry,
96
+ index: u64,
97
+ share: Option<u64>,
98
+ ctx: &mut TxContext
99
+ )
100
+ @param typeArguments [Deposit Vault Token]
101
+ */
102
+ function getWithdrawTx(gasBudget, packageId, typeArguments, registry, index, share) {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var tx;
105
+ return __generator(this, function (_a) {
106
+ tx = new sui_js_1.TransactionBlock();
107
+ tx.moveCall({
108
+ target: "".concat(packageId, "::typus_dov_single::withdraw"),
109
+ typeArguments: typeArguments,
110
+ arguments: [tx.pure(registry), tx.pure(index), tx.pure(share ? [share] : [])],
111
+ });
112
+ tx.setGasBudget(gasBudget);
113
+ return [2 /*return*/, tx];
114
+ });
115
+ });
116
+ }
117
+ exports.getWithdrawTx = getWithdrawTx;
118
+ /**
119
+ public(friend) entry fun claim<TOKEN>(
120
+ registry: &mut Registry,
121
+ index: u64,
122
+ ctx: &mut TxContext
123
+ )
124
+ @param typeArguments [Deposit Vault Token]
125
+ */
126
+ function getClaimTx(gasBudget, packageId, typeArguments, registry, index) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var tx;
129
+ return __generator(this, function (_a) {
130
+ tx = new sui_js_1.TransactionBlock();
131
+ tx.moveCall({
132
+ target: "".concat(packageId, "::typus_dov_single::claim"),
133
+ typeArguments: typeArguments,
134
+ arguments: [tx.pure(registry), tx.pure(index)],
135
+ });
136
+ tx.setGasBudget(gasBudget);
137
+ return [2 /*return*/, tx];
138
+ });
139
+ });
140
+ }
141
+ exports.getClaimTx = getClaimTx;
142
+ /**
143
+ public(friend) entry fun harvest<TOKEN>(
144
+ registry: &mut Registry,
145
+ index: u64,
146
+ ctx: &mut TxContext
147
+ )
148
+ @param typeArguments [Bid Vault Token]
149
+ */
150
+ function getHarvestTx(gasBudget, packageId, typeArguments, registry, index) {
151
+ return __awaiter(this, void 0, void 0, function () {
152
+ var tx;
153
+ return __generator(this, function (_a) {
154
+ tx = new sui_js_1.TransactionBlock();
155
+ tx.moveCall({
156
+ target: "".concat(packageId, "::typus_dov_single::harvest"),
157
+ typeArguments: typeArguments,
158
+ arguments: [tx.pure(registry), tx.pure(index)],
159
+ });
160
+ tx.setGasBudget(gasBudget);
161
+ return [2 /*return*/, tx];
162
+ });
163
+ });
164
+ }
165
+ exports.getHarvestTx = getHarvestTx;
166
+ /**
167
+ public(friend) entry fun claim_and_harvest<D_TOKEN, B_TOKEN>(
168
+ registry: &mut Registry,
169
+ index: u64,
170
+ ctx: &mut TxContext
171
+ )
172
+ @param typeArguments [Deposit Vault Token, Bid Vault Token]
173
+ */
174
+ function getClaimAndHarvestTx(gasBudget, packageId, typeArguments, registry, index) {
175
+ return __awaiter(this, void 0, void 0, function () {
176
+ var tx;
177
+ return __generator(this, function (_a) {
178
+ tx = new sui_js_1.TransactionBlock();
179
+ tx.moveCall({
180
+ target: "".concat(packageId, "::typus_dov_single::claim_and_harvest"),
181
+ typeArguments: typeArguments,
182
+ arguments: [tx.pure(registry), tx.pure(index)],
183
+ });
184
+ tx.setGasBudget(gasBudget);
185
+ return [2 /*return*/, tx];
186
+ });
187
+ });
188
+ }
189
+ exports.getClaimAndHarvestTx = getClaimAndHarvestTx;
190
+ /**
191
+ public(friend) entry fun compound<TOKEN, O_TOKEN>(
192
+ registry: &mut Registry,
193
+ index: u64,
194
+ ctx: &mut TxContext,
195
+ )
196
+ @param typeArguments [Deposit Vault Token, Oracle Token]
197
+ */
198
+ function getCompoundTx(gasBudget, packageId, typeArguments, registry, index) {
199
+ return __awaiter(this, void 0, void 0, function () {
200
+ var tx;
201
+ return __generator(this, function (_a) {
202
+ tx = new sui_js_1.TransactionBlock();
203
+ tx.moveCall({
204
+ target: "".concat(packageId, "::typus_dov_single::compound"),
205
+ typeArguments: typeArguments,
206
+ arguments: [tx.pure(registry), tx.pure(index)],
207
+ });
208
+ tx.setGasBudget(gasBudget);
209
+ return [2 /*return*/, tx];
210
+ });
211
+ });
212
+ }
213
+ exports.getCompoundTx = getCompoundTx;
214
+ /**
215
+ public(friend) entry fun unsubscribe<TOKEN>(
216
+ registry: &mut Registry,
217
+ index: u64,
218
+ share: Option<u64>,
219
+ ctx: &mut TxContext
220
+ )
221
+ @param typeArguments [Deposit Vault Token]
222
+ */
223
+ function getUnsubscribeTx(gasBudget, packageId, typeArguments, registry, index, share) {
224
+ return __awaiter(this, void 0, void 0, function () {
225
+ var tx;
226
+ return __generator(this, function (_a) {
227
+ tx = new sui_js_1.TransactionBlock();
228
+ tx.moveCall({
229
+ target: "".concat(packageId, "::typus_dov_single::unsubscribe"),
230
+ typeArguments: typeArguments,
231
+ arguments: [tx.pure(registry), tx.pure(index), tx.pure(share ? [share] : [])],
232
+ });
233
+ tx.setGasBudget(gasBudget);
234
+ return [2 /*return*/, tx];
235
+ });
236
+ });
237
+ }
238
+ exports.getUnsubscribeTx = getUnsubscribeTx;
239
+ /**
240
+ public(friend) entry fun new_bid<D_TOKEN, B_TOKEN, O_TOKEN>(
241
+ registry: &mut Registry,
242
+ index: u64,
243
+ price_oracle: &Oracle<O_TOKEN>,
244
+ clock: &Clock,
245
+ coins: vector<Coin<B_TOKEN>>,
246
+ size: u64,
247
+ ctx: &mut TxContext,
248
+ )
249
+ @param typeArguments [Deposit Vault Token, Bid Vault Token, Oracle Token]
250
+ */
251
+ function getNewBidTx(gasBudget, packageId, typeArguments, registry, index, priceOracle, coins, size, premium_required // fe float * b_token_decimal
252
+ ) {
253
+ return __awaiter(this, void 0, void 0, function () {
254
+ var tx, _a, coin;
255
+ return __generator(this, function (_b) {
256
+ tx = new sui_js_1.TransactionBlock();
257
+ if (typeArguments[0] == sui_js_1.SUI_TYPE_ARG) {
258
+ _a = __read(tx.splitCoins(tx.gas, [tx.pure(premium_required)]), 1), coin = _a[0];
259
+ tx.moveCall({
260
+ target: "".concat(packageId, "::typus_dov_single::new_bid"),
261
+ typeArguments: typeArguments,
262
+ arguments: [tx.pure(registry), tx.pure(index), tx.pure(priceOracle), tx.pure("0x6"), tx.makeMoveVec({ objects: [coin] }), tx.pure(size)],
263
+ });
264
+ }
265
+ else {
266
+ tx.moveCall({
267
+ target: "".concat(packageId, "::typus_dov_single::new_bid"),
268
+ typeArguments: typeArguments,
269
+ arguments: [
270
+ tx.pure(registry),
271
+ tx.pure(index),
272
+ tx.pure(priceOracle),
273
+ tx.pure("0x6"),
274
+ tx.makeMoveVec({ objects: coins.map(function (id) { return tx.object(id); }) }),
275
+ tx.pure(size),
276
+ ],
277
+ });
278
+ }
279
+ tx.setGasBudget(gasBudget);
280
+ return [2 /*return*/, tx];
281
+ });
282
+ });
283
+ }
284
+ exports.getNewBidTx = getNewBidTx;
@@ -0,0 +1,10 @@
1
+ import { JsonRpcProvider } from "@mysten/sui.js";
2
+ import { DepositVaultUserShare, BidVaultUserShare } from "../typus-framework/vault";
3
+ export interface UserShare {
4
+ index: string;
5
+ depositVaultUserShare: DepositVaultUserShare;
6
+ bidVaultUserShare: BidVaultUserShare;
7
+ }
8
+ export declare function getUserShares(provider: JsonRpcProvider, packageId: string, registry: string, indexes: string[], user: string): Promise<Map<string, UserShare>>;
9
+ export declare function getAuctionMaxSize(provider: JsonRpcProvider, packageId: string, typeArguments: string[], registry: string, index: string, priceOracle: string): Promise<BigInt>;
10
+ export declare function getMaxLossPerUnit(provider: JsonRpcProvider, packageId: string, typeArguments: string[], registry: string, index: string, priceOracle: string): Promise<BigInt>;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.getMaxLossPerUnit = exports.getAuctionMaxSize = exports.getUserShares = void 0;
56
+ var sui_js_1 = require("@mysten/sui.js");
57
+ var tools_1 = require("../tools");
58
+ var constants_1 = require("../../constants");
59
+ function getUserShares(provider, packageId, registry, indexes, user) {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ var transactionBlock, target, transactionBlockArguments, bytes, result, user_share_bytes, index, tag, share;
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0:
65
+ transactionBlock = new sui_js_1.TransactionBlock();
66
+ target = "".concat(packageId, "::typus_dov_single::get_user_shares");
67
+ transactionBlockArguments = [transactionBlock.pure(registry), transactionBlock.pure(indexes), transactionBlock.pure(user)];
68
+ transactionBlock.moveCall({
69
+ target: target,
70
+ arguments: transactionBlockArguments,
71
+ });
72
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: user })];
73
+ case 1:
74
+ bytes = (_a.sent()).results[0].returnValues[0][0];
75
+ result = Array.from(new Map()).reduce(function (map, _a) {
76
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
77
+ map[key] = value;
78
+ return map;
79
+ }, {});
80
+ while (bytes.length > 49) {
81
+ user_share_bytes = bytes.splice(bytes.length - 49, 49);
82
+ index = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 8).reverse()).toString();
83
+ tag = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 1).reverse()).toString();
84
+ user_share_bytes.splice(0, 32);
85
+ share = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 8).reverse());
86
+ if (result[index] == undefined) {
87
+ result[index] = {
88
+ index: index,
89
+ depositVaultUserShare: {
90
+ activeSubVaultUserShare: BigInt(0),
91
+ deactivatingSubVaultUserShare: BigInt(0),
92
+ inactiveSubVaultUserShare: BigInt(0),
93
+ warmupSubVaultUserShare: BigInt(0),
94
+ },
95
+ bidVaultUserShare: {
96
+ bidderSubVaultUserShare: BigInt(0),
97
+ premiumSubVaultUserShare: BigInt(0),
98
+ performanceFeeSubVaultUserShare: BigInt(0),
99
+ },
100
+ };
101
+ }
102
+ result[index].index = index;
103
+ switch (tag) {
104
+ case "0": {
105
+ result[index].depositVaultUserShare.activeSubVaultUserShare = share;
106
+ break;
107
+ }
108
+ case "1": {
109
+ result[index].depositVaultUserShare.deactivatingSubVaultUserShare = share;
110
+ break;
111
+ }
112
+ case "2": {
113
+ result[index].depositVaultUserShare.inactiveSubVaultUserShare = share;
114
+ break;
115
+ }
116
+ case "3": {
117
+ result[index].depositVaultUserShare.warmupSubVaultUserShare = share;
118
+ break;
119
+ }
120
+ case "4": {
121
+ result[index].bidVaultUserShare.bidderSubVaultUserShare = share;
122
+ break;
123
+ }
124
+ case "5": {
125
+ result[index].bidVaultUserShare.premiumSubVaultUserShare = share;
126
+ break;
127
+ }
128
+ case "6": {
129
+ result[index].bidVaultUserShare.performanceFeeSubVaultUserShare = share;
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ // @ts-ignore
135
+ return [2 /*return*/, result];
136
+ }
137
+ });
138
+ });
139
+ }
140
+ exports.getUserShares = getUserShares;
141
+ function getAuctionMaxSize(provider, packageId, typeArguments, registry, index, priceOracle) {
142
+ return __awaiter(this, void 0, void 0, function () {
143
+ var transactionBlock, target, transactionBlockArguments, bytes;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ transactionBlock = new sui_js_1.TransactionBlock();
148
+ target = "".concat(packageId, "::typus_dov_single::get_auction_max_size");
149
+ transactionBlockArguments = [
150
+ transactionBlock.pure(registry),
151
+ transactionBlock.pure(index),
152
+ transactionBlock.pure(priceOracle),
153
+ transactionBlock.pure(constants_1.CLOCK),
154
+ ];
155
+ transactionBlock.moveCall({
156
+ target: target,
157
+ typeArguments: typeArguments,
158
+ arguments: transactionBlockArguments,
159
+ });
160
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: constants_1.SENDER })];
161
+ case 1:
162
+ bytes = (_a.sent()).results[0].returnValues[0][0];
163
+ return [2 /*return*/, (0, tools_1.U64FromBytes)(bytes.reverse())];
164
+ }
165
+ });
166
+ });
167
+ }
168
+ exports.getAuctionMaxSize = getAuctionMaxSize;
169
+ function getMaxLossPerUnit(provider, packageId, typeArguments, registry, index, priceOracle) {
170
+ return __awaiter(this, void 0, void 0, function () {
171
+ var transactionBlock, target, transactionBlockArguments, bytes;
172
+ return __generator(this, function (_a) {
173
+ switch (_a.label) {
174
+ case 0:
175
+ transactionBlock = new sui_js_1.TransactionBlock();
176
+ target = "".concat(packageId, "::typus_dov_single::get_max_loss_per_unit");
177
+ transactionBlockArguments = [
178
+ transactionBlock.pure(registry),
179
+ transactionBlock.pure(index),
180
+ transactionBlock.pure(priceOracle),
181
+ transactionBlock.pure(constants_1.CLOCK),
182
+ ];
183
+ transactionBlock.moveCall({
184
+ target: target,
185
+ typeArguments: typeArguments,
186
+ arguments: transactionBlockArguments,
187
+ });
188
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: constants_1.SENDER })];
189
+ case 1:
190
+ bytes = (_a.sent()).results[0].returnValues[0][0];
191
+ return [2 /*return*/, (0, tools_1.U64FromBytes)(bytes.reverse())];
192
+ }
193
+ });
194
+ });
195
+ }
196
+ exports.getMaxLossPerUnit = getMaxLossPerUnit;
@@ -0,0 +1,25 @@
1
+ import { JsonRpcProvider } from "@mysten/sui.js";
2
+ export interface Auction {
3
+ startTsMs: string;
4
+ endTsMs: string;
5
+ priceConfig: PriceConfig;
6
+ bidIndex: string;
7
+ bids: string;
8
+ ownerships: string;
9
+ totalBidSize: string;
10
+ ableToRemoveBid: boolean;
11
+ }
12
+ export interface PriceConfig {
13
+ decaySpeed: string;
14
+ initialPrice: string;
15
+ finalPrice: string;
16
+ }
17
+ export interface Bid {
18
+ price: string;
19
+ size: string;
20
+ tsMs: string;
21
+ tokenBalance: string;
22
+ ownerAddress: string;
23
+ }
24
+ export declare function parseAuction(auction: any): Auction;
25
+ export declare function getBids(provider: JsonRpcProvider, auction: Auction): Promise<Bid[]>;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getBids = exports.parseAuction = void 0;
40
+ function parseAuction(auction) {
41
+ return {
42
+ startTsMs: auction.fields.start_ts_ms,
43
+ endTsMs: auction.fields.end_ts_ms,
44
+ priceConfig: {
45
+ decaySpeed: auction.fields.price_config.fields.decay_speed,
46
+ initialPrice: auction.fields.price_config.fields.initial_price,
47
+ finalPrice: auction.fields.price_config.fields.final_price,
48
+ },
49
+ bidIndex: auction.fields.bid_index,
50
+ bids: auction.fields.bids.fields.id.id,
51
+ ownerships: auction.fields.ownerships.fields.id.id,
52
+ totalBidSize: auction.fields.total_bid_size,
53
+ ableToRemoveBid: auction.fields.able_to_remove_bid,
54
+ };
55
+ }
56
+ exports.parseAuction = parseAuction;
57
+ function getBids(provider, auction) {
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ var bidIds;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0: return [4 /*yield*/, provider.getDynamicFields({ parentId: auction.bids })];
63
+ case 1:
64
+ bidIds = (_a.sent()).data.map(function (x) { return x.objectId; });
65
+ return [4 /*yield*/, provider.multiGetObjects({
66
+ ids: bidIds,
67
+ options: { showContent: true },
68
+ })];
69
+ case 2: return [2 /*return*/, (_a.sent()).map(function (e) {
70
+ //@ts-ignore
71
+ var bidData = e.data.content.fields.value.fields;
72
+ return {
73
+ price: bidData.price,
74
+ size: bidData.size,
75
+ tsMs: bidData.ts_ms,
76
+ tokenBalance: bidData.balance,
77
+ ownerAddress: bidData.bidder,
78
+ };
79
+ })];
80
+ }
81
+ });
82
+ });
83
+ }
84
+ exports.getBids = getBids;
@@ -0,0 +1,32 @@
1
+ export interface DepositVault {
2
+ token: string;
3
+ activeSubVault: SubVault;
4
+ deactivatingSubVault: SubVault;
5
+ inactiveSubVault: SubVault;
6
+ warmupSubVault: SubVault;
7
+ hasNext: boolean;
8
+ }
9
+ export interface BidVault {
10
+ token: string;
11
+ bidderSubVault: SubVault;
12
+ premiumSubVault: SubVault;
13
+ performanceFeeSubVault: SubVault;
14
+ }
15
+ export interface SubVault {
16
+ balance: string;
17
+ shareSupply: string;
18
+ }
19
+ export interface DepositVaultUserShare {
20
+ activeSubVaultUserShare: bigint;
21
+ deactivatingSubVaultUserShare: bigint;
22
+ inactiveSubVaultUserShare: bigint;
23
+ warmupSubVaultUserShare: bigint;
24
+ }
25
+ export interface BidVaultUserShare {
26
+ bidderSubVaultUserShare: bigint;
27
+ premiumSubVaultUserShare: bigint;
28
+ performanceFeeSubVaultUserShare: bigint;
29
+ }
30
+ export declare function parseDepositVault(depositVault: any): DepositVault;
31
+ export declare function parseBidVault(bidVault: any): BidVault;
32
+ export declare function parseSubVault(subVault: any): SubVault;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseSubVault = exports.parseBidVault = exports.parseDepositVault = void 0;
4
+ function parseDepositVault(depositVault) {
5
+ return {
6
+ // @ts-ignore
7
+ token: new RegExp(".*<.*, (.*)>").exec(depositVault.type)[1],
8
+ activeSubVault: parseSubVault(depositVault.fields.active_sub_vault),
9
+ deactivatingSubVault: parseSubVault(depositVault.fields.deactivating_sub_vault),
10
+ inactiveSubVault: parseSubVault(depositVault.fields.inactive_sub_vault),
11
+ warmupSubVault: parseSubVault(depositVault.fields.warmup_sub_vault),
12
+ hasNext: depositVault.fields.has_next,
13
+ };
14
+ }
15
+ exports.parseDepositVault = parseDepositVault;
16
+ function parseBidVault(bidVault) {
17
+ return {
18
+ // @ts-ignore
19
+ token: new RegExp(".*<.*, (.*)>").exec(bidVault.type)[1],
20
+ bidderSubVault: parseSubVault(bidVault.fields.bidder_sub_vault),
21
+ premiumSubVault: parseSubVault(bidVault.fields.premium_sub_vault),
22
+ performanceFeeSubVault: parseSubVault(bidVault.fields.performance_fee_sub_vault),
23
+ };
24
+ }
25
+ exports.parseBidVault = parseBidVault;
26
+ function parseSubVault(subVault) {
27
+ return {
28
+ balance: subVault.fields.balance,
29
+ shareSupply: subVault.fields.share_supply,
30
+ };
31
+ }
32
+ exports.parseSubVault = parseSubVault;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typus/typus-sdk",
3
3
  "author": "Typus",
4
4
  "description": "typus sdk",
5
- "version": "1.0.29",
5
+ "version": "1.0.31",
6
6
  "dependencies": {
7
7
  "@mysten/sui.js": "^0.33.0",
8
8
  "@types/node": "^17.0.0",