@typus/typus-sdk 1.0.10 → 1.0.11

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 +59 -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 +239 -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
@@ -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,239 @@
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())
50
+ .data
51
+ .filter(function (x) { return index ? x.name.value == index : true; })
52
+ .map(function (x) { return x.objectId; });
53
+ return [4 /*yield*/, provider.multiGetObjects({
54
+ ids: portfolioVaultIds,
55
+ options: { showContent: true },
56
+ })];
57
+ case 2:
58
+ portfolioVaults = (_a.sent())
59
+ .filter(function (portfolioVault) { return portfolioVault.error == undefined; })
60
+ .reduce(function (map, portfolioVault) {
61
+ // console.log(JSON.stringify(portfolioVault, null, 4));
62
+ // @ts-ignore
63
+ var vaultId = portfolioVault.data.content.fields.id.id;
64
+ // @ts-ignore
65
+ var typeArgs = (new RegExp('.*<(.*), (.*), (.*)>')).exec(portfolioVault.data.content.type).slice(1, 4);
66
+ var assets = typeArgs.map(function (x) { return x.split("::")[2]; });
67
+ var deliveryInfo =
68
+ // @ts-ignore
69
+ portfolioVault.data.content.fields.info.fields.delivery_info ? {
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
+ } : undefined;
81
+ var info = {
82
+ // @ts-ignore
83
+ index: portfolioVault.data.content.fields.info.fields.index,
84
+ // @ts-ignore
85
+ creator: portfolioVault.data.content.fields.info.fields.creator,
86
+ // @ts-ignore
87
+ createTsMs: portfolioVault.data.content.fields.info.fields.create_ts_ms,
88
+ // @ts-ignore
89
+ round: portfolioVault.data.content.fields.info.fields.round,
90
+ deliveryInfo: deliveryInfo,
91
+ };
92
+ var config = {
93
+ // @ts-ignore
94
+ optionType: portfolioVault.data.content.fields.config.fields.optionType,
95
+ // @ts-ignore
96
+ period: portfolioVault.data.content.fields.config.fields.period,
97
+ // @ts-ignore
98
+ activationTsMs: portfolioVault.data.content.fields.config.fields.activation_ts_ms,
99
+ // @ts-ignore
100
+ expirationTsMs: portfolioVault.data.content.fields.config.fields.expiration_ts_ms,
101
+ // @ts-ignore
102
+ dTokenDecimal: portfolioVault.data.content.fields.config.fields.d_token_decimal,
103
+ // @ts-ignore
104
+ bTokenDecimal: portfolioVault.data.content.fields.config.fields.b_token_decimal,
105
+ // @ts-ignore
106
+ oTokenDecimal: portfolioVault.data.content.fields.config.fields.o_token_decimal,
107
+ // @ts-ignore
108
+ lotSize: portfolioVault.data.content.fields.config.fields.lot_size,
109
+ // @ts-ignore
110
+ capacity: portfolioVault.data.content.fields.config.fields.capacity,
111
+ // @ts-ignore
112
+ leverage: portfolioVault.data.content.fields.config.fields.leverage,
113
+ // @ts-ignore
114
+ hasNext: portfolioVault.data.content.fields.config.fields.has_next,
115
+ activeVaultConfig: {
116
+ // @ts-ignore
117
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.payoff_configs
118
+ .map(function (x) { return ({
119
+ strikePct: x.fields.strike_pct,
120
+ weight: x.fields.weight,
121
+ isBuyer: x.fields.is_buyer,
122
+ strike: x.fields.strike,
123
+ }); }),
124
+ // @ts-ignore
125
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.strike_increment,
126
+ // @ts-ignore
127
+ decaySpeed: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.decay_speed,
128
+ // @ts-ignore
129
+ initialPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.initial_price,
130
+ // @ts-ignore
131
+ finalPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.final_price,
132
+ // @ts-ignore
133
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.auction_duration_in_ms,
134
+ },
135
+ warmupVaultConfig: {
136
+ // @ts-ignore
137
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.payoff_configs
138
+ .map(function (x) { return ({
139
+ strikePct: x.fields.strike_pct,
140
+ weight: x.fields.weight,
141
+ isBuyer: x.fields.is_buyer,
142
+ strike: x.fields.strike,
143
+ }); }),
144
+ // @ts-ignore
145
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.strike_increment,
146
+ // @ts-ignore
147
+ decaySpeed: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.decay_speed,
148
+ // @ts-ignore
149
+ initialPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.initial_price,
150
+ // @ts-ignore
151
+ finalPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.final_price,
152
+ // @ts-ignore
153
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.auction_duration_in_ms,
154
+ },
155
+ upcomingVaultConfig: {
156
+ // @ts-ignore
157
+ payoffConfigs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.payoff_configs
158
+ .map(function (x) { return ({
159
+ strikePct: x.fields.strike_pct,
160
+ weight: x.fields.weight,
161
+ isBuyer: x.fields.is_buyer,
162
+ strike: x.fields.strike,
163
+ }); }),
164
+ // @ts-ignore
165
+ // @ts-ignore
166
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.strike_increment,
167
+ // @ts-ignore
168
+ decaySpeed: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.decay_speed,
169
+ // @ts-ignore
170
+ initialPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.initial_price,
171
+ // @ts-ignore
172
+ finalPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.final_price,
173
+ // @ts-ignore
174
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.auction_duration_in_ms,
175
+ },
176
+ };
177
+ // @ts-ignore
178
+ var auction = portfolioVault.data.content.fields.auction ? (0, dutch_1.parseAuction)(portfolioVault.data.content.fields.auction) : undefined;
179
+ // @ts-ignore
180
+ var authority = portfolioVault.data.content.fields.authority.fields.whitelist.fields.id.id;
181
+ map[info.index] = {
182
+ vaultId: vaultId,
183
+ typeArgs: typeArgs,
184
+ assets: assets,
185
+ info: info,
186
+ config: config,
187
+ depositVault: {},
188
+ bidVault: {},
189
+ auction: auction,
190
+ authority: authority,
191
+ };
192
+ return map;
193
+ }, {});
194
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: deposit_vault_registry, })];
195
+ case 3:
196
+ depositVaultIds = (_a.sent())
197
+ .data
198
+ .filter(function (x) { return index ? x.name.value == index : true; })
199
+ .map(function (x) { return x.objectId; });
200
+ return [4 /*yield*/, provider.multiGetObjects({
201
+ ids: depositVaultIds,
202
+ options: { showContent: true },
203
+ })];
204
+ case 4:
205
+ depositVaults = (_a.sent())
206
+ .filter(function (depositVault) { return depositVault.error == undefined; })
207
+ .forEach(function (depositVault) {
208
+ // @ts-ignore
209
+ var index = depositVault.data.content.fields.name;
210
+ // @ts-ignore
211
+ var vault = (0, vault_1.parseDepositVault)(depositVault.data.content.fields.value);
212
+ var tvl = BigInt(vault.activeSubVault.balance) + BigInt(vault.warmupSubVault.balance);
213
+ portfolioVaults[index].tokenTvl = tvl;
214
+ portfolioVaults[index].depositVault = vault;
215
+ });
216
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: bid_vault_registry, })];
217
+ case 5:
218
+ bidVaultIds = (_a.sent())
219
+ .data
220
+ .filter(function (x) { return index ? x.name.value == index : true; })
221
+ .map(function (x) { return x.objectId; });
222
+ return [4 /*yield*/, provider.multiGetObjects({
223
+ ids: bidVaultIds,
224
+ options: { showContent: true },
225
+ })];
226
+ case 6:
227
+ bidVaults = (_a.sent())
228
+ .filter(function (bidVault) { return bidVault.error == undefined; })
229
+ .forEach(function (bidVault) {
230
+ // @ts-ignore
231
+ portfolioVaults[bidVault.data.content.fields.name].bidVault = (0, vault_1.parseBidVault)(bidVault.data.content.fields.value);
232
+ });
233
+ // @ts-ignore
234
+ return [2 /*return*/, portfolioVaults];
235
+ }
236
+ });
237
+ });
238
+ }
239
+ 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.11",
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" }