@sonarwatch/portfolio-plugins 0.15.28 → 0.15.30

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 (206) hide show
  1. package/CHANGELOG.md +2746 -2715
  2. package/README.md +3 -3
  3. package/package.json +3 -3
  4. package/src/Job.d.ts +1 -1
  5. package/src/index.js +4 -0
  6. package/src/index.js.map +1 -1
  7. package/src/plugins/abex/getVaultInfo.d.ts +1 -2
  8. package/src/plugins/abex/getVaultInfo.js +14 -17
  9. package/src/plugins/abex/getVaultInfo.js.map +1 -1
  10. package/src/plugins/abex/helpers.js +1 -1
  11. package/src/plugins/abex/helpers.js.map +1 -1
  12. package/src/plugins/allbridge/helpers.js +6 -5
  13. package/src/plugins/allbridge/helpers.js.map +1 -1
  14. package/src/plugins/balancer/helpers/pools.js +21 -21
  15. package/src/plugins/bonfida/snsAirdropFetcher.js +10 -2
  16. package/src/plugins/bonfida/snsAirdropFetcher.js.map +1 -1
  17. package/src/plugins/bonkrewards/constants.d.ts +2 -0
  18. package/src/plugins/bonkrewards/constants.js +3 -1
  19. package/src/plugins/bonkrewards/constants.js.map +1 -1
  20. package/src/plugins/{tokens/fetchers/solana-nfts-underlyings.d.ts → bonkrewards/daoFetcher.d.ts} +1 -1
  21. package/src/plugins/bonkrewards/daoFetcher.js +57 -0
  22. package/src/plugins/bonkrewards/daoFetcher.js.map +1 -0
  23. package/src/plugins/bonkrewards/daoJob.d.ts +3 -0
  24. package/src/plugins/bonkrewards/daoJob.js +33 -0
  25. package/src/plugins/bonkrewards/daoJob.js.map +1 -0
  26. package/src/plugins/bonkrewards/index.js +4 -2
  27. package/src/plugins/bonkrewards/index.js.map +1 -1
  28. package/src/plugins/bonkrewards/structs.d.ts +27 -1
  29. package/src/plugins/bonkrewards/structs.js +25 -2
  30. package/src/plugins/bonkrewards/structs.js.map +1 -1
  31. package/src/plugins/cetus/index.js +6 -2
  32. package/src/plugins/cetus/index.js.map +1 -1
  33. package/src/plugins/cropper/whirlpoolFetcher.d.ts +3 -0
  34. package/src/plugins/cropper/whirlpoolFetcher.js +26 -0
  35. package/src/plugins/cropper/whirlpoolFetcher.js.map +1 -0
  36. package/src/plugins/cudis/airdropFetcher.d.ts +3 -0
  37. package/src/plugins/cudis/airdropFetcher.js +74 -0
  38. package/src/plugins/cudis/airdropFetcher.js.map +1 -0
  39. package/src/plugins/cudis/constants.d.ts +9 -0
  40. package/src/plugins/cudis/constants.js +18 -0
  41. package/src/plugins/cudis/constants.js.map +1 -0
  42. package/src/plugins/cudis/index.d.ts +5 -0
  43. package/src/plugins/cudis/index.js +15 -0
  44. package/src/plugins/cudis/index.js.map +1 -0
  45. package/src/plugins/cudis/stakingFetcher.d.ts +3 -0
  46. package/src/plugins/cudis/stakingFetcher.js +62 -0
  47. package/src/plugins/cudis/stakingFetcher.js.map +1 -0
  48. package/src/plugins/cudis/structs.d.ts +19 -0
  49. package/src/plugins/cudis/structs.js +20 -0
  50. package/src/plugins/cudis/structs.js.map +1 -0
  51. package/src/plugins/cudis/types.d.ts +8 -0
  52. package/src/plugins/cudis/types.js +3 -0
  53. package/src/plugins/cudis/types.js.map +1 -0
  54. package/src/plugins/daos/helpers.d.ts +0 -5
  55. package/src/plugins/daos/helpers.js +1 -51
  56. package/src/plugins/daos/helpers.js.map +1 -1
  57. package/src/plugins/daos/realmsProgramsJob.js.map +1 -1
  58. package/src/plugins/drift/helpers.js +47 -15
  59. package/src/plugins/drift/helpers.js.map +1 -1
  60. package/src/plugins/drift/struct.d.ts +9 -0
  61. package/src/plugins/drift/struct.js +10 -1
  62. package/src/plugins/drift/struct.js.map +1 -1
  63. package/src/plugins/drift-market-maker-vault/constants.d.ts +1 -0
  64. package/src/plugins/drift-market-maker-vault/constants.js +4 -1
  65. package/src/plugins/drift-market-maker-vault/constants.js.map +1 -1
  66. package/src/plugins/drift-market-maker-vault/vaultsJob.js +2 -2
  67. package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
  68. package/src/plugins/flash/helpers.js +8 -2
  69. package/src/plugins/flash/helpers.js.map +1 -1
  70. package/src/plugins/fluxbeam/poolsJob.js +25 -27
  71. package/src/plugins/fluxbeam/poolsJob.js.map +1 -1
  72. package/src/plugins/hawksight/positionsFetcher.js +3 -24
  73. package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
  74. package/src/plugins/helium/getHeliumPositions.d.ts +3 -0
  75. package/src/plugins/helium/getHeliumPositions.js +53 -0
  76. package/src/plugins/helium/getHeliumPositions.js.map +1 -0
  77. package/src/plugins/helium/positionsFetcher.d.ts +3 -0
  78. package/src/{utils/misc/Memoized.js → plugins/helium/positionsFetcher.js} +15 -20
  79. package/src/plugins/helium/positionsFetcher.js.map +1 -0
  80. package/src/plugins/jupiter/launchpad/constants.js +7 -26
  81. package/src/plugins/jupiter/launchpad/constants.js.map +1 -1
  82. package/src/plugins/jupiter/launchpad/structs.d.ts +1 -1
  83. package/src/plugins/jupiter/launchpad/structs.js +1 -1
  84. package/src/plugins/jupiter/launchpad/structs.js.map +1 -1
  85. package/src/plugins/kamino/airdropHelpers.d.ts +2 -0
  86. package/src/plugins/kamino/airdropHelpers.js +38 -0
  87. package/src/plugins/kamino/airdropHelpers.js.map +1 -0
  88. package/src/plugins/kamino/constants.d.ts +2 -0
  89. package/src/plugins/kamino/constants.js +13 -4
  90. package/src/plugins/kamino/constants.js.map +1 -1
  91. package/src/plugins/kamino/index.js +8 -2
  92. package/src/plugins/kamino/index.js.map +1 -1
  93. package/src/plugins/kamino/s1AirdropFetcher.js +30 -5
  94. package/src/plugins/kamino/s1AirdropFetcher.js.map +1 -1
  95. package/src/plugins/kamino/{s2AirdropFetcher.old.js → s2AirdropFetcher.js} +31 -6
  96. package/src/plugins/kamino/s2AirdropFetcher.js.map +1 -0
  97. package/src/plugins/kamino/s3AirdropFetcher.d.ts +4 -0
  98. package/src/plugins/kamino/s3AirdropFetcher.js +68 -0
  99. package/src/plugins/kamino/s3AirdropFetcher.js.map +1 -0
  100. package/src/plugins/lulo/rewardsFetcher.js +5 -1
  101. package/src/plugins/lulo/rewardsFetcher.js.map +1 -1
  102. package/src/plugins/magna/constant.d.ts +4 -0
  103. package/src/plugins/magna/constant.js +6 -0
  104. package/src/plugins/magna/constant.js.map +1 -0
  105. package/src/plugins/magna/structs.d.ts +12 -0
  106. package/src/plugins/magna/structs.js +13 -0
  107. package/src/plugins/magna/structs.js.map +1 -0
  108. package/src/plugins/metaplex/index.js +1 -5
  109. package/src/plugins/metaplex/index.js.map +1 -1
  110. package/src/plugins/metaplex/resizableNftFetcher.d.ts +3 -0
  111. package/src/plugins/metaplex/resizableNftFetcher.js +9 -10
  112. package/src/plugins/metaplex/resizableNftFetcher.js.map +1 -1
  113. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.d.ts +3 -0
  114. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js +11 -11
  115. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js.map +1 -1
  116. package/src/plugins/meteora/cpamm/cpammV2Job.js +58 -47
  117. package/src/plugins/meteora/cpamm/cpammV2Job.js.map +1 -1
  118. package/src/plugins/meteora/index.js +0 -2
  119. package/src/plugins/meteora/index.js.map +1 -1
  120. package/src/plugins/native-stake/index.js +2 -2
  121. package/src/plugins/native-stake/index.js.map +1 -1
  122. package/src/plugins/navi/index.js +4 -2
  123. package/src/plugins/navi/index.js.map +1 -1
  124. package/src/plugins/orca/getWhirlpoolPositions.d.ts +4 -3
  125. package/src/plugins/orca/getWhirlpoolPositions.js +9 -15
  126. package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
  127. package/src/plugins/orca/helpers.d.ts +4 -0
  128. package/src/plugins/orca/helpers.js +6 -1
  129. package/src/plugins/orca/helpers.js.map +1 -1
  130. package/src/plugins/orca/whirlpoolFetcher.d.ts +3 -0
  131. package/src/plugins/orca/whirlpoolFetcher.js +26 -0
  132. package/src/plugins/orca/whirlpoolFetcher.js.map +1 -0
  133. package/src/plugins/parcl/helpersAirdrop.js +14 -5
  134. package/src/plugins/parcl/helpersAirdrop.js.map +1 -1
  135. package/src/plugins/picasso/getPicassoPositions.d.ts +3 -0
  136. package/src/plugins/picasso/getPicassoPositions.js +45 -0
  137. package/src/plugins/picasso/getPicassoPositions.js.map +1 -0
  138. package/src/plugins/picasso/helpers.d.ts +1 -3
  139. package/src/plugins/picasso/helpers.js +1 -60
  140. package/src/plugins/picasso/helpers.js.map +1 -1
  141. package/src/plugins/picasso/positionsFetcher.d.ts +3 -0
  142. package/src/plugins/picasso/positionsFetcher.js +26 -0
  143. package/src/plugins/picasso/positionsFetcher.js.map +1 -0
  144. package/src/plugins/pumpswap/marketsJob.js +8 -3
  145. package/src/plugins/pumpswap/marketsJob.js.map +1 -1
  146. package/src/plugins/raydium/clmmFetcher.d.ts +6 -0
  147. package/src/plugins/raydium/clmmFetcher.js +119 -0
  148. package/src/plugins/raydium/clmmFetcher.js.map +1 -0
  149. package/src/plugins/sushiswap/helpers.js +24 -24
  150. package/src/plugins/texture/helpers.js +4 -9
  151. package/src/plugins/texture/helpers.js.map +1 -1
  152. package/src/plugins/tokens/fetchers/solana-native.js +11 -21
  153. package/src/plugins/tokens/fetchers/solana-native.js.map +1 -1
  154. package/src/plugins/tokens/fetchers/solana-simple.js +4 -44
  155. package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
  156. package/src/plugins/tokens/fetchers/solana.d.ts +4 -0
  157. package/src/plugins/tokens/fetchers/solana.js +85 -104
  158. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  159. package/src/plugins/tokens/getTokenListsJob.js +1 -1
  160. package/src/plugins/tokens/getTokenListsJob.js.map +1 -1
  161. package/src/plugins/tokens/index.js +2 -4
  162. package/src/plugins/tokens/index.js.map +1 -1
  163. package/src/plugins/tokens/types.d.ts +3 -2
  164. package/src/plugins/uniswap-v2/helpers.js +22 -22
  165. package/src/plugins/wasabi/constants.d.ts +5 -0
  166. package/src/plugins/wasabi/constants.js +7 -0
  167. package/src/plugins/wasabi/constants.js.map +1 -0
  168. package/src/plugins/wasabi/index.d.ts +4 -0
  169. package/src/plugins/wasabi/index.js +13 -0
  170. package/src/plugins/wasabi/index.js.map +1 -0
  171. package/src/plugins/wasabi/lpVaultsJob.d.ts +3 -0
  172. package/src/plugins/wasabi/lpVaultsJob.js +60 -0
  173. package/src/plugins/wasabi/lpVaultsJob.js.map +1 -0
  174. package/src/plugins/wasabi/positionsFetcher.d.ts +3 -0
  175. package/src/plugins/wasabi/positionsFetcher.js +67 -0
  176. package/src/plugins/wasabi/positionsFetcher.js.map +1 -0
  177. package/src/plugins/wasabi/structs.d.ts +30 -0
  178. package/src/plugins/wasabi/structs.js +30 -0
  179. package/src/plugins/wasabi/structs.js.map +1 -0
  180. package/src/plugins/zeta/airdropFetcher.js +21 -15
  181. package/src/plugins/zeta/airdropFetcher.js.map +1 -1
  182. package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +2 -1
  183. package/src/utils/elementbuilder/AssetTokenBuilder.js +2 -1
  184. package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
  185. package/src/utils/elementbuilder/Params.d.ts +2 -1
  186. package/src/utils/misc/MemoryCache.d.ts +6 -0
  187. package/src/utils/misc/MemoryCache.js +39 -0
  188. package/src/utils/misc/MemoryCache.js.map +1 -0
  189. package/src/utils/misc/getCachedDecimalsForToken.d.ts +1 -2
  190. package/src/utils/sei/constants.js +8 -8
  191. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  192. package/src/utils/solana/getTokenAccountsByOwner.d.ts +4 -0
  193. package/src/utils/solana/getTokenAccountsByOwner.js +36 -0
  194. package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -0
  195. package/src/utils/solana/zeroDecimalMints.d.ts +1 -0
  196. package/src/utils/solana/zeroDecimalMints.js +219 -0
  197. package/src/utils/solana/zeroDecimalMints.js.map +1 -0
  198. package/src/plugins/kamino/s2AirdropFetcher.old.js.map +0 -1
  199. package/src/plugins/raydium/getRaydiumCLMMPositions.d.ts +0 -3
  200. package/src/plugins/raydium/getRaydiumCLMMPositions.js +0 -113
  201. package/src/plugins/raydium/getRaydiumCLMMPositions.js.map +0 -1
  202. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js +0 -108
  203. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js.map +0 -1
  204. package/src/utils/misc/Memoized.d.ts +0 -8
  205. package/src/utils/misc/Memoized.js.map +0 -1
  206. /package/src/plugins/kamino/{s2AirdropFetcher.old.d.ts → s2AirdropFetcher.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/index.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAkC;AAClC,kEAAiD;AACjD,4DAAoC;AACpC,kEAA0C;AAC1C,kEAA0C;AAC1C,8DAAsC;AACtC,oEAA4C;AAC5C,sEAA8C;AAC9C,4DAAoC;AAEvB,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,uBAAa,EAAE,mBAAS,EAAE,mBAAS,CAAC,CAAC;AAC9D,QAAA,QAAQ,GAAc;IACjC,sBAAmB;IACnB,sBAAY;IACZ,sBAAY;IACZ,oBAAU;IACV,wBAAc;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/index.ts"],"names":[],"mappings":";;;;;;AAGA,kEAAiD;AACjD,4DAAoC;AACpC,kEAA0C;AAC1C,kEAA0C;AAC1C,8DAAsC;AACtC,oEAA4C;AAC5C,sEAA8C;AAC9C,4DAAoC;AAEvB,QAAA,IAAI,GAAU;IACzB,YAAY;IACZ,uBAAa;IACb,mBAAS;IACT,mBAAS;CACV,CAAC;AACW,QAAA,QAAQ,GAAc;IACjC,sBAAmB;IACnB,sBAAY;IACZ,sBAAY;IACZ,oBAAU;IACV,wBAAc;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,26 @@
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 getTokenAccountsByOwner_1 = require("../../utils/solana/getTokenAccountsByOwner");
15
+ const getWhirlpoolPositions_1 = require("../orca/getWhirlpoolPositions");
16
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const potentialTokens = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(owner);
18
+ return (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId, constants_1.clmmPid)(potentialTokens, cache);
19
+ });
20
+ const fetcher = {
21
+ id: `${constants_1.platformId}-whirlpools`,
22
+ networkId: portfolio_core_1.NetworkId.solana,
23
+ executor,
24
+ };
25
+ exports.default = fetcher;
26
+ //# sourceMappingURL=whirlpoolFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whirlpoolFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cropper/whirlpoolFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,2CAAkD;AAGlD,wFAAqF;AACrF,yEAAiE;AAEjE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,eAAe,GAAG,MAAM,IAAA,iDAAuB,EAAC,KAAK,CAAC,CAAC;IAE7D,OAAO,IAAA,wCAAgB,EAAC,sBAAU,EAAE,mBAAO,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACvE,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"}
@@ -0,0 +1,3 @@
1
+ import { AirdropFetcher } from '../../AirdropFetcher';
2
+ export declare const airdropFetcher: AirdropFetcher;
3
+ export declare const fetcher: import("../..").Fetcher;
@@ -0,0 +1,74 @@
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
+ exports.fetcher = exports.airdropFetcher = void 0;
16
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
+ const axios_1 = __importDefault(require("axios"));
18
+ const web3_js_1 = require("@solana/web3.js");
19
+ const AirdropFetcher_1 = require("../../AirdropFetcher");
20
+ const constants_1 = require("./constants");
21
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
22
+ const clients_1 = require("../../utils/clients");
23
+ const structs_1 = require("../magna/structs");
24
+ const constant_1 = require("../magna/constant");
25
+ const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
26
+ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
27
+ const [
28
+ // res,
29
+ airdropProofs,] = yield Promise.all([
30
+ ParsedGpa_1.ParsedGpa.build((0, clients_1.getClientSolana)(), structs_1.airdropProofStruct, constant_1.airdropPid)
31
+ .addFilter('discriminator', [7, 25, 94, 15, 208, 170, 4, 103])
32
+ .addFilter('user', new web3_js_1.PublicKey(owner))
33
+ .debug()
34
+ .run(),
35
+ ]);
36
+ const res = yield axios_1.default.post(constants_1.airdropApi, {
37
+ pubkey: owner,
38
+ }, { timeout: 4000 });
39
+ const claims = yield Promise.all([
40
+ ...airdropProofs.map((proof) => (0, getClaimTransactions_1.getClaimTransactions)(owner, proof.pubkey, constants_1.cudisMint)),
41
+ ]);
42
+ const amountClaimed = claims.reduce((acc, claim) => acc + claim.reduce((sum, c) => sum + c.amount, 0), 0);
43
+ if (res)
44
+ return (0, AirdropFetcher_1.getAirdropRaw)({
45
+ statics: constants_1.airdropStatics,
46
+ items: [
47
+ {
48
+ amount: Number(res.data.data.token),
49
+ isClaimed: amountClaimed === Number(res.data.data.token),
50
+ label: 'CUDIS',
51
+ address: constants_1.cudisMint,
52
+ claims: claims.flat(),
53
+ },
54
+ ],
55
+ });
56
+ return (0, AirdropFetcher_1.getAirdropRaw)({
57
+ statics: constants_1.airdropStatics,
58
+ items: [
59
+ {
60
+ amount: 0,
61
+ isClaimed: false,
62
+ label: 'CUDIS',
63
+ address: constants_1.cudisMint,
64
+ },
65
+ ],
66
+ });
67
+ });
68
+ exports.airdropFetcher = {
69
+ id: constants_1.airdropStatics.id,
70
+ networkId: portfolio_core_1.NetworkId.solana,
71
+ executor,
72
+ };
73
+ exports.fetcher = (0, AirdropFetcher_1.airdropFetcherToFetcher)(exports.airdropFetcher, constants_1.platformId, constants_1.airdropStatics.id, constants_1.airdropStatics.claimEnd);
74
+ //# sourceMappingURL=airdropFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA0B;AAC1B,6CAA4C;AAC5C,yDAK8B;AAE9B,2CAAgF;AAChF,kEAA+D;AAC/D,iDAAsD;AACtD,8CAAoE;AACpE,gDAA+C;AAE/C,0FAAuF;AAEvF,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM;IACJ,OAAO;IACP,aAAa,EACd,GAGG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,qBAAS,CAAC,KAAK,CAAC,IAAA,yBAAe,GAAE,EAAE,4BAAkB,EAAE,qBAAU,CAAC;aAC/D,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aAC7D,SAAS,CAAC,MAAM,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;aACvC,KAAK,EAAE;aACP,GAAG,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,sBAAU,EACV;QACE,MAAM,EAAE,KAAK;KACd,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,IAAA,2CAAoB,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAS,CAAC,CACrD;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EACjE,CAAC,CACF,CAAC;IAEF,IAAI,GAAG;QACL,OAAO,IAAA,8BAAa,EAAC;YACnB,OAAO,EAAE,0BAAc;YACvB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnC,SAAS,EAAE,aAAa,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACxD,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,qBAAS;oBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;iBACtB;aACF;SACF,CAAC,CAAC;IAEL,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,0BAAc;QACvB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,qBAAS;aACnB;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,cAAc,GAAmB;IAC5C,EAAE,EAAE,0BAAc,CAAC,EAAE;IACrB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,wCAAuB,EAC5C,sBAAc,EACd,sBAAU,EACV,0BAAc,CAAC,EAAE,EACjB,0BAAc,CAAC,QAAQ,CACxB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import { AirdropStatics } from '../../AirdropFetcher';
5
+ export declare const platformId = "cudis";
6
+ export declare const cudisMint = "CudisfkgWvMKnZ3TWf6iCuHm8pN2ikXhDcWytwz6f6RN";
7
+ export declare const airdropApi = "https://cudis-api.cudis.xyz/basic/userDetail";
8
+ export declare const airdropStatics: AirdropStatics;
9
+ export declare const stakingPid: PublicKey;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stakingPid = exports.airdropStatics = exports.airdropApi = exports.cudisMint = exports.platformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'cudis';
6
+ exports.cudisMint = 'CudisfkgWvMKnZ3TWf6iCuHm8pN2ikXhDcWytwz6f6RN';
7
+ exports.airdropApi = 'https://cudis-api.cudis.xyz/basic/userDetail';
8
+ exports.airdropStatics = {
9
+ claimLink: 'https://app.cudis.xyz/airdrop',
10
+ emitterLink: 'https://app.cudis.xyz/',
11
+ emitterName: 'CUDIS',
12
+ id: 'cudis-airdrop',
13
+ image: 'https://sonarwatch.github.io/portfolio/assets/images/platforms/cudis.webp',
14
+ claimStart: 1749124800000,
15
+ claimEnd: 1756641600000,
16
+ };
17
+ exports.stakingPid = new web3_js_1.PublicKey('H3tzuPeKMHd1Wee4JyuYbwKX6pHTcKGDgPw8caVNTvQu');
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,8CAA8C,CAAC;AAC3D,QAAA,UAAU,GAAG,8CAA8C,CAAC;AAE5D,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,+BAA+B;IAC1C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,OAAO;IACpB,EAAE,EAAE,eAAe;IACnB,KAAK,EACH,2EAA2E;IAC7E,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;CACxB,CAAC;AAEW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ import { Job } from '../../Job';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
5
+ export declare const airdropFetchers: import("../..").AirdropFetcher[];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.airdropFetchers = exports.fetchers = exports.jobs = void 0;
7
+ const airdropFetcher_1 = require("./airdropFetcher");
8
+ const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
9
+ exports.jobs = [];
10
+ exports.fetchers = [
11
+ stakingFetcher_1.default,
12
+ // fetcher
13
+ ];
14
+ exports.airdropFetchers = [airdropFetcher_1.airdropFetcher];
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/index.ts"],"names":[],"mappings":";;;;;;AAEA,qDAA2D;AAC3D,sEAA8C;AAEjC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc;IACjC,wBAAc;IACd,UAAU;CACX,CAAC;AACW,QAAA,eAAe,GAAG,CAAC,+BAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,62 @@
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 clients_1 = require("../../utils/clients");
16
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
17
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
18
+ const structs_1 = require("./structs");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const client = (0, clients_1.getClientSolana)();
21
+ const accounts = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.userStakeRecordStruct, constants_1.stakingPid)
22
+ .addFilter('user', new web3_js_1.PublicKey(owner))
23
+ .addFilter('discriminator', [2, 228, 217, 21, 212, 139, 4, 208])
24
+ .debug()
25
+ .run();
26
+ if (!accounts)
27
+ return [];
28
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
29
+ for (const stakingAcc of accounts) {
30
+ if (stakingAcc.isUnstake)
31
+ continue;
32
+ const element = registry.addElementMultiple({
33
+ label: 'Staked',
34
+ link: 'https://app.cudis.xyz/stake',
35
+ ref: stakingAcc.pubkey,
36
+ });
37
+ element.addAsset({
38
+ address: constants_1.cudisMint,
39
+ amount: stakingAcc.amount.dividedBy(Math.pow(10, 9)),
40
+ alreadyShifted: true,
41
+ attributes: {
42
+ lockedUntil: stakingAcc.endTs.times(1000).toNumber(),
43
+ },
44
+ });
45
+ element.addAsset({
46
+ address: constants_1.cudisMint,
47
+ amount: stakingAcc.earnings.dividedBy(Math.pow(10, 9)),
48
+ alreadyShifted: true,
49
+ attributes: {
50
+ lockedUntil: stakingAcc.endTs.times(1000).toNumber(),
51
+ },
52
+ });
53
+ }
54
+ return registry.getElements(cache);
55
+ });
56
+ const fetcher = {
57
+ id: `${constants_1.platformId}-staking`,
58
+ networkId: portfolio_core_1.NetworkId.solana,
59
+ executor,
60
+ };
61
+ exports.default = fetcher;
62
+ //# sourceMappingURL=stakingFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,2CAAgE;AAChE,iDAAsD;AACtD,gFAA6E;AAC7E,kEAA+D;AAC/D,uCAAkD;AAElD,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAAC,KAAK,CACpC,MAAM,EACN,+BAAqB,EACrB,sBAAU,CACX;SACE,SAAS,CAAC,MAAM,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;SACvC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAC/D,KAAK,EAAE;SACP,GAAG,EAAE,CAAC;IACT,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAEnE,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,SAAS;YAAE,SAAS;QAEnC,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC;YAC1C,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,6BAA6B;YACnC,GAAG,EAAE,UAAU,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,qBAAS;YAClB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;YAC5C,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACrD;SACF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,qBAAS;YAClB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;YAC9C,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACrD;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,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,19 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { BeetStruct } from '@metaplex-foundation/beet';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import BigNumber from 'bignumber.js';
6
+ export type UserStakeRecord = {
7
+ discriminator: number[];
8
+ recordId: number;
9
+ user: PublicKey;
10
+ amount: BigNumber;
11
+ term: number;
12
+ apy: BigNumber;
13
+ earnings: BigNumber;
14
+ startTs: BigNumber;
15
+ endTs: BigNumber;
16
+ isUnstake: boolean;
17
+ bump: number;
18
+ };
19
+ export declare const userStakeRecordStruct: BeetStruct<UserStakeRecord, Partial<UserStakeRecord>>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userStakeRecordStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../utils/solana");
7
+ exports.userStakeRecordStruct = new beet_1.BeetStruct([
8
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
9
+ ['recordId', beet_1.u8],
10
+ ['user', beet_solana_1.publicKey],
11
+ ['amount', solana_1.u64],
12
+ ['term', beet_1.u16],
13
+ ['apy', solana_1.u64],
14
+ ['earnings', solana_1.u64],
15
+ ['startTs', solana_1.i64],
16
+ ['endTs', solana_1.i64],
17
+ ['isUnstake', beet_1.u8], // bool is represented as u8 in Beet
18
+ ['bump', beet_1.u8],
19
+ ], (args) => args);
20
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cudis/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAA8C;AAgBjC,QAAA,qBAAqB,GAAG,IAAI,iBAAU,CACjD;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,MAAM,EAAE,UAAG,CAAC;IACb,CAAC,KAAK,EAAE,YAAG,CAAC;IACZ,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,SAAS,EAAE,YAAG,CAAC;IAChB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,WAAW,EAAE,SAAE,CAAC,EAAE,oCAAoC;IACvD,CAAC,MAAM,EAAE,SAAE,CAAC;CACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB,CAClC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type AirdropResponse = {
2
+ code: number;
3
+ msg: string;
4
+ data: {
5
+ token: string;
6
+ claimFlag: number;
7
+ };
8
+ };
@@ -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/cudis/types.ts"],"names":[],"mappings":""}
@@ -1,12 +1,7 @@
1
1
  /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
2
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
- import { PortfolioAssetCollectible, PortfolioElement } from '@sonarwatch/portfolio-core';
4
3
  import BigNumber from 'bignumber.js';
5
4
  import { PublicKey } from '@solana/web3.js';
6
- import { Cache } from '../../Cache';
7
5
  import { LockupKind } from './structs/realms';
8
- export declare const nftIdentifier = "Voting Escrow Token Position";
9
- export declare function isAnHeliumNFTVote(nft: PortfolioAssetCollectible): boolean;
10
6
  export declare function getVoterPda(owner: string, registrar: string, vsr: string): PublicKey;
11
- export declare function getHeliumElementsFromNFTs(cache: Cache, nfts: PortfolioAssetCollectible[]): Promise<PortfolioElement[]>;
12
7
  export declare function getLockedUntil(startTs: BigNumber, endTs: BigNumber, lockupKind: LockupKind): number | undefined;
@@ -1,29 +1,8 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getLockedUntil = exports.getHeliumElementsFromNFTs = exports.getVoterPda = exports.isAnHeliumNFTVote = exports.nftIdentifier = void 0;
13
- const portfolio_core_1 = require("@sonarwatch/portfolio-core");
3
+ exports.getLockedUntil = exports.getVoterPda = void 0;
14
4
  const web3_js_1 = require("@solana/web3.js");
15
5
  const realms_1 = require("./structs/realms");
16
- const constants_1 = require("./constants");
17
- const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
18
- const clients_1 = require("../../utils/clients");
19
- const structs_1 = require("../helium/structs");
20
- const constants_2 = require("../helium/constants");
21
- const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
22
- exports.nftIdentifier = 'Voting Escrow Token Position';
23
- function isAnHeliumNFTVote(nft) {
24
- return nft.name === exports.nftIdentifier;
25
- }
26
- exports.isAnHeliumNFTVote = isAnHeliumNFTVote;
27
6
  function getVoterPda(owner, registrar, vsr) {
28
7
  return web3_js_1.PublicKey.findProgramAddressSync([
29
8
  new web3_js_1.PublicKey(registrar).toBuffer(),
@@ -32,35 +11,6 @@ function getVoterPda(owner, registrar, vsr) {
32
11
  ], new web3_js_1.PublicKey(vsr))[0];
33
12
  }
34
13
  exports.getVoterPda = getVoterPda;
35
- function getHeliumElementsFromNFTs(cache, nfts) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const accounts = (yield Promise.all(nfts.map((nft) => ParsedGpa_1.ParsedGpa.build((0, clients_1.getClientSolana)(), structs_1.positionDataStruct, constants_2.stakeRegistryId)
38
- .addFilter('accountDiscriminator', [152, 131, 154, 46, 158, 42, 31, 233])
39
- .addFilter('mint', new web3_js_1.PublicKey(nft.data.address))
40
- .run()))).flat();
41
- if (!accounts.length)
42
- return [];
43
- const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.heliumPlatformId);
44
- accounts.forEach((account) => {
45
- const element = elementRegistry.addElementMultiple({
46
- label: 'Deposit',
47
- ref: account.pubkey,
48
- link: `https://heliumvote.com/hnt/positions/${account.pubkey}`,
49
- sourceRefs: [{ name: 'Vault', address: account.registrar.toString() }],
50
- });
51
- const lockedUntil = getLockedUntil(account.lockup.startTs, account.lockup.endTs, account.lockup.kind);
52
- element.addAsset({
53
- address: 'hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux',
54
- amount: account.amountDepositedNative,
55
- attributes: {
56
- lockedUntil,
57
- },
58
- });
59
- });
60
- return elementRegistry.getElements(cache);
61
- });
62
- }
63
- exports.getHeliumElementsFromNFTs = getHeliumElementsFromNFTs;
64
14
  function getLockedUntil(startTs, endTs, lockupKind) {
65
15
  let lockedUntil;
66
16
  if (lockupKind === realms_1.LockupKind.Constant) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/helpers.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,6CAA8C;AAE9C,SAAgB,WAAW,CACzB,KAAa,EACb,SAAiB,EACjB,GAAW;IAEX,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7B,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;KAChC,EACD,IAAI,mBAAS,CAAC,GAAG,CAAC,CACnB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,kCAaC;AAED,SAAgB,cAAc,CAC5B,OAAkB,EAClB,KAAgB,EAChB,UAAsB;IAEtB,IAAI,WAAW,CAAC;IAChB,IAAI,UAAU,KAAK,mBAAU,CAAC,QAAQ,EAAE,CAAC;QACvC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;SAAM,IACL,UAAU,KAAK,mBAAU,CAAC,KAAK;QAC/B,UAAU,KAAK,mBAAU,CAAC,OAAO;QACjC,UAAU,KAAK,mBAAU,CAAC,KAAK,EAC/B,CAAC;QACD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAhBD,wCAgBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"realmsProgramsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/realmsProgramsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AACvD,6CAA4C;AAG5C,2CAKqB;AACrB,+CAA8D;AAC9D,iDAAsD;AACtD,6CAAmD;AACnD,uCAA6C;AAG7C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAA4B,MAAM,eAAK,CAAC,GAAG,CAC7D,4BAAgB,CACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAwB,EAClD,MAAM,EACN,wBAAe,EACf,4BAAgB,EAChB,IAAA,0BAAgB,GAAE,CACnB,CAAC;IACF,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,IAAI,CAAC;QACd,GAAG,EAAE,4BAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjC,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE;KACjD,CAAC,CACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,+BAAmB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAA,iCAAwB,EACrD,MAAM,EACN,wBAAe,EACf,IAAI,mBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAChC,IAAA,0BAAgB,GAAE,CACnB,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACrC,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAc;QAC5B,WAAW,EAAE,cAAc,CAAC,IAAI;QAChC,UAAU;KACX,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;QACtC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,WAAW;IAC5B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"realmsProgramsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/daos/realmsProgramsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AACvD,6CAA4C;AAG5C,2CAKqB;AACrB,+CAA8D;AAC9D,iDAAsD;AACtD,6CAAmD;AACnD,uCAA6C;AAG7C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAA4B,MAAM,eAAK,CAAC,GAAG,CAC7D,4BAAgB,CACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAwB,EAClD,MAAM,EACN,wBAAe,EACf,4BAAgB,EAChB,IAAA,0BAAgB,GAAE,CACnB,CAAC;IACF,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,IAAI,CAAC;QACd,GAAG,EAAE,4BAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjC,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE;KACjD,CAAC,CACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,+BAAmB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAA,iCAAwB,EACrD,MAAM,EACN,wBAAe,EACf,IAAI,mBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAChC,IAAA,0BAAgB,GAAE,CACnB,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACrC,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAc;QAC5B,WAAW,EAAE,cAAc,CAAC,IAAI;QAChC,UAAU;KACX,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;QACtC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,WAAW;IAC5B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -86,25 +86,57 @@ function calculateDepositRate(bank) {
86
86
  exports.calculateDepositRate = calculateDepositRate;
87
87
  function calculateInterestRate(bank, delta = exports.ZERO) {
88
88
  const utilization = calculateUtilization(bank, delta);
89
- let interestRate;
90
- if (utilization.gt(new bignumber_js_1.default(bank.optimalUtilization))) {
91
- const surplusUtilization = utilization.minus(new bignumber_js_1.default(bank.optimalUtilization));
92
- const borrowRateSlope = new bignumber_js_1.default(bank.maxBorrowRate - bank.optimalBorrowRate)
89
+ const optimalUtil = new bignumber_js_1.default(bank.optimalUtilization);
90
+ const optimalRate = new bignumber_js_1.default(bank.optimalBorrowRate);
91
+ const maxRate = new bignumber_js_1.default(bank.maxBorrowRate);
92
+ const minRate = new bignumber_js_1.default(bank.minBorrowRate).multipliedBy(exports.PERCENTAGE_PRECISION.div(200));
93
+ const weightsDivisor = new bignumber_js_1.default(1000);
94
+ const segments = [
95
+ [new bignumber_js_1.default(850000), new bignumber_js_1.default(50)],
96
+ [new bignumber_js_1.default(900000), new bignumber_js_1.default(100)],
97
+ [new bignumber_js_1.default(950000), new bignumber_js_1.default(150)],
98
+ [new bignumber_js_1.default(990000), new bignumber_js_1.default(200)],
99
+ [new bignumber_js_1.default(995000), new bignumber_js_1.default(250)],
100
+ [exports.SPOT_MARKET_UTILIZATION_PRECISION, new bignumber_js_1.default(250)],
101
+ ];
102
+ let rate;
103
+ if (utilization.lte(optimalUtil)) {
104
+ // below optimal: linear ramp from 0 to optimalRate
105
+ const slope = optimalRate
93
106
  .multipliedBy(exports.SPOT_MARKET_UTILIZATION_PRECISION)
94
- .div(exports.SPOT_MARKET_UTILIZATION_PRECISION.minus(new bignumber_js_1.default(bank.optimalUtilization)));
95
- interestRate = new bignumber_js_1.default(bank.optimalBorrowRate).plus(surplusUtilization
96
- .multipliedBy(borrowRateSlope)
97
- .div(exports.SPOT_MARKET_UTILIZATION_PRECISION));
107
+ .div(optimalUtil);
108
+ rate = utilization
109
+ .multipliedBy(slope)
110
+ .div(exports.SPOT_MARKET_UTILIZATION_PRECISION);
98
111
  }
99
112
  else {
100
- const borrowRateSlope = new bignumber_js_1.default(bank.optimalBorrowRate)
101
- .multipliedBy(exports.SPOT_MARKET_UTILIZATION_PRECISION)
102
- .div(new bignumber_js_1.default(bank.optimalUtilization));
103
- interestRate = utilization
104
- .multipliedBy(borrowRateSlope)
105
- .div(exports.SPOT_MARKET_UTILIZATION_PRECISION);
113
+ // above optimal: piecewise segments
114
+ const totalExtraRate = maxRate.minus(optimalRate);
115
+ rate = new bignumber_js_1.default(optimalRate);
116
+ let prevUtil = (0, bignumber_js_1.default)(optimalUtil);
117
+ for (const [bp, weight] of segments) {
118
+ const segmentEnd = bp.gt(exports.SPOT_MARKET_UTILIZATION_PRECISION)
119
+ ? exports.SPOT_MARKET_UTILIZATION_PRECISION
120
+ : bp;
121
+ const segmentRange = segmentEnd.minus(prevUtil);
122
+ const segmentRateTotal = totalExtraRate
123
+ .multipliedBy(weight)
124
+ .div(weightsDivisor);
125
+ if (utilization.lte(segmentEnd)) {
126
+ const partialUtil = utilization.minus(prevUtil);
127
+ const partialRate = segmentRateTotal
128
+ .multipliedBy(partialUtil)
129
+ .div(segmentRange);
130
+ rate = rate.plus(partialRate);
131
+ break;
132
+ }
133
+ else {
134
+ rate = rate.plus(segmentRateTotal);
135
+ prevUtil = segmentEnd;
136
+ }
137
+ }
106
138
  }
107
- return interestRate;
139
+ return bignumber_js_1.default.max(minRate, rate);
108
140
  }
109
141
  exports.calculateInterestRate = calculateInterestRate;
110
142
  function isSpotPositionAvailable(position) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/drift/helpers.ts"],"names":[],"mappings":"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"}
@@ -221,6 +221,15 @@ export type SpotMarket = {
221
221
  flashLoanAmount: BigNumber;
222
222
  flashLoanInitialTokenAmount: BigNumber;
223
223
  totalSwapFee: BigNumber;
224
+ scaleInitialAssetWeightStart: BigNumber;
225
+ minBorrowRate: number;
226
+ fuelBoostDeposits: number;
227
+ fuelBoostBorrows: number;
228
+ fuelBoostTaker: number;
229
+ fuelBoostMaker: number;
230
+ fuelBoostInsurance: number;
231
+ tokenProgram: number;
232
+ poolId: number;
224
233
  padding: Buffer[];
225
234
  };
226
235
  export declare const spotMarketStruct: BeetStruct<SpotMarket, Partial<SpotMarket>>;
@@ -226,7 +226,16 @@ exports.spotMarketStruct = new beet_1.BeetStruct([
226
226
  ['flashLoanAmount', solana_1.u64],
227
227
  ['flashLoanInitialTokenAmount', solana_1.u64],
228
228
  ['totalSwapFee', solana_1.u64],
229
- ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 56)],
229
+ ['scaleInitialAssetWeightStart', solana_1.u64],
230
+ ['minBorrowRate', beet_1.u8],
231
+ ['fuelBoostDeposits', beet_1.u8],
232
+ ['fuelBoostBorrows', beet_1.u8],
233
+ ['fuelBoostTaker', beet_1.u8],
234
+ ['fuelBoostMaker', beet_1.u8],
235
+ ['fuelBoostInsurance', beet_1.u8],
236
+ ['tokenProgram', beet_1.u8],
237
+ ['poolId', beet_1.u8],
238
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 40)],
230
239
  ], (args) => args);
231
240
  exports.spotPositionStruct = new beet_1.BeetStruct([
232
241
  ['scaledBalance', solana_1.u64],