@sonarwatch/portfolio-plugins 0.14.63 → 0.14.65

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 (313) hide show
  1. package/CHANGELOG.md +21 -13
  2. package/package.json +4 -1
  3. package/src/plugins/01/constants.d.ts +1 -0
  4. package/src/plugins/01/helpers.d.ts +1 -0
  5. package/src/plugins/01/struct.d.ts +1 -0
  6. package/src/plugins/accessprotocol/constants.d.ts +1 -0
  7. package/src/plugins/accessprotocol/filters.d.ts +1 -0
  8. package/src/plugins/accessprotocol/structs.d.ts +1 -0
  9. package/src/plugins/adrastea/constants.d.ts +1 -0
  10. package/src/plugins/adrastea/structs.d.ts +1 -0
  11. package/src/plugins/adrena/constants.d.ts +1 -0
  12. package/src/plugins/adrena/filters.d.ts +1 -0
  13. package/src/plugins/adrena/helpers.d.ts +1 -0
  14. package/src/plugins/adrena/structs.d.ts +1 -0
  15. package/src/plugins/allbridge/constants.d.ts +1 -0
  16. package/src/plugins/allbridge/helpers.d.ts +1 -0
  17. package/src/plugins/armada-staking/constants.d.ts +1 -0
  18. package/src/plugins/armada-staking/filters.d.ts +1 -0
  19. package/src/plugins/armada-staking/structs.d.ts +1 -0
  20. package/src/plugins/atrix/constants.d.ts +1 -0
  21. package/src/plugins/atrix/structs.d.ts +1 -0
  22. package/src/plugins/aurory/constants.d.ts +1 -0
  23. package/src/plugins/aurory/helpers.d.ts +1 -0
  24. package/src/plugins/banx/constants.d.ts +1 -0
  25. package/src/plugins/banx/filters.d.ts +1 -0
  26. package/src/plugins/banx/structs.d.ts +1 -0
  27. package/src/plugins/bonfida/constants.d.ts +1 -0
  28. package/src/plugins/bonfida/filters.d.ts +1 -0
  29. package/src/plugins/bonfida/structs.d.ts +1 -0
  30. package/src/plugins/bonkrewards/constants.d.ts +1 -0
  31. package/src/plugins/bonkrewards/filters.d.ts +1 -0
  32. package/src/plugins/bonkrewards/structs.d.ts +1 -0
  33. package/src/plugins/bskt/constants.d.ts +1 -0
  34. package/src/plugins/bskt/filters.d.ts +1 -0
  35. package/src/plugins/bskt/structs.d.ts +1 -0
  36. package/src/plugins/citrus/constants.d.ts +1 -0
  37. package/src/plugins/citrus/filters.d.ts +1 -0
  38. package/src/plugins/clone/constants.d.ts +1 -0
  39. package/src/plugins/clone/helpers.d.ts +1 -0
  40. package/src/plugins/clone/structs.d.ts +1 -0
  41. package/src/plugins/cropper/constants.d.ts +1 -0
  42. package/src/plugins/cyberfrogs/constants.d.ts +1 -0
  43. package/src/plugins/cyberfrogs/structs.d.ts +1 -0
  44. package/src/plugins/daos/constants.d.ts +1 -0
  45. package/src/plugins/daos/helpers.d.ts +1 -0
  46. package/src/plugins/daos/structs/realms.d.ts +1 -0
  47. package/src/plugins/daos/types.d.ts +1 -0
  48. package/src/plugins/debridge/constants.d.ts +1 -0
  49. package/src/plugins/doubleup/structs.d.ts +1 -0
  50. package/src/plugins/drift/constants.d.ts +1 -0
  51. package/src/plugins/drift/depositsFetcher.d.ts +3 -0
  52. package/src/plugins/drift/depositsFetcher.js +41 -95
  53. package/src/plugins/drift/depositsFetcher.js.map +1 -1
  54. package/src/plugins/drift/filters.d.ts +1 -0
  55. package/src/plugins/drift/helpers.d.ts +1 -0
  56. package/src/plugins/drift/perpHelpers/constants.d.ts +1 -0
  57. package/src/plugins/drift/struct.d.ts +1 -0
  58. package/src/plugins/drift-market-maker-vault/constants.d.ts +1 -0
  59. package/src/plugins/drift-market-maker-vault/depositsFetcher.js +10 -2
  60. package/src/plugins/drift-market-maker-vault/depositsFetcher.js.map +1 -1
  61. package/src/plugins/drift-market-maker-vault/filters.d.ts +1 -1
  62. package/src/plugins/drift-market-maker-vault/filters.js +1 -4
  63. package/src/plugins/drift-market-maker-vault/filters.js.map +1 -1
  64. package/src/plugins/drift-market-maker-vault/helpers.d.ts +1 -0
  65. package/src/plugins/drift-market-maker-vault/helpers.js +38 -0
  66. package/src/plugins/drift-market-maker-vault/helpers.js.map +1 -0
  67. package/src/plugins/drift-market-maker-vault/structs.d.ts +1 -0
  68. package/src/plugins/drift-market-maker-vault/types.d.ts +2 -3
  69. package/src/plugins/drift-market-maker-vault/vaultsJob.js +20 -14
  70. package/src/plugins/drift-market-maker-vault/vaultsJob.js.map +1 -1
  71. package/src/plugins/elemental/filters.d.ts +1 -0
  72. package/src/plugins/elemental/helpers.d.ts +1 -0
  73. package/src/plugins/elemental/structs.d.ts +1 -0
  74. package/src/plugins/famousfoxfederation/constants.d.ts +1 -0
  75. package/src/plugins/flash/constants.d.ts +1 -0
  76. package/src/plugins/flash/filters.d.ts +1 -0
  77. package/src/plugins/flash/helpers.d.ts +1 -0
  78. package/src/plugins/flash/structs.d.ts +1 -0
  79. package/src/plugins/fluxbeam/structs.d.ts +1 -0
  80. package/src/plugins/foo/structs.d.ts +1 -0
  81. package/src/plugins/francium/constants.d.ts +1 -0
  82. package/src/plugins/francium/helpers.d.ts +1 -0
  83. package/src/plugins/francium/structs.d.ts +1 -0
  84. package/src/plugins/francium/tokens.d.ts +1 -0
  85. package/src/plugins/francium/types.d.ts +1 -0
  86. package/src/plugins/futarchy/constants.d.ts +1 -0
  87. package/src/plugins/futarchy/structs.d.ts +1 -0
  88. package/src/plugins/genesysgo/constants.d.ts +1 -0
  89. package/src/plugins/goosefx/constants.d.ts +1 -0
  90. package/src/plugins/goosefx/filters.d.ts +1 -0
  91. package/src/plugins/goosefx/structs.d.ts +1 -0
  92. package/src/plugins/grass/constants.d.ts +1 -0
  93. package/src/plugins/grass/helpers.d.ts +1 -0
  94. package/src/plugins/grass/structs.d.ts +1 -0
  95. package/src/plugins/hawksight/helper.d.ts +1 -0
  96. package/src/plugins/hedgehog/constants.d.ts +1 -0
  97. package/src/plugins/hedgehog/structs.d.ts +1 -0
  98. package/src/plugins/hxro/constants.d.ts +1 -0
  99. package/src/plugins/hxro/structs.d.ts +1 -0
  100. package/src/plugins/jito/structs.d.ts +1 -0
  101. package/src/plugins/joule/structs.d.ts +1 -0
  102. package/src/plugins/jupiter/exchange/constants.d.ts +1 -0
  103. package/src/plugins/jupiter/exchange/filters.d.ts +1 -0
  104. package/src/plugins/jupiter/exchange/structs.d.ts +1 -0
  105. package/src/plugins/jupiter/filters.d.ts +1 -0
  106. package/src/plugins/jupiter/helpers.d.ts +1 -0
  107. package/src/plugins/jupiter/launchpad/constants.d.ts +1 -0
  108. package/src/plugins/jupiter/launchpad/structs.d.ts +1 -0
  109. package/src/plugins/kamino/constants.d.ts +1 -0
  110. package/src/plugins/kamino/filters.d.ts +1 -0
  111. package/src/plugins/kamino/helpers/pdas.d.ts +1 -0
  112. package/src/plugins/kamino/structs/klend.d.ts +1 -0
  113. package/src/plugins/kamino/structs/vaults.d.ts +1 -0
  114. package/src/plugins/lifinity/constants.d.ts +1 -0
  115. package/src/plugins/lifinity/filters.d.ts +1 -0
  116. package/src/plugins/lifinity/structs.d.ts +1 -0
  117. package/src/plugins/loopscale/constants.d.ts +1 -0
  118. package/src/plugins/loopscale/filters.d.ts +1 -0
  119. package/src/plugins/loopscale/helpers.d.ts +1 -0
  120. package/src/plugins/loopscale/structs.d.ts +1 -0
  121. package/src/plugins/loverflow/constants.d.ts +1 -0
  122. package/src/plugins/loverflow/helpers.d.ts +1 -0
  123. package/src/plugins/loverflow/structs.d.ts +1 -0
  124. package/src/plugins/lulo/constants.d.ts +1 -0
  125. package/src/plugins/lulo/struct.d.ts +1 -0
  126. package/src/plugins/magiceden/constants.d.ts +1 -0
  127. package/src/plugins/magiceden/helpers.d.ts +1 -0
  128. package/src/plugins/magiceden/structs.d.ts +1 -0
  129. package/src/plugins/mango/constants.d.ts +1 -0
  130. package/src/plugins/mango/filters.d.ts +1 -0
  131. package/src/plugins/mango/struct.d.ts +1 -0
  132. package/src/plugins/marginfi/constants.d.ts +1 -0
  133. package/src/plugins/marginfi/filters.d.ts +1 -0
  134. package/src/plugins/marginfi/structs/Bank.d.ts +1 -0
  135. package/src/plugins/marginfi/structs/MarginfiAccount.d.ts +1 -0
  136. package/src/plugins/marinade/constants.d.ts +1 -0
  137. package/src/plugins/marinade/filters.d.ts +1 -0
  138. package/src/plugins/marinade/helpers.d.ts +1 -0
  139. package/src/plugins/marinade/structs.d.ts +1 -0
  140. package/src/plugins/meso/structs.d.ts +1 -0
  141. package/src/plugins/metaplex/constants.d.ts +1 -0
  142. package/src/plugins/metaplex/helpers.d.ts +1 -0
  143. package/src/plugins/meteora/constants.d.ts +1 -0
  144. package/src/plugins/meteora/dlmmHelper.d.ts +1 -0
  145. package/src/plugins/meteora/filters.d.ts +1 -0
  146. package/src/plugins/meteora/helpers.d.ts +1 -0
  147. package/src/plugins/meteora/struct.d.ts +1 -0
  148. package/src/plugins/meteora/types.d.ts +1 -0
  149. package/src/plugins/moonwalk/constants.d.ts +1 -0
  150. package/src/plugins/moonwalk/structs.d.ts +1 -0
  151. package/src/plugins/native-stake/solana/constants.d.ts +1 -0
  152. package/src/plugins/native-stake/solana/filters.d.ts +1 -0
  153. package/src/plugins/native-stake/solana/structs.d.ts +1 -0
  154. package/src/plugins/nosana/constants.d.ts +1 -0
  155. package/src/plugins/nosana/helpers.d.ts +1 -0
  156. package/src/plugins/nosana/structs.d.ts +1 -0
  157. package/src/plugins/nxfinance/constants.d.ts +1 -0
  158. package/src/plugins/orca/constants.d.ts +1 -0
  159. package/src/plugins/orca/filters.d.ts +1 -0
  160. package/src/plugins/orca/getWhirlpoolPositions.d.ts +1 -0
  161. package/src/plugins/orca/getWhirlpoolsJob.d.ts +1 -0
  162. package/src/plugins/orca/structs/oldLiquidities.d.ts +1 -0
  163. package/src/plugins/orca/structs/whirlpool.d.ts +1 -0
  164. package/src/plugins/orders/clobs-solana/filters.d.ts +1 -0
  165. package/src/plugins/orders/clobs-solana/structs.d.ts +1 -0
  166. package/src/plugins/parcl/constants.d.ts +1 -0
  167. package/src/plugins/parcl/filters.d.ts +1 -0
  168. package/src/plugins/parcl/helpers.d.ts +1 -0
  169. package/src/plugins/parcl/structs.d.ts +1 -0
  170. package/src/plugins/phoenix/constants.d.ts +1 -0
  171. package/src/plugins/phoenix/helpers/misc.d.ts +1 -0
  172. package/src/plugins/phoenix/structs/marketHeader.d.ts +1 -0
  173. package/src/plugins/phoenix/structs/misc.d.ts +1 -0
  174. package/src/plugins/phoenix/structs/seat.d.ts +1 -0
  175. package/src/plugins/picasso/constants.d.ts +1 -0
  176. package/src/plugins/picasso/helpers.d.ts +1 -0
  177. package/src/plugins/port/constants.d.ts +1 -0
  178. package/src/plugins/port/filters.d.ts +1 -0
  179. package/src/plugins/port/structs.d.ts +1 -0
  180. package/src/plugins/pyth/constants.d.ts +1 -0
  181. package/src/plugins/pyth/structs.d.ts +1 -0
  182. package/src/plugins/quarry/constants.d.ts +1 -0
  183. package/src/plugins/quarry/filters.d.ts +1 -0
  184. package/src/plugins/quarry/helpers.d.ts +1 -0
  185. package/src/plugins/quarry/types.d.ts +1 -0
  186. package/src/plugins/rain/constants.d.ts +1 -0
  187. package/src/plugins/rain/filters.d.ts +1 -0
  188. package/src/plugins/rain/helpers.d.ts +1 -0
  189. package/src/plugins/rain/structs/loan.d.ts +1 -0
  190. package/src/plugins/rain/structs/pool.d.ts +1 -0
  191. package/src/plugins/raydium/constants.d.ts +1 -0
  192. package/src/plugins/raydium/farmsJob.d.ts +1 -0
  193. package/src/plugins/raydium/filters.d.ts +1 -0
  194. package/src/plugins/raydium/helpers.d.ts +3 -2
  195. package/src/plugins/raydium/structs/amms.d.ts +1 -0
  196. package/src/plugins/raydium/structs/clmms.d.ts +1 -0
  197. package/src/plugins/raydium/structs/cpmm.d.ts +1 -0
  198. package/src/plugins/raydium/structs/farms.d.ts +1 -0
  199. package/src/plugins/raydium/structs/openOrders.d.ts +1 -0
  200. package/src/plugins/raydium/structs/staking.d.ts +1 -0
  201. package/src/plugins/raydium/types.d.ts +1 -0
  202. package/src/plugins/sandglass/constants.d.ts +1 -0
  203. package/src/plugins/sandglass/filters.d.ts +1 -0
  204. package/src/plugins/sandglass/structs.d.ts +1 -0
  205. package/src/plugins/save/constants.d.ts +1 -0
  206. package/src/plugins/save/structs.d.ts +1 -0
  207. package/src/plugins/save/types.d.ts +1 -0
  208. package/src/plugins/sharky/constants.d.ts +1 -0
  209. package/src/plugins/sharky/filters.d.ts +1 -0
  210. package/src/plugins/solayer/constants.d.ts +1 -0
  211. package/src/plugins/solayer/structs.d.ts +1 -0
  212. package/src/plugins/spdr/constants.d.ts +1 -0
  213. package/src/plugins/spdr/structs.d.ts +1 -0
  214. package/src/plugins/stabble/filters.d.ts +1 -0
  215. package/src/plugins/staratlas/constants.d.ts +1 -0
  216. package/src/plugins/staratlas/helpers.d.ts +1 -0
  217. package/src/plugins/staratlas/structs.d.ts +1 -0
  218. package/src/plugins/streamflow/constants.d.ts +1 -0
  219. package/src/plugins/streamflow/filters.d.ts +1 -0
  220. package/src/plugins/streamflow/structs.d.ts +1 -0
  221. package/src/plugins/suilend/airdropFetcher.d.ts +1 -0
  222. package/src/plugins/suilend/airdropFetcher.js +66 -34
  223. package/src/plugins/suilend/airdropFetcher.js.map +1 -1
  224. package/src/plugins/suilend/burnEventsJob.d.ts +3 -0
  225. package/src/plugins/suilend/burnEventsJob.js +68 -0
  226. package/src/plugins/suilend/burnEventsJob.js.map +1 -0
  227. package/src/plugins/suilend/constants.d.ts +2 -1
  228. package/src/plugins/suilend/constants.js +5 -4
  229. package/src/plugins/suilend/constants.js.map +1 -1
  230. package/src/plugins/suilend/index.js +2 -1
  231. package/src/plugins/suilend/index.js.map +1 -1
  232. package/src/plugins/suilend/types.d.ts +23 -0
  233. package/src/plugins/switchboard/helpers/getSwitchboardOnDemandPrice.d.ts +1 -0
  234. package/src/plugins/switchboard/helpers/getSwitchboardOnDemandPrices.d.ts +1 -0
  235. package/src/plugins/switchboard/helpers/getSwitchboardPrice.d.ts +1 -0
  236. package/src/plugins/switchboard/helpers/getSwitchboardPrices.d.ts +1 -0
  237. package/src/plugins/switchboard/structs.d.ts +1 -0
  238. package/src/plugins/symmetry/constants.d.ts +1 -0
  239. package/src/plugins/symmetry/filters.d.ts +1 -0
  240. package/src/plugins/symmetry/structs.d.ts +1 -0
  241. package/src/plugins/tensor/constants.d.ts +1 -0
  242. package/src/plugins/tensor/filters.d.ts +1 -0
  243. package/src/plugins/tensor/helpers.d.ts +1 -0
  244. package/src/plugins/tensor/struct.d.ts +1 -0
  245. package/src/plugins/texture/constants.d.ts +1 -0
  246. package/src/plugins/texture/structs.d.ts +1 -0
  247. package/src/plugins/tulip/constants.d.ts +1 -0
  248. package/src/plugins/tulip/structs.d.ts +1 -0
  249. package/src/plugins/uxd/constants.d.ts +1 -0
  250. package/src/plugins/uxd/structs.d.ts +1 -0
  251. package/src/plugins/vaultka/constants.d.ts +1 -0
  252. package/src/plugins/vaultka/structs.d.ts +1 -0
  253. package/src/plugins/whalesmarket/constants.d.ts +1 -0
  254. package/src/plugins/whalesmarket/depositFetcher.js +3 -1
  255. package/src/plugins/whalesmarket/depositFetcher.js.map +1 -1
  256. package/src/plugins/whalesmarket/structs.d.ts +1 -0
  257. package/src/plugins/wormhole/constants.d.ts +1 -0
  258. package/src/plugins/wormhole/helpers.d.ts +1 -0
  259. package/src/plugins/wormhole/structs.d.ts +1 -0
  260. package/src/plugins/zelo/constants.d.ts +1 -0
  261. package/src/plugins/zelo/structs.d.ts +1 -0
  262. package/src/plugins/zeta/constants.d.ts +1 -0
  263. package/src/plugins/zeta/helpers.d.ts +1 -0
  264. package/src/plugins/zeta/structs.d.ts +1 -0
  265. package/src/utils/clients/types.d.ts +1 -0
  266. package/src/utils/elementbuilder/AssetBuilder.d.ts +4 -11
  267. package/src/utils/elementbuilder/AssetBuilder.js +0 -34
  268. package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
  269. package/src/utils/elementbuilder/AssetGenericBuilder.d.ts +10 -0
  270. package/src/utils/elementbuilder/AssetGenericBuilder.js +49 -0
  271. package/src/utils/elementbuilder/AssetGenericBuilder.js.map +1 -0
  272. package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +15 -0
  273. package/src/utils/elementbuilder/AssetTokenBuilder.js +46 -0
  274. package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -0
  275. package/src/utils/elementbuilder/ConcentratedLiquidityParams.d.ts +1 -0
  276. package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +11 -6
  277. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +24 -10
  278. package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -1
  279. package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +5 -3
  280. package/src/utils/elementbuilder/ElementMultipleBuilder.js +7 -3
  281. package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
  282. package/src/utils/elementbuilder/LiquidityBuilder.d.ts +6 -6
  283. package/src/utils/elementbuilder/LiquidityBuilder.js +3 -3
  284. package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
  285. package/src/utils/elementbuilder/PortfolioAssetGenericParams.d.ts +12 -0
  286. package/src/utils/elementbuilder/PortfolioAssetGenericParams.js +3 -0
  287. package/src/utils/elementbuilder/PortfolioAssetGenericParams.js.map +1 -0
  288. package/src/utils/elementbuilder/{PortfolioAssetParams.d.ts → PortfolioAssetTokenParams.d.ts} +2 -1
  289. package/src/utils/elementbuilder/{PortfolioAssetParams.js → PortfolioAssetTokenParams.js} +1 -1
  290. package/src/utils/elementbuilder/PortfolioAssetTokenParams.js.map +1 -0
  291. package/src/utils/solana/constants.d.ts +1 -0
  292. package/src/utils/solana/fetchTokenSupplyAndDecimals.d.ts +1 -0
  293. package/src/utils/solana/filters.d.ts +1 -0
  294. package/src/utils/solana/getAutoParsedMultipleAccountsInfo.d.ts +1 -0
  295. package/src/utils/solana/getAutoParsedProgramAccounts.d.ts +1 -0
  296. package/src/utils/solana/getDecimals.d.ts +1 -0
  297. package/src/utils/solana/getMultipleAccountsInfoSafe.d.ts +1 -0
  298. package/src/utils/solana/getMultipleDecimals.d.ts +1 -0
  299. package/src/utils/solana/getMultipleDecimalsAsMap.d.ts +1 -0
  300. package/src/utils/solana/getParsedAccountInfo.d.ts +1 -0
  301. package/src/utils/solana/getParsedMultipleAccountsInfo.d.ts +1 -0
  302. package/src/utils/solana/getParsedProgramAccounts.d.ts +1 -0
  303. package/src/utils/solana/getProgramAccounts.d.ts +1 -0
  304. package/src/utils/solana/getSupply.d.ts +1 -0
  305. package/src/utils/solana/jupiter/deriveClaimStatus.d.ts +1 -0
  306. package/src/utils/solana/jupiter/deriveClaimStatuses.d.ts +1 -0
  307. package/src/utils/solana/jupiter/getMerkleDistributorPda.d.ts +1 -0
  308. package/src/utils/solana/pyth/helpers.d.ts +1 -0
  309. package/src/utils/solana/pyth/structs.d.ts +1 -0
  310. package/src/utils/solana/pyth/structsOld.d.ts +1 -0
  311. package/src/utils/solana/structs.d.ts +1 -0
  312. package/src/utils/solana/types.d.ts +1 -0
  313. package/src/utils/elementbuilder/PortfolioAssetParams.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "sandglass";
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare const userAccountFilters: (owner: string) => GetProgramAccountsFilter[];
3
4
  export declare const marketAccountFilters: GetProgramAccountsFilter[];
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "save";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  export interface ApiResponse<T> {
3
4
  results: T[];
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { Platform } from '@sonarwatch/portfolio-core';
2
3
  import { PublicKey } from '@solana/web3.js';
3
4
  import { IdlItem } from '@solanafm/explorer-kit-idls';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare function getLoanFilters(owner: string): [
3
4
  GetProgramAccountsFilter[],
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "solayer";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { Platform } from '@sonarwatch/portfolio-core';
2
3
  import { PublicKey } from '@solana/web3.js';
3
4
  export declare const platformId = "spdr";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare const stableFilter: GetProgramAccountsFilter[];
3
4
  export declare const weightedFilter: GetProgramAccountsFilter[];
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "staratlas";
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  export declare function getProxyEscrowAddress(owner: string): PublicKey;
3
4
  export declare function getProxyAddress(proxyEscrowAddress: string, owner: string): PublicKey;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "streamflow";
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare const vestingAccountFilters: (address: string) => GetProgramAccountsFilter[];
3
4
  export declare const withdrawalVestingAccountFilters: (address: string) => GetProgramAccountsFilter[];
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { PublicKey } from '@solana/web3.js';
3
4
  import BigNumber from 'bignumber.js';
4
5
  import { FixableBeetStruct } from '@metaplex-foundation/beet';
@@ -1,2 +1,3 @@
1
1
  import { AirdropFetcher } from '../../AirdropFetcher';
2
2
  export declare const airdropFetcher: AirdropFetcher;
3
+ export declare const fetcher: import("../..").Fetcher;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.airdropFetcher = void 0;
15
+ exports.fetcher = exports.airdropFetcher = void 0;
16
16
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
17
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
18
  const AirdropFetcher_1 = require("../../AirdropFetcher");
@@ -25,6 +25,12 @@ const earlyUsers_json_1 = __importDefault(require("./earlyUsers.json"));
25
25
  const bluefinLeagues_json_1 = __importDefault(require("./bluefinLeagues.json"));
26
26
  const getKioskObjects_1 = require("../../utils/sui/getKioskObjects");
27
27
  const getOwnedObjectsPreloaded_1 = require("../../utils/sui/getOwnedObjectsPreloaded");
28
+ const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
29
+ const getOwnedObjects_1 = require("../../utils/sui/getOwnedObjects");
30
+ const memoizedBurnEvents = new MemoizedCache_1.MemoizedCache('burnEvents', {
31
+ prefix: constants_1.platformId,
32
+ networkId: portfolio_core_1.NetworkId.sui,
33
+ });
28
34
  const eligibleCollections = new Map([
29
35
  [
30
36
  '0x8f74a7d632191e29956df3843404f22d27bd84d92cca1b1abde621d033098769::rootlet::Rootlet',
@@ -49,46 +55,58 @@ const eligibleCollections = new Map([
49
55
  ]);
50
56
  const capsuleType = '0x008a7e85138643db888096f2db04766d549ca496583e41c3a683c6e1539a64ac::suilend_capsule::SuilendCapsule';
51
57
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
58
+ const client = (0, clients_1.getClientSui)();
59
+ const { capsuleRecord, pointsRecord } = yield memoizedBurnEvents.getItem(cache);
60
+ const capsuleAmountClaimed = capsuleRecord[owner];
61
+ const pointsAmountClaimed = pointsRecord[owner];
52
62
  const [pointsAllocation, nftsAllocation] = yield Promise.all([
53
- getPointsAllocation(owner, cache),
54
- getNftsAllocation(owner),
63
+ getPointsAllocationItem(owner, client, cache),
64
+ getNftsAllocationItems(owner, client),
55
65
  ]);
66
+ // This is because we are not able to compute the EXACT number of mSEND for the classic allocation
67
+ // So we expect that 95% of claimed or higher means it's claimed
68
+ const isPointsAllocClaimed = (0, bignumber_js_1.default)(pointsAmountClaimed)
69
+ .dividedBy(pointsAllocation)
70
+ .isGreaterThan(0.95);
56
71
  return (0, AirdropFetcher_1.getAirdropRaw)({
57
72
  statics: constants_1.airdropStatics,
58
73
  items: [
59
74
  {
60
- amount: pointsAllocation,
61
- isClaimed: false,
62
- label: 'SEND',
63
- address: constants_1.sendMint,
75
+ amount: pointsAmountClaimed !== null && pointsAmountClaimed !== void 0 ? pointsAmountClaimed : pointsAllocation,
76
+ isClaimed: isPointsAllocClaimed,
77
+ label: 'mSEND',
78
+ address: constants_1.mSendMint,
64
79
  imageUri: constants_1.platform.image,
65
80
  },
66
81
  {
67
82
  amount: nftsAllocation.collectionsAllocation,
68
- isClaimed: false,
69
- label: 'SEND',
70
- address: constants_1.sendMint,
83
+ isClaimed: nftsAllocation.collectionsClaimed ===
84
+ nftsAllocation.collectionsAllocation,
85
+ label: 'mSEND',
86
+ address: constants_1.mSendMint,
71
87
  imageUri: constants_1.platform.image,
72
88
  },
73
89
  {
74
- amount: nftsAllocation.capsulesAllocation,
75
- isClaimed: false,
76
- label: 'SEND',
77
- address: constants_1.sendMint,
90
+ amount: capsuleAmountClaimed !== null && capsuleAmountClaimed !== void 0 ? capsuleAmountClaimed : nftsAllocation.capsulesAllocation,
91
+ isClaimed: capsuleAmountClaimed === nftsAllocation.capsulesAllocation,
92
+ label: 'mSEND',
93
+ address: constants_1.mSendMint,
78
94
  imageUri: constants_1.platform.image,
79
95
  },
80
96
  {
81
97
  amount: getEarlyUserAllocation(owner),
82
- isClaimed: false,
83
- label: 'SEND',
84
- address: constants_1.sendMint,
98
+ // Those were airdropped directly inside the wallet
99
+ isClaimed: true,
100
+ label: 'mSEND',
101
+ address: constants_1.mSendMint,
85
102
  imageUri: constants_1.platform.image,
86
103
  },
87
104
  {
88
105
  amount: getBluefinLeagueAllocation(owner),
89
- isClaimed: false,
90
- label: 'SEND',
91
- address: constants_1.sendMint,
106
+ // Those were airdropped directly inside the wallet
107
+ isClaimed: true,
108
+ label: 'mSEND',
109
+ address: constants_1.mSendMint,
92
110
  imageUri: constants_1.platform.image,
93
111
  },
94
112
  ],
@@ -99,12 +117,7 @@ exports.airdropFetcher = {
99
117
  networkId: portfolio_core_1.NetworkId.sui,
100
118
  executor,
101
119
  };
102
- // export const fetcher = airdropFetcherToFetcher(
103
- // airdropFetcher,
104
- // platform.id,
105
- // 'suilend-airdrop',
106
- // airdropStatics.claimEnd
107
- // );
120
+ exports.fetcher = (0, AirdropFetcher_1.airdropFetcherToFetcher)(exports.airdropFetcher, constants_1.platform.id, 'suilend-airdrop', constants_1.airdropStatics.claimEnd);
108
121
  function getEarlyUserAllocation(owner) {
109
122
  if (earlyUsers_json_1.default.includes(owner))
110
123
  return 512;
@@ -113,21 +126,23 @@ function getEarlyUserAllocation(owner) {
113
126
  function getBluefinLeagueAllocation(owner) {
114
127
  return bluefinLeagues_json_1.default.includes(owner) ? 6.08 : 0;
115
128
  }
116
- function getNftsAllocation(owner) {
129
+ function getNftsAllocationItems(owner, client) {
117
130
  return __awaiter(this, void 0, void 0, function* () {
118
- const client = (0, clients_1.getClientSui)();
119
131
  const eligibleCollectionsTypes = Array.from(eligibleCollections.keys());
120
132
  const objects = yield (0, getOwnedObjectsPreloaded_1.getOwnedObjectsPreloaded)(client, owner);
121
133
  const kioskObjects = (yield (0, getKioskObjects_1.getKiosksDynamicFieldsObjects)(objects)).flat();
122
- let collectionsAllocation = 0;
134
+ const elligibleNfts = [];
135
+ const collectionsAllocations = [];
123
136
  let capsulesAllocation = 0;
124
137
  [...objects, ...kioskObjects].forEach((obj) => {
125
138
  var _a;
126
139
  if ((_a = obj.data) === null || _a === void 0 ? void 0 : _a.content) {
127
140
  if (eligibleCollectionsTypes.includes(obj.data.content.type)) {
128
141
  const nftAlloc = eligibleCollections.get(obj.data.content.type);
129
- if (nftAlloc)
130
- collectionsAllocation += nftAlloc;
142
+ if (nftAlloc) {
143
+ elligibleNfts.push(obj.data.objectId);
144
+ collectionsAllocations.push(nftAlloc);
145
+ }
131
146
  }
132
147
  else if (obj.data.content.type === capsuleType) {
133
148
  const capsule = obj.data.content.fields;
@@ -140,16 +155,33 @@ function getNftsAllocation(owner) {
140
155
  }
141
156
  }
142
157
  });
158
+ let totalAlloc = 0;
159
+ let totalClaimed = 0;
160
+ const nftsObjects = yield Promise.all([
161
+ ...elligibleNfts.map((obj) => (0, getOwnedObjects_1.getOwnedObjects)(client, obj, {
162
+ filter: {
163
+ StructType: constants_1.mSendCoinType,
164
+ },
165
+ })),
166
+ ]);
167
+ for (let i = 0; i < elligibleNfts.length; i += 1) {
168
+ const claimed = nftsObjects[i];
169
+ const alloc = collectionsAllocations[i];
170
+ if (claimed.length === 0) {
171
+ totalClaimed += alloc;
172
+ }
173
+ totalAlloc += alloc;
174
+ }
143
175
  return {
144
- collectionsAllocation,
176
+ collectionsAllocation: totalAlloc,
145
177
  capsulesAllocation,
178
+ collectionsClaimed: totalClaimed,
146
179
  };
147
180
  });
148
181
  }
149
- function getPointsAllocation(owner, cache) {
182
+ function getPointsAllocationItem(owner, client, cache) {
150
183
  var _a, _b, _c, _d;
151
184
  return __awaiter(this, void 0, void 0, function* () {
152
- const client = (0, clients_1.getClientSui)();
153
185
  const obligationsCapFields = yield (0, getOwnedObjectsPreloaded_1.getOwnedObjectsPreloaded)(client, owner, {
154
186
  filter: { Package: constants_1.packageId },
155
187
  });
@@ -1 +1 @@
1
- {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/airdropFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/airdropFetcher.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,68 @@
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 clients_1 = require("../../utils/clients");
18
+ const constants_1 = require("./constants");
19
+ const queryEvents_1 = require("../../utils/sui/queryEvents");
20
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const client = (0, clients_1.getClientSui)();
22
+ const [pointsBurnEvents, capsuleBurnEvents] = yield Promise.all([
23
+ (0, queryEvents_1.queryEvents)(client, {
24
+ MoveEventType: '0xf4e0686b311e9b9d6da7e61fc42dae4254828f5ee3ded8ab5480ecd27e46ff08::points::BurnEvent',
25
+ }),
26
+ (0, queryEvents_1.queryEvents)(client, {
27
+ MoveEventType: '0xf4e0686b311e9b9d6da7e61fc42dae4254828f5ee3ded8ab5480ecd27e46ff08::capsule::BurnEvent',
28
+ }),
29
+ ]);
30
+ const pointsBurnByUser = pointsBurnEvents.reduce((obj, event) => {
31
+ if (event.parsedJson)
32
+ // eslint-disable-next-line no-param-reassign
33
+ obj[event.sender] = (0, bignumber_js_1.default)(event.parsedJson.claim_amount)
34
+ .dividedBy(Math.pow(10, 6))
35
+ .toNumber();
36
+ return obj;
37
+ }, {});
38
+ const capsuleBurnByUser = capsuleBurnEvents.reduce((obj, event) => {
39
+ if (event.parsedJson) {
40
+ const pastAmount = obj[event.sender];
41
+ if (pastAmount) {
42
+ // eslint-disable-next-line no-param-reassign
43
+ obj[event.sender] = (0, bignumber_js_1.default)(event.parsedJson.claim_amount)
44
+ .dividedBy(Math.pow(10, 6))
45
+ .plus(pastAmount)
46
+ .toNumber();
47
+ }
48
+ else {
49
+ // eslint-disable-next-line no-param-reassign
50
+ obj[event.sender] = (0, bignumber_js_1.default)(event.parsedJson.claim_amount)
51
+ .dividedBy(Math.pow(10, 6))
52
+ .toNumber();
53
+ }
54
+ }
55
+ return obj;
56
+ }, {});
57
+ yield cache.setItem('burnEvents', {
58
+ capsuleRecord: capsuleBurnByUser,
59
+ pointsRecord: pointsBurnByUser,
60
+ }, { prefix: constants_1.platformId, networkId: portfolio_core_1.NetworkId.sui });
61
+ });
62
+ const job = {
63
+ id: `${constants_1.platformId}-burn-events`,
64
+ executor,
65
+ label: 'normal',
66
+ };
67
+ exports.default = job;
68
+ //# sourceMappingURL=burnEventsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"burnEventsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/burnEventsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AAGrC,iDAAmD;AACnD,2CAAyC;AAEzC,6DAA0D;AAE1D,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,IAAA,yBAAW,EAAgB,MAAM,EAAE;YACjC,aAAa,EACX,uFAAuF;SAC1F,CAAC;QACF,IAAA,yBAAW,EAAgB,MAAM,EAAE;YACjC,aAAa,EACX,wFAAwF;SAC3F,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAC9C,CAAC,GAA2B,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,UAAU;YAClB,6CAA6C;YAC7C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;iBACzD,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;iBAClB,QAAQ,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAChD,CAAC,GAA2B,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;qBACzD,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;qBAClB,IAAI,CAAC,UAAU,CAAC;qBAChB,QAAQ,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;qBACzD,SAAS,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC;qBAClB,QAAQ,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CACjB,YAAY,EACZ;QACE,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,gBAAgB;KAC/B,EACD,EAAE,MAAM,EAAE,sBAAU,EAAE,SAAS,EAAE,0BAAS,CAAC,GAAG,EAAE,CACjD,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -3,7 +3,8 @@ import { AirdropStatics } from '../../AirdropFetcher';
3
3
  export declare const platformId = "suilend";
4
4
  export declare const platform: Platform;
5
5
  export declare const airdropStatics: AirdropStatics;
6
- export declare const sendMint: undefined;
6
+ export declare const mSendMint = "0xda097d57ae887fbd002fb5847dd0ab47ae7e1b183fd36832a51182c52257e1bc::msend_series_1::MSEND_SERIES_1";
7
+ export declare const mSendCoinType = "0x2::coin::Coin<0xda097d57ae887fbd002fb5847dd0ab47ae7e1b183fd36832a51182c52257e1bc::msend_series_1::MSEND_SERIES_1>";
7
8
  export declare const suilendPointsType = "34fe4f3c9e450fed4d0a3c587ed842eec5313c30c3cc3c0841247c49425e246b::suilend_point::SUILEND_POINT";
8
9
  export declare const packageId = "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf";
9
10
  export declare const obligationType = "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::obligation::Obligation";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.marketsKey = exports.poolsKey = exports.obligationOwnerCapType = exports.marketsRegistry = exports.mainMarket = exports.obligationType = exports.packageId = exports.suilendPointsType = exports.sendMint = exports.airdropStatics = exports.platform = exports.platformId = void 0;
3
+ exports.marketsKey = exports.poolsKey = exports.obligationOwnerCapType = exports.marketsRegistry = exports.mainMarket = exports.obligationType = exports.packageId = exports.suilendPointsType = exports.mSendCoinType = exports.mSendMint = exports.airdropStatics = exports.platform = exports.platformId = void 0;
4
4
  exports.platformId = 'suilend';
5
5
  exports.platform = {
6
6
  id: exports.platformId,
@@ -16,10 +16,11 @@ exports.airdropStatics = {
16
16
  emitterName: 'Suilend',
17
17
  id: 'suilend-airdrop',
18
18
  image: 'https://sonar.watch/img/platforms/suilend.webp',
19
- claimEnd: undefined,
20
- claimStart: 1733961600000,
19
+ claimEnd: 1765512000000,
20
+ claimStart: 1733976000000,
21
21
  };
22
- exports.sendMint = undefined;
22
+ exports.mSendMint = '0xda097d57ae887fbd002fb5847dd0ab47ae7e1b183fd36832a51182c52257e1bc::msend_series_1::MSEND_SERIES_1';
23
+ exports.mSendCoinType = `0x2::coin::Coin<${exports.mSendMint}>`;
23
24
  exports.suilendPointsType = '34fe4f3c9e450fed4d0a3c587ed842eec5313c30c3cc3c0841247c49425e246b::suilend_point::SUILEND_POINT';
24
25
  exports.packageId = '0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf';
25
26
  exports.obligationType = `${exports.packageId}::obligation::Obligation`;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,gDAAgD;IACvD,WAAW,EAAE,SAAS,EAAE,sCAAsC;IAC9D,OAAO,EAAE,yBAAyB;IAClC,OAAO,EAAE,qCAAqC;CAC/C,CAAC;AAEW,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,SAAS;IACtB,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,gDAAgD;IACvD,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEW,QAAA,QAAQ,GAAG,SAAS,CAAC;AACrB,QAAA,iBAAiB,GAC5B,gGAAgG,CAAC;AACtF,QAAA,SAAS,GACpB,oEAAoE,CAAC;AAE1D,QAAA,cAAc,GAAG,GAAG,iBAAS,0BAA0B,CAAC;AACxD,QAAA,UAAU,GACrB,oEAAoE,CAAC;AAC1D,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAE1D,QAAA,sBAAsB,GAAG,GAAG,iBAAS,wCAAwC,iBAAS,EAAE,CAAC;AACzF,QAAA,QAAQ,GAAG,WAAW,CAAC;AACvB,QAAA,UAAU,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,gDAAgD;IACvD,WAAW,EAAE,SAAS,EAAE,sCAAsC;IAC9D,OAAO,EAAE,yBAAyB;IAClC,OAAO,EAAE,qCAAqC;CAC/C,CAAC;AAEW,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,SAAS;IACtB,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,gDAAgD;IACvD,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEW,QAAA,SAAS,GACpB,oGAAoG,CAAC;AAC1F,QAAA,aAAa,GAAG,mBAAmB,iBAAS,GAAG,CAAC;AAChD,QAAA,iBAAiB,GAC5B,gGAAgG,CAAC;AACtF,QAAA,SAAS,GACpB,oEAAoE,CAAC;AAE1D,QAAA,cAAc,GAAG,GAAG,iBAAS,0BAA0B,CAAC;AACxD,QAAA,UAAU,GACrB,oEAAoE,CAAC;AAC1D,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAE1D,QAAA,sBAAsB,GAAG,GAAG,iBAAS,wCAAwC,iBAAS,EAAE,CAAC;AACzF,QAAA,QAAQ,GAAG,WAAW,CAAC;AACvB,QAAA,UAAU,GAAG,SAAS,CAAC"}
@@ -9,7 +9,8 @@ const obligationsFetcher_1 = __importDefault(require("./obligationsFetcher"));
9
9
  const marketsJob_1 = __importDefault(require("./marketsJob"));
10
10
  const airdropFetcher_1 = require("./airdropFetcher");
11
11
  Object.defineProperty(exports, "airdropFetcher", { enumerable: true, get: function () { return airdropFetcher_1.airdropFetcher; } });
12
+ const burnEventsJob_1 = __importDefault(require("./burnEventsJob"));
12
13
  exports.platforms = [constants_1.platform];
13
- exports.jobs = [marketsJob_1.default];
14
+ exports.jobs = [marketsJob_1.default, burnEventsJob_1.default];
14
15
  exports.fetchers = [obligationsFetcher_1.default];
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,8EAAsD;AACtD,8DAAsC;AACtC,qDAAkD;AAKzC,+FALA,+BAAc,OAKA;AAHV,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,oBAAU,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAc,CAAC,4BAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,8EAAsD;AACtD,8DAAsC;AACtC,qDAAkD;AAMzC,+FANA,+BAAc,OAMA;AALvB,oEAA2C;AAE9B,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,oBAAU,EAAE,uBAAY,CAAC,CAAC;AACzC,QAAA,QAAQ,GAAc,CAAC,4BAAkB,CAAC,CAAC"}
@@ -143,3 +143,26 @@ export type SuilendCapsule = {
143
143
  id: ID;
144
144
  rarity: 'rare' | 'common' | 'uncommon';
145
145
  };
146
+ export type BurnEvents = {
147
+ pointsRecord: Record<string, number>;
148
+ capsuleRecord: Record<string, number>;
149
+ };
150
+ export type BurnEvent = {
151
+ id: EventId;
152
+ packageId: string;
153
+ transactionModule: string;
154
+ sender: string;
155
+ type: string;
156
+ parsedJson: BurnEventJSON;
157
+ bcs: string;
158
+ };
159
+ export type EventId = {
160
+ txDigest: string;
161
+ eventSeq: string;
162
+ };
163
+ export type BurnEventJSON = {
164
+ claim_amount: string;
165
+ manager_id: string;
166
+ points_burned?: string;
167
+ rarity?: string;
168
+ };
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { SolanaClient } from '../../../utils/clients/types';
3
4
  export declare function getSwitchboardOnDemandPrices(client: SolanaClient, onDemandPubkeys: PublicKey[]): Promise<(number | undefined)[]>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { SolanaClient } from '../../../utils/clients/types';
3
4
  export declare function getSwitchboardOnDemandPrice(client: SolanaClient, onDemandPubkey: PublicKey): Promise<number | undefined>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { SolanaClient } from '../../../utils/clients/types';
3
4
  export declare function getSwitchboardPrice(connection: SolanaClient, feedAddress: PublicKey): Promise<number | null>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { SolanaClient } from '../../../utils/clients/types';
3
4
  export declare function getSwitchboardPrices(connection: SolanaClient, feedAddresses: PublicKey[]): Promise<(number | null)[]>;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
3
4
  import BigNumber from 'bignumber.js';
4
5
  import { PublicKey } from '@solana/web3.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "symmetry";
@@ -1,2 +1,3 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare const fundFilters: GetProgramAccountsFilter[];
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
3
4
  import BigNumber from 'bignumber.js';
4
5
  import { PublicKey } from '@solana/web3.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "tensor";
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { GetProgramAccountsFilter } from '@solana/web3.js';
2
3
  export declare const singleListingFilter: (owner: string) => GetProgramAccountsFilter[];
3
4
  export declare const poolFilter: (owner: string) => GetProgramAccountsFilter[];
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  export declare function ownerHasPowerUserAllocation(owner: string): boolean;
3
4
  export declare const findMarginPDA: (owner: string) => PublicKey;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "texture";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import { Platform } from '@sonarwatch/portfolio-core';
3
4
  export declare const platformId = "tulip";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
2
3
  import { BeetStruct } from '@metaplex-foundation/beet';
3
4
  import { PublicKey } from '@solana/web3.js';
4
5
  import BigNumber from 'bignumber.js';