@sonarwatch/portfolio-plugins 0.15.39 → 0.15.41

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 (136) hide show
  1. package/CHANGELOG.md +2864 -2839
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/memoryDriver.d.ts +1 -1
  5. package/src/overlayDriver.d.ts +1 -1
  6. package/src/plugins/balancer/helpers/pools.js +21 -21
  7. package/src/plugins/bonfida/airdropFetcher.d.ts +3 -3
  8. package/src/plugins/bonfida/airdropFetcher.js +63 -29
  9. package/src/plugins/bonfida/airdropFetcher.js.map +1 -1
  10. package/src/plugins/bonfida/constants.d.ts +1 -0
  11. package/src/plugins/bonfida/constants.js +11 -2
  12. package/src/plugins/bonfida/constants.js.map +1 -1
  13. package/src/plugins/bonfida/index.js +3 -3
  14. package/src/plugins/bonfida/index.js.map +1 -1
  15. package/src/plugins/debridge/airdropFetcher.js +6 -0
  16. package/src/plugins/debridge/airdropFetcher.js.map +1 -1
  17. package/src/plugins/drift/depositsFetcher.js +1 -1
  18. package/src/plugins/drift/depositsFetcher.js.map +1 -1
  19. package/src/plugins/drift-market-maker-vault/depositsFetcher.js +18 -5
  20. package/src/plugins/drift-market-maker-vault/depositsFetcher.js.map +1 -1
  21. package/src/plugins/drift-market-maker-vault/types.d.ts +1 -0
  22. package/src/plugins/drift-market-maker-vault/vaultsJob.js +9 -1
  23. package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
  24. package/src/plugins/exponent/ptPricesJob.js +18 -3
  25. package/src/plugins/exponent/ptPricesJob.js.map +1 -1
  26. package/src/plugins/flash/custodiesJob.js +1 -1
  27. package/src/plugins/flash/custodiesJob.js.map +1 -1
  28. package/src/plugins/flash/index.js +5 -4
  29. package/src/plugins/flash/index.js.map +1 -1
  30. package/src/plugins/flash/perpetualFetcher.js +35 -71
  31. package/src/plugins/flash/perpetualFetcher.js.map +1 -1
  32. package/src/plugins/flash/{poolJob.js → poolsJob.js} +1 -1
  33. package/src/plugins/flash/poolsJob.js.map +1 -0
  34. package/src/plugins/flash/poolsYieldJob.d.ts +3 -0
  35. package/src/plugins/flash/poolsYieldJob.js +54 -0
  36. package/src/plugins/flash/poolsYieldJob.js.map +1 -0
  37. package/src/plugins/hawksight/positionsFetcher.js +9 -3
  38. package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
  39. package/src/plugins/huma/index.js +2 -1
  40. package/src/plugins/huma/index.js.map +1 -1
  41. package/src/plugins/huma/pstYieldJob.d.ts +3 -0
  42. package/src/plugins/huma/pstYieldJob.js +40 -0
  43. package/src/plugins/huma/pstYieldJob.js.map +1 -0
  44. package/src/plugins/jito/airdropFetcher.d.ts +2 -3
  45. package/src/plugins/jito/airdropFetcher.js +42 -47
  46. package/src/plugins/jito/airdropFetcher.js.map +1 -1
  47. package/src/plugins/jito/airdropFetcher_old.d.ts +3 -0
  48. package/src/plugins/jito/airdropFetcher_old.js +66 -0
  49. package/src/plugins/jito/airdropFetcher_old.js.map +1 -0
  50. package/src/plugins/jito/constants.d.ts +2 -0
  51. package/src/plugins/jito/constants.js +10 -1
  52. package/src/plugins/jito/constants.js.map +1 -1
  53. package/src/plugins/jito/index.d.ts +1 -0
  54. package/src/plugins/jito/index.js +7 -3
  55. package/src/plugins/jito/index.js.map +1 -1
  56. package/src/plugins/jito/structs.d.ts +1 -1
  57. package/src/plugins/jito/structs.js +1 -1
  58. package/src/plugins/jito/structs.js.map +1 -1
  59. package/src/plugins/jupiter/launchpad/lfgAirdropFetcher.js +7 -2
  60. package/src/plugins/jupiter/launchpad/lfgAirdropFetcher.js.map +1 -1
  61. package/src/plugins/magiceden/airdropFetcher.js +46 -19
  62. package/src/plugins/magiceden/airdropFetcher.js.map +1 -1
  63. package/src/plugins/magiceden/structs.d.ts +11 -0
  64. package/src/plugins/magiceden/structs.js +11 -1
  65. package/src/plugins/magiceden/structs.js.map +1 -1
  66. package/src/plugins/meteora/vaultsJob.js +1 -0
  67. package/src/plugins/meteora/vaultsJob.js.map +1 -1
  68. package/src/plugins/orca/getWhirlpoolPositions.d.ts +1 -1
  69. package/src/plugins/orca/getWhirlpoolPositions.js +6 -3
  70. package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
  71. package/src/plugins/ratex/ptPricesJob.js +11 -1
  72. package/src/plugins/ratex/ptPricesJob.js.map +1 -1
  73. package/src/plugins/raydium/clmmFetcher.js +3 -3
  74. package/src/plugins/raydium/clmmFetcher.js.map +1 -1
  75. package/src/plugins/raydium/helpers.js +16 -7
  76. package/src/plugins/raydium/helpers.js.map +1 -1
  77. package/src/plugins/solayer/index.js +2 -1
  78. package/src/plugins/solayer/index.js.map +1 -1
  79. package/src/plugins/solayer/poolsJob.js +4 -2
  80. package/src/plugins/solayer/poolsJob.js.map +1 -1
  81. package/src/plugins/solayer/poolsYieldJob.d.ts +3 -0
  82. package/src/plugins/solayer/poolsYieldJob.js +41 -0
  83. package/src/plugins/solayer/poolsYieldJob.js.map +1 -0
  84. package/src/plugins/streamflow/airdropFetcher.js +1 -7
  85. package/src/plugins/streamflow/airdropFetcher.js.map +1 -1
  86. package/src/plugins/streamflow/helpers.d.ts +1 -0
  87. package/src/plugins/streamflow/helpers.js +63 -1
  88. package/src/plugins/streamflow/helpers.js.map +1 -1
  89. package/src/plugins/sushiswap/helpers.js +24 -24
  90. package/src/plugins/tensor/season4AirdropFetcher.js +15 -7
  91. package/src/plugins/tensor/season4AirdropFetcher.js.map +1 -1
  92. package/src/plugins/tokens/fetchers/solana.js +3 -10
  93. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  94. package/src/plugins/uniswap-v2/helpers.js +22 -22
  95. package/src/plugins/wormhole/airdropFetcher.js +10 -2
  96. package/src/plugins/wormhole/airdropFetcher.js.map +1 -1
  97. package/src/plugins/wormhole/structs.d.ts +36 -1
  98. package/src/plugins/wormhole/structs.js +40 -1
  99. package/src/plugins/wormhole/structs.js.map +1 -1
  100. package/src/plugins/zeta/airdropFetcher.js +14 -14
  101. package/src/utils/elementbuilder/AssetBuilder.d.ts +2 -1
  102. package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
  103. package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +3 -2
  104. package/src/utils/elementbuilder/AssetTokenBuilder.js +6 -3
  105. package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
  106. package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +2 -1
  107. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +4 -4
  108. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -1
  109. package/src/utils/elementbuilder/ElementBuilder.d.ts +2 -1
  110. package/src/utils/elementbuilder/ElementBuilder.js.map +1 -1
  111. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.d.ts +2 -1
  112. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js +2 -2
  113. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js.map +1 -1
  114. package/src/utils/elementbuilder/ElementLeverageBuilder.d.ts +2 -1
  115. package/src/utils/elementbuilder/ElementLeverageBuilder.js +2 -2
  116. package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
  117. package/src/utils/elementbuilder/ElementLiquidityBuilder.d.ts +2 -1
  118. package/src/utils/elementbuilder/ElementLiquidityBuilder.js +2 -2
  119. package/src/utils/elementbuilder/ElementLiquidityBuilder.js.map +1 -1
  120. package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +2 -1
  121. package/src/utils/elementbuilder/ElementMultipleBuilder.js +2 -2
  122. package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
  123. package/src/utils/elementbuilder/ElementRegistry.js +2 -1
  124. package/src/utils/elementbuilder/ElementRegistry.js.map +1 -1
  125. package/src/utils/elementbuilder/ElementTradeBuilder.d.ts +2 -1
  126. package/src/utils/elementbuilder/ElementTradeBuilder.js +3 -3
  127. package/src/utils/elementbuilder/ElementTradeBuilder.js.map +1 -1
  128. package/src/utils/elementbuilder/LiquidityBuilder.d.ts +2 -1
  129. package/src/utils/elementbuilder/LiquidityBuilder.js +3 -3
  130. package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
  131. package/src/utils/sei/constants.js +8 -8
  132. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  133. package/src/utils/solana/getTokenAccountsByOwner.js +1 -3
  134. package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
  135. package/src/plugins/flash/poolJob.js.map +0 -1
  136. /package/src/plugins/flash/{poolJob.d.ts → poolsJob.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"custodiesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/custodiesJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custodiesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/custodiesJob.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = void 0;
7
- // import perpetualFetcher from './perpetualFetcher';
7
+ const perpetualFetcher_1 = __importDefault(require("./perpetualFetcher"));
8
8
  const custodiesJob_1 = __importDefault(require("./custodiesJob"));
9
- const poolJob_1 = __importDefault(require("./poolJob"));
9
+ const poolsJob_1 = __importDefault(require("./poolsJob"));
10
10
  const stakeFetcher_1 = __importDefault(require("./stakeFetcher"));
11
11
  const fafStakingFetcher_1 = __importDefault(require("./fafStakingFetcher"));
12
- exports.jobs = [custodiesJob_1.default, poolJob_1.default];
12
+ const poolsYieldJob_1 = __importDefault(require("./poolsYieldJob"));
13
+ exports.jobs = [custodiesJob_1.default, poolsJob_1.default, poolsYieldJob_1.default];
13
14
  exports.fetchers = [
14
- // perpetualFetcher,
15
+ perpetualFetcher_1.default,
15
16
  stakeFetcher_1.default,
16
17
  fafStakingFetcher_1.default,
17
18
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/index.ts"],"names":[],"mappings":";;;;;;AAEA,qDAAqD;AACrD,kEAA0C;AAC1C,wDAAiC;AACjC,kEAA0C;AAC1C,4EAAoD;AAEvC,QAAA,IAAI,GAAU,CAAC,sBAAY,EAAE,iBAAQ,CAAC,CAAC;AACvC,QAAA,QAAQ,GAAc;IACjC,oBAAoB;IACpB,sBAAY;IACZ,2BAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/index.ts"],"names":[],"mappings":";;;;;;AAEA,0EAAkD;AAClD,kEAA0C;AAC1C,0DAAkC;AAClC,kEAA0C;AAC1C,4EAAoD;AACpD,oEAA4C;AAE/B,QAAA,IAAI,GAAU,CAAC,sBAAY,EAAE,kBAAQ,EAAE,uBAAa,CAAC,CAAC;AACtD,QAAA,QAAQ,GAAc;IACjC,0BAAgB;IAChB,sBAAY;IACZ,2BAAiB;CAClB,CAAC"}
@@ -21,6 +21,7 @@ const solana_1 = require("../../utils/solana");
21
21
  const filters_1 = require("./filters");
22
22
  const structs_1 = require("./structs");
23
23
  const structs_2 = require("../jupiter/exchange/structs");
24
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
24
25
  const usdFactor = new bignumber_js_1.default(Math.pow(10, 6));
25
26
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
26
27
  const client = (0, clients_1.getClientSolana)();
@@ -49,7 +50,10 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
49
50
  return;
50
51
  oraclePricesMap.set(oraclesPubkeys[i].toString(), acc.price.times(Math.pow(10, acc.expo)).toNumber());
51
52
  });
52
- const elements = [];
53
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
54
+ const levElement = registry.addElementLeverage({
55
+ label: 'Leverage',
56
+ });
53
57
  for (const position of perpetualsPositions) {
54
58
  if (position.sizeUsd.isLessThanOrEqualTo(0))
55
59
  continue;
@@ -61,13 +65,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
61
65
  const isLong = Number(market.side) === structs_2.Side.Long;
62
66
  const collateralCustody = market.collateralCustodyAccount;
63
67
  const targetCustody = market.targetCustodyAccount;
64
- if (!market || !collateralCustody)
68
+ if (!market || !collateralCustody || !targetCustody)
65
69
  continue;
66
- const borrowedAssets = [];
67
- const borrowedYields = [];
68
- const suppliedAssets = [];
69
- const suppliedYields = [];
70
- const rewardAssets = [];
71
70
  const { collateralUsd, sizeUsd, entryPrice: oraclePrice } = position;
72
71
  const openingPrice = oraclePrice.price.multipliedBy(Math.pow(10, oraclePrice.exponent));
73
72
  const targetPrice = oraclePricesMap.get(targetCustody.oracle.oracleAccount);
@@ -80,77 +79,42 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
80
79
  .dividedBy(collateralCustodyPrice)
81
80
  .dividedBy(usdFactor);
82
81
  const collatValue = collateralUsd.dividedBy(usdFactor).toNumber();
83
- const targetAmount = collatAmount.times(leverage);
84
- const targetValue = sizeUsd.dividedBy(usdFactor).toNumber();
82
+ const size = collatAmount.times(leverage);
83
+ const sizeValue = sizeUsd.dividedBy(usdFactor).toNumber();
85
84
  const priceDelta = isLong
86
85
  ? currentPrice.minus(openingPrice)
87
86
  : openingPrice.minus(currentPrice);
88
87
  const priceVar = priceDelta.dividedBy(openingPrice);
89
88
  const pnl = priceVar.times(collatValue).times(leverage).toNumber();
90
- suppliedAssets.push({
91
- type: 'token',
92
- networkId: portfolio_core_1.NetworkId.solana,
93
- value: collatValue,
94
- attributes: {},
95
- data: {
96
- amount: collatAmount.toNumber(),
97
- address: collateralCustody.mint,
98
- price: collateralCustodyPrice,
99
- },
100
- });
101
- borrowedAssets.push({
102
- type: 'token',
103
- networkId: portfolio_core_1.NetworkId.solana,
104
- value: targetValue,
105
- attributes: {},
106
- data: {
107
- amount: targetAmount.toNumber(),
108
- address: targetCustody.mint,
109
- price: targetPrice,
110
- },
111
- });
112
- rewardAssets.push({
113
- type: 'generic',
114
- networkId: portfolio_core_1.NetworkId.solana,
115
- value: pnl,
116
- attributes: {},
117
- name: 'PNL ($)',
118
- data: { amount: pnl, price: null },
119
- });
120
- // rewardAssets.push({
121
- // type: 'generic',
122
- // networkId: NetworkId.solana,
123
- // value: fees,
124
- // attributes: {},
125
- // data: { name: 'Fees O/C ($)', amount: fees },
126
- // });
127
- if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
128
- continue;
129
- const { borrowedValue, suppliedValue, healthRatio, rewardValue } = (0, portfolio_core_1.getElementLendingValues)({ suppliedAssets, borrowedAssets, rewardAssets });
130
- const value = collateralUsd.dividedBy(usdFactor).plus(pnl).toNumber();
131
- const side = isLong ? 'Long' : 'Short';
132
- elements.push({
133
- type: portfolio_core_1.PortfolioElementType.borrowlend,
134
- networkId: portfolio_core_1.NetworkId.solana,
135
- platformId: constants_1.platformId,
136
- label: 'Leverage',
137
- value,
138
- name: `${side} ${leverage.decimalPlaces(2)}x`,
139
- data: {
140
- borrowedAssets,
141
- borrowedValue,
142
- borrowedYields,
143
- suppliedAssets,
144
- suppliedValue,
145
- suppliedYields,
146
- rewardAssets,
147
- rewardValue,
148
- healthRatio,
149
- value,
150
- },
89
+ levElement.addIsoPosition({
90
+ address: targetCustody.mint.toString(),
91
+ collateralValue: collatValue,
92
+ entryPrice: openingPrice.toNumber(),
93
+ markPrice: currentPrice.toNumber(),
94
+ leverage: leverage.toNumber(),
95
+ pnlValue: pnl,
96
+ side: isLong ? portfolio_core_1.LeverageSide.long : portfolio_core_1.LeverageSide.short,
97
+ sizeValue,
98
+ size: size.toNumber(),
99
+ liquidationPrice: 0,
100
+ ref: position.pubkey.toString(),
101
+ sourceRefs: [
102
+ {
103
+ address: market.pubkey,
104
+ name: 'Market',
105
+ },
106
+ {
107
+ address: targetCustody.pubkey,
108
+ name: 'Custody',
109
+ },
110
+ {
111
+ address: collateralCustody.pubkey,
112
+ name: 'Custody',
113
+ },
114
+ ],
151
115
  });
152
116
  }
153
- return elements;
117
+ return registry.getElements(cache);
154
118
  });
155
119
  const fetcher = {
156
120
  id: `${constants_1.platformId}-perpetuals`,
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/perpetualFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perpetualFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/perpetualFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAqE;AACrE,gEAAqC;AACrC,6CAA4C;AAG5C,2CAA+D;AAC/D,iDAAsD;AACtD,+CAG4B;AAC5B,uCAAsD;AACtD,uCAA+D;AAE/D,yDAAmD;AACnD,gFAA6E;AAE7E,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC,CAAC;AACzC,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,mBAAmB,GAAG,MAAM,IAAA,iCAAwB,EACxD,MAAM,EACN,wBAAc,EACd,oBAAQ,EACR,IAAA,mCAAyB,EAAC,KAAK,CAAC,CACjC,CAAC;IAEF,IACE,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAElE,OAAO,EAAE,CAAC;IAEZ,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAe,sBAAU,EAAE;QACjE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAgB,EAAE,CAAC;IACvC,MAAM,UAAU,GAA4B,IAAI,GAAG,EAAE,CAAC;IACtD,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9B,cAAc,CAAC,IAAI,CACjB,IAAI,mBAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAChE,CAAC;QACF,cAAc,CAAC,IAAI,CACjB,IAAI,mBAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,CACpE,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,cAAc,GAAG,MAAM,IAAA,sCAA6B,EACxD,MAAM,EACN,4BAAkB,EAClB,cAAc,CACf,CAAC;IACF,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACvD,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,eAAe,CAAC,GAAG,CACjB,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAA,EAAE,EAAI,GAAG,CAAC,IAAI,CAAA,CAAC,CAAC,QAAQ,EAAE,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QAC7C,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IACH,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAAE,SAAS;QAEtD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,cAAI,CAAC,IAAI;YAAE,SAAS;QAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,cAAI,CAAC,IAAI,CAAC;QACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa;YAAE,SAAS;QAE9D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;QACrE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CACjD,SAAA,EAAE,EAAI,WAAW,CAAC,QAAQ,CAAA,CAC3B,CAAC;QAEF,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAChD,iBAAiB,CAAC,MAAM,CAAC,aAAa,CACvC,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,CAAC,sBAAsB;YAAE,SAAS;QACtD,MAAM,YAAY,GAAG,IAAI,sBAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,aAAa;aAC/B,SAAS,CAAC,sBAAsB,CAAC;aACjC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAElE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE1D,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEnE,UAAU,CAAC,cAAc,CAAC;YACxB,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC,eAAe,EAAE,WAAW;YAC5B,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE;YAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC7B,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,6BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,6BAAY,CAAC,KAAK;YACrD,SAAS;YACT,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;YACrB,gBAAgB,EAAE,CAAC;YACnB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/B,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,MAAM,CAAC,MAAM;oBACtB,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,OAAO,EAAE,aAAa,CAAC,MAAM;oBAC7B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,iBAAiB,CAAC,MAAM;oBACjC,IAAI,EAAE,SAAS;iBAChB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,aAAa;IAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -104,4 +104,4 @@ const job = {
104
104
  labels: ['realtime'],
105
105
  };
106
106
  exports.default = job;
107
- //# sourceMappingURL=poolJob.js.map
107
+ //# sourceMappingURL=poolsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/poolsJob.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,54 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const constants_1 = require("./constants");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const [apiData, pools] = yield Promise.all([
20
+ axios_1.default.get('https://api.prod.flash.trade/earn-page/data'),
21
+ cache.getItem(constants_1.poolsKey, {
22
+ prefix: constants_1.platformId,
23
+ networkId: portfolio_core_1.NetworkId.solana,
24
+ }),
25
+ ]);
26
+ if (!pools)
27
+ return;
28
+ yield cache.setTokenYields(apiData.data.pools.flatMap((pool) => {
29
+ const poolFromCache = pools.find((p) => p.pkey === pool.poolAddress);
30
+ if (!poolFromCache)
31
+ return [];
32
+ return [
33
+ {
34
+ address: poolFromCache.flpMint,
35
+ networkId: portfolio_core_1.NetworkId.solana,
36
+ yield: (0, portfolio_core_1.yieldFromApy)(pool.flpWeeklyApy / 100),
37
+ timestamp: Date.now(),
38
+ },
39
+ {
40
+ address: poolFromCache.compoundingMint,
41
+ networkId: portfolio_core_1.NetworkId.solana,
42
+ yield: (0, portfolio_core_1.yieldFromApr)(pool.sflpWeeklyApr / 100),
43
+ timestamp: Date.now(),
44
+ },
45
+ ];
46
+ }));
47
+ });
48
+ const job = {
49
+ id: `${constants_1.platformId}-pools-yield`,
50
+ executor,
51
+ labels: ['normal'],
52
+ };
53
+ exports.default = job;
54
+ //# sourceMappingURL=poolsYieldJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolsYieldJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flash/poolsYieldJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,kDAA0B;AAG1B,2CAAmD;AAGnD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,eAAK,CAAC,GAAG,CAMN,6CAA6C,CAAC;QACjD,KAAK,CAAC,OAAO,CAAa,oBAAQ,EAAE;YAClC,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,KAAK,CAAC,cAAc,CACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO;YACL;gBACE,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAA,6BAAY,EAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBAC5C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB;YACD;gBACE,OAAO,EAAE,aAAa,CAAC,eAAe;gBACtC,SAAS,EAAE,0BAAS,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAA,6BAAY,EAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gBAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -21,8 +21,11 @@ const dlmmPositionsFetcher_1 = __importDefault(require("../meteora/dlmm/dlmmPosi
21
21
  const solana_1 = __importDefault(require("../tokens/fetchers/solana"));
22
22
  const constants_2 = require("../marinade/constants");
23
23
  const hasTransactions_1 = require("../../utils/hasTransactions");
24
- const whirlpoolFetcher_1 = __importDefault(require("../orca/whirlpoolFetcher"));
24
+ const getTokenAccountsByOwner_1 = require("../../utils/solana/getTokenAccountsByOwner");
25
+ const clients_1 = require("../../utils/clients");
26
+ const getWhirlpoolPositions_1 = require("../orca/getWhirlpoolPositions");
25
27
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const client = (0, clients_1.getClientSolana)();
26
29
  const derivedAddresses = (0, helper_1.getHawksightUserPdas)(new web3_js_1.PublicKey(owner));
27
30
  const hasAnyTransactions = yield Promise.all([
28
31
  (0, hasTransactions_1.hasTransactions)(derivedAddresses[0].toString(), portfolio_core_1.NetworkId.solana),
@@ -30,13 +33,16 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
30
33
  ]).then((results) => results[0] || results[1]);
31
34
  if (!hasAnyTransactions)
32
35
  return [];
36
+ const potentialTokens = (yield Promise.all([
37
+ (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(client, derivedAddresses[0].toString()),
38
+ (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(client, derivedAddresses[1].toString()),
39
+ ])).flat();
33
40
  const portfolioElements = (yield Promise.all([
34
41
  // This handles Kamino, Saber, Marinade
35
42
  solana_1.default.executor(derivedAddresses[0].toString(), cache),
36
43
  solana_1.default.executor(derivedAddresses[1].toString(), cache),
37
44
  // This handles Orca
38
- whirlpoolFetcher_1.default.executor(derivedAddresses[0].toString(), cache),
39
- whirlpoolFetcher_1.default.executor(derivedAddresses[1].toString(), cache),
45
+ (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId, undefined, false)(potentialTokens, cache),
40
46
  // This handles Save
41
47
  obligationsFetcher_1.default.executor(derivedAddresses[0].toString(), cache),
42
48
  obligationsFetcher_1.default.executor(derivedAddresses[1].toString(), cache),
@@ -1 +1 @@
1
- {"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hawksight/positionsFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hawksight/positionsFetcher.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ exports.airdropFetchers = exports.fetchers = exports.jobs = void 0;
7
7
  const mpstPricingJob_1 = __importDefault(require("./mpstPricingJob"));
8
8
  const airdropFetcher_1 = require("./airdropFetcher");
9
9
  const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
10
- exports.jobs = [mpstPricingJob_1.default];
10
+ const pstYieldJob_1 = __importDefault(require("./pstYieldJob"));
11
+ exports.jobs = [mpstPricingJob_1.default, pstYieldJob_1.default];
11
12
  exports.fetchers = [airdropFetcher_1.fetcher, stakingFetcher_1.default];
12
13
  exports.airdropFetchers = [airdropFetcher_1.airdropFetcher];
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/huma/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAC9C,qDAA2D;AAE3D,sEAA8C;AAEjC,QAAA,IAAI,GAAU,CAAC,wBAAc,CAAC,CAAC;AAC/B,QAAA,QAAQ,GAAc,CAAC,wBAAO,EAAE,wBAAc,CAAC,CAAC;AAChD,QAAA,eAAe,GAAqB,CAAC,+BAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/huma/index.ts"],"names":[],"mappings":";;;;;;AAEA,sEAA8C;AAC9C,qDAA2D;AAE3D,sEAA8C;AAC9C,gEAAwC;AAE3B,QAAA,IAAI,GAAU,CAAC,wBAAc,EAAE,qBAAW,CAAC,CAAC;AAC5C,QAAA,QAAQ,GAAc,CAAC,wBAAO,EAAE,wBAAc,CAAC,CAAC;AAChD,QAAA,eAAe,GAAqB,CAAC,+BAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,40 @@
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 APY_VALUES = {
15
+ CLASSIC_MODE: 10.5,
16
+ MAXI_MODE: 0,
17
+ };
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ yield cache.setTokenYields([
20
+ {
21
+ address: constants_1.pstMint,
22
+ networkId: portfolio_core_1.NetworkId.solana,
23
+ yield: (0, portfolio_core_1.yieldFromApy)(APY_VALUES.CLASSIC_MODE),
24
+ timestamp: Date.now(),
25
+ },
26
+ {
27
+ address: constants_1.mPstMint,
28
+ networkId: portfolio_core_1.NetworkId.solana,
29
+ yield: (0, portfolio_core_1.yieldFromApy)(APY_VALUES.MAXI_MODE),
30
+ timestamp: Date.now(),
31
+ },
32
+ ]);
33
+ });
34
+ const job = {
35
+ id: `${constants_1.platformId}-pst-yield`,
36
+ executor,
37
+ labels: ['normal'],
38
+ };
39
+ exports.default = job;
40
+ //# sourceMappingURL=pstYieldJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pstYieldJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/huma/pstYieldJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAqE;AAGrE,2CAA4D;AAE5D,MAAM,UAAU,GAAG;IACjB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,KAAK,CAAC,cAAc,CAAC;QACzB;YACE,OAAO,EAAE,mBAAO;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAA,6BAAY,EAAC,UAAU,CAAC,YAAY,CAAC;YAC5C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;QACD;YACE,OAAO,EAAE,oBAAQ;YACjB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAA,6BAAY,EAAC,UAAU,CAAC,SAAS,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,YAAY;IAC7B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -1,3 +1,2 @@
1
- import { Fetcher } from '../../Fetcher';
2
- declare const fetcher: Fetcher;
3
- export default fetcher;
1
+ import { AirdropFetcher } from '../../AirdropFetcher';
2
+ export declare const jitoAirdropFetcher: AirdropFetcher;
@@ -8,59 +8,54 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.jitoAirdropFetcher = void 0;
15
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
- const axios_1 = __importDefault(require("axios"));
14
+ const AirdropFetcher_1 = require("../../AirdropFetcher");
18
15
  const constants_1 = require("./constants");
19
- const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
20
- const jtoFactor = new bignumber_js_1.default(Math.pow(10, constants_1.jtoDecimals));
21
- const endOfVesting = 1733529600000; // December 07 2024
22
- const endOfClaim = 1749254400000; // June 07 2025
23
- const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
- if (Date.now() > endOfClaim)
25
- return [];
26
- const [res, tokenPrice] = yield Promise.all([
27
- axios_1.default.get(constants_1.airdropUrl + owner, { timeout: 1000 }).catch(() => null),
28
- cache.getTokenPrice(constants_1.jtoMint, portfolio_core_1.NetworkId.solana),
29
- ]);
30
- if (!res)
31
- return [];
32
- const claimStatus = res.data;
33
- const avaibleToClaim = new bignumber_js_1.default(claimStatus.amount_locked_withdrawable).dividedBy(jtoFactor);
34
- const vestedAmountLeft = new bignumber_js_1.default(claimStatus.total_locked_searcher)
35
- .plus(claimStatus.total_locked_staker)
36
- .plus(claimStatus.total_locked_validator)
37
- .minus(claimStatus.amount_locked_withdrawn)
38
- .dividedBy(jtoFactor)
39
- .minus(avaibleToClaim);
40
- const assets = [];
41
- if (!vestedAmountLeft.isZero())
42
- assets.push((0, tokenPriceToAssetToken_1.default)(constants_1.jtoMint, vestedAmountLeft.toNumber(), portfolio_core_1.NetworkId.solana, tokenPrice, undefined, { lockedUntil: endOfVesting }));
43
- if (!avaibleToClaim.isZero())
44
- assets.push((0, tokenPriceToAssetToken_1.default)(constants_1.jtoMint, avaibleToClaim.toNumber(), portfolio_core_1.NetworkId.solana, tokenPrice, undefined, { isClaimable: true }));
45
- if (assets.length === 0)
46
- return [];
47
- return [
48
- {
49
- type: portfolio_core_1.PortfolioElementType.multiple,
50
- label: 'Airdrop',
51
- networkId: portfolio_core_1.NetworkId.solana,
52
- platformId: constants_1.platformId,
53
- data: {
54
- assets,
16
+ const clients_1 = require("../../utils/clients");
17
+ const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
18
+ const deriveClaimStatus_1 = require("../../utils/solana/jupiter/deriveClaimStatus");
19
+ const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
20
+ const structs_1 = require("./structs");
21
+ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getClientSolana)();
23
+ const claimStatus = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, constants_1.merkleTree, constants_1.merkleDistributor);
24
+ const claimAccount = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(client, structs_1.claimStatusStruct, claimStatus);
25
+ if (!claimAccount) {
26
+ return (0, AirdropFetcher_1.getAirdropRaw)({
27
+ statics: constants_1.airdropStatics,
28
+ items: [
29
+ {
30
+ amount: 0,
31
+ isClaimed: false,
32
+ label: 'JTO',
33
+ address: constants_1.jtoMint,
34
+ },
35
+ ],
36
+ });
37
+ }
38
+ const claims = yield (0, getClaimTransactions_1.getClaimTransactions)(owner, claimStatus, constants_1.jtoMint);
39
+ return (0, AirdropFetcher_1.getAirdropRaw)({
40
+ statics: constants_1.airdropStatics,
41
+ items: [
42
+ {
43
+ amount: claimAccount.unlockedAmount
44
+ .plus(claimAccount.lockedAmount)
45
+ .dividedBy(Math.pow(10, constants_1.jtoDecimals))
46
+ .toNumber(),
47
+ isClaimed: !!claimAccount,
48
+ label: 'JTO',
49
+ address: constants_1.jtoMint,
50
+ claims,
51
+ ref: claimStatus.toString(),
55
52
  },
56
- value: (0, portfolio_core_1.getUsdValueSum)(assets.map((asset) => asset.value)),
57
- },
58
- ];
53
+ ],
54
+ });
59
55
  });
60
- const fetcher = {
61
- id: `${constants_1.platformId}-airdrop`,
56
+ exports.jitoAirdropFetcher = {
57
+ id: constants_1.airdropStatics.id,
62
58
  networkId: portfolio_core_1.NetworkId.solana,
63
59
  executor,
64
60
  };
65
- exports.default = fetcher;
66
61
  //# sourceMappingURL=airdropFetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jito/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AACpC,gEAAqC;AACrC,kDAA0B;AAG1B,2CAA2E;AAC3E,qGAA6E;AAG7E,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,uBAAW,CAAA,CAAC,CAAC;AACnD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,mBAAmB;AACvD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,eAAe;AACjD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,eAAK,CAAC,GAAG,CAAC,sBAAU,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClE,KAAK,CAAC,aAAa,CAAC,mBAAO,EAAE,0BAAS,CAAC,MAAM,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAmB,CAAC;IAE5C,MAAM,cAAc,GAAG,IAAI,sBAAS,CAClC,WAAW,CAAC,0BAA0B,CACvC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG,IAAI,sBAAS,CAAC,WAAW,CAAC,qBAAqB,CAAC;SACtE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;SACrC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC;SACxC,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC;SAC1C,SAAS,CAAC,SAAS,CAAC;SACpB,KAAK,CAAC,cAAc,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EACpB,mBAAO,EACP,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,0BAAS,CAAC,MAAM,EAChB,UAAU,EACV,SAAS,EACT,EAAE,WAAW,EAAE,YAAY,EAAE,CAC9B,CACF,CAAC;IAEJ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EACpB,mBAAO,EACP,cAAc,CAAC,QAAQ,EAAE,EACzB,0BAAS,CAAC,MAAM,EAChB,UAAU,EACV,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CACF,CAAC;IACJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE;gBACJ,MAAM;aACP;YACD,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,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
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jito/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,yDAI8B;AAC9B,2CAMqB;AACrB,iDAAsD;AACtD,0FAAuF;AACvF,oFAAiF;AACjF,kFAA+E;AAC/E,uCAA8C;AAE9C,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,WAAW,GAAG,IAAA,qCAAiB,EAAC,KAAK,EAAE,sBAAU,EAAE,6BAAiB,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,MAAM,IAAA,2CAAoB,EAC7C,MAAM,EACN,2BAAiB,EACjB,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAA,8BAAa,EAAC;YACnB,OAAO,EAAE,0BAAc;YACvB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,mBAAO;iBACjB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAoB,EAAC,KAAK,EAAE,WAAW,EAAE,mBAAO,CAAC,CAAC;IAEvE,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,0BAAc;QACvB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,YAAY,CAAC,cAAc;qBAChC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;qBAC/B,SAAS,CAAC,SAAA,EAAE,EAAI,uBAAW,CAAA,CAAC;qBAC5B,QAAQ,EAAE;gBACb,SAAS,EAAE,CAAC,CAAC,YAAY;gBACzB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,mBAAO;gBAChB,MAAM;gBACN,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,kBAAkB,GAAmB;IAChD,EAAE,EAAE,0BAAc,CAAC,EAAE;IACrB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,66 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
+ const axios_1 = __importDefault(require("axios"));
18
+ const constants_1 = require("./constants");
19
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
20
+ const jtoFactor = new bignumber_js_1.default(Math.pow(10, constants_1.jtoDecimals));
21
+ const endOfVesting = 1701964800000; // December 07 2024
22
+ const endOfClaim = 1749312000000; // June 07 2025
23
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
+ if (Date.now() > endOfClaim)
25
+ return [];
26
+ const [res, tokenPrice] = yield Promise.all([
27
+ axios_1.default.get(constants_1.airdropUrl + owner, { timeout: 1000 }).catch(() => null),
28
+ cache.getTokenPrice(constants_1.jtoMint, portfolio_core_1.NetworkId.solana),
29
+ ]);
30
+ if (!res)
31
+ return [];
32
+ const claimStatus = res.data;
33
+ const avaibleToClaim = new bignumber_js_1.default(claimStatus.amount_locked_withdrawable).dividedBy(jtoFactor);
34
+ const vestedAmountLeft = new bignumber_js_1.default(claimStatus.total_locked_searcher)
35
+ .plus(claimStatus.total_locked_staker)
36
+ .plus(claimStatus.total_locked_validator)
37
+ .minus(claimStatus.amount_locked_withdrawn)
38
+ .dividedBy(jtoFactor)
39
+ .minus(avaibleToClaim);
40
+ const assets = [];
41
+ if (!vestedAmountLeft.isZero())
42
+ assets.push((0, tokenPriceToAssetToken_1.default)(constants_1.jtoMint, vestedAmountLeft.toNumber(), portfolio_core_1.NetworkId.solana, tokenPrice, undefined, { lockedUntil: endOfVesting }));
43
+ if (!avaibleToClaim.isZero())
44
+ assets.push((0, tokenPriceToAssetToken_1.default)(constants_1.jtoMint, avaibleToClaim.toNumber(), portfolio_core_1.NetworkId.solana, tokenPrice, undefined, { isClaimable: true }));
45
+ if (assets.length === 0)
46
+ return [];
47
+ return [
48
+ {
49
+ type: portfolio_core_1.PortfolioElementType.multiple,
50
+ label: 'Airdrop',
51
+ networkId: portfolio_core_1.NetworkId.solana,
52
+ platformId: constants_1.platformId,
53
+ data: {
54
+ assets,
55
+ },
56
+ value: (0, portfolio_core_1.getUsdValueSum)(assets.map((asset) => asset.value)),
57
+ },
58
+ ];
59
+ });
60
+ const fetcher = {
61
+ id: `${constants_1.platformId}-airdrop`,
62
+ networkId: portfolio_core_1.NetworkId.solana,
63
+ executor,
64
+ };
65
+ exports.default = fetcher;
66
+ //# sourceMappingURL=airdropFetcher_old.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdropFetcher_old.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jito/airdropFetcher_old.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AACpC,gEAAqC;AACrC,kDAA0B;AAG1B,2CAA2E;AAC3E,qGAA6E;AAG7E,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,uBAAW,CAAA,CAAC,CAAC;AACnD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,mBAAmB;AACvD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,eAAe;AACjD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,eAAK,CAAC,GAAG,CAAC,sBAAU,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClE,KAAK,CAAC,aAAa,CAAC,mBAAO,EAAE,0BAAS,CAAC,MAAM,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAmB,CAAC;IAE5C,MAAM,cAAc,GAAG,IAAI,sBAAS,CAClC,WAAW,CAAC,0BAA0B,CACvC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG,IAAI,sBAAS,CAAC,WAAW,CAAC,qBAAqB,CAAC;SACtE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;SACrC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC;SACxC,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC;SAC1C,SAAS,CAAC,SAAS,CAAC;SACpB,KAAK,CAAC,cAAc,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EACpB,mBAAO,EACP,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,0BAAS,CAAC,MAAM,EAChB,UAAU,EACV,SAAS,EACT,EAAE,WAAW,EAAE,YAAY,EAAE,CAC9B,CACF,CAAC;IAEJ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EACpB,mBAAO,EACP,cAAc,CAAC,QAAQ,EAAE,EACzB,0BAAS,CAAC,MAAM,EAChB,UAAU,EACV,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CACF,CAAC;IACJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE;gBACJ,MAAM;aACP;YACD,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,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"}