@typus/typus-sdk 1.0.10 → 1.0.12

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 (137) hide show
  1. package/lib/constants.d.ts +1 -1
  2. package/lib/constants.js +4 -3
  3. package/lib/test/{getUserShares.js → getUserInfo.js} +7 -7
  4. package/lib/test/mergeCoins.js +76 -0
  5. package/lib/test/multiple-collateral/getPortfolioVaults.js +61 -0
  6. package/lib/test/multiple-collateral/getUserShares.js +59 -0
  7. package/lib/test/{authorized → single-collateral/authorized}/testAuthorizedNewPortfolioVault.js +2 -2
  8. package/lib/test/{authorized → single-collateral/authorized}/testAuthorizedUpdateUpcomingVaultConfig.js +2 -2
  9. package/lib/test/{authorized → single-collateral/authorized}/testAuthorizedUpdateWarmupVaultConfig.js +2 -2
  10. package/lib/test/{getBidData.js → single-collateral/getBidData.js} +3 -3
  11. package/lib/test/single-collateral/getPortfolioVaults.js +58 -0
  12. package/lib/test/single-collateral/getUserShares.js +59 -0
  13. package/lib/test/{getVaultData.js → single-collateral/getVaultData.js} +2 -2
  14. package/lib/test/{getWhiteListFromRegistry.js → single-collateral/getWhiteListFromRegistry.js} +2 -2
  15. package/lib/test/{helper → single-collateral/helper}/getAuctionMaxSize.js +4 -4
  16. package/lib/test/{helper → single-collateral/helper}/getUserStatus.js +3 -3
  17. package/lib/test/{testCrypto.js → single-collateral/testCrypto.js} +1 -1
  18. package/lib/test/{testMint.js → single-collateral/testMint.js} +2 -2
  19. package/lib/test/{testSDK.js → single-collateral/testSDK.js} +1 -1
  20. package/lib/test/{user → single-collateral/user}/testClaim.js +3 -3
  21. package/lib/test/{user → single-collateral/user}/testCompound.js +3 -3
  22. package/lib/test/single-collateral/user/testDeposit.d.ts +1 -0
  23. package/lib/test/{user → single-collateral/user}/testDeposit.js +3 -3
  24. package/lib/test/single-collateral/user/testHarvest.d.ts +1 -0
  25. package/lib/test/{user → single-collateral/user}/testHarvest.js +3 -3
  26. package/lib/test/single-collateral/user/testNewBid.d.ts +1 -0
  27. package/lib/test/{user → single-collateral/user}/testNewBid.js +3 -3
  28. package/lib/test/single-collateral/user/testUnsubscribe.d.ts +1 -0
  29. package/lib/test/{user → single-collateral/user}/testUnsubscribe.js +5 -5
  30. package/lib/test/single-collateral/user/testWithdraw.d.ts +1 -0
  31. package/lib/test/{user → single-collateral/user}/testWithdraw.js +3 -3
  32. package/lib/utils/auction/getBid.d.ts +1 -1
  33. package/lib/utils/portfolio/multiple-collateral/portfolio-vault.d.ts +68 -0
  34. package/lib/utils/portfolio/multiple-collateral/portfolio-vault.js +292 -0
  35. package/lib/utils/portfolio/multiple-collateral/user-share.d.ts +9 -0
  36. package/lib/utils/portfolio/multiple-collateral/user-share.js +149 -0
  37. package/lib/utils/{getVaultData.d.ts → portfolio/single-collateral/getVaultData.d.ts} +5 -0
  38. package/lib/utils/{getVaultData.js → portfolio/single-collateral/getVaultData.js} +47 -1
  39. package/lib/utils/portfolio/single-collateral/portfolio-vault.d.ts +61 -0
  40. package/lib/utils/portfolio/single-collateral/portfolio-vault.js +241 -0
  41. package/lib/utils/portfolio/single-collateral/user-share.d.ts +8 -0
  42. package/lib/utils/portfolio/single-collateral/user-share.js +127 -0
  43. package/lib/utils/tools.d.ts +1 -0
  44. package/lib/utils/tools.js +12 -0
  45. package/lib/utils/typus-framework/dutch.d.ts +23 -0
  46. package/lib/utils/typus-framework/dutch.js +20 -0
  47. package/lib/utils/typus-framework/vault.d.ts +30 -0
  48. package/lib/utils/typus-framework/vault.js +28 -0
  49. package/package.json +2 -2
  50. package/lib/mnemonic.json +0 -1
  51. /package/lib/test/{authorized/testAuthorizedNewPortfolioVault.d.ts → getUserInfo.d.ts} +0 -0
  52. /package/lib/test/{authorized/testAuthorizedUpdateUpcomingVaultConfig.d.ts → mergeCoins.d.ts} +0 -0
  53. /package/lib/test/{authorized/testAuthorizedUpdateWarmupVaultConfig.d.ts → multiple-collateral/getPortfolioVaults.d.ts} +0 -0
  54. /package/lib/test/{getUserShares.d.ts → multiple-collateral/getUserShares.d.ts} +0 -0
  55. /package/lib/test/{getBidData.d.ts → single-collateral/authorized/testAuthorizedNewPortfolioVault.d.ts} +0 -0
  56. /package/lib/test/{getVaultData.d.ts → single-collateral/authorized/testAuthorizedUpdateUpcomingVaultConfig.d.ts} +0 -0
  57. /package/lib/test/{getWhiteListFromRegistry.d.ts → single-collateral/authorized/testAuthorizedUpdateWarmupVaultConfig.d.ts} +0 -0
  58. /package/lib/test/{helper/getAuctionMaxSize.d.ts → single-collateral/getBidData.d.ts} +0 -0
  59. /package/lib/test/{helper/getUserStatus.d.ts → single-collateral/getPortfolioVaults.d.ts} +0 -0
  60. /package/lib/test/{testCrypto.d.ts → single-collateral/getUserShares.d.ts} +0 -0
  61. /package/lib/test/{testMint.d.ts → single-collateral/getVaultData.d.ts} +0 -0
  62. /package/lib/test/{testSDK.d.ts → single-collateral/getWhiteListFromRegistry.d.ts} +0 -0
  63. /package/lib/test/{testSubscribeEvent.d.ts → single-collateral/helper/getAuctionMaxSize.d.ts} +0 -0
  64. /package/lib/test/{user/testClaim.d.ts → single-collateral/helper/getUserStatus.d.ts} +0 -0
  65. /package/lib/test/{user/testCompound.d.ts → single-collateral/testCrypto.d.ts} +0 -0
  66. /package/lib/test/{user/testDeposit.d.ts → single-collateral/testMint.d.ts} +0 -0
  67. /package/lib/test/{user/testHarvest.d.ts → single-collateral/testSDK.d.ts} +0 -0
  68. /package/lib/test/{user/testNewBid.d.ts → single-collateral/testSubscribeEvent.d.ts} +0 -0
  69. /package/lib/test/{testSubscribeEvent.js → single-collateral/testSubscribeEvent.js} +0 -0
  70. /package/lib/test/{user/testUnsubscribe.d.ts → single-collateral/user/testClaim.d.ts} +0 -0
  71. /package/lib/test/{user/testWithdraw.d.ts → single-collateral/user/testCompound.d.ts} +0 -0
  72. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedAddPortfolioVaultAuthorizedUserTx.d.ts +0 -0
  73. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedAddPortfolioVaultAuthorizedUserTx.js +0 -0
  74. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedDeliveryTx.d.ts +0 -0
  75. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedDeliveryTx.js +0 -0
  76. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedNewPortfolioVaultTx.d.ts +0 -0
  77. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedNewPortfolioVaultTx.js +0 -0
  78. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedRemovePortfolioVaultAuthorizedUserTx.d.ts +0 -0
  79. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedRemovePortfolioVaultAuthorizedUserTx.js +0 -0
  80. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateCapacityTx.d.ts +0 -0
  81. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateCapacityTx.js +0 -0
  82. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateUpcomingVaultConfigTx.d.ts +0 -0
  83. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateUpcomingVaultConfigTx.js +0 -0
  84. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateWarmupVaultConfigTx.d.ts +0 -0
  85. /package/lib/utils/portfolio/{authorized → single-collateral/authorized}/getAuthorizedUpdateWarmupVaultConfigTx.js +0 -0
  86. /package/lib/utils/{fetchData.d.ts → portfolio/single-collateral/fetchData.d.ts} +0 -0
  87. /package/lib/utils/{fetchData.js → portfolio/single-collateral/fetchData.js} +0 -0
  88. /package/lib/utils/{getMintTx.d.ts → portfolio/single-collateral/getMintTx.d.ts} +0 -0
  89. /package/lib/utils/{getMintTx.js → portfolio/single-collateral/getMintTx.js} +0 -0
  90. /package/lib/utils/{getTypeArgumentFromToken.d.ts → portfolio/single-collateral/getTypeArgumentFromToken.d.ts} +0 -0
  91. /package/lib/utils/{getTypeArgumentFromToken.js → portfolio/single-collateral/getTypeArgumentFromToken.js} +0 -0
  92. /package/lib/utils/{getWhiteListFromRegistry.d.ts → portfolio/single-collateral/getWhiteListFromRegistry.d.ts} +0 -0
  93. /package/lib/utils/{getWhiteListFromRegistry.js → portfolio/single-collateral/getWhiteListFromRegistry.js} +0 -0
  94. /package/lib/utils/portfolio/{helper → single-collateral/helper}/getAuctionMaxSize.d.ts +0 -0
  95. /package/lib/utils/portfolio/{helper → single-collateral/helper}/getAuctionMaxSize.js +0 -0
  96. /package/lib/utils/portfolio/{helper → single-collateral/helper}/getUserStatus.d.ts +0 -0
  97. /package/lib/utils/portfolio/{helper → single-collateral/helper}/getUserStatus.js +0 -0
  98. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getAddAuthorizedUserTx.d.ts +0 -0
  99. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getAddAuthorizedUserTx.js +0 -0
  100. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getAddPortfolioVaultAuthorizedUserTx.d.ts +0 -0
  101. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getAddPortfolioVaultAuthorizedUserTx.js +0 -0
  102. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getCloseAuctionTx.d.ts +0 -0
  103. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getCloseAuctionTx.js +0 -0
  104. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getCloseVaultTx.d.ts +0 -0
  105. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getCloseVaultTx.js +0 -0
  106. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getDeliveryTx.d.ts +0 -0
  107. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getDeliveryTx.js +0 -0
  108. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getEvolutionTx.d.ts +0 -0
  109. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getEvolutionTx.js +0 -0
  110. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getNewManagerTx.d.ts +0 -0
  111. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getNewManagerTx.js +0 -0
  112. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getNewPortfolioVaultTx.d.ts +0 -0
  113. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getNewPortfolioVaultTx.js +0 -0
  114. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemoveAuthorizedUserTx.d.ts +0 -0
  115. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemoveAuthorizedUserTx.js +0 -0
  116. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemoveManagerTx.d.ts +0 -0
  117. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemoveManagerTx.js +0 -0
  118. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemovePortfolioVaultAuthorizedUserTx.d.ts +0 -0
  119. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getRemovePortfolioVaultAuthorizedUserTx.js +0 -0
  120. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getUpdateCapacityTx.d.ts +0 -0
  121. /package/lib/utils/portfolio/{manager → single-collateral/manager}/getUpdateCapacityTx.js +0 -0
  122. /package/lib/utils/portfolio/{user → single-collateral/user}/getClaimAndHarvestTx.d.ts +0 -0
  123. /package/lib/utils/portfolio/{user → single-collateral/user}/getClaimAndHarvestTx.js +0 -0
  124. /package/lib/utils/portfolio/{user → single-collateral/user}/getClaimTx.d.ts +0 -0
  125. /package/lib/utils/portfolio/{user → single-collateral/user}/getClaimTx.js +0 -0
  126. /package/lib/utils/portfolio/{user → single-collateral/user}/getCompoundTx.d.ts +0 -0
  127. /package/lib/utils/portfolio/{user → single-collateral/user}/getCompoundTx.js +0 -0
  128. /package/lib/utils/portfolio/{user → single-collateral/user}/getDepositTx.d.ts +0 -0
  129. /package/lib/utils/portfolio/{user → single-collateral/user}/getDepositTx.js +0 -0
  130. /package/lib/utils/portfolio/{user → single-collateral/user}/getHarvestTx.d.ts +0 -0
  131. /package/lib/utils/portfolio/{user → single-collateral/user}/getHarvestTx.js +0 -0
  132. /package/lib/utils/portfolio/{user → single-collateral/user}/getNewBidTx.d.ts +0 -0
  133. /package/lib/utils/portfolio/{user → single-collateral/user}/getNewBidTx.js +0 -0
  134. /package/lib/utils/portfolio/{user → single-collateral/user}/getUnsubscribeTx.d.ts +0 -0
  135. /package/lib/utils/portfolio/{user → single-collateral/user}/getUnsubscribeTx.js +0 -0
  136. /package/lib/utils/portfolio/{user → single-collateral/user}/getWithdrawTx.d.ts +0 -0
  137. /package/lib/utils/portfolio/{user → single-collateral/user}/getWithdrawTx.js +0 -0
@@ -47,7 +47,7 @@ var __values = (this && this.__values) || function(o) {
47
47
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.getUserShares = exports.getNodesKeyFromLinkedList = exports.getVaultDataFromRegistry = void 0;
50
+ exports.getUserInfo = exports.getUserShares = exports.getNodesKeyFromLinkedList = exports.getVaultDataFromRegistry = void 0;
51
51
  var fetchData_1 = require("./fetchData");
52
52
  function getVaultDataFromRegistry(registry, provider, index) {
53
53
  return __awaiter(this, void 0, void 0, function () {
@@ -267,3 +267,49 @@ function getUserShares(user_share_registry, provider, user) {
267
267
  });
268
268
  }
269
269
  exports.getUserShares = getUserShares;
270
+ function getUserInfo(user_share_registry, provider) {
271
+ return __awaiter(this, void 0, void 0, function () {
272
+ var user_shares, objsInfo, user_infos;
273
+ return __generator(this, function (_a) {
274
+ switch (_a.label) {
275
+ case 0: return [4 /*yield*/, provider.getDynamicFields({
276
+ parentId: user_share_registry,
277
+ })];
278
+ case 1:
279
+ user_shares = (_a.sent()).data;
280
+ return [4 /*yield*/, provider.multiGetObjects({
281
+ ids: user_shares.map(function (user_share) { return user_share.objectId; }),
282
+ options: { showContent: true },
283
+ })];
284
+ case 2:
285
+ objsInfo = _a.sent();
286
+ user_infos = [];
287
+ objsInfo.forEach(function (info) {
288
+ // @ts-ignore
289
+ var fields = info.data.content.fields;
290
+ if (fields.value.fields.exists) {
291
+ var share = {
292
+ index: fields.name.fields.index,
293
+ tag: fields.name.fields.tag,
294
+ value: fields.value.fields.value,
295
+ };
296
+ var user_1 = fields.name.fields.user;
297
+ var user_info = user_infos.find(function (user_info) { return user_info.user == user_1; });
298
+ if (user_info) {
299
+ user_info.shares.push(share);
300
+ }
301
+ else {
302
+ var info_1 = {
303
+ user: user_1,
304
+ shares: [share],
305
+ };
306
+ user_infos.push(info_1);
307
+ }
308
+ }
309
+ });
310
+ return [2 /*return*/, user_infos];
311
+ }
312
+ });
313
+ });
314
+ }
315
+ exports.getUserInfo = getUserInfo;
@@ -0,0 +1,61 @@
1
+ import { JsonRpcProvider } from '@mysten/sui.js';
2
+ import { DepositVault, BidVault } from '../../typus-framework/vault';
3
+ import { Auction } from '../../typus-framework/dutch';
4
+ export interface PortfolioVault {
5
+ vaultId: string;
6
+ typeArgs: string[];
7
+ assets: string[];
8
+ info: Info;
9
+ config: Config;
10
+ depositVault: DepositVault;
11
+ bidVault: BidVault;
12
+ auction: Auction;
13
+ authority: string;
14
+ tokenTvl: bigint;
15
+ usdTvl: bigint;
16
+ }
17
+ export interface Info {
18
+ index: string;
19
+ creator: string;
20
+ createTsMs: string;
21
+ round: string;
22
+ deliveryInfo?: DeliveryInfo;
23
+ }
24
+ export interface DeliveryInfo {
25
+ round: string;
26
+ price: string;
27
+ size: string;
28
+ premium: string;
29
+ tsMs: string;
30
+ }
31
+ export interface Config {
32
+ optionType: string;
33
+ period: number;
34
+ activationTsMs: string;
35
+ expirationTsMs: string;
36
+ dTokenDecimal: string;
37
+ bTokenDecimal: string;
38
+ oTokenDecimal: string;
39
+ lotSize: string;
40
+ capacity: string;
41
+ leverage: string;
42
+ hasNext: boolean;
43
+ activeVaultConfig: VaultConfig;
44
+ warmupVaultConfig: VaultConfig;
45
+ upcomingVaultConfig: VaultConfig;
46
+ }
47
+ export interface VaultConfig {
48
+ payoffConfigs: PayoffConfig[];
49
+ strikeIncrement: string;
50
+ decaySpeed: string;
51
+ initialPrice: string;
52
+ finalPrice: string;
53
+ auctionDurationInMs: string;
54
+ }
55
+ export interface PayoffConfig {
56
+ strikePct: string;
57
+ weight: string;
58
+ isBuyer: boolean;
59
+ strike?: string;
60
+ }
61
+ export declare function getPortfolioVaults(provider: JsonRpcProvider, registry: string, deposit_vault_registry: string, bid_vault_registry: string, index?: string): Promise<Map<string, PortfolioVault>>;
@@ -0,0 +1,241 @@
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.getPortfolioVaults = void 0;
40
+ var vault_1 = require("../../typus-framework/vault");
41
+ var dutch_1 = require("../../typus-framework/dutch");
42
+ function getPortfolioVaults(provider, registry, deposit_vault_registry, bid_vault_registry, index) {
43
+ return __awaiter(this, void 0, void 0, function () {
44
+ var portfolioVaultIds, portfolioVaults, depositVaultIds, depositVaults, bidVaultIds, bidVaults;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0: return [4 /*yield*/, provider.getDynamicFields({ parentId: registry })];
48
+ case 1:
49
+ portfolioVaultIds = (_a.sent()).data
50
+ .filter(function (x) { return (index ? x.name.value == index : true); })
51
+ .map(function (x) { return x.objectId; });
52
+ return [4 /*yield*/, provider.multiGetObjects({
53
+ ids: portfolioVaultIds,
54
+ options: { showContent: true },
55
+ })];
56
+ case 2:
57
+ portfolioVaults = (_a.sent())
58
+ .filter(function (portfolioVault) { return portfolioVault.error == undefined; })
59
+ .reduce(function (map, portfolioVault) {
60
+ // console.log(JSON.stringify(portfolioVault, null, 4));
61
+ // @ts-ignore
62
+ var vaultId = portfolioVault.data.content.fields.id.id;
63
+ // @ts-ignore
64
+ var typeArgs = new RegExp('.*<(.*), (.*), (.*)>').exec(portfolioVault.data.content.type).slice(1, 4);
65
+ var assets = typeArgs.map(function (x) { return x.split('::')[2]; });
66
+ var deliveryInfo =
67
+ // @ts-ignore
68
+ portfolioVault.data.content.fields.info.fields.delivery_info
69
+ ? {
70
+ // @ts-ignore
71
+ round: portfolioVault.data.content.fields.info.fields.delivery_info.fields.round,
72
+ // @ts-ignore
73
+ price: portfolioVault.data.content.fields.info.fields.delivery_info.fields.price,
74
+ // @ts-ignore
75
+ size: portfolioVault.data.content.fields.info.fields.delivery_info.fields.size,
76
+ // @ts-ignore
77
+ premium: portfolioVault.data.content.fields.info.fields.delivery_info.fields.premium,
78
+ // @ts-ignore
79
+ tsMs: portfolioVault.data.content.fields.info.fields.delivery_info.fields.ts_ms,
80
+ }
81
+ : undefined;
82
+ var info = {
83
+ // @ts-ignore
84
+ index: portfolioVault.data.content.fields.info.fields.index,
85
+ // @ts-ignore
86
+ creator: portfolioVault.data.content.fields.info.fields.creator,
87
+ // @ts-ignore
88
+ createTsMs: portfolioVault.data.content.fields.info.fields.create_ts_ms,
89
+ // @ts-ignore
90
+ round: portfolioVault.data.content.fields.info.fields.round,
91
+ deliveryInfo: deliveryInfo,
92
+ };
93
+ var config = {
94
+ // @ts-ignore
95
+ optionType: portfolioVault.data.content.fields.config.fields.option_type,
96
+ // @ts-ignore
97
+ period: portfolioVault.data.content.fields.config.fields.period,
98
+ // @ts-ignore
99
+ activationTsMs: portfolioVault.data.content.fields.config.fields.activation_ts_ms,
100
+ // @ts-ignore
101
+ expirationTsMs: portfolioVault.data.content.fields.config.fields.expiration_ts_ms,
102
+ // @ts-ignore
103
+ dTokenDecimal: portfolioVault.data.content.fields.config.fields.d_token_decimal,
104
+ // @ts-ignore
105
+ bTokenDecimal: portfolioVault.data.content.fields.config.fields.b_token_decimal,
106
+ // @ts-ignore
107
+ oTokenDecimal: portfolioVault.data.content.fields.config.fields.o_token_decimal,
108
+ // @ts-ignore
109
+ lotSize: portfolioVault.data.content.fields.config.fields.lot_size,
110
+ // @ts-ignore
111
+ capacity: portfolioVault.data.content.fields.config.fields.capacity,
112
+ // @ts-ignore
113
+ leverage: portfolioVault.data.content.fields.config.fields.leverage,
114
+ // @ts-ignore
115
+ hasNext: portfolioVault.data.content.fields.config.fields.has_next,
116
+ activeVaultConfig: {
117
+ // @ts-ignore
118
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.payoff_configs.map(function (x) {
119
+ return ({
120
+ strikePct: x.fields.strike_pct,
121
+ weight: x.fields.weight,
122
+ isBuyer: x.fields.is_buyer,
123
+ strike: x.fields.strike,
124
+ });
125
+ }),
126
+ // @ts-ignore
127
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.strike_increment,
128
+ // @ts-ignore
129
+ decaySpeed: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.decay_speed,
130
+ // @ts-ignore
131
+ initialPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.initial_price,
132
+ // @ts-ignore
133
+ finalPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.final_price,
134
+ // @ts-ignore
135
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.auction_duration_in_ms,
136
+ },
137
+ warmupVaultConfig: {
138
+ // @ts-ignore
139
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.payoff_configs.map(function (x) {
140
+ return ({
141
+ strikePct: x.fields.strike_pct,
142
+ weight: x.fields.weight,
143
+ isBuyer: x.fields.is_buyer,
144
+ strike: x.fields.strike,
145
+ });
146
+ }),
147
+ // @ts-ignore
148
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.strike_increment,
149
+ // @ts-ignore
150
+ decaySpeed: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.decay_speed,
151
+ // @ts-ignore
152
+ initialPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.initial_price,
153
+ // @ts-ignore
154
+ finalPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.final_price,
155
+ // @ts-ignore
156
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.auction_duration_in_ms,
157
+ },
158
+ upcomingVaultConfig: {
159
+ // @ts-ignore
160
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.payoff_configs.map(function (x) {
161
+ return ({
162
+ strikePct: x.fields.strike_pct,
163
+ weight: x.fields.weight,
164
+ isBuyer: x.fields.is_buyer,
165
+ strike: x.fields.strike,
166
+ });
167
+ }),
168
+ // @ts-ignore
169
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.strike_increment,
170
+ // @ts-ignore
171
+ decaySpeed: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.decay_speed,
172
+ // @ts-ignore
173
+ initialPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.initial_price,
174
+ // @ts-ignore
175
+ finalPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.final_price,
176
+ auctionDurationInMs:
177
+ // @ts-ignore
178
+ portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.auction_duration_in_ms,
179
+ },
180
+ };
181
+ // @ts-ignore
182
+ var auction = portfolioVault.data.content.fields.auction ? (0, dutch_1.parseAuction)(portfolioVault.data.content.fields.auction) : undefined;
183
+ // @ts-ignore
184
+ var authority = portfolioVault.data.content.fields.authority.fields.whitelist.fields.id.id;
185
+ map[info.index] = {
186
+ vaultId: vaultId,
187
+ typeArgs: typeArgs,
188
+ assets: assets,
189
+ info: info,
190
+ config: config,
191
+ depositVault: {},
192
+ bidVault: {},
193
+ auction: auction,
194
+ authority: authority,
195
+ };
196
+ return map;
197
+ }, {});
198
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: deposit_vault_registry })];
199
+ case 3:
200
+ depositVaultIds = (_a.sent()).data
201
+ .filter(function (x) { return (index ? x.name.value == index : true); })
202
+ .map(function (x) { return x.objectId; });
203
+ return [4 /*yield*/, provider.multiGetObjects({
204
+ ids: depositVaultIds,
205
+ options: { showContent: true },
206
+ })];
207
+ case 4:
208
+ depositVaults = (_a.sent())
209
+ .filter(function (depositVault) { return depositVault.error == undefined; })
210
+ .forEach(function (depositVault) {
211
+ // @ts-ignore
212
+ var index = depositVault.data.content.fields.name;
213
+ // @ts-ignore
214
+ var vault = (0, vault_1.parseDepositVault)(depositVault.data.content.fields.value);
215
+ var tvl = BigInt(vault.activeSubVault.balance) + BigInt(vault.warmupSubVault.balance);
216
+ portfolioVaults[index].tokenTvl = tvl;
217
+ portfolioVaults[index].depositVault = vault;
218
+ });
219
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: bid_vault_registry })];
220
+ case 5:
221
+ bidVaultIds = (_a.sent()).data
222
+ .filter(function (x) { return (index ? x.name.value == index : true); })
223
+ .map(function (x) { return x.objectId; });
224
+ return [4 /*yield*/, provider.multiGetObjects({
225
+ ids: bidVaultIds,
226
+ options: { showContent: true },
227
+ })];
228
+ case 6:
229
+ bidVaults = (_a.sent())
230
+ .filter(function (bidVault) { return bidVault.error == undefined; })
231
+ .forEach(function (bidVault) {
232
+ // @ts-ignore
233
+ portfolioVaults[bidVault.data.content.fields.name].bidVault = (0, vault_1.parseBidVault)(bidVault.data.content.fields.value);
234
+ });
235
+ // @ts-ignore
236
+ return [2 /*return*/, portfolioVaults];
237
+ }
238
+ });
239
+ });
240
+ }
241
+ exports.getPortfolioVaults = getPortfolioVaults;
@@ -0,0 +1,8 @@
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>>;
@@ -0,0 +1,127 @@
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.getUserShares = void 0;
56
+ var sui_js_1 = require("@mysten/sui.js");
57
+ var tools_1 = require("../../tools");
58
+ function getUserShares(provider, packageId, registry, indexes, user) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ var transactionBlock, target, transactionBlockArguments, bytes, result, user_share_bytes, index, tag, share;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ transactionBlock = new sui_js_1.TransactionBlock();
65
+ target = "".concat(packageId, "::single_collateral::get_user_shares");
66
+ transactionBlockArguments = [
67
+ transactionBlock.pure(registry),
68
+ transactionBlock.pure(indexes),
69
+ transactionBlock.pure(user)
70
+ ];
71
+ transactionBlock.moveCall({
72
+ target: target,
73
+ arguments: transactionBlockArguments,
74
+ });
75
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: user })];
76
+ case 1:
77
+ bytes = (_a.sent()).results[0].returnValues[0][0];
78
+ result = Array.from(new Map()).reduce(function (map, _a) {
79
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
80
+ map[key] = value;
81
+ return map;
82
+ }, {});
83
+ while (bytes.length > 49) {
84
+ user_share_bytes = bytes.splice(bytes.length - 49, 49);
85
+ index = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 8).reverse()).toString();
86
+ tag = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 1).reverse()).toString();
87
+ user_share_bytes.splice(0, 32);
88
+ share = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 8).reverse());
89
+ if (result[index] == undefined) {
90
+ result[index] = {
91
+ index: index,
92
+ depositVaultUserShare: {},
93
+ bidVaultUserShare: {},
94
+ };
95
+ }
96
+ result[index].index = index;
97
+ switch (tag) {
98
+ case "0": {
99
+ result[index].depositVaultUserShare.activeSubVaultUserShare = share;
100
+ }
101
+ case "1": {
102
+ result[index].depositVaultUserShare.deactivatingSubVaultUserShare = share;
103
+ }
104
+ case "2": {
105
+ result[index].depositVaultUserShare.inactiveSubVaultUserShare = share;
106
+ }
107
+ case "3": {
108
+ result[index].depositVaultUserShare.warmupSubVaultUserShare = share;
109
+ }
110
+ case "4": {
111
+ result[index].bidVaultUserShare.bidderSubVaultUserShare = share;
112
+ }
113
+ case "5": {
114
+ result[index].bidVaultUserShare.premiumSubVaultUserShare = share;
115
+ }
116
+ case "6": {
117
+ result[index].bidVaultUserShare.performanceFeeSubVaultUserShare = share;
118
+ }
119
+ }
120
+ }
121
+ // @ts-ignore
122
+ return [2 /*return*/, result];
123
+ }
124
+ });
125
+ });
126
+ }
127
+ exports.getUserShares = getUserShares;
@@ -0,0 +1 @@
1
+ export declare function U64FromBytes(x: any): bigint;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.U64FromBytes = void 0;
4
+ function U64FromBytes(x) {
5
+ var val = BigInt(0);
6
+ for (var i = 0; i < x.length; i++) {
7
+ val = val << BigInt(8);
8
+ val += BigInt(x[i]);
9
+ }
10
+ return val;
11
+ }
12
+ exports.U64FromBytes = U64FromBytes;
@@ -0,0 +1,23 @@
1
+ export interface Auction {
2
+ startTsMs: string;
3
+ endTsMs: string;
4
+ priceConfig: PriceConfig;
5
+ bidIndex: string;
6
+ bids: string;
7
+ ownerships: string;
8
+ totalBidSize: string;
9
+ ableToRemoveBid: boolean;
10
+ }
11
+ export interface PriceConfig {
12
+ decaySpeed: string;
13
+ initialPrice: string;
14
+ finalPrice: string;
15
+ }
16
+ export interface Bid {
17
+ price: string;
18
+ size: string;
19
+ tsMs: string;
20
+ tokenBalance: string;
21
+ ownerAddress: string;
22
+ }
23
+ export declare function parseAuction(auction: any): Auction;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAuction = void 0;
4
+ function parseAuction(auction) {
5
+ return {
6
+ startTsMs: auction.fields.start_ts_ms,
7
+ endTsMs: auction.fields.end_ts_ms,
8
+ priceConfig: {
9
+ decaySpeed: auction.fields.price_config.fields.decay_speed,
10
+ initialPrice: auction.fields.price_config.fields.initial_price,
11
+ finalPrice: auction.fields.price_config.fields.final_price,
12
+ },
13
+ bidIndex: auction.fields.bid_index,
14
+ bids: auction.fields.bids.fields.id.id,
15
+ ownerships: auction.fields.ownerships.fields.id.id,
16
+ totalBidSize: auction.fields.total_bid_size,
17
+ ableToRemoveBid: auction.fields.able_to_remove_bid,
18
+ };
19
+ }
20
+ exports.parseAuction = parseAuction;
@@ -0,0 +1,30 @@
1
+ export interface DepositVault {
2
+ activeSubVault: SubVault;
3
+ deactivatingSubVault: SubVault;
4
+ inactiveSubVault: SubVault;
5
+ warmupSubVault: SubVault;
6
+ hasNext: boolean;
7
+ }
8
+ export interface BidVault {
9
+ bidderSubVault: SubVault;
10
+ premiumSubVault: SubVault;
11
+ performanceFeeSubVault: SubVault;
12
+ }
13
+ export interface SubVault {
14
+ balance: string;
15
+ shareSupply: string;
16
+ }
17
+ export interface DepositVaultUserShare {
18
+ activeSubVaultUserShare: bigint;
19
+ deactivatingSubVaultUserShare: bigint;
20
+ inactiveSubVaultUserShare: bigint;
21
+ warmupSubVaultUserShare: bigint;
22
+ }
23
+ export interface BidVaultUserShare {
24
+ bidderSubVaultUserShare: bigint;
25
+ premiumSubVaultUserShare: bigint;
26
+ performanceFeeSubVaultUserShare: bigint;
27
+ }
28
+ export declare function parseDepositVault(depositVault: any): DepositVault;
29
+ export declare function parseBidVault(bidVault: any): BidVault;
30
+ export declare function parseSubVault(subVault: any): SubVault;
@@ -0,0 +1,28 @@
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
+ activeSubVault: parseSubVault(depositVault.fields.active_sub_vault),
7
+ deactivatingSubVault: parseSubVault(depositVault.fields.deactivating_sub_vault),
8
+ inactiveSubVault: parseSubVault(depositVault.fields.inactive_sub_vault),
9
+ warmupSubVault: parseSubVault(depositVault.fields.warmup_sub_vault),
10
+ hasNext: depositVault.fields.has_next,
11
+ };
12
+ }
13
+ exports.parseDepositVault = parseDepositVault;
14
+ function parseBidVault(bidVault) {
15
+ return {
16
+ bidderSubVault: parseSubVault(bidVault.fields.bidder_sub_vault),
17
+ premiumSubVault: parseSubVault(bidVault.fields.premium_sub_vault),
18
+ performanceFeeSubVault: parseSubVault(bidVault.fields.performance_fee_sub_vault),
19
+ };
20
+ }
21
+ exports.parseBidVault = parseBidVault;
22
+ function parseSubVault(subVault) {
23
+ return {
24
+ balance: subVault.fields.balance,
25
+ shareSupply: subVault.fields.share_supply,
26
+ };
27
+ }
28
+ exports.parseSubVault = parseSubVault;
package/package.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "@typus/typus-sdk",
3
3
  "author": "Typus",
4
4
  "description": "typus sdk",
5
- "version": "1.0.10",
5
+ "version": "1.0.12",
6
6
  "dependencies": {
7
- "@mysten/sui.js": "^0.32.0",
7
+ "@mysten/sui.js": "^0.32.1",
8
8
  "@types/node": "^17.0.0",
9
9
  "bignumber.js": "^9.1.1",
10
10
  "bs58": "^4.0.1",
package/lib/mnemonic.json DELETED
@@ -1 +0,0 @@
1
- { "MNEMONIC": "shock shop drink choice mystery bean love dream comic fetch boss canyon" }