@sonarwatch/portfolio-plugins 0.14.176 → 0.14.178

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 (126) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/src/index.js +4 -0
  4. package/src/index.js.map +1 -1
  5. package/src/plugins/banx/stakingFetcher.js +10 -14
  6. package/src/plugins/banx/stakingFetcher.js.map +1 -1
  7. package/src/plugins/bonfida/constants.d.ts +1 -1
  8. package/src/plugins/bonfida/constants.js +1 -1
  9. package/src/plugins/bonfida/constants.js.map +1 -1
  10. package/src/plugins/flash/constants.d.ts +1 -0
  11. package/src/plugins/flash/constants.js +2 -1
  12. package/src/plugins/flash/constants.js.map +1 -1
  13. package/src/plugins/flash/fafStakingFetcher.js +56 -0
  14. package/src/plugins/flash/fafStakingFetcher.js.map +1 -0
  15. package/src/plugins/flash/helpers.d.ts +1 -0
  16. package/src/plugins/flash/helpers.js +5 -1
  17. package/src/plugins/flash/helpers.js.map +1 -1
  18. package/src/plugins/flash/index.js +2 -0
  19. package/src/plugins/flash/index.js.map +1 -1
  20. package/src/plugins/flash/stakeFetcher.js +1 -0
  21. package/src/plugins/flash/stakeFetcher.js.map +1 -1
  22. package/src/plugins/flash/structs.d.ts +22 -0
  23. package/src/plugins/flash/structs.js +21 -1
  24. package/src/plugins/flash/structs.js.map +1 -1
  25. package/src/plugins/hylo/constants.d.ts +2 -0
  26. package/src/plugins/hylo/constants.js +6 -0
  27. package/src/plugins/hylo/constants.js.map +1 -0
  28. package/src/plugins/hylo/index.d.ts +4 -0
  29. package/src/plugins/hylo/index.js +10 -0
  30. package/src/plugins/hylo/index.js.map +1 -0
  31. package/src/plugins/hylo/marketsJob.js +94 -0
  32. package/src/plugins/hylo/marketsJob.js.map +1 -0
  33. package/src/plugins/hylo/structs.d.ts +47 -0
  34. package/src/plugins/hylo/structs.js +47 -0
  35. package/src/plugins/hylo/structs.js.map +1 -0
  36. package/src/plugins/jupiter/exchange/limitFetcher.js +1 -1
  37. package/src/plugins/jupiter/exchange/limitFetcher.js.map +1 -1
  38. package/src/plugins/jupiter/governance/constants.d.ts +0 -1
  39. package/src/plugins/jupiter/governance/constants.js +1 -9
  40. package/src/plugins/jupiter/governance/constants.js.map +1 -1
  41. package/src/plugins/loopscale/helpers.js +6 -1
  42. package/src/plugins/loopscale/helpers.js.map +1 -1
  43. package/src/plugins/lulo/depositsFetcher.js +6 -0
  44. package/src/plugins/lulo/depositsFetcher.js.map +1 -1
  45. package/src/plugins/mango/collateralFetcher.js +1 -0
  46. package/src/plugins/mango/collateralFetcher.js.map +1 -1
  47. package/src/plugins/marginfi/banksJob.js +2 -2
  48. package/src/plugins/marginfi/banksJob.js.map +1 -1
  49. package/src/plugins/marginfi/constants.d.ts +1 -1
  50. package/src/plugins/marginfi/constants.js +1 -1
  51. package/src/plugins/marginfi/constants.js.map +1 -1
  52. package/src/plugins/marginfi/depositsFetcher.js +5 -1
  53. package/src/plugins/marginfi/depositsFetcher.js.map +1 -1
  54. package/src/plugins/marginfi/getMarginFiAccounts.d.ts +10 -1
  55. package/src/plugins/marginfi/getMarginFiAccounts.js +5 -6
  56. package/src/plugins/marginfi/getMarginFiAccounts.js.map +1 -1
  57. package/src/plugins/marginfi/structs/Bank.d.ts +1 -2
  58. package/src/plugins/marginfi/structs/Bank.js +1 -1
  59. package/src/plugins/marginfi/structs/Bank.js.map +1 -1
  60. package/src/plugins/marginfi/structs/MarginfiAccount.d.ts +1 -1
  61. package/src/plugins/marginfi/structs/MarginfiAccount.js +1 -1
  62. package/src/plugins/marginfi/structs/MarginfiAccount.js.map +1 -1
  63. package/src/plugins/metaplex/resizableNftFetcher.js +3 -0
  64. package/src/plugins/metaplex/resizableNftFetcher.js.map +1 -1
  65. package/src/plugins/nxfinance/constants.js +1 -1
  66. package/src/plugins/nxfinance/constants.js.map +1 -1
  67. package/src/plugins/nxfinance/positionsFetcher.js +5 -5
  68. package/src/plugins/nxfinance/positionsFetcher.js.map +1 -1
  69. package/src/plugins/nxfinance/stakingFetcher.js +1 -1
  70. package/src/plugins/nxfinance/stakingFetcher.js.map +1 -1
  71. package/src/plugins/perena/poolsJob.js +3 -1
  72. package/src/plugins/perena/poolsJob.js.map +1 -1
  73. package/src/plugins/picasso/unstakingPositionsFetcher.js +19 -32
  74. package/src/plugins/picasso/unstakingPositionsFetcher.js.map +1 -1
  75. package/src/plugins/port/obligationsFetcher.js +1 -0
  76. package/src/plugins/port/obligationsFetcher.js.map +1 -1
  77. package/src/plugins/solayer/poolsJob.js +1 -1
  78. package/src/plugins/solayer/poolsJob.js.map +1 -1
  79. package/src/plugins/streamflow/stakingFetcher.js +1 -1
  80. package/src/plugins/streamflow/stakingFetcher.js.map +1 -1
  81. package/src/plugins/texture/constants.d.ts +5 -1
  82. package/src/plugins/texture/constants.js +10 -2
  83. package/src/plugins/texture/constants.js.map +1 -1
  84. package/src/plugins/texture/helpers.d.ts +1 -0
  85. package/src/plugins/texture/helpers.js +33 -0
  86. package/src/plugins/texture/helpers.js.map +1 -0
  87. package/src/plugins/texture/index.js +7 -10
  88. package/src/plugins/texture/index.js.map +1 -1
  89. package/src/plugins/texture/loansFetcher.js +71 -42
  90. package/src/plugins/texture/loansFetcher.js.map +1 -1
  91. package/src/plugins/texture/pairsJob.d.ts +3 -0
  92. package/src/plugins/texture/{marketsJob.js → pairsJob.js} +10 -5
  93. package/src/plugins/texture/pairsJob.js.map +1 -0
  94. package/src/plugins/texture/structs.d.ts +2 -13
  95. package/src/plugins/texture/structs.js +3 -14
  96. package/src/plugins/texture/structs.js.map +1 -1
  97. package/src/plugins/texture/types.d.ts +31 -0
  98. package/src/plugins/texture/types.js +3 -0
  99. package/src/plugins/texture/types.js.map +1 -0
  100. package/src/plugins/tokens/fetchers/solana.js +3 -3
  101. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  102. package/src/plugins/vaultka/banksJob.d.ts +3 -0
  103. package/src/plugins/vaultka/banksJob.js +131 -0
  104. package/src/plugins/vaultka/banksJob.js.map +1 -0
  105. package/src/plugins/vaultka/constants.d.ts +6 -0
  106. package/src/plugins/vaultka/constants.js +11 -1
  107. package/src/plugins/vaultka/constants.js.map +1 -1
  108. package/src/plugins/vaultka/index.js +10 -4
  109. package/src/plugins/vaultka/index.js.map +1 -1
  110. package/src/plugins/vaultka/{lendingFetcher.js → lendingV1Fetcher.js} +2 -2
  111. package/src/plugins/vaultka/lendingV1Fetcher.js.map +1 -0
  112. package/src/plugins/vaultka/lendingV2Fetcher.d.ts +3 -0
  113. package/src/plugins/vaultka/lendingV2Fetcher.js +80 -0
  114. package/src/plugins/vaultka/lendingV2Fetcher.js.map +1 -0
  115. package/src/plugins/vaultka/strategyV1Fetcher.d.ts +3 -0
  116. package/src/plugins/vaultka/{strategyFetcher.js → strategyV1Fetcher.js} +2 -2
  117. package/src/plugins/vaultka/strategyV1Fetcher.js.map +1 -0
  118. package/src/utils/misc/isPortfolioElementLiquidity.d.ts +2 -0
  119. package/src/utils/misc/isPortfolioElementLiquidity.js +8 -0
  120. package/src/utils/misc/isPortfolioElementLiquidity.js.map +1 -0
  121. package/src/plugins/texture/marketsJob.js.map +0 -1
  122. package/src/plugins/vaultka/lendingFetcher.js.map +0 -1
  123. package/src/plugins/vaultka/strategyFetcher.js.map +0 -1
  124. /package/src/plugins/{vaultka/lendingFetcher.d.ts → flash/fafStakingFetcher.d.ts} +0 -0
  125. /package/src/plugins/{texture → hylo}/marketsJob.d.ts +0 -0
  126. /package/src/plugins/vaultka/{strategyFetcher.d.ts → lendingV1Fetcher.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/pairsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA6C;AAG7C,2CAAwD;AAGxD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,KAAK,GAAG,MAAM,eAAK,CAAC,GAAG,CAC3B,yCAAyC,CAC1C,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAa,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7C,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -3,19 +3,8 @@
3
3
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
4
4
  import { BeetStruct } from '@metaplex-foundation/beet';
5
5
  import { PublicKey } from '@solana/web3.js';
6
- import BigNumber from 'bignumber.js';
7
- export declare enum State {
8
- Uninitialized = 0,
9
- StakePool = 1,
10
- InactiveStakePool = 2,
11
- StakeAccount = 3
12
- }
13
- export type Liquidity = {
6
+ export type User = {
14
7
  buffer: Buffer;
15
- state: State;
16
- mint: PublicKey;
17
8
  owner: PublicKey;
18
- amountDeposited: BigNumber;
19
- space: number[];
20
9
  };
21
- export declare const liquidityStruct: BeetStruct<Liquidity, Partial<Liquidity>>;
10
+ export declare const userStruct: BeetStruct<User, Partial<User>>;
@@ -1,22 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.liquidityStruct = exports.State = void 0;
3
+ exports.userStruct = void 0;
4
4
  const beet_1 = require("@metaplex-foundation/beet");
5
5
  const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
6
  const solana_1 = require("../../utils/solana");
7
- var State;
8
- (function (State) {
9
- State[State["Uninitialized"] = 0] = "Uninitialized";
10
- State[State["StakePool"] = 1] = "StakePool";
11
- State[State["InactiveStakePool"] = 2] = "InactiveStakePool";
12
- State[State["StakeAccount"] = 3] = "StakeAccount";
13
- })(State || (exports.State = State = {}));
14
- exports.liquidityStruct = new beet_1.BeetStruct([
15
- ['buffer', (0, solana_1.blob)(8)],
16
- ['state', beet_1.u8],
17
- ['mint', beet_solana_1.publicKey],
7
+ exports.userStruct = new beet_1.BeetStruct([
8
+ ['buffer', (0, solana_1.blob)(24)],
18
9
  ['owner', beet_solana_1.publicKey],
19
- ['amountDeposited', solana_1.u64],
20
- ['space', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 128)],
21
10
  ], (args) => args);
22
11
  //# sourceMappingURL=structs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/structs.ts"],"names":[],"mappings":";;;AAAA,oDAImC;AACnC,kEAA6D;AAG7D,+CAA+C;AAE/C,IAAY,KAKX;AALD,WAAY,KAAK;IACf,mDAAa,CAAA;IACb,2CAAS,CAAA;IACT,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EALW,KAAK,qBAAL,KAAK,QAKhB;AAWY,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,OAAO,EAAE,SAAE,CAAC;IACb,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,OAAO,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,GAAG,CAAC,CAAC;CAC1C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/structs.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,kEAA6D;AAE7D,+CAA0C;AAO7B,QAAA,UAAU,GAAG,IAAI,iBAAU,CACtC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IACpB,CAAC,OAAO,EAAE,uBAAS,CAAC;CACrB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAY,CACvB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export type Loan = {
2
+ borrower_owner: string;
3
+ collateral: number;
4
+ duration: number;
5
+ end_time: number;
6
+ lender_owner: string;
7
+ loan: string;
8
+ pair: string;
9
+ principal: number;
10
+ repayment: number;
11
+ start_time: number;
12
+ status: string;
13
+ };
14
+ export type Offer = {
15
+ offer: string;
16
+ pair: string;
17
+ duration: number;
18
+ principal: number;
19
+ remaining_principal: number;
20
+ };
21
+ export type Pair = {
22
+ pair: string;
23
+ duration: number;
24
+ lender_apr_percent: string;
25
+ collateral_token: {
26
+ mint: string;
27
+ };
28
+ principal_token: {
29
+ mint: string;
30
+ };
31
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/types.ts"],"names":[],"mappings":""}
@@ -22,7 +22,7 @@ const getAssetsByOwnerDas_1 = require("../../../utils/solana/das/getAssetsByOwne
22
22
  const isHeliusFungibleAsset_1 = require("../../../utils/solana/das/isHeliusFungibleAsset");
23
23
  const getSolanaDasEndpoint_1 = __importDefault(require("../../../utils/clients/getSolanaDasEndpoint"));
24
24
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
- var _a;
25
+ var _a, _b;
26
26
  const dasEndpoint = (0, getSolanaDasEndpoint_1.default)();
27
27
  const items = yield (0, getAssetsByOwnerDas_1.getAssetsByOwnerDas)(dasEndpoint, owner, {
28
28
  showNativeBalance: false,
@@ -50,7 +50,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
50
50
  : 1;
51
51
  // If it's an LP Token
52
52
  if (tokenPrice && tokenPrice.platformId !== portfolio_core_1.walletTokensPlatformId) {
53
- const liquidity = (0, tokenPriceToLiquidity_1.default)(asset.id, amount, portfolio_core_1.NetworkId.solana, tokenPrice);
53
+ const liquidity = Object.assign(Object.assign({}, (0, tokenPriceToLiquidity_1.default)(asset.id, amount, portfolio_core_1.NetworkId.solana, tokenPrice)), { ref: (_a = asset.token_info) === null || _a === void 0 ? void 0 : _a.associated_token_address });
54
54
  const tag = (0, helpers_1.getLpTag)(tokenPrice.platformId, tokenPrice.elementName);
55
55
  if (!liquiditiesByTag[tag]) {
56
56
  liquiditiesByTag[tag] = [];
@@ -59,7 +59,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
59
59
  }
60
60
  // If it's a regular token
61
61
  else if (tokenPrice && tokenPrice.platformId === portfolio_core_1.walletTokensPlatformId) {
62
- tokenAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(address, amount, portfolio_core_1.NetworkId.solana, tokenPrice)), { ref: (_a = asset.token_info) === null || _a === void 0 ? void 0 : _a.associated_token_address, link: tokenPrice.link, sourceRefs: tokenPrice.sourceRefs }));
62
+ tokenAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(address, amount, portfolio_core_1.NetworkId.solana, tokenPrice)), { ref: (_b = asset.token_info) === null || _b === void 0 ? void 0 : _b.associated_token_address, link: tokenPrice.link, sourceRefs: tokenPrice.sourceRefs }));
63
63
  }
64
64
  // If it's a NFT
65
65
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAUoC;AACpC,gEAAqC;AAGrC,wCAAkD;AAClD,wGAAgF;AAChF,sGAA8E;AAC9E,2GAAwG;AACxG,uFAAoF;AACpF,2FAAwF;AACxF,uGAA+E;AAE/E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;;IACtE,MAAM,WAAW,GAAG,IAAA,8BAAoB,GAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,IAAA,yCAAmB,EAAC,WAAW,EAAE,KAAK,EAAE;QAC1D,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAmB,EAAE,IAAI,EAAE,EAAE;QACnE,IAAI,IAAA,6CAAqB,EAAC,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,mBAAmB,CACjD,iBAAiB,EACjB,0BAAS,CAAC,MAAM,CACjB,CAAC;IAEF,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAyC,EAAE,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,IAAA,6CAAqB,EAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtE,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU;YAC7B,CAAC,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;iBAChC,GAAG,CAAC,SAAA,EAAE,EAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA,CAAC;iBACpC,QAAQ,EAAE;YACf,CAAC,CAAC,CAAC,CAAC;QAEN,sBAAsB;QACtB,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,uCAAsB,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,IAAA,+BAAqB,EACrC,KAAK,CAAC,EAAE,EACR,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;YACF,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7B,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,0BAA0B;aACrB,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,uCAAsB,EAAE,CAAC;YACxE,WAAW,CAAC,IAAI,iCACX,IAAA,gCAAsB,EACvB,OAAO,EACP,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,KACD,GAAG,EAAE,MAAA,KAAK,CAAC,UAAU,0CAAE,wBAAwB,EAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,UAAU,EAAE,UAAU,CAAC,UAAU,IACjC,CAAC;QACL,CAAC;QACD,gBAAgB;aACX,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAA,6DAA6B,EAAC,KAAK,CAAC,CAAC;YACtD,IAAI,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,qCAAoB;YAChC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE;gBACJ,yDAAyD;gBACzD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,uCAAsB;YAClC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,EAAE;gBACJ,MAAM,EAAE,WAAW;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU;YACV,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,EAAE;gBACJ,WAAW;aACZ;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,uCAAsB,SAAS;IACtC,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,131 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const web3_js_1 = require("@solana/web3.js");
14
+ const constants_1 = require("./constants");
15
+ const constants_2 = require("../marginfi/constants");
16
+ const Bank_1 = require("../marginfi/structs/Bank");
17
+ const helpers_1 = require("../marginfi/helpers");
18
+ const solana_1 = require("../../utils/solana");
19
+ const clients_1 = require("../../utils/clients");
20
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
21
+ const structs_1 = require("../native-stake/solana/structs");
22
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
23
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
24
+ const connection = (0, clients_1.getClientSolana)();
25
+ const banksRawData = yield ParsedGpa_1.ParsedGpa.build(connection, Bank_1.bankStruct, constants_1.lendingV2Pid)
26
+ .addFilter('discriminator', [142, 49, 166, 242, 50, 66, 97, 188])
27
+ .addFilter('group', constants_1.group)
28
+ .addDataSizeFilter(Bank_1.bankStruct.byteSize)
29
+ .run();
30
+ const banks = [];
31
+ const rateItems = [];
32
+ const sources = [];
33
+ const solPrice = yield cache.getTokenPrice(portfolio_core_1.solanaNativeAddress, portfolio_core_1.NetworkId.solana);
34
+ for (let index = 0; index < banksRawData.length; index += 1) {
35
+ const bank = banksRawData[index];
36
+ const { lendingApr, borrowingApr } = (0, helpers_1.computeInterestRates)(bank);
37
+ banks.push(Object.assign(Object.assign({}, bank), { dividedAssetShareValue: (0, helpers_1.wrappedI80F48toBigNumber)(bank.assetShareValue)
38
+ .div(Math.pow(10, bank.mintDecimals))
39
+ .toString(), dividedLiabilityShareValue: (0, helpers_1.wrappedI80F48toBigNumber)(bank.liabilityShareValue)
40
+ .div(Math.pow(10, bank.mintDecimals))
41
+ .toString(), suppliedLtv: (0, helpers_1.wrappedI80F48toBigNumber)(bank.config.assetWeightMaint)
42
+ .decimalPlaces(2)
43
+ .toNumber(), suppliedYields: [
44
+ {
45
+ apy: (0, portfolio_core_1.aprToApy)(lendingApr),
46
+ apr: lendingApr,
47
+ },
48
+ ], borrowedWeight: (0, helpers_1.wrappedI80F48toBigNumber)(bank.config.liabilityWeightMaint)
49
+ .decimalPlaces(2)
50
+ .toNumber(), borrowedYields: [
51
+ {
52
+ apy: -(0, portfolio_core_1.aprToApy)(borrowingApr),
53
+ apr: -borrowingApr,
54
+ },
55
+ ] }));
56
+ const depositedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(bank.liabilityShareValue)
57
+ .times((0, helpers_1.wrappedI80F48toBigNumber)(bank.totalLiabilityShares))
58
+ .toNumber();
59
+ const borrowedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(bank.assetShareValue)
60
+ .times((0, helpers_1.wrappedI80F48toBigNumber)(bank.totalAssetShares))
61
+ .toNumber();
62
+ if (borrowedAmount <= 1 && depositedAmount <= 1)
63
+ continue;
64
+ const tokenAddress = bank.mint.toString();
65
+ // Price the SPL generated for Native Stake Collateral : https://docs.marginfi.com/staked-collateral
66
+ // Each validator has it's own Stake Account, in which Marginfi deposit the Native Stake deposited by the user
67
+ // Margingi then mint a SPL token which represent the deposit
68
+ if (bank.config.assetTag === 2) {
69
+ const stakeAccountAddress = bank.config.oracleKeys_3;
70
+ const [mintAccount, stakeAccount] = yield Promise.all([
71
+ (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, solana_1.mintAccountStruct, bank.mint),
72
+ (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.stakeAccountStruct, stakeAccountAddress),
73
+ ]);
74
+ if (mintAccount && solPrice && stakeAccount) {
75
+ const { supply } = mintAccount;
76
+ const price = stakeAccount.stake
77
+ .minus(web3_js_1.LAMPORTS_PER_SOL)
78
+ .times(solPrice.price)
79
+ .dividedBy(supply)
80
+ .toNumber();
81
+ sources.push({
82
+ address: tokenAddress,
83
+ decimals: mintAccount.decimals,
84
+ id: bank.pubkey.toString(),
85
+ networkId: portfolio_core_1.NetworkId.solana,
86
+ platformId: portfolio_core_1.walletTokensPlatformId,
87
+ price,
88
+ timestamp: Date.now(),
89
+ weight: 1,
90
+ elementName: 'Stake Collateral',
91
+ });
92
+ }
93
+ }
94
+ const poolName = bank.config.riskTier === 0 ? 'Global Pool' : 'Isolated Pool';
95
+ const rate = {
96
+ tokenAddress,
97
+ borrowYield: {
98
+ apy: (0, portfolio_core_1.aprToApy)(borrowingApr),
99
+ apr: borrowingApr,
100
+ },
101
+ borrowedAmount,
102
+ depositYield: {
103
+ apy: (0, portfolio_core_1.aprToApy)(lendingApr),
104
+ apr: lendingApr,
105
+ },
106
+ depositedAmount,
107
+ platformId: constants_1.platformId,
108
+ poolName,
109
+ };
110
+ rateItems.push({
111
+ key: `${bank.pubkey.toString()}-${tokenAddress}`,
112
+ value: rate,
113
+ });
114
+ }
115
+ yield cache.setItem(constants_2.banksKey, banks, {
116
+ prefix: constants_1.platformId,
117
+ networkId: portfolio_core_1.NetworkId.solana,
118
+ });
119
+ yield cache.setItems(rateItems, {
120
+ prefix: portfolio_core_1.borrowLendRatesPrefix,
121
+ networkId: portfolio_core_1.NetworkId.solana,
122
+ });
123
+ yield cache.setTokenPriceSources(sources);
124
+ });
125
+ const job = {
126
+ id: `${constants_1.platformId}-banks`,
127
+ executor,
128
+ labels: ['normal'],
129
+ };
130
+ exports.default = job;
131
+ //# sourceMappingURL=banksJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banksJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/banksJob.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,14 @@
2
2
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import { StrategyInfo } from './types';
5
+ import { MemoizedCache } from '../../utils/misc/MemoizedCache';
6
+ import { ParsedAccount } from '../../utils/solana';
7
+ import { BankInfo } from '../marginfi/types';
5
8
  export declare const platformId = "vaultka";
6
9
  export declare const lendingsCacheKey = "lendings";
7
10
  export declare const lendingProgramIds: PublicKey[];
11
+ export declare const lendingV2Pid: PublicKey;
12
+ export declare const group: PublicKey;
13
+ export declare const banksMemo: MemoizedCache<ParsedAccount<BankInfo>[], Map<string, ParsedAccount<BankInfo>>>;
8
14
  export declare const strategiesCacheKey = "strategies";
9
15
  export declare const strategies: StrategyInfo[];
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.strategies = exports.strategiesCacheKey = exports.lendingProgramIds = exports.lendingsCacheKey = exports.platformId = void 0;
3
+ exports.strategies = exports.strategiesCacheKey = exports.banksMemo = exports.group = exports.lendingV2Pid = exports.lendingProgramIds = exports.lendingsCacheKey = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
5
6
  const structs_1 = require("./structs");
7
+ const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
8
+ const constants_1 = require("../marginfi/constants");
9
+ const arrayToMap_1 = require("../../utils/misc/arrayToMap");
6
10
  exports.platformId = 'vaultka';
7
11
  exports.lendingsCacheKey = `lendings`;
8
12
  exports.lendingProgramIds = [
@@ -11,6 +15,12 @@ exports.lendingProgramIds = [
11
15
  new web3_js_1.PublicKey('nKMLJtN1rr64K9DjmfzXvzaq4JEy5a4AJHHP9gY1dW6'),
12
16
  new web3_js_1.PublicKey('69oX4gmwgDAfXWxSRtTx9SHvWmu2bd9qVGjQPpAFHaBF'),
13
17
  ];
18
+ exports.lendingV2Pid = new web3_js_1.PublicKey('V1enDN8GY531jkFp3DWEQiRxwYYsnir8SADjHmkt4RG');
19
+ exports.group = new web3_js_1.PublicKey('groUPysZbKCi8RbcziZFeP1WSFPa31kC9CsdUBggdkc');
20
+ exports.banksMemo = new MemoizedCache_1.MemoizedCache(constants_1.banksKey, {
21
+ prefix: exports.platformId,
22
+ networkId: portfolio_core_1.NetworkId.solana,
23
+ }, (arr) => (0, arrayToMap_1.arrayToMap)(arr || [], 'pubkey'));
14
24
  exports.strategiesCacheKey = `strategies`;
15
25
  exports.strategies = [
16
26
  {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,uCAKmB;AAEN,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAE9B,QAAA,iBAAiB,GAAG;IAC/B,IAAI,mBAAS,CAAC,8CAA8C,CAAC;IAC7D,IAAI,mBAAS,CAAC,8CAA8C,CAAC;IAC7D,IAAI,mBAAS,CAAC,6CAA6C,CAAC;IAC5D,IAAI,mBAAS,CAAC,8CAA8C,CAAC;CAC9D,CAAC;AAEW,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAElC,QAAA,UAAU,GAAmB;IACxC;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,6CAA6C;QACrD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,+DAAuD;AAEvD,uCAKmB;AACnB,kEAA+D;AAG/D,qDAAiD;AACjD,4DAAyD;AAE5C,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAE9B,QAAA,iBAAiB,GAAG;IAC/B,IAAI,mBAAS,CAAC,8CAA8C,CAAC;IAC7D,IAAI,mBAAS,CAAC,8CAA8C,CAAC;IAC7D,IAAI,mBAAS,CAAC,6CAA6C,CAAC;IAC5D,IAAI,mBAAS,CAAC,8CAA8C,CAAC;CAC9D,CAAC;AAEW,QAAA,YAAY,GAAG,IAAI,mBAAS,CACvC,6CAA6C,CAC9C,CAAC;AACW,QAAA,KAAK,GAAG,IAAI,mBAAS,CAChC,6CAA6C,CAC9C,CAAC;AACW,QAAA,SAAS,GAAG,IAAI,6BAAa,CAIxC,oBAAQ,EACR;IACE,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,CACzC,CAAC;AAEW,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAElC,QAAA,UAAU,GAAmB;IACxC;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,6CAA6C;QACrD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAd,wBAAc;QACd,kBAAkB,EAAlB,4BAAkB;KACnB;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;IACD;QACE,MAAM,EAAE,8CAA8C;QACtD,cAAc,EAAE,2BAAiB;QACjC,kBAAkB,EAAE,+BAAqB;KAC1C;CACF,CAAC"}
@@ -5,9 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = void 0;
7
7
  const lendingJob_1 = __importDefault(require("./lendingJob"));
8
- const lendingFetcher_1 = __importDefault(require("./lendingFetcher"));
9
- const strategyFetcher_1 = __importDefault(require("./strategyFetcher"));
8
+ const lendingV1Fetcher_1 = __importDefault(require("./lendingV1Fetcher"));
9
+ const strategyV1Fetcher_1 = __importDefault(require("./strategyV1Fetcher"));
10
10
  const strategyJob_1 = __importDefault(require("./strategyJob"));
11
- exports.jobs = [lendingJob_1.default, strategyJob_1.default];
12
- exports.fetchers = [lendingFetcher_1.default, strategyFetcher_1.default];
11
+ const banksJob_1 = __importDefault(require("./banksJob"));
12
+ const lendingV2Fetcher_1 = __importDefault(require("./lendingV2Fetcher"));
13
+ exports.jobs = [lendingJob_1.default, strategyJob_1.default, banksJob_1.default];
14
+ exports.fetchers = [
15
+ lendingV1Fetcher_1.default,
16
+ strategyV1Fetcher_1.default,
17
+ lendingV2Fetcher_1.default,
18
+ ];
13
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/index.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAsC;AACtC,sEAA8C;AAC9C,wEAAgD;AAChD,gEAAwC;AAE3B,QAAA,IAAI,GAAU,CAAC,oBAAU,EAAE,qBAAW,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAc,CAAC,wBAAc,EAAE,yBAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/index.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAsC;AACtC,0EAAkD;AAClD,4EAAkD;AAClD,gEAAwC;AACxC,0DAAkC;AAClC,0EAAkD;AAErC,QAAA,IAAI,GAAU,CAAC,oBAAU,EAAE,qBAAW,EAAE,kBAAQ,CAAC,CAAC;AAClD,QAAA,QAAQ,GAAc;IACjC,0BAAgB;IAChB,2BAAe;IACf,0BAAgB;CACjB,CAAC"}
@@ -34,7 +34,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
34
34
  const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
35
35
  const element = elementRegistry.addElementMultiple({
36
36
  label: 'Lending',
37
- link: 'https://solana.vaultka.com/',
37
+ link: 'https://solana-v1.vaultka.com/',
38
38
  });
39
39
  userInfos.forEach((userInfo, i) => {
40
40
  if (userInfo)
@@ -60,4 +60,4 @@ const fetcher = {
60
60
  executor,
61
61
  };
62
62
  exports.default = fetcher;
63
- //# sourceMappingURL=lendingFetcher.js.map
63
+ //# sourceMappingURL=lendingV1Fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingV1Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/lendingV1Fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA4E;AAC5E,6CAA4C;AAC5C,gEAAqC;AAErC,2CAA8E;AAE9E,iDAAsD;AACtD,+CAG4B;AAC5B,uCAAoD;AACpD,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,IAAA,sCAA6B,EACnD,UAAU,EACV,wBAAc,EACd,6BAAiB,CAAC,GAAG,CACnB,CAAC,gBAAgB,EAAE,EAAE,CACnB,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC5D,gBAAgB,CACjB,CAAC,CAAC,CAAC,CACP,CACF,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAClC,4BAAgB,EAChB;QACE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,gCAAgC;KACvC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,QAAQ;YACV,OAAO,CAAC,QAAQ,CAAC;gBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC7B,CAAC,CAAC,oCAAmB;gBACvB,MAAM,EAAE,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;qBAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;qBACjC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;qBAC7B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACtC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/B,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;iBACnE;aACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,80 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const constants_1 = require("./constants");
14
+ const helpers_1 = require("../marginfi/helpers");
15
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
16
+ const getMarginFiAccounts_1 = require("../marginfi/getMarginFiAccounts");
17
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const marginFiAccounts = yield (0, getMarginFiAccounts_1.getMarginFiAccounts)(owner, {
19
+ group: constants_1.group,
20
+ pid: constants_1.lendingV2Pid,
21
+ memo: constants_1.banksMemo,
22
+ }, cache);
23
+ if (!marginFiAccounts)
24
+ return [];
25
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
26
+ marginFiAccounts.forEach((marginfiAccount) => {
27
+ if (!marginfiAccount)
28
+ return;
29
+ const { balances } = marginfiAccount;
30
+ if (!balances || balances.length === 0)
31
+ return;
32
+ const element = elementRegistry.addElementBorrowlend({
33
+ label: 'Lending',
34
+ ref: marginfiAccount.pubkey.toString(),
35
+ link: 'https://solana.vaultka.com/',
36
+ });
37
+ balances.forEach((balance) => {
38
+ if (!balance)
39
+ return;
40
+ if (!balance.assetShares.value.isZero()) {
41
+ const suppliedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(balance.assetShares)
42
+ .times(balance.bank.dividedAssetShareValue)
43
+ .toNumber();
44
+ element.addSuppliedAsset({
45
+ address: balance.bank.mint,
46
+ amount: suppliedAmount,
47
+ alreadyShifted: true,
48
+ sourceRefs: [
49
+ { name: 'Lending Market', address: balance.bankPk.toString() },
50
+ ],
51
+ });
52
+ element.addSuppliedLtv(balance.bank.suppliedLtv);
53
+ element.addSuppliedYield(balance.bank.suppliedYields);
54
+ }
55
+ if (!balance.liabilityShares.value.isZero()) {
56
+ const borrowedAmount = (0, helpers_1.wrappedI80F48toBigNumber)(balance.liabilityShares)
57
+ .times(balance.bank.dividedLiabilityShareValue)
58
+ .toNumber();
59
+ element.addBorrowedAsset({
60
+ address: balance.bank.mint,
61
+ amount: borrowedAmount,
62
+ alreadyShifted: true,
63
+ sourceRefs: [
64
+ { name: 'Lending Market', address: balance.bankPk.toString() },
65
+ ],
66
+ });
67
+ element.addBorrowedWeight(balance.bank.borrowedWeight);
68
+ element.addBorrowedYield(balance.bank.borrowedYields);
69
+ }
70
+ });
71
+ });
72
+ return elementRegistry.getElements(cache);
73
+ });
74
+ const fetcher = {
75
+ id: `${constants_1.platformId}-deposits`,
76
+ networkId: portfolio_core_1.NetworkId.solana,
77
+ executor,
78
+ };
79
+ exports.default = fetcher;
80
+ //# sourceMappingURL=lendingV2Fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingV2Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/lendingV2Fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -41,7 +41,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
41
41
  const strategy = strategiesInfo[i];
42
42
  const element = elementRegistry.addElementBorrowlend({
43
43
  label: 'Leverage',
44
- link: 'https://solana.vaultka.com/leverage',
44
+ link: 'https://solana-v1.vaultka.com/',
45
45
  ref: positionInfo[0].pubkey,
46
46
  sourceRefs: [{ name: 'Strategy', address: strategy.pubkey.toString() }],
47
47
  });
@@ -73,4 +73,4 @@ const fetcher = {
73
73
  executor,
74
74
  };
75
75
  exports.default = fetcher;
76
- //# sourceMappingURL=strategyFetcher.js.map
76
+ //# sourceMappingURL=strategyV1Fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategyV1Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/strategyV1Fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PortfolioElement, PortfolioElementLiquidity } from '@sonarwatch/portfolio-core';
2
+ export declare function isPortfolioElementLiquidity(element: PortfolioElement | null): element is PortfolioElementLiquidity;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPortfolioElementLiquidity = void 0;
4
+ function isPortfolioElementLiquidity(element) {
5
+ return !!element && element.type === 'liquidity';
6
+ }
7
+ exports.isPortfolioElementLiquidity = isPortfolioElementLiquidity;
8
+ //# sourceMappingURL=isPortfolioElementLiquidity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPortfolioElementLiquidity.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/isPortfolioElementLiquidity.ts"],"names":[],"mappings":";;;AAKA,SAAgB,2BAA2B,CACzC,OAAgC;IAEhC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;AACnD,CAAC;AAJD,kEAIC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/texture/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAyC;AAEzC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE;QAChD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,0BAAS,CAAC,QAAQ;KAC9B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lendingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/lendingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA4E;AAC5E,6CAA4C;AAC5C,gEAAqC;AAErC,2CAA8E;AAE9E,iDAAsD;AACtD,+CAG4B;AAC5B,uCAAoD;AACpD,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,IAAA,sCAA6B,EACnD,UAAU,EACV,wBAAc,EACd,6BAAiB,CAAC,GAAG,CACnB,CAAC,gBAAgB,EAAE,EAAE,CACnB,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC5D,gBAAgB,CACjB,CAAC,CAAC,CAAC,CACP,CACF,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAClC,4BAAgB,EAChB;QACE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,6BAA6B;KACpC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,QAAQ;YACV,OAAO,CAAC,QAAQ,CAAC;gBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC7B,CAAC,CAAC,oCAAmB;gBACvB,MAAM,EAAE,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;qBAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;qBACjC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;qBAC7B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACtC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/B,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;iBACnE;aACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"strategyFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/vaultka/strategyFetcher.ts"],"names":[],"mappings":"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"}
File without changes