@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
@@ -36,10 +36,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var constants_1 = require("../../constants");
39
+ var constants_1 = require("../../../constants");
40
40
  var sui_js_1 = require("@mysten/sui.js");
41
- var getVaultData_1 = require("../../utils/getVaultData");
42
- var getUnsubscribeTx_1 = require("../../utils/portfolio/user/getUnsubscribeTx");
41
+ var getVaultData_1 = require("../../../utils/portfolio/single-collateral/getVaultData");
42
+ var getUnsubscribeTx_1 = require("../../../utils/portfolio/single-collateral/user/getUnsubscribeTx");
43
43
  var connection = new sui_js_1.Connection({
44
44
  fullnode: "https://node.shinami.com:443/api/v1/sui_testnet_c702de54dad05016124f2cfabc1de7e8",
45
45
  });
@@ -51,7 +51,7 @@ var signer = new sui_js_1.RawSigner(keypair, provider);
51
51
  return __generator(this, function (_a) {
52
52
  switch (_a.label) {
53
53
  case 0:
54
- index = "0";
54
+ index = "3";
55
55
  share = "100000";
56
56
  return [4 /*yield*/, (0, getVaultData_1.getVaultDataFromRegistry)(constants_1.REGISTRY, provider, index)];
57
57
  case 1:
@@ -60,7 +60,7 @@ var signer = new sui_js_1.RawSigner(keypair, provider);
60
60
  console.log(portfolioVault);
61
61
  typeArguments = portfolioVault.typeArgs;
62
62
  gasBudget = 1000000000;
63
- return [4 /*yield*/, (0, getUnsubscribeTx_1.getUnsubscribeTx)(gasBudget, constants_1.PORTFOLIO_PACKAGE, constants_1.MODULE, constants_1.REGISTRY, typeArguments, index, [])];
63
+ return [4 /*yield*/, (0, getUnsubscribeTx_1.getUnsubscribeTx)(gasBudget, constants_1.PORTFOLIO_PACKAGE, constants_1.MODULE, constants_1.REGISTRY, typeArguments, index, [share])];
64
64
  case 2:
65
65
  transactionBlock = _a.sent();
66
66
  return [4 /*yield*/, signer.signAndExecuteTransactionBlock({ transactionBlock: transactionBlock })];
@@ -0,0 +1 @@
1
+ export {};
@@ -36,10 +36,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var constants_1 = require("../../constants");
39
+ var constants_1 = require("../../../constants");
40
40
  var sui_js_1 = require("@mysten/sui.js");
41
- var getVaultData_1 = require("../../utils/getVaultData");
42
- var getWithdrawTx_1 = require("../../utils/portfolio/user/getWithdrawTx");
41
+ var getVaultData_1 = require("../../../utils/portfolio/single-collateral/getVaultData");
42
+ var getWithdrawTx_1 = require("../../../utils/portfolio/single-collateral/user/getWithdrawTx");
43
43
  var provider = new sui_js_1.JsonRpcProvider(sui_js_1.devnetConnection); //for read only operations
44
44
  var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
45
45
  var signer = new sui_js_1.RawSigner(keypair, provider);
@@ -1,3 +1,3 @@
1
1
  import { JsonRpcProvider } from "@mysten/sui.js";
2
- import { Bid, PortfolioVault } from "../fetchData";
2
+ import { Bid, PortfolioVault } from "../portfolio/single-collateral/fetchData";
3
3
  export declare function getBid(portfolioVault: PortfolioVault, provider: JsonRpcProvider): Promise<Bid[]>;
@@ -0,0 +1,68 @@
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
+ tokenDepositVault: DepositVault;
11
+ usdDepositVault: DepositVault;
12
+ bidVault: BidVault;
13
+ auction: Auction;
14
+ authority: string;
15
+ tokenTvl: bigint;
16
+ usdTvl: bigint;
17
+ }
18
+ export interface Info {
19
+ index: string;
20
+ creator: string;
21
+ createTsMs: string;
22
+ round: string;
23
+ oracleInfo: OracleInfo;
24
+ deliveryInfo?: DeliveryInfo;
25
+ }
26
+ export interface OracleInfo {
27
+ price: string;
28
+ decimal: string;
29
+ }
30
+ export interface DeliveryInfo {
31
+ round: string;
32
+ price: string;
33
+ size: string;
34
+ premium: string;
35
+ tsMs: string;
36
+ }
37
+ export interface Config {
38
+ strategyName: string;
39
+ period: number;
40
+ activationTsMs: string;
41
+ expirationTsMs: string;
42
+ oTokenDecimal: string;
43
+ uTokenDecimal: string;
44
+ bTokenDecimal: string;
45
+ lotSize: string;
46
+ capacity: string;
47
+ leverage: string;
48
+ hasNext: boolean;
49
+ activeVaultConfig: VaultConfig;
50
+ warmupVaultConfig: VaultConfig;
51
+ upcomingVaultConfig: VaultConfig;
52
+ }
53
+ export interface VaultConfig {
54
+ callPayoffConfigs: PayoffConfig[];
55
+ putPayoffConfigs: PayoffConfig[];
56
+ strikeIncrement: string;
57
+ decaySpeed: string;
58
+ initialPrice: string;
59
+ finalPrice: string;
60
+ auctionDurationInMs: string;
61
+ }
62
+ export interface PayoffConfig {
63
+ strikePct: string;
64
+ weight: string;
65
+ isBuyer: boolean;
66
+ strike?: string;
67
+ }
68
+ export declare function getPortfolioVaults(provider: JsonRpcProvider, registry: string, token_deposit_vault_registry: string, usd_deposit_vault_registry: string, bid_vault_registry: string, index?: string): Promise<Map<string, PortfolioVault>>;
@@ -0,0 +1,292 @@
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, token_deposit_vault_registry, usd_deposit_vault_registry, bid_vault_registry, index) {
43
+ return __awaiter(this, void 0, void 0, function () {
44
+ var portfolioVaultIds, portfolioVaults, tokenDepositVaultIds, tokenDepositVaults, usdDepositVaultIds, usdDepositVaults, 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 oracleInfo = {
68
+ // @ts-ignore
69
+ price: portfolioVault.data.content.fields.info.fields.oracle_info.fields.price,
70
+ // @ts-ignore
71
+ decimal: portfolioVault.data.content.fields.info.fields.oracle_info.fields.decimal,
72
+ };
73
+ var deliveryInfo =
74
+ // @ts-ignore
75
+ portfolioVault.data.content.fields.info.fields.delivery_info ? {
76
+ // @ts-ignore
77
+ round: portfolioVault.data.content.fields.info.fields.delivery_info.fields.round,
78
+ // @ts-ignore
79
+ price: portfolioVault.data.content.fields.info.fields.delivery_info.fields.price,
80
+ // @ts-ignore
81
+ size: portfolioVault.data.content.fields.info.fields.delivery_info.fields.size,
82
+ // @ts-ignore
83
+ premium: portfolioVault.data.content.fields.info.fields.delivery_info.fields.premium,
84
+ // @ts-ignore
85
+ tsMs: portfolioVault.data.content.fields.info.fields.delivery_info.fields.ts_ms,
86
+ } : undefined;
87
+ var info = {
88
+ // @ts-ignore
89
+ index: portfolioVault.data.content.fields.info.fields.index,
90
+ // @ts-ignore
91
+ creator: portfolioVault.data.content.fields.info.fields.creator,
92
+ // @ts-ignore
93
+ createTsMs: portfolioVault.data.content.fields.info.fields.create_ts_ms,
94
+ // @ts-ignore
95
+ round: portfolioVault.data.content.fields.info.fields.round,
96
+ oracleInfo: oracleInfo,
97
+ deliveryInfo: deliveryInfo,
98
+ };
99
+ var config = {
100
+ // @ts-ignore
101
+ strategyName: portfolioVault.data.content.fields.config.fields.strategy_name,
102
+ // @ts-ignore
103
+ period: portfolioVault.data.content.fields.config.fields.period,
104
+ // @ts-ignore
105
+ activationTsMs: portfolioVault.data.content.fields.config.fields.activation_ts_ms,
106
+ // @ts-ignore
107
+ expirationTsMs: portfolioVault.data.content.fields.config.fields.expiration_ts_ms,
108
+ // @ts-ignore
109
+ oTokenDecimal: portfolioVault.data.content.fields.config.fields.o_token_decimal,
110
+ // @ts-ignore
111
+ uTokenDecimal: portfolioVault.data.content.fields.config.fields.u_token_decimal,
112
+ // @ts-ignore
113
+ bTokenDecimal: portfolioVault.data.content.fields.config.fields.b_token_decimal,
114
+ // @ts-ignore
115
+ lotSize: portfolioVault.data.content.fields.config.fields.lot_size,
116
+ // @ts-ignore
117
+ capacity: portfolioVault.data.content.fields.config.fields.capacity,
118
+ // @ts-ignore
119
+ leverage: portfolioVault.data.content.fields.config.fields.leverage,
120
+ // @ts-ignore
121
+ hasNext: portfolioVault.data.content.fields.config.fields.has_next,
122
+ activeVaultConfig: {
123
+ // @ts-ignore
124
+ callPayoffConfigs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.call_payoff_configs
125
+ .map(function (x) { return ({
126
+ strikePct: x.fields.strike_pct,
127
+ weight: x.fields.weight,
128
+ isBuyer: x.fields.is_buyer,
129
+ strike: x.fields.strike,
130
+ }); }),
131
+ // @ts-ignore
132
+ putPayoffConfigs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.put_payoff_configs
133
+ .map(function (x) { return ({
134
+ strikePct: x.fields.strike_pct,
135
+ weight: x.fields.weight,
136
+ isBuyer: x.fields.is_buyer,
137
+ strike: x.fields.strike,
138
+ }); }),
139
+ // @ts-ignore
140
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.strike_increment,
141
+ // @ts-ignore
142
+ decaySpeed: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.decay_speed,
143
+ // @ts-ignore
144
+ initialPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.initial_price,
145
+ // @ts-ignore
146
+ finalPrice: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.final_price,
147
+ // @ts-ignore
148
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.active_vault_config.fields.auction_duration_in_ms,
149
+ },
150
+ warmupVaultConfig: {
151
+ // @ts-ignore
152
+ callPayoffConfigs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.call_payoff_configs
153
+ .map(function (x) { return ({
154
+ strikePct: x.fields.strike_pct,
155
+ weight: x.fields.weight,
156
+ isBuyer: x.fields.is_buyer,
157
+ strike: x.fields.strike,
158
+ }); }),
159
+ // @ts-ignore
160
+ putPayoffConfigs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.put_payoff_configs
161
+ .map(function (x) { 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
+ // @ts-ignore
168
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.strike_increment,
169
+ // @ts-ignore
170
+ decaySpeed: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.decay_speed,
171
+ // @ts-ignore
172
+ initialPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.initial_price,
173
+ // @ts-ignore
174
+ finalPrice: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.final_price,
175
+ // @ts-ignore
176
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.warmup_vault_config.fields.auction_duration_in_ms,
177
+ },
178
+ upcomingVaultConfig: {
179
+ // @ts-ignore
180
+ callPayoffConfigs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.call_payoff_configs
181
+ .map(function (x) { return ({
182
+ strikePct: x.fields.strike_pct,
183
+ weight: x.fields.weight,
184
+ isBuyer: x.fields.is_buyer,
185
+ strike: x.fields.strike,
186
+ }); }),
187
+ // @ts-ignore
188
+ putPayoffConfigs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.put_payoff_configs
189
+ .map(function (x) { return ({
190
+ strikePct: x.fields.strike_pct,
191
+ weight: x.fields.weight,
192
+ isBuyer: x.fields.is_buyer,
193
+ strike: x.fields.strike,
194
+ }); }),
195
+ // @ts-ignore
196
+ strikeIncrement: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.strike_increment,
197
+ // @ts-ignore
198
+ decaySpeed: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.decay_speed,
199
+ // @ts-ignore
200
+ initialPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.initial_price,
201
+ // @ts-ignore
202
+ finalPrice: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.final_price,
203
+ // @ts-ignore
204
+ auctionDurationInMs: portfolioVault.data.content.fields.config.fields.upcoming_vault_config.fields.auction_duration_in_ms,
205
+ },
206
+ };
207
+ // @ts-ignore
208
+ var auction = portfolioVault.data.content.fields.auction ? (0, dutch_1.parseAuction)(portfolioVault.data.content.fields.auction) : undefined;
209
+ // @ts-ignore
210
+ var authority = portfolioVault.data.content.fields.authority.fields.whitelist.fields.id.id;
211
+ map[info.index] = {
212
+ vaultId: vaultId,
213
+ typeArgs: typeArgs,
214
+ assets: assets,
215
+ info: info,
216
+ config: config,
217
+ tokenDepositVault: {},
218
+ usdDepositVault: {},
219
+ bidVault: {},
220
+ auction: auction,
221
+ authority: authority,
222
+ };
223
+ return map;
224
+ }, {});
225
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: token_deposit_vault_registry, })];
226
+ case 3:
227
+ tokenDepositVaultIds = (_a.sent())
228
+ .data
229
+ .filter(function (x) { return index ? x.name.value == index : true; })
230
+ .map(function (x) { return x.objectId; });
231
+ return [4 /*yield*/, provider.multiGetObjects({
232
+ ids: tokenDepositVaultIds,
233
+ options: { showContent: true },
234
+ })];
235
+ case 4:
236
+ tokenDepositVaults = (_a.sent())
237
+ .filter(function (tokenDepositVault) { return tokenDepositVault.error == undefined; })
238
+ .forEach(function (tokenDepositVault) {
239
+ // @ts-ignore
240
+ var index = tokenDepositVault.data.content.fields.name;
241
+ // @ts-ignore
242
+ var depositVault = (0, vault_1.parseDepositVault)(tokenDepositVault.data.content.fields.value);
243
+ var tvl = BigInt(depositVault.activeSubVault.balance) + BigInt(depositVault.warmupSubVault.balance);
244
+ portfolioVaults[index].tokenTvl = tvl;
245
+ portfolioVaults[index].tokenDepositVault = depositVault;
246
+ });
247
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: usd_deposit_vault_registry, })];
248
+ case 5:
249
+ usdDepositVaultIds = (_a.sent())
250
+ .data
251
+ .filter(function (x) { return index ? x.name.value == index : true; })
252
+ .map(function (x) { return x.objectId; });
253
+ return [4 /*yield*/, provider.multiGetObjects({
254
+ ids: usdDepositVaultIds,
255
+ options: { showContent: true },
256
+ })];
257
+ case 6:
258
+ usdDepositVaults = (_a.sent())
259
+ .filter(function (usdDepositVault) { return usdDepositVault.error == undefined; })
260
+ .forEach(function (usdDepositVault) {
261
+ // @ts-ignore
262
+ var index = usdDepositVault.data.content.fields.name;
263
+ // @ts-ignore
264
+ var depositVault = (0, vault_1.parseDepositVault)(usdDepositVault.data.content.fields.value);
265
+ var tvl = BigInt(depositVault.activeSubVault.balance) + BigInt(depositVault.warmupSubVault.balance);
266
+ portfolioVaults[index].usdTvl = tvl;
267
+ portfolioVaults[index].usdDepositVault = depositVault;
268
+ });
269
+ return [4 /*yield*/, provider.getDynamicFields({ parentId: bid_vault_registry, })];
270
+ case 7:
271
+ bidVaultIds = (_a.sent())
272
+ .data
273
+ .filter(function (x) { return index ? x.name.value == index : true; })
274
+ .map(function (x) { return x.objectId; });
275
+ return [4 /*yield*/, provider.multiGetObjects({
276
+ ids: bidVaultIds,
277
+ options: { showContent: true },
278
+ })];
279
+ case 8:
280
+ bidVaults = (_a.sent())
281
+ .filter(function (bidVault) { return bidVault.error == undefined; })
282
+ .forEach(function (bidVault) {
283
+ // @ts-ignore
284
+ portfolioVaults[bidVault.data.content.fields.name].bidVault = (0, vault_1.parseBidVault)(bidVault.data.content.fields.value);
285
+ });
286
+ // @ts-ignore
287
+ return [2 /*return*/, portfolioVaults];
288
+ }
289
+ });
290
+ });
291
+ }
292
+ exports.getPortfolioVaults = getPortfolioVaults;
@@ -0,0 +1,9 @@
1
+ import { JsonRpcProvider } from "@mysten/sui.js";
2
+ import { DepositVaultUserShare, BidVaultUserShare } from "../../typus-framework/vault";
3
+ export interface UserShare {
4
+ index: string;
5
+ tokenDepositVaultUserShare: DepositVaultUserShare;
6
+ usdDepositVaultUserShare: DepositVaultUserShare;
7
+ bidVaultUserShare: BidVaultUserShare;
8
+ }
9
+ export declare function getUserShares(provider: JsonRpcProvider, packageId: string, registry: string, indexes: string[], user: string): Promise<Map<string, UserShare>>;
@@ -0,0 +1,149 @@
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, position, 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, "::multiple_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 > 50) {
84
+ user_share_bytes = bytes.splice(bytes.length - 50, 50);
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
+ position = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 1).reverse()).toString();
89
+ share = (0, tools_1.U64FromBytes)(user_share_bytes.splice(0, 8).reverse());
90
+ if (result[index] == undefined) {
91
+ result[index] = {
92
+ index: index,
93
+ tokenDepositVaultUserShare: {},
94
+ usdDepositVaultUserShare: {},
95
+ bidVaultUserShare: {},
96
+ };
97
+ }
98
+ result[index].index = index;
99
+ switch (tag) {
100
+ case "0": {
101
+ if (position == "0") {
102
+ result[index].tokenDepositVaultUserShare.activeSubVaultUserShare = share;
103
+ }
104
+ else {
105
+ result[index].usdDepositVaultUserShare.activeSubVaultUserShare = share;
106
+ }
107
+ }
108
+ case "1": {
109
+ if (position == "0") {
110
+ result[index].tokenDepositVaultUserShare.deactivatingSubVaultUserShare = share;
111
+ }
112
+ else {
113
+ result[index].usdDepositVaultUserShare.deactivatingSubVaultUserShare = share;
114
+ }
115
+ }
116
+ case "2": {
117
+ if (position == "0") {
118
+ result[index].tokenDepositVaultUserShare.inactiveSubVaultUserShare = share;
119
+ }
120
+ else {
121
+ result[index].usdDepositVaultUserShare.inactiveSubVaultUserShare = share;
122
+ }
123
+ }
124
+ case "3": {
125
+ if (position == "0") {
126
+ result[index].tokenDepositVaultUserShare.warmupSubVaultUserShare = share;
127
+ }
128
+ else {
129
+ result[index].usdDepositVaultUserShare.warmupSubVaultUserShare = share;
130
+ }
131
+ }
132
+ case "4": {
133
+ result[index].bidVaultUserShare.bidderSubVaultUserShare = share;
134
+ }
135
+ case "5": {
136
+ result[index].bidVaultUserShare.premiumSubVaultUserShare = share;
137
+ }
138
+ case "6": {
139
+ result[index].bidVaultUserShare.performanceFeeSubVaultUserShare = share;
140
+ }
141
+ }
142
+ }
143
+ // @ts-ignore
144
+ return [2 /*return*/, result];
145
+ }
146
+ });
147
+ });
148
+ }
149
+ exports.getUserShares = getUserShares;
@@ -8,3 +8,8 @@ export interface Share {
8
8
  tag: string;
9
9
  value: string;
10
10
  }
11
+ export declare function getUserInfo(user_share_registry: string, provider: JsonRpcProvider): Promise<UserInfo[]>;
12
+ export interface UserInfo {
13
+ user: string;
14
+ shares: Share[];
15
+ }
@@ -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;