@merkl/api 0.10.128 → 0.10.130

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 (402) hide show
  1. package/dist/database/api/.generated/default.js +1 -0
  2. package/dist/database/api/.generated/edge.js +609 -0
  3. package/dist/database/api/.generated/index-browser.js +586 -0
  4. package/dist/database/api/.generated/index.js +638 -0
  5. package/dist/database/api/.generated/runtime/edge-esm.js +31 -0
  6. package/dist/database/api/.generated/runtime/edge.js +31 -0
  7. package/dist/database/api/.generated/runtime/index-browser.js +13 -0
  8. package/dist/database/api/.generated/runtime/library.js +143 -0
  9. package/dist/database/api/.generated/runtime/react-native.js +80 -0
  10. package/dist/database/api/.generated/runtime/wasm.js +32 -0
  11. package/dist/database/api/.generated/wasm.js +586 -0
  12. package/dist/database/api/seeder/resources/protocol.js +341 -0
  13. package/dist/database/engine/.generated/default.js +1 -0
  14. package/dist/database/engine/.generated/edge.js +438 -0
  15. package/dist/database/engine/.generated/index-browser.js +415 -0
  16. package/dist/database/engine/.generated/index.js +467 -0
  17. package/dist/database/engine/.generated/runtime/edge-esm.js +31 -0
  18. package/dist/database/engine/.generated/runtime/edge.js +31 -0
  19. package/dist/database/engine/.generated/runtime/index-browser.js +13 -0
  20. package/dist/database/engine/.generated/runtime/library.js +143 -0
  21. package/dist/database/engine/.generated/runtime/react-native.js +80 -0
  22. package/dist/database/engine/.generated/runtime/wasm.js +32 -0
  23. package/dist/database/engine/.generated/wasm.js +415 -0
  24. package/dist/node_modules/@elysiajs/eden/eden/LICENSE +7 -0
  25. package/dist/node_modules/@elysiajs/eden/eden/README.md +46 -0
  26. package/dist/node_modules/@elysiajs/eden/eden/bunfig.toml +2 -0
  27. package/dist/node_modules/@elysiajs/eden/eden/dist/chunk-2IHGLN7W.mjs +1 -0
  28. package/dist/node_modules/@elysiajs/eden/eden/dist/chunk-7WO4HTSU.mjs +1 -0
  29. package/dist/node_modules/@elysiajs/eden/eden/dist/chunk-XYW4OUFN.mjs +1 -0
  30. package/dist/node_modules/@elysiajs/eden/eden/dist/chunk-YAG46HFR.mjs +1 -0
  31. package/dist/node_modules/@elysiajs/eden/eden/dist/errors.d.ts +5 -0
  32. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch/index.d.ts +4 -0
  33. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch/types.d.ts +44 -0
  34. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch.d.mts +48 -0
  35. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch.d.ts +48 -0
  36. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch.global.js +1 -0
  37. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch.js +1 -0
  38. package/dist/node_modules/@elysiajs/eden/eden/dist/fetch.mjs +1 -0
  39. package/dist/node_modules/@elysiajs/eden/eden/dist/index.d.mts +5 -0
  40. package/dist/node_modules/@elysiajs/eden/eden/dist/index.d.ts +5 -0
  41. package/dist/node_modules/@elysiajs/eden/eden/dist/index.global.js +1 -0
  42. package/dist/node_modules/@elysiajs/eden/eden/dist/index.js +1 -0
  43. package/dist/node_modules/@elysiajs/eden/eden/dist/index.mjs +1 -0
  44. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty/index.d.ts +17 -0
  45. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty/types.d.ts +99 -0
  46. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty/utils.d.ts +1 -0
  47. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty.d.mts +114 -0
  48. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty.d.ts +114 -0
  49. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty.global.js +1 -0
  50. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty.js +1 -0
  51. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty.mjs +1 -0
  52. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2/index.d.ts +5 -0
  53. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2/types.d.ts +86 -0
  54. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2/ws.d.ts +14 -0
  55. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2.d.mts +103 -0
  56. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2.d.ts +103 -0
  57. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2.global.js +1 -0
  58. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2.js +1 -0
  59. package/dist/node_modules/@elysiajs/eden/eden/dist/treaty2.mjs +1 -0
  60. package/dist/node_modules/@elysiajs/eden/eden/dist/types-C41kuZ-K.d.mts +44 -0
  61. package/dist/node_modules/@elysiajs/eden/eden/dist/types-C41kuZ-K.d.ts +44 -0
  62. package/dist/node_modules/@elysiajs/eden/eden/dist/types.d.ts +39 -0
  63. package/dist/node_modules/@elysiajs/eden/eden/dist/utils/parsingUtils.d.ts +6 -0
  64. package/dist/node_modules/@elysiajs/eden/eden/package.json +85 -0
  65. package/dist/package.json +2 -2
  66. package/dist/src/backgroundJobs/index.js +44 -0
  67. package/dist/src/backgroundJobs/jobs/campaignsCacheUpdater.js +160 -0
  68. package/dist/src/backgroundJobs/jobs/health.js +15 -0
  69. package/dist/src/backgroundJobs/jobs/opportunityUpdater.js +63 -0
  70. package/dist/src/backgroundJobs/jobs/priceUpdater.js +16 -0
  71. package/dist/src/backgroundJobs/jobs/sync.js +33 -0
  72. package/dist/src/cache/declaration.js +146 -0
  73. package/dist/src/cache/index.js +152 -0
  74. package/dist/src/cache/redis.js +49 -0
  75. package/dist/src/constants.js +119 -0
  76. package/dist/src/entities/campaign.js +134 -0
  77. package/dist/src/entities/opportunity.js +549 -0
  78. package/dist/src/errors/BadRequest.error.js +7 -0
  79. package/dist/src/errors/Conflict.error.js +7 -0
  80. package/dist/src/errors/HttpError.js +11 -0
  81. package/dist/src/errors/NotFound.error.js +7 -0
  82. package/dist/src/errors/Opportunity.error.js +11 -0
  83. package/dist/src/errors/Unauthorized.error.js +7 -0
  84. package/dist/src/errors/index.js +5 -0
  85. package/dist/src/guards/BackOffice.guard.js +10 -0
  86. package/dist/src/guards/Engine.guard.js +10 -0
  87. package/dist/src/guards/TokenAuth.guard.js +10 -0
  88. package/dist/src/hooks/checkQueryAddressValidity.js +7 -0
  89. package/dist/src/hooks/checkQueryChainIdValidity.js +7 -0
  90. package/dist/src/index.js +79 -0
  91. package/dist/src/internal/controllers/endingCampaigns.js +41 -0
  92. package/dist/src/internal/controllers/unclaimed.js +36 -0
  93. package/dist/src/internal/index.js +30 -0
  94. package/dist/src/libs/campaigns/campaignTypes/AjnaDynamicData.js +111 -0
  95. package/dist/src/libs/campaigns/campaignTypes/BadgerDynamicData.js +93 -0
  96. package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.js +942 -0
  97. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.js +90 -0
  98. package/dist/src/libs/campaigns/campaignTypes/DolomiteDynamicData.js +60 -0
  99. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.js +162 -0
  100. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicDataRefacto.js +159 -0
  101. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/eulerVaultNames.js +13 -0
  102. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/factoryFinder.js +29 -0
  103. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/getBlacklistedSupply.js +22 -0
  104. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/metamorphoTvl.js +35 -0
  105. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/spliceTVL.js +21 -0
  106. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.js +106 -0
  107. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/AaveProcessor.js +26 -0
  108. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/AssetProcessor.js +47 -0
  109. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/AuraProcessor.js +103 -0
  110. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/BalancerGaugeProcessor.js +83 -0
  111. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/BalancerPoolProcessor.js +99 -0
  112. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/BeefyProcessor.js +51 -0
  113. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/CompoundProcessor.js +36 -0
  114. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/EnzymeProcessor.js +51 -0
  115. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/EulerBorrowProcessor.js +46 -0
  116. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/EulerLendProcessor.js +47 -0
  117. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/FluidProcessor.js +36 -0
  118. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/FraxProcessor.js +41 -0
  119. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/GearboxProcessor.js +44 -0
  120. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/GenericProcessor.js +239 -0
  121. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/MetamorphoProcessor.js +43 -0
  122. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleProcessor.js +31 -0
  123. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/RadiantProcessor.js +58 -0
  124. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/RfxProcessor.js +64 -0
  125. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/SpliceProcessor.js +35 -0
  126. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/SturdySiloProcessor.js +37 -0
  127. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/TemplateProcessor.js +40 -0
  128. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/TorosProcessor.js +33 -0
  129. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/UniswapProcessor.js +48 -0
  130. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/WoofiProcessor.js +40 -0
  131. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/curveProcessor.js +68 -0
  132. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/processorMapping.js +77 -0
  133. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesPrices.js +583 -0
  134. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesPricesRefactoFinal.js +24 -0
  135. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1.js +1209 -0
  136. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1RefactoFinal.js +194 -0
  137. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound2.js +645 -0
  138. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound2RefactoFinal.js +22 -0
  139. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound3.js +392 -0
  140. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound3RefactoFinal.js +22 -0
  141. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound4.js +323 -0
  142. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound4RefactoFinal.js +22 -0
  143. package/dist/src/libs/campaigns/campaignTypes/ERC20_SNAPSHOTDynamicData.js +38 -0
  144. package/dist/src/libs/campaigns/campaignTypes/EulerDynamicData.js +165 -0
  145. package/dist/src/libs/campaigns/campaignTypes/JSON_AIRDROPDynamicData.js +19 -0
  146. package/dist/src/libs/campaigns/campaignTypes/MORPHODynamicData.js +120 -0
  147. package/dist/src/libs/campaigns/campaignTypes/RadiantDynamicData.js +112 -0
  148. package/dist/src/libs/campaigns/campaignTypes/SILODynamicData.js +113 -0
  149. package/dist/src/libs/campaigns/campaignsDynamicData.js +83 -0
  150. package/dist/src/libs/campaigns/campaignsDynamicDataRefacto.js +78 -0
  151. package/dist/src/libs/campaigns/getCampaigns.js +18 -0
  152. package/dist/src/libs/campaigns/utils/fetchA51Strategies.js +44 -0
  153. package/dist/src/libs/campaigns/utils/fetchClamInfo.js +27 -0
  154. package/dist/src/libs/campaigns/utils/fetchLogs.js +91 -0
  155. package/dist/src/libs/campaigns/utils/getCompV2ForksVaults.js +122 -0
  156. package/dist/src/libs/campaigns/utils/getContractCreationBlock.js +44 -0
  157. package/dist/src/libs/campaigns/utils/getDolomiteMarkets.js +50 -0
  158. package/dist/src/libs/campaigns/utils/getEulerV2Vaults.js +87 -0
  159. package/dist/src/libs/campaigns/utils/getLastEligibilityRatio.js +56 -0
  160. package/dist/src/libs/computeFee.js +34 -0
  161. package/dist/src/libs/custom/twtParticipants.js +54 -0
  162. package/dist/src/libs/deprecated-merklv3/index.js +184 -0
  163. package/dist/src/libs/getTokensList.js +37 -0
  164. package/dist/src/libs/merklChainData.js +129 -0
  165. package/dist/src/libs/parse/marketsWithCache.js +8 -0
  166. package/dist/src/libs/positions/ajna/index.js +107 -0
  167. package/dist/src/libs/positions/badger/index.js +79 -0
  168. package/dist/src/libs/positions/clamm/index.js +419 -0
  169. package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js +35 -0
  170. package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js +35 -0
  171. package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js +44 -0
  172. package/dist/src/libs/positions/clamm/thegraph/index.js +162 -0
  173. package/dist/src/libs/positions/compound/index.js +93 -0
  174. package/dist/src/libs/positions/dolomite/index.js +49 -0
  175. package/dist/src/libs/positions/erc20/index.js +55 -0
  176. package/dist/src/libs/positions/euler/index.js +57 -0
  177. package/dist/src/libs/positions/index.js +48 -0
  178. package/dist/src/libs/positions/morpho/index.js +177 -0
  179. package/dist/src/libs/positions/prepareFetch.js +339 -0
  180. package/dist/src/libs/positions/silo/index.js +67 -0
  181. package/dist/src/libs/positions/types.js +1 -0
  182. package/dist/src/libs/reports/campaignReport.js +37 -0
  183. package/dist/src/libs/reports/mainParameterRewards.js +48 -0
  184. package/dist/src/libs/rewards/userRewards.js +154 -0
  185. package/dist/src/libs/staticCampaigns.js +10 -0
  186. package/dist/src/libs/tokens/balances.js +126 -0
  187. package/dist/src/libs/tokens/tokenInfo.js +22 -0
  188. package/dist/src/modules/v4/accounting/accounting.controller.js +66 -0
  189. package/dist/src/modules/v4/accounting/accounting.model.js +32 -0
  190. package/dist/src/modules/v4/accounting/accounting.repository.js +100 -0
  191. package/dist/src/modules/v4/accounting/accounting.service.js +78 -0
  192. package/dist/src/modules/v4/accounting/index.js +3 -0
  193. package/dist/src/modules/v4/apr/apr.controller.js +1 -0
  194. package/dist/src/modules/v4/apr/apr.model.js +1 -0
  195. package/dist/src/modules/v4/apr/apr.repository.js +1 -0
  196. package/dist/src/modules/v4/apr/apr.service.js +40 -0
  197. package/dist/src/modules/v4/apr/index.js +2 -0
  198. package/dist/src/modules/v4/blacklist/blacklist.controller.js +45 -0
  199. package/dist/src/modules/v4/blacklist/blacklist.model.js +13 -0
  200. package/dist/src/modules/v4/blacklist/blacklist.repository.js +56 -0
  201. package/dist/src/modules/v4/blacklist/blacklist.service.js +24 -0
  202. package/dist/src/modules/v4/blacklist/index.js +3 -0
  203. package/dist/src/modules/v4/cache/cache.model.js +14 -0
  204. package/dist/src/modules/v4/cache/cache.repository.js +10 -0
  205. package/dist/src/modules/v4/cache/cache.service.js +44 -0
  206. package/dist/src/modules/v4/cache/index.js +1 -0
  207. package/dist/src/modules/v4/campaign/campaign.controller.js +56 -0
  208. package/dist/src/modules/v4/campaign/campaign.model.js +54 -0
  209. package/dist/src/modules/v4/campaign/campaign.repository.js +346 -0
  210. package/dist/src/modules/v4/campaign/campaign.service.js +203 -0
  211. package/dist/src/modules/v4/campaign/index.js +3 -0
  212. package/dist/src/modules/v4/chain/chain.controller.js +40 -0
  213. package/dist/src/modules/v4/chain/chain.model.js +17 -0
  214. package/dist/src/modules/v4/chain/chain.repository.js +64 -0
  215. package/dist/src/modules/v4/chain/chain.service.js +42 -0
  216. package/dist/src/modules/v4/chain/index.js +3 -0
  217. package/dist/src/modules/v4/dynamicData/dynamicData.controller.js +19 -0
  218. package/dist/src/modules/v4/dynamicData/dynamicData.model.js +6 -0
  219. package/dist/src/modules/v4/dynamicData/dynamicData.repository.js +1 -0
  220. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +49 -0
  221. package/dist/src/modules/v4/dynamicData/index.js +3 -0
  222. package/dist/src/modules/v4/enso/enso.model.js +108 -0
  223. package/dist/src/modules/v4/enso/enso.service.js +46 -0
  224. package/dist/src/modules/v4/explorer/explorer.model.js +2 -0
  225. package/dist/src/modules/v4/explorer/explorer.repository.js +23 -0
  226. package/dist/src/modules/v4/explorer/explorer.service.js +24 -0
  227. package/dist/src/modules/v4/explorer/index.js +1 -0
  228. package/dist/src/modules/v4/index.js +4 -0
  229. package/dist/src/modules/v4/merklRoot/index.js +3 -0
  230. package/dist/src/modules/v4/merklRoot/merklRoot.controller.js +19 -0
  231. package/dist/src/modules/v4/merklRoot/merklRoot.model.js +6 -0
  232. package/dist/src/modules/v4/merklRoot/merklRoot.repository.js +31 -0
  233. package/dist/src/modules/v4/merklRoot/merklRoot.service.js +38 -0
  234. package/dist/src/modules/v4/opportunity/index.js +3 -0
  235. package/dist/src/modules/v4/opportunity/opportunity.controller.js +69 -0
  236. package/dist/src/modules/v4/opportunity/opportunity.model.js +36 -0
  237. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +14 -0
  238. package/dist/src/modules/v4/opportunity/opportunity.repository.js +217 -0
  239. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +0 -15
  240. package/dist/src/modules/v4/opportunity/opportunity.service.js +180 -0
  241. package/dist/src/modules/v4/opportunity/subservices/getAjnaMetadata.service.js +50 -0
  242. package/dist/src/modules/v4/opportunity/subservices/getBadgerMetadata.service.js +23 -0
  243. package/dist/src/modules/v4/opportunity/subservices/getClammMetadata.service.js +33 -0
  244. package/dist/src/modules/v4/opportunity/subservices/getCompoundMetadata.service.js +18 -0
  245. package/dist/src/modules/v4/opportunity/subservices/getDolomiteMetadata.service.js +15 -0
  246. package/dist/src/modules/v4/opportunity/subservices/getErc20Metadata.service.js +63 -0
  247. package/dist/src/modules/v4/opportunity/subservices/getErc20SnapshotMetadata.service.js +8 -0
  248. package/dist/src/modules/v4/opportunity/subservices/getEulerMetadata.service.js +30 -0
  249. package/dist/src/modules/v4/opportunity/subservices/getJsonAirDropMetadata.service.js +36 -0
  250. package/dist/src/modules/v4/opportunity/subservices/getMorphoMetadata.service.js +19 -0
  251. package/dist/src/modules/v4/opportunity/subservices/getRadiantMetadata.service.js +9 -0
  252. package/dist/src/modules/v4/opportunity/subservices/getSiloMetadata.service.js +13 -0
  253. package/dist/src/modules/v4/opportunity/transform-id.pipe.js +6 -0
  254. package/dist/src/modules/v4/opportunity/validate-id.pipe.js +12 -0
  255. package/dist/src/modules/v4/participate/participate.controller.js +66 -0
  256. package/dist/src/modules/v4/participate/participate.model.js +24 -0
  257. package/dist/src/modules/v4/participate/participate.service.js +33 -0
  258. package/dist/src/modules/v4/price/index.js +3 -0
  259. package/dist/src/modules/v4/price/price.controller.js +62 -0
  260. package/dist/src/modules/v4/price/price.model.js +12 -0
  261. package/dist/src/modules/v4/price/price.repository.js +18 -0
  262. package/dist/src/modules/v4/price/price.service.js +44 -0
  263. package/dist/src/modules/v4/prisma/index.js +1 -0
  264. package/dist/src/modules/v4/protocol/index.js +3 -0
  265. package/dist/src/modules/v4/protocol/protocol.controller.js +23 -0
  266. package/dist/src/modules/v4/protocol/protocol.model.js +68 -0
  267. package/dist/src/modules/v4/protocol/protocol.repository.js +37 -0
  268. package/dist/src/modules/v4/protocol/protocol.service.js +77 -0
  269. package/dist/src/modules/v4/reward/index.js +3 -0
  270. package/dist/src/modules/v4/reward/reward.controller.js +52 -0
  271. package/dist/src/modules/v4/reward/reward.model.js +104 -0
  272. package/dist/src/modules/v4/reward/reward.repository.js +237 -0
  273. package/dist/src/modules/v4/reward/reward.service.js +283 -0
  274. package/dist/src/modules/v4/reward/rewardConvertor.service.js +136 -0
  275. package/dist/src/modules/v4/router.js +57 -0
  276. package/dist/src/modules/v4/status/index.js +3 -0
  277. package/dist/src/modules/v4/status/status.controller.js +48 -0
  278. package/dist/src/modules/v4/status/status.model.js +24 -0
  279. package/dist/src/modules/v4/status/status.repository.js +88 -0
  280. package/dist/src/modules/v4/status/status.service.js +60 -0
  281. package/dist/src/modules/v4/token/index.js +3 -0
  282. package/dist/src/modules/v4/token/token.controller.js +32 -0
  283. package/dist/src/modules/v4/token/token.model.js +23 -0
  284. package/dist/src/modules/v4/token/token.repository.js +128 -0
  285. package/dist/src/modules/v4/token/token.service.js +268 -0
  286. package/dist/src/modules/v4/tvl/index.js +2 -0
  287. package/dist/src/modules/v4/tvl/tvl.controller.js +1 -0
  288. package/dist/src/modules/v4/tvl/tvl.model.js +1 -0
  289. package/dist/src/modules/v4/tvl/tvl.repository.js +1 -0
  290. package/dist/src/modules/v4/tvl/tvl.service.js +49 -0
  291. package/dist/src/modules/v4/uniswapV4/index.js +4 -0
  292. package/dist/src/modules/v4/uniswapV4/uniswapV4.controller.js +11 -0
  293. package/dist/src/modules/v4/uniswapV4/uniswapV4.model.js +17 -0
  294. package/dist/src/modules/v4/uniswapV4/uniswapV4.repository.js +2 -0
  295. package/dist/src/modules/v4/uniswapV4/uniswapV4.service.js +73 -0
  296. package/dist/src/modules/v4/user/index.js +3 -0
  297. package/dist/src/modules/v4/user/user.controller.js +69 -0
  298. package/dist/src/modules/v4/user/user.model.js +18 -0
  299. package/dist/src/modules/v4/user/user.repository.js +38 -0
  300. package/dist/src/modules/v4/user/user.service.js +50 -0
  301. package/dist/src/plugins/error-handling.plugin.js +28 -0
  302. package/dist/src/plugins/logger.plugin.js +22 -0
  303. package/dist/src/routes/v1/allowances.js +115 -0
  304. package/dist/src/routes/v1/balances.js +25 -0
  305. package/dist/src/routes/v1/prices.js +11 -0
  306. package/dist/src/routes/v1/tokens.js +17 -0
  307. package/dist/src/routes/v2/merkl.js +13 -0
  308. package/dist/src/routes/v3/ERC20Campaigns.js +63 -0
  309. package/dist/src/routes/v3/app.js +18 -0
  310. package/dist/src/routes/v3/blacklist.js +18 -0
  311. package/dist/src/routes/v3/campaign/delay.js +78 -0
  312. package/dist/src/routes/v3/campaignClaims.js +24 -0
  313. package/dist/src/routes/v3/campaignReport.js +22 -0
  314. package/dist/src/routes/v3/campaignUnclaimed.js +28 -0
  315. package/dist/src/routes/v3/campaigns.js +101 -0
  316. package/dist/src/routes/v3/campaignsForMainParameter.js +19 -0
  317. package/dist/src/routes/v3/campaignsInfo.js +54 -0
  318. package/dist/src/routes/v3/campaignsRewardsReport.js +47 -0
  319. package/dist/src/routes/v3/claims.js +45 -0
  320. package/dist/src/routes/v3/compoundV2.js +9 -0
  321. package/dist/src/routes/v3/createCampaign.js +66 -0
  322. package/dist/src/routes/v3/dolomite.js +9 -0
  323. package/dist/src/routes/v3/euler.js +9 -0
  324. package/dist/src/routes/v3/exports/campaigns.js +28 -0
  325. package/dist/src/routes/v3/fetch.js +27 -0
  326. package/dist/src/routes/v3/health.js +13 -0
  327. package/dist/src/routes/v3/lostyield.js +98 -0
  328. package/dist/src/routes/v3/merkl.js +119 -0
  329. package/dist/src/routes/v3/morphoMarkets.js +27 -0
  330. package/dist/src/routes/v3/morphoVaults.js +22 -0
  331. package/dist/src/routes/v3/multiChainPositions.js +69 -0
  332. package/dist/src/routes/v3/opportunity.js +63 -0
  333. package/dist/src/routes/v3/overview.js +73 -0
  334. package/dist/src/routes/v3/parse.js +23 -0
  335. package/dist/src/routes/v3/payload.js +40 -0
  336. package/dist/src/routes/v3/poolInfo.js +88 -0
  337. package/dist/src/routes/v3/positions.js +62 -0
  338. package/dist/src/routes/v3/radiant.js +26 -0
  339. package/dist/src/routes/v3/recipients.js +20 -0
  340. package/dist/src/routes/v3/rewards.js +33 -0
  341. package/dist/src/routes/v3/rewardsReport.js +51 -0
  342. package/dist/src/routes/v3/rootForTimestamp.js +47 -0
  343. package/dist/src/routes/v3/silo.js +20 -0
  344. package/dist/src/routes/v3/token.js +24 -0
  345. package/dist/src/routes/v3/tokenUnclaimed.js +24 -0
  346. package/dist/src/routes/v3/twt/participants.js +11 -0
  347. package/dist/src/routes/v3/updates.js +47 -0
  348. package/dist/src/routes/v3/userRewards.js +59 -0
  349. package/dist/src/types/index.js +6 -0
  350. package/dist/src/types/parameters/Action.js +11 -0
  351. package/dist/src/types/parameters/Chain.js +13 -0
  352. package/dist/src/types/parameters/ChainCampaignId.js +13 -0
  353. package/dist/src/types/parameters/MainParameter.js +19 -0
  354. package/dist/src/types/parameters/OpportunityId.js +14 -0
  355. package/dist/src/types/parameters/Timestamp.js +16 -0
  356. package/dist/src/types/parameters/Type.js +15 -0
  357. package/dist/src/types/parameters/index.js +17 -0
  358. package/dist/src/types/returnTypes.js +1 -0
  359. package/dist/src/types/utils.js +1 -0
  360. package/dist/src/utils/addString.js +6 -0
  361. package/dist/src/utils/bigintToString.js +20 -0
  362. package/dist/src/utils/crypto.js +4 -0
  363. package/dist/src/utils/decodeCalls.js +170 -0
  364. package/dist/src/utils/encodeCalls.js +240 -0
  365. package/dist/src/utils/error.js +90 -0
  366. package/dist/src/utils/execute.js +41 -0
  367. package/dist/src/utils/generateCardName.js +89 -0
  368. package/dist/src/utils/generic.js +117 -0
  369. package/dist/src/utils/hashArray.js +4 -0
  370. package/dist/src/utils/lastBlockBefore.js +78 -0
  371. package/dist/src/utils/logger.js +52 -0
  372. package/dist/src/utils/pricer.js +180 -0
  373. package/dist/src/utils/prices/chainlinkRead.js +8 -0
  374. package/dist/src/utils/prices/curveVirtualPrice.js +7 -0
  375. package/dist/src/utils/prices/getDQUICK.js +8 -0
  376. package/dist/src/utils/prices/priceFetcherFactory.js +29 -0
  377. package/dist/src/utils/prices/priceService.js +328 -0
  378. package/dist/src/utils/prices/services/coinGeckoService.js +53 -0
  379. package/dist/src/utils/prices/services/defillamaService.js +53 -0
  380. package/dist/src/utils/prices/services/dexScreenerService.js +62 -0
  381. package/dist/src/utils/prices/services/erc4626Service.js +30 -0
  382. package/dist/src/utils/prices/services/getERC4626.js +11 -0
  383. package/dist/src/utils/prices/services/indexCoopService.js +55 -0
  384. package/dist/src/utils/prices/services/priceFetcher.js +1 -0
  385. package/dist/src/utils/prices/uniV2Price.js +40 -0
  386. package/dist/src/utils/prisma.js +12 -0
  387. package/dist/src/utils/providers.js +30 -0
  388. package/dist/src/utils/queries/activeCampaigns.js +22 -0
  389. package/dist/src/utils/queries/allCampaigns.js +51 -0
  390. package/dist/src/utils/queries/campaignsForMainParameter.js +23 -0
  391. package/dist/src/utils/queries/claimsOverTime.js +111 -0
  392. package/dist/src/utils/queries/endingCampaigns.js +21 -0
  393. package/dist/src/utils/queries/futureCampaigns.js +19 -0
  394. package/dist/src/utils/queries/mainParameterCampaigns.js +11 -0
  395. package/dist/src/utils/queries/rewardsAmount.js +106 -0
  396. package/dist/src/utils/queries/unclaimed.js +81 -0
  397. package/dist/src/utils/rateLimit.js +13 -0
  398. package/dist/src/utils/stryke.js +4 -0
  399. package/dist/src/utils/throw.js +27 -0
  400. package/dist/src/utils/validation.js +20 -0
  401. package/dist/tsconfig.package.tsbuildinfo +1 -1
  402. package/package.json +2 -2
@@ -0,0 +1,103 @@
1
+ import { InputSchema, Elysia } from 'elysia';
2
+ import { P as Prettify, a as IsNever, N as Not } from './types-C41kuZ-K.mjs';
3
+
4
+ declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
5
+ url: string;
6
+ ws: WebSocket;
7
+ constructor(url: string);
8
+ send(data: Schema['body'] | Schema['body'][]): this;
9
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
10
+ off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
11
+ subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
12
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
13
+ removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
14
+ close(): this;
15
+ }
16
+
17
+ type Files = File | FileList;
18
+ type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
19
+ [K in keyof RecordType]: RecordType[K] extends Blob | Blob[] ? Files : RecordType[K];
20
+ } & {};
21
+ type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
22
+ type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
23
+ [K in keyof RecordType]: RecordType[K] extends Generator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K];
24
+ } & {};
25
+ type MaybeArray<T> = T | T[];
26
+ type MaybePromise<T> = T | Promise<T>;
27
+ declare namespace Treaty {
28
+ interface TreatyParam {
29
+ fetch?: RequestInit;
30
+ }
31
+ export type Create<App extends Elysia<any, any, any, any, any, any, any, any>> = App extends {
32
+ _routes: infer Schema extends Record<string, any>;
33
+ } ? Prettify<Sign<Schema>> : 'Please install Elysia before using Eden';
34
+ export type Sign<in out Route extends Record<string, any>> = {
35
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
36
+ headers?: Record<string, unknown>;
37
+ } : {
38
+ headers: Route['subscribe']['headers'];
39
+ }) & (undefined extends Route['subscribe']['query'] ? {
40
+ query?: Record<string, unknown>;
41
+ } : {
42
+ query: Route['subscribe']['query'];
43
+ }) extends infer Param ? {} extends Param ? (options?: Param) => EdenWS<Route['subscribe']> : (options?: Param) => EdenWS<Route['subscribe']> : never : Route[K] extends {
44
+ body: infer Body;
45
+ headers: infer Headers;
46
+ params: any;
47
+ query: infer Query;
48
+ response: infer Response extends Record<number, unknown>;
49
+ } ? (undefined extends Headers ? {
50
+ headers?: Record<string, unknown>;
51
+ } : {
52
+ headers: Headers;
53
+ }) & (undefined extends Query ? {
54
+ query?: Record<string, unknown>;
55
+ } : {
56
+ query: Query;
57
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : never : CreateParams<Route[K]>;
58
+ };
59
+ type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
60
+ (((params: {
61
+ [param in Path extends `:${infer Param}` ? Param extends `${infer Param}?` ? Param : Param : never]: string | number;
62
+ }) => Prettify<Sign<Route[Path]>> & CreateParams<Route[Path]>) & Prettify<Sign<Route>>) & (Path extends `:${string}?` ? CreateParams<Route[Path]> : {}) : never;
63
+ export interface Config {
64
+ fetch?: Omit<RequestInit, 'headers' | 'method'>;
65
+ fetcher?: typeof fetch;
66
+ headers?: MaybeArray<RequestInit['headers'] | ((path: string, options: RequestInit) => RequestInit['headers'] | void)>;
67
+ onRequest?: MaybeArray<(path: string, options: FetchRequestInit) => MaybePromise<FetchRequestInit | void>>;
68
+ onResponse?: MaybeArray<(response: Response) => MaybePromise<unknown>>;
69
+ keepDomain?: boolean;
70
+ }
71
+ export type TreatyResponse<Res extends Record<number, unknown>> = {
72
+ data: Res[200];
73
+ error: null;
74
+ response: Response;
75
+ status: number;
76
+ headers: FetchRequestInit['headers'];
77
+ } | {
78
+ data: null;
79
+ error: Exclude<keyof Res, 200> extends never ? {
80
+ status: unknown;
81
+ value: unknown;
82
+ } : {
83
+ [Status in keyof Res]: {
84
+ status: Status;
85
+ value: Res[Status];
86
+ };
87
+ }[Exclude<keyof Res, 200>];
88
+ response: Response;
89
+ status: number;
90
+ headers: FetchRequestInit['headers'];
91
+ };
92
+ export interface OnMessage<Data = unknown> extends MessageEvent {
93
+ data: Data;
94
+ rawData: MessageEvent['data'];
95
+ }
96
+ export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
97
+ export { };
98
+ }
99
+
100
+ declare function streamResponse(response: Response): AsyncGenerator<any, void, unknown>;
101
+ declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
102
+
103
+ export { Treaty, streamResponse, treaty };
@@ -0,0 +1,103 @@
1
+ import { InputSchema, Elysia } from 'elysia';
2
+ import { P as Prettify, a as IsNever, N as Not } from './types-C41kuZ-K.js';
3
+
4
+ declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
5
+ url: string;
6
+ ws: WebSocket;
7
+ constructor(url: string);
8
+ send(data: Schema['body'] | Schema['body'][]): this;
9
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
10
+ off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
11
+ subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
12
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
13
+ removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
14
+ close(): this;
15
+ }
16
+
17
+ type Files = File | FileList;
18
+ type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
19
+ [K in keyof RecordType]: RecordType[K] extends Blob | Blob[] ? Files : RecordType[K];
20
+ } & {};
21
+ type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
22
+ type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
23
+ [K in keyof RecordType]: RecordType[K] extends Generator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K];
24
+ } & {};
25
+ type MaybeArray<T> = T | T[];
26
+ type MaybePromise<T> = T | Promise<T>;
27
+ declare namespace Treaty {
28
+ interface TreatyParam {
29
+ fetch?: RequestInit;
30
+ }
31
+ export type Create<App extends Elysia<any, any, any, any, any, any, any, any>> = App extends {
32
+ _routes: infer Schema extends Record<string, any>;
33
+ } ? Prettify<Sign<Schema>> : 'Please install Elysia before using Eden';
34
+ export type Sign<in out Route extends Record<string, any>> = {
35
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
36
+ headers?: Record<string, unknown>;
37
+ } : {
38
+ headers: Route['subscribe']['headers'];
39
+ }) & (undefined extends Route['subscribe']['query'] ? {
40
+ query?: Record<string, unknown>;
41
+ } : {
42
+ query: Route['subscribe']['query'];
43
+ }) extends infer Param ? {} extends Param ? (options?: Param) => EdenWS<Route['subscribe']> : (options?: Param) => EdenWS<Route['subscribe']> : never : Route[K] extends {
44
+ body: infer Body;
45
+ headers: infer Headers;
46
+ params: any;
47
+ query: infer Query;
48
+ response: infer Response extends Record<number, unknown>;
49
+ } ? (undefined extends Headers ? {
50
+ headers?: Record<string, unknown>;
51
+ } : {
52
+ headers: Headers;
53
+ }) & (undefined extends Query ? {
54
+ query?: Record<string, unknown>;
55
+ } : {
56
+ query: Query;
57
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : never : CreateParams<Route[K]>;
58
+ };
59
+ type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
60
+ (((params: {
61
+ [param in Path extends `:${infer Param}` ? Param extends `${infer Param}?` ? Param : Param : never]: string | number;
62
+ }) => Prettify<Sign<Route[Path]>> & CreateParams<Route[Path]>) & Prettify<Sign<Route>>) & (Path extends `:${string}?` ? CreateParams<Route[Path]> : {}) : never;
63
+ export interface Config {
64
+ fetch?: Omit<RequestInit, 'headers' | 'method'>;
65
+ fetcher?: typeof fetch;
66
+ headers?: MaybeArray<RequestInit['headers'] | ((path: string, options: RequestInit) => RequestInit['headers'] | void)>;
67
+ onRequest?: MaybeArray<(path: string, options: FetchRequestInit) => MaybePromise<FetchRequestInit | void>>;
68
+ onResponse?: MaybeArray<(response: Response) => MaybePromise<unknown>>;
69
+ keepDomain?: boolean;
70
+ }
71
+ export type TreatyResponse<Res extends Record<number, unknown>> = {
72
+ data: Res[200];
73
+ error: null;
74
+ response: Response;
75
+ status: number;
76
+ headers: FetchRequestInit['headers'];
77
+ } | {
78
+ data: null;
79
+ error: Exclude<keyof Res, 200> extends never ? {
80
+ status: unknown;
81
+ value: unknown;
82
+ } : {
83
+ [Status in keyof Res]: {
84
+ status: Status;
85
+ value: Res[Status];
86
+ };
87
+ }[Exclude<keyof Res, 200>];
88
+ response: Response;
89
+ status: number;
90
+ headers: FetchRequestInit['headers'];
91
+ };
92
+ export interface OnMessage<Data = unknown> extends MessageEvent {
93
+ data: Data;
94
+ rawData: MessageEvent['data'];
95
+ }
96
+ export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
97
+ export { };
98
+ }
99
+
100
+ declare function streamResponse(response: Response): AsyncGenerator<any, void, unknown>;
101
+ declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
102
+
103
+ export { Treaty, streamResponse, treaty };
@@ -0,0 +1 @@
1
+ "use strict";var Eden=(()=>{var M=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of U(t))!V.call(e,o)&&o!==n&&M(e,o,{get:()=>t[o],enumerable:!(s=H(t,o))||s.enumerable});return e};var Z=e=>B(M({},"__esModule",{value:!0}),e);var re={};$(re,{streamResponse:()=>J,treaty:()=>se});var k=class extends Error{constructor(n,s){super(s+"");this.status=n;this.value=s}};var G=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),K=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let s=K(n);return s||n}),T=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=K(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},D=e=>{let t=e.data.toString();return t==="null"?null:T(t)};var F=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,o=>{if(t==="message"){let f=D(o);n({...o,data:f})}else n(o)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],I=["localhost","127.0.0.1","0.0.0.0"],j=typeof FileList>"u",q=e=>j?e instanceof Blob:e instanceof FileList||e instanceof File,ne=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},W=e=>j?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),w=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let o of e)if(!Array.isArray(o))s=w(o,t,n,s);else{let f=o[0];if(typeof f=="string")s[f.toLowerCase()]=o[1];else for(let[i,b]of f)s[i.toLowerCase()]=b}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return w(e,t,n,s);let o=e(t,n);return o?w(o,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((f,i)=>{s[i.toLowerCase()]=f}),s;for(let[f,i]of Object.entries(e))s[f.toLowerCase()]=i;return s;default:return s}};async function*J(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:o,value:f}=await n.read();if(o)break;let i=s.decode(f);yield T(i)}}finally{n.releaseLock()}}var x=(e,t,n=[],s)=>new Proxy(()=>{},{get(o,f){return x(e,t,f==="index"?n:[...n,f],s)},apply(o,f,[i,b]){if(!i||b||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let C=[...n],E=C.pop(),h="/"+C.join("/"),{fetcher:P=fetch,headers:O,onRequest:p,onResponse:v,fetch:_}=t,S=E==="get"||E==="head"||E==="subscribe";O=w(O,h,b);let N=S?i?.query:b?.query,L="";if(N){let r=(g,l)=>{L+=(L?"&":"?")+`${encodeURIComponent(g)}=${encodeURIComponent(l)}`};for(let[g,l]of Object.entries(N)){if(Array.isArray(l)){for(let c of l)r(g,c);continue}if(typeof l=="object"){r(g,JSON.stringify(l));continue}r(g,`${l}`)}}if(E==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||I.find(g=>e.includes(g))?"ws://":"wss://")+h+L;return new F(r)}return(async()=>{let r={method:E?.toUpperCase(),body:i,..._,headers:O};r.headers={...O,...w(S?i?.headers:b?.headers,h,r)};let g=S&&typeof i=="object"?i.fetch:b?.fetch;if(r={...r,...g},S&&delete r.body,p){Array.isArray(p)||(p=[p]);for(let d of p){let a=await d(h,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...w(a.headers,h,r)}})}}if(S&&delete r.body,ne(i)){let d=new FormData;for(let[a,y]of Object.entries(r.body)){if(j){d.append(a,y);continue}if(y instanceof File){d.append(a,await W(y));continue}if(y instanceof FileList){for(let m=0;m<y.length;m++)d.append(a,await W(y[m]));continue}if(Array.isArray(y)){for(let m=0;m<y.length;m++){let R=y[m];d.append(a,R instanceof File?await W(R):R)}continue}d.append(a,y)}r.body=d}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(S&&delete r.body,p){Array.isArray(p)||(p=[p]);for(let d of p){let a=await d(h,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...w(a.headers,h,r)}})}}let l=e+h+L,c=await(s?.handle(new Request(l,r))??P(l,r)),u=null,A=null;if(v){Array.isArray(v)||(v=[v]);for(let d of v)try{let a=await d(c.clone());if(a!=null){u=a;break}}catch(a){a instanceof k?A=a:A=new k(422,a);break}}if(u!==null)return{data:u,error:A,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":u=J(c);break;case"application/json":u=await c.json();break;case"application/octet-stream":u=await c.arrayBuffer();break;case"multipart/form-data":let d=await c.formData();u={},d.forEach((a,y)=>{u[y]=a});break;default:u=await c.text().then(T)}return(c.status>=300||c.status<200)&&(A=new k(c.status,u),u=null),{data:u,error:A,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?x(e,t,[...n,Object.values(i)[0]],s):x(e,t,n)}}),se=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(I.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),x(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),x("http://e.ly",t,[],e));return Z(re);})();
@@ -0,0 +1 @@
1
+ "use strict";var M=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of U(t))!V.call(e,o)&&o!==n&&M(e,o,{get:()=>t[o],enumerable:!(s=H(t,o))||s.enumerable});return e};var Z=e=>B(M({},"__esModule",{value:!0}),e);var re={};$(re,{streamResponse:()=>J,treaty:()=>se});module.exports=Z(re);var k=class extends Error{constructor(n,s){super(s+"");this.status=n;this.value=s}};var G=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),K=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let s=K(n);return s||n}),T=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=K(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},D=e=>{let t=e.data.toString();return t==="null"?null:T(t)};var F=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,o=>{if(t==="message"){let f=D(o);n({...o,data:f})}else n(o)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],I=["localhost","127.0.0.1","0.0.0.0"],j=typeof FileList>"u",q=e=>j?e instanceof Blob:e instanceof FileList||e instanceof File,ne=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},W=e=>j?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),w=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let o of e)if(!Array.isArray(o))s=w(o,t,n,s);else{let f=o[0];if(typeof f=="string")s[f.toLowerCase()]=o[1];else for(let[i,b]of f)s[i.toLowerCase()]=b}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return w(e,t,n,s);let o=e(t,n);return o?w(o,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((f,i)=>{s[i.toLowerCase()]=f}),s;for(let[f,i]of Object.entries(e))s[f.toLowerCase()]=i;return s;default:return s}};async function*J(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:o,value:f}=await n.read();if(o)break;let i=s.decode(f);yield T(i)}}finally{n.releaseLock()}}var x=(e,t,n=[],s)=>new Proxy(()=>{},{get(o,f){return x(e,t,f==="index"?n:[...n,f],s)},apply(o,f,[i,b]){if(!i||b||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let C=[...n],E=C.pop(),h="/"+C.join("/"),{fetcher:P=fetch,headers:O,onRequest:p,onResponse:v,fetch:_}=t,S=E==="get"||E==="head"||E==="subscribe";O=w(O,h,b);let N=S?i?.query:b?.query,L="";if(N){let r=(g,l)=>{L+=(L?"&":"?")+`${encodeURIComponent(g)}=${encodeURIComponent(l)}`};for(let[g,l]of Object.entries(N)){if(Array.isArray(l)){for(let c of l)r(g,c);continue}if(typeof l=="object"){r(g,JSON.stringify(l));continue}r(g,`${l}`)}}if(E==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||I.find(g=>e.includes(g))?"ws://":"wss://")+h+L;return new F(r)}return(async()=>{let r={method:E?.toUpperCase(),body:i,..._,headers:O};r.headers={...O,...w(S?i?.headers:b?.headers,h,r)};let g=S&&typeof i=="object"?i.fetch:b?.fetch;if(r={...r,...g},S&&delete r.body,p){Array.isArray(p)||(p=[p]);for(let d of p){let a=await d(h,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...w(a.headers,h,r)}})}}if(S&&delete r.body,ne(i)){let d=new FormData;for(let[a,y]of Object.entries(r.body)){if(j){d.append(a,y);continue}if(y instanceof File){d.append(a,await W(y));continue}if(y instanceof FileList){for(let m=0;m<y.length;m++)d.append(a,await W(y[m]));continue}if(Array.isArray(y)){for(let m=0;m<y.length;m++){let R=y[m];d.append(a,R instanceof File?await W(R):R)}continue}d.append(a,y)}r.body=d}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(S&&delete r.body,p){Array.isArray(p)||(p=[p]);for(let d of p){let a=await d(h,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...w(a.headers,h,r)}})}}let l=e+h+L,c=await(s?.handle(new Request(l,r))??P(l,r)),u=null,A=null;if(v){Array.isArray(v)||(v=[v]);for(let d of v)try{let a=await d(c.clone());if(a!=null){u=a;break}}catch(a){a instanceof k?A=a:A=new k(422,a);break}}if(u!==null)return{data:u,error:A,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":u=J(c);break;case"application/json":u=await c.json();break;case"application/octet-stream":u=await c.arrayBuffer();break;case"multipart/form-data":let d=await c.formData();u={},d.forEach((a,y)=>{u[y]=a});break;default:u=await c.text().then(T)}return(c.status>=300||c.status<200)&&(A=new k(c.status,u),u=null),{data:u,error:A,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?x(e,t,[...n,Object.values(i)[0]],s):x(e,t,n)}}),se=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(I.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),x(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),x("http://e.ly",t,[],e));0&&(module.exports={streamResponse,treaty});
@@ -0,0 +1 @@
1
+ import{a,b}from"./chunk-7WO4HTSU.mjs";import"./chunk-XYW4OUFN.mjs";export{a as streamResponse,b as treaty};
@@ -0,0 +1,44 @@
1
+ declare class EdenFetchError<Status extends number = number, Value = unknown> extends Error {
2
+ status: Status;
3
+ value: Value;
4
+ constructor(status: Status, value: Value);
5
+ }
6
+
7
+ type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
8
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
9
+ type ErrorRange = Range<300, 599>;
10
+ type MapError<T extends Record<number, unknown>> = [
11
+ {
12
+ [K in keyof T]-?: K extends ErrorRange ? K : never;
13
+ }[keyof T]
14
+ ] extends [infer A extends number] ? {
15
+ [K in A]: EdenFetchError<K, T[K]>;
16
+ }[A] : false;
17
+ type UnionToIntersect<U> = (U extends any ? (arg: U) => any : never) extends (arg: infer I) => void ? I : never;
18
+ type IsAny<T> = 0 extends 1 & T ? true : false;
19
+ type IsNever<T> = [T] extends [never] ? true : false;
20
+ type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
21
+ type AnyTypedRoute = {
22
+ body?: unknown;
23
+ headers?: unknown;
24
+ query?: unknown;
25
+ params?: unknown;
26
+ response: Record<number, unknown>;
27
+ };
28
+ type Prettify<T> = {
29
+ [K in keyof T]: T[K];
30
+ } & {};
31
+ type TreatyToPath<T, Path extends string = ''> = UnionToIntersect<T extends Record<string, unknown> ? {
32
+ [K in keyof T]: T[K] extends AnyTypedRoute ? {
33
+ [path in Path]: {
34
+ [method in K]: T[K];
35
+ };
36
+ } : unknown extends T[K] ? {
37
+ [path in Path]: {
38
+ [method in K]: T[K];
39
+ };
40
+ } : TreatyToPath<T[K], `${Path}/${K & string}`>;
41
+ }[keyof T] : {}>;
42
+ type Not<T> = T extends true ? false : true;
43
+
44
+ export { EdenFetchError as E, type IsUnknown as I, type MapError as M, type Not as N, type Prettify as P, type TreatyToPath as T, type IsNever as a };
@@ -0,0 +1,44 @@
1
+ declare class EdenFetchError<Status extends number = number, Value = unknown> extends Error {
2
+ status: Status;
3
+ value: Value;
4
+ constructor(status: Status, value: Value);
5
+ }
6
+
7
+ type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
8
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
9
+ type ErrorRange = Range<300, 599>;
10
+ type MapError<T extends Record<number, unknown>> = [
11
+ {
12
+ [K in keyof T]-?: K extends ErrorRange ? K : never;
13
+ }[keyof T]
14
+ ] extends [infer A extends number] ? {
15
+ [K in A]: EdenFetchError<K, T[K]>;
16
+ }[A] : false;
17
+ type UnionToIntersect<U> = (U extends any ? (arg: U) => any : never) extends (arg: infer I) => void ? I : never;
18
+ type IsAny<T> = 0 extends 1 & T ? true : false;
19
+ type IsNever<T> = [T] extends [never] ? true : false;
20
+ type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
21
+ type AnyTypedRoute = {
22
+ body?: unknown;
23
+ headers?: unknown;
24
+ query?: unknown;
25
+ params?: unknown;
26
+ response: Record<number, unknown>;
27
+ };
28
+ type Prettify<T> = {
29
+ [K in keyof T]: T[K];
30
+ } & {};
31
+ type TreatyToPath<T, Path extends string = ''> = UnionToIntersect<T extends Record<string, unknown> ? {
32
+ [K in keyof T]: T[K] extends AnyTypedRoute ? {
33
+ [path in Path]: {
34
+ [method in K]: T[K];
35
+ };
36
+ } : unknown extends T[K] ? {
37
+ [path in Path]: {
38
+ [method in K]: T[K];
39
+ };
40
+ } : TreatyToPath<T[K], `${Path}/${K & string}`>;
41
+ }[keyof T] : {}>;
42
+ type Not<T> = T extends true ? false : true;
43
+
44
+ export { EdenFetchError as E, type IsUnknown as I, type MapError as M, type Not as N, type Prettify as P, type TreatyToPath as T, type IsNever as a };
@@ -0,0 +1,39 @@
1
+ import type { EdenFetchError } from './errors';
2
+ type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
3
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
4
+ type ErrorRange = Range<300, 599>;
5
+ export type MapError<T extends Record<number, unknown>> = [
6
+ {
7
+ [K in keyof T]-?: K extends ErrorRange ? K : never;
8
+ }[keyof T]
9
+ ] extends [infer A extends number] ? {
10
+ [K in A]: EdenFetchError<K, T[K]>;
11
+ }[A] : false;
12
+ export type UnionToIntersect<U> = (U extends any ? (arg: U) => any : never) extends (arg: infer I) => void ? I : never;
13
+ export type UnionToTuple<T> = UnionToIntersect<T extends any ? (t: T) => T : never> extends (_: any) => infer W ? [...UnionToTuple<Exclude<T, W>>, W] : [];
14
+ export type IsAny<T> = 0 extends 1 & T ? true : false;
15
+ export type IsNever<T> = [T] extends [never] ? true : false;
16
+ export type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
17
+ export type AnyTypedRoute = {
18
+ body?: unknown;
19
+ headers?: unknown;
20
+ query?: unknown;
21
+ params?: unknown;
22
+ response: Record<number, unknown>;
23
+ };
24
+ export type Prettify<T> = {
25
+ [K in keyof T]: T[K];
26
+ } & {};
27
+ export type TreatyToPath<T, Path extends string = ''> = UnionToIntersect<T extends Record<string, unknown> ? {
28
+ [K in keyof T]: T[K] extends AnyTypedRoute ? {
29
+ [path in Path]: {
30
+ [method in K]: T[K];
31
+ };
32
+ } : unknown extends T[K] ? {
33
+ [path in Path]: {
34
+ [method in K]: T[K];
35
+ };
36
+ } : TreatyToPath<T[K], `${Path}/${K & string}`>;
37
+ }[keyof T] : {}>;
38
+ export type Not<T> = T extends true ? false : true;
39
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const isNumericString: (message: string) => boolean;
2
+ export declare const parseStringifiedDate: (value: any) => Date | null;
3
+ export declare const isStringifiedObject: (value: string) => boolean;
4
+ export declare const parseStringifiedObject: (data: string) => any;
5
+ export declare const parseStringifiedValue: (value: string) => any;
6
+ export declare const parseMessageEvent: (event: MessageEvent) => any;
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "@elysiajs/eden",
3
+ "version": "1.1.3",
4
+ "description": "Fully type-safe Elysia client",
5
+ "author": {
6
+ "name": "saltyAom",
7
+ "url": "https://github.com/SaltyAom",
8
+ "email": "saltyaom@gmail.com"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "module": "./dist/index.mjs",
12
+ "exports": {
13
+ "./package.json": "./package.json",
14
+ ".": {
15
+ "require": "./dist/index.js",
16
+ "import": "./dist/index.mjs",
17
+ "node": "./dist/index.js",
18
+ "default": "./dist/index.js",
19
+ "types": "./dist/index.d.ts"
20
+ },
21
+ "./treaty": {
22
+ "require": "./dist/treaty.js",
23
+ "import": "./dist/treaty.mjs",
24
+ "node": "./dist/treaty.js",
25
+ "default": "./dist/treaty.js",
26
+ "types": "./dist/treaty/index.d.ts"
27
+ },
28
+ "./treaty2": {
29
+ "require": "./dist/2.js",
30
+ "import": "./dist/treaty2.mjs",
31
+ "node": "./dist/treaty2.js",
32
+ "default": "./dist/treaty2.js",
33
+ "types": "./dist/treaty2/index.d.ts"
34
+ },
35
+ "./fetch": {
36
+ "require": "./dist/fetch.js",
37
+ "import": "./dist/fetch.mjs",
38
+ "node": "./dist/fetch.js",
39
+ "default": "./dist/fetch.js",
40
+ "types": "./dist/fetch/index.d.ts"
41
+ }
42
+ },
43
+ "types": "./dist/index.d.ts",
44
+ "keywords": [
45
+ "elysia",
46
+ "eden",
47
+ "connector"
48
+ ],
49
+ "homepage": "https://github.com/elysiajs/eden",
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "https://github.com/elysiajs/eden"
53
+ },
54
+ "bugs": "https://github.com/elysiajs/eden/issues",
55
+ "license": "MIT",
56
+ "scripts": {
57
+ "dev": "bun run --watch example/index.ts",
58
+ "test": "bun test && bun test:types",
59
+ "test:types": "tsc --project tsconfig.test.json",
60
+ "build": "rimraf dist && tsup",
61
+ "release": "npm run build && npm run test && npm publish --access public"
62
+ },
63
+ "peerDependencies": {
64
+ "elysia": ">= 1.1.0"
65
+ },
66
+ "devDependencies": {
67
+ "@elysiajs/cors": "0.7.0",
68
+ "@types/bun": "^1.0.3",
69
+ "@types/node": "^18.15.5",
70
+ "elysia": ">= 1.1.0",
71
+ "esbuild": "^0.19.3",
72
+ "eslint": "^8.26.0",
73
+ "expect-type": "^0.17.3",
74
+ "rimraf": "^4.4.1",
75
+ "tsup": "^8.1.0",
76
+ "typescript": "^5.4.5",
77
+ "vite": "^5.3.3"
78
+ },
79
+ "prettier": {
80
+ "semi": false,
81
+ "tabWidth": 4,
82
+ "singleQuote": true,
83
+ "trailingComma": "none"
84
+ }
85
+ }
package/dist/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "lint": "biome check --diagnostic-level error --write ./src && biome check --diagnostic-level error --write ./tests",
20
20
  "lint:ci": "biome check --diagnostic-level error ./src",
21
21
  "lint:test": "biome check --write ./tests",
22
- "pack": "rm -rf dist temp; bunx tsc --project ./tsconfig.package.json; mkdir -p ./dist/database/api/.generated && cp -r ./database/api/.generated ./dist/database/api/; mkdir -p ./dist/database/engine/.generated && cp -r ./database/engine/.generated ./dist/database/engine/; cp ./package.json ./dist/package.json; tscpaths -p ./tsconfig.package.json -s ./ -o ./dist && mkdir temp && cp dist/src/eden/index.js ./temp && find ./dist/ -type f -name \"*.js\" -exec rm -f {} + && cp ./temp/index.js dist/src/eden/index.js && rm -rf temp",
22
+ "pack": "chmod +x scripts/pack.sh && ./scripts/pack.sh",
23
23
  "pull-db": "prisma db pull && prisma generate",
24
24
  "pull-db:local": "DATABASE_URL=postgresql://postgres:postgres@0.0.0.0:5432/merkl-calc prisma db pull && prisma generate",
25
25
  "setup": "code --install-extension .vscode/extensions/merkl:helpers-0.0.1.vsix",
@@ -87,5 +87,5 @@
87
87
  "access": "public",
88
88
  "registry": "https://registry.npmjs.org/"
89
89
  },
90
- "version": "v0.10.128"
90
+ "version": "v0.10.130"
91
91
  }
@@ -0,0 +1,44 @@
1
+ import { redisClient } from "../cache/redis";
2
+ import { log } from "../utils/logger";
3
+ import { engineDbClient } from "../utils/prisma";
4
+ import { swagger } from "@elysiajs/swagger";
5
+ import axios from "axios";
6
+ import { Elysia } from "elysia";
7
+ import { campaignsCacheUpdater } from "./jobs/campaignsCacheUpdater";
8
+ import { healthCheck } from "./jobs/health";
9
+ import { opportunityUpdater } from "./jobs/opportunityUpdater";
10
+ import { priceUpdater } from "./jobs/priceUpdater";
11
+ import { sync } from "./jobs/sync";
12
+ // Axios with bun workaround
13
+ axios.defaults.headers.common["Accept-Encoding"] = "gzip";
14
+ const PORT = process.env.PORT || 3000;
15
+ const app = new Elysia()
16
+ .use(swagger())
17
+ .get("/", () => "Merkl API")
18
+ .use(campaignsCacheUpdater) // /v3/update
19
+ .use(opportunityUpdater) // /v3/updateOpportunity
20
+ .use(priceUpdater) // /v3/updatePrices
21
+ .use(healthCheck) // /v3/health
22
+ .use(sync) // GET /jobs/api/sync-with-engine
23
+ .onError(ctx => {
24
+ console.error(ctx.error.message);
25
+ console.error(ctx.error.stack);
26
+ if (ctx.code === "NOT_FOUND")
27
+ return new Response(JSON.stringify({
28
+ path: ctx.path,
29
+ error: ctx.code,
30
+ message: "Path does not exist",
31
+ }), {
32
+ status: 404,
33
+ });
34
+ return (ctx.set.status = "Internal Server Error");
35
+ })
36
+ .listen(PORT, ({ hostname, port }) => {
37
+ log.info(`🔄 Background Jobs started (${hostname}:${port})`);
38
+ });
39
+ // ─── Signal Handling ─────────────────────────────────────────────────────────
40
+ process.on("SIGTERM", () => {
41
+ engineDbClient.$disconnect();
42
+ redisClient.disconnect();
43
+ process.exit();
44
+ });