@levrbet/shared 0.0.1

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 (488) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +92 -0
  3. package/bin/setup-prisma.js +44 -0
  4. package/dist/core/config/dotenv.d.ts +16 -0
  5. package/dist/core/config/dotenv.js +77 -0
  6. package/dist/core/config/dotenv.js.map +1 -0
  7. package/dist/core/config/index.d.ts +2 -0
  8. package/dist/core/config/index.js +19 -0
  9. package/dist/core/config/index.js.map +1 -0
  10. package/dist/core/config/urls.d.ts +55 -0
  11. package/dist/core/config/urls.js +61 -0
  12. package/dist/core/config/urls.js.map +1 -0
  13. package/dist/core/contracts/abis/LevrBaseMarket.d.ts +1009 -0
  14. package/dist/core/contracts/abis/LevrBaseMarket.js +976 -0
  15. package/dist/core/contracts/abis/LevrBaseMarket.js.map +1 -0
  16. package/dist/core/contracts/abis/LevrConfigProvider.d.ts +2671 -0
  17. package/dist/core/contracts/abis/LevrConfigProvider.js +2551 -0
  18. package/dist/core/contracts/abis/LevrConfigProvider.js.map +1 -0
  19. package/dist/core/contracts/abis/LevrFeeCollector.d.ts +259 -0
  20. package/dist/core/contracts/abis/LevrFeeCollector.js +143 -0
  21. package/dist/core/contracts/abis/LevrFeeCollector.js.map +1 -0
  22. package/dist/core/contracts/abis/LevrFulltimeMarket.d.ts +1050 -0
  23. package/dist/core/contracts/abis/LevrFulltimeMarket.js +462 -0
  24. package/dist/core/contracts/abis/LevrFulltimeMarket.js.map +1 -0
  25. package/dist/core/contracts/abis/LevrFundManager.d.ts +51 -0
  26. package/dist/core/contracts/abis/LevrFundManager.js +4 -0
  27. package/dist/core/contracts/abis/LevrFundManager.js.map +1 -0
  28. package/dist/core/contracts/abis/LevrLiquidationEngine.d.ts +244 -0
  29. package/dist/core/contracts/abis/LevrLiquidationEngine.js +231 -0
  30. package/dist/core/contracts/abis/LevrLiquidationEngine.js.map +1 -0
  31. package/dist/core/contracts/abis/LevrManager.d.ts +1281 -0
  32. package/dist/core/contracts/abis/LevrManager.js +1090 -0
  33. package/dist/core/contracts/abis/LevrManager.js.map +1 -0
  34. package/dist/core/contracts/abis/LevrMarketFeed.d.ts +902 -0
  35. package/dist/core/contracts/abis/LevrMarketFeed.js +775 -0
  36. package/dist/core/contracts/abis/LevrMarketFeed.js.map +1 -0
  37. package/dist/core/contracts/abis/LevrMarketMaker.d.ts +175 -0
  38. package/dist/core/contracts/abis/LevrMarketMaker.js +108 -0
  39. package/dist/core/contracts/abis/LevrMarketMaker.js.map +1 -0
  40. package/dist/core/contracts/abis/LevrMarketRiskSentinel.d.ts +682 -0
  41. package/dist/core/contracts/abis/LevrMarketRiskSentinel.js +323 -0
  42. package/dist/core/contracts/abis/LevrMarketRiskSentinel.js.map +1 -0
  43. package/dist/core/contracts/abis/LevrMarketRouter.d.ts +281 -0
  44. package/dist/core/contracts/abis/LevrMarketRouter.js +262 -0
  45. package/dist/core/contracts/abis/LevrMarketRouter.js.map +1 -0
  46. package/dist/core/contracts/abis/LevrMvpDepository.d.ts +766 -0
  47. package/dist/core/contracts/abis/LevrMvpDepository.js +396 -0
  48. package/dist/core/contracts/abis/LevrMvpDepository.js.map +1 -0
  49. package/dist/core/contracts/abis/LevrMvpRouter.d.ts +305 -0
  50. package/dist/core/contracts/abis/LevrMvpRouter.js +291 -0
  51. package/dist/core/contracts/abis/LevrMvpRouter.js.map +1 -0
  52. package/dist/core/contracts/abis/LevrMvpStaker.d.ts +746 -0
  53. package/dist/core/contracts/abis/LevrMvpStaker.js +386 -0
  54. package/dist/core/contracts/abis/LevrMvpStaker.js.map +1 -0
  55. package/dist/core/contracts/abis/LevrMvpToken.d.ts +341 -0
  56. package/dist/core/contracts/abis/LevrMvpToken.js +183 -0
  57. package/dist/core/contracts/abis/LevrMvpToken.js.map +1 -0
  58. package/dist/core/contracts/abis/LevrOrderbook.d.ts +471 -0
  59. package/dist/core/contracts/abis/LevrOrderbook.js +486 -0
  60. package/dist/core/contracts/abis/LevrOrderbook.js.map +1 -0
  61. package/dist/core/contracts/abis/LevrOrderbookLens.d.ts +167 -0
  62. package/dist/core/contracts/abis/LevrOrderbookLens.js +103 -0
  63. package/dist/core/contracts/abis/LevrOrderbookLens.js.map +1 -0
  64. package/dist/core/contracts/abis/LevrOverUnderMarket.d.ts +1054 -0
  65. package/dist/core/contracts/abis/LevrOverUnderMarket.js +463 -0
  66. package/dist/core/contracts/abis/LevrOverUnderMarket.js.map +1 -0
  67. package/dist/core/contracts/abis/LevrPythFeed.d.ts +225 -0
  68. package/dist/core/contracts/abis/LevrPythFeed.js +131 -0
  69. package/dist/core/contracts/abis/LevrPythFeed.js.map +1 -0
  70. package/dist/core/contracts/abis/LevrUtil.d.ts +485 -0
  71. package/dist/core/contracts/abis/LevrUtil.js +226 -0
  72. package/dist/core/contracts/abis/LevrUtil.js.map +1 -0
  73. package/dist/core/contracts/abis/Storage.d.ts +34 -0
  74. package/dist/core/contracts/abis/Storage.js +47 -0
  75. package/dist/core/contracts/abis/Storage.js.map +1 -0
  76. package/dist/core/contracts/abis/index.d.ts +12174 -0
  77. package/dist/core/contracts/abis/index.js +51 -0
  78. package/dist/core/contracts/abis/index.js.map +1 -0
  79. package/dist/core/contracts/addresses.d.ts +154 -0
  80. package/dist/core/contracts/addresses.js +160 -0
  81. package/dist/core/contracts/addresses.js.map +1 -0
  82. package/dist/core/contracts/chains.d.ts +4 -0
  83. package/dist/core/contracts/chains.js +14 -0
  84. package/dist/core/contracts/chains.js.map +1 -0
  85. package/dist/core/contracts/clients/index.d.ts +1 -0
  86. package/dist/core/contracts/clients/index.js +18 -0
  87. package/dist/core/contracts/clients/index.js.map +1 -0
  88. package/dist/core/contracts/clients/publicClients.d.ts +24 -0
  89. package/dist/core/contracts/clients/publicClients.js +123 -0
  90. package/dist/core/contracts/clients/publicClients.js.map +1 -0
  91. package/dist/core/contracts/constants.d.ts +15 -0
  92. package/dist/core/contracts/constants.js +30 -0
  93. package/dist/core/contracts/constants.js.map +1 -0
  94. package/dist/core/contracts/index.d.ts +6 -0
  95. package/dist/core/contracts/index.js +23 -0
  96. package/dist/core/contracts/index.js.map +1 -0
  97. package/dist/core/contracts/instances.d.ts +48 -0
  98. package/dist/core/contracts/instances.js +101 -0
  99. package/dist/core/contracts/instances.js.map +1 -0
  100. package/dist/core/index.d.ts +9 -0
  101. package/dist/core/index.js +26 -0
  102. package/dist/core/index.js.map +1 -0
  103. package/dist/core/indexers/envio.test.query.d.ts +5 -0
  104. package/dist/core/indexers/envio.test.query.js +32 -0
  105. package/dist/core/indexers/envio.test.query.js.map +1 -0
  106. package/dist/core/indexers/index.d.ts +1 -0
  107. package/dist/core/indexers/index.js +18 -0
  108. package/dist/core/indexers/index.js.map +1 -0
  109. package/dist/core/indexers/indexers.service.d.ts +19 -0
  110. package/dist/core/indexers/indexers.service.js +104 -0
  111. package/dist/core/indexers/indexers.service.js.map +1 -0
  112. package/dist/core/indexers/subsquid.test.query.d.ts +4 -0
  113. package/dist/core/indexers/subsquid.test.query.js +42 -0
  114. package/dist/core/indexers/subsquid.test.query.js.map +1 -0
  115. package/dist/core/prisma/index.d.ts +1 -0
  116. package/dist/core/prisma/index.js +21 -0
  117. package/dist/core/prisma/index.js.map +1 -0
  118. package/dist/core/prisma/schema.prisma +360 -0
  119. package/dist/core/privy/constants.d.ts +19 -0
  120. package/dist/core/privy/constants.js +28 -0
  121. package/dist/core/privy/constants.js.map +1 -0
  122. package/dist/core/privy/index.d.ts +1 -0
  123. package/dist/core/privy/index.js +18 -0
  124. package/dist/core/privy/index.js.map +1 -0
  125. package/dist/core/socket.io/events.d.ts +20 -0
  126. package/dist/core/socket.io/events.js +20 -0
  127. package/dist/core/socket.io/events.js.map +1 -0
  128. package/dist/core/socket.io/index.d.ts +2 -0
  129. package/dist/core/socket.io/index.js +19 -0
  130. package/dist/core/socket.io/index.js.map +1 -0
  131. package/dist/core/socket.io/rooms.d.ts +6 -0
  132. package/dist/core/socket.io/rooms.js +10 -0
  133. package/dist/core/socket.io/rooms.js.map +1 -0
  134. package/dist/core/types/auth/auth.types.d.ts +31 -0
  135. package/dist/core/types/auth/auth.types.js +15 -0
  136. package/dist/core/types/auth/auth.types.js.map +1 -0
  137. package/dist/core/types/auth/index.d.ts +2 -0
  138. package/dist/core/types/auth/index.js +19 -0
  139. package/dist/core/types/auth/index.js.map +1 -0
  140. package/dist/core/types/auth/request.types.d.ts +19 -0
  141. package/dist/core/types/auth/request.types.js +15 -0
  142. package/dist/core/types/auth/request.types.js.map +1 -0
  143. package/dist/core/types/blockchain/chains.types.d.ts +3 -0
  144. package/dist/core/types/blockchain/chains.types.js +8 -0
  145. package/dist/core/types/blockchain/chains.types.js.map +1 -0
  146. package/dist/core/types/blockchain/contract.types.d.ts +8 -0
  147. package/dist/core/types/blockchain/contract.types.js +13 -0
  148. package/dist/core/types/blockchain/contract.types.js.map +1 -0
  149. package/dist/core/types/blockchain/index.d.ts +3 -0
  150. package/dist/core/types/blockchain/index.js +20 -0
  151. package/dist/core/types/blockchain/index.js.map +1 -0
  152. package/dist/core/types/blockchain/oz.relayer.types.d.ts +7 -0
  153. package/dist/core/types/blockchain/oz.relayer.types.js +13 -0
  154. package/dist/core/types/blockchain/oz.relayer.types.js.map +1 -0
  155. package/dist/core/types/index.d.ts +6 -0
  156. package/dist/core/types/index.js +23 -0
  157. package/dist/core/types/index.js.map +1 -0
  158. package/dist/core/types/indexers.types.d.ts +4 -0
  159. package/dist/core/types/indexers.types.js +9 -0
  160. package/dist/core/types/indexers.types.js.map +1 -0
  161. package/dist/core/types/misc.types.d.ts +6 -0
  162. package/dist/core/types/misc.types.js +11 -0
  163. package/dist/core/types/misc.types.js.map +1 -0
  164. package/dist/core/types/oracle/fixture.types.d.ts +75 -0
  165. package/dist/core/types/oracle/fixture.types.js +4 -0
  166. package/dist/core/types/oracle/fixture.types.js.map +1 -0
  167. package/dist/core/types/oracle/game/game.types.d.ts +108 -0
  168. package/dist/core/types/oracle/game/game.types.js +64 -0
  169. package/dist/core/types/oracle/game/game.types.js.map +1 -0
  170. package/dist/core/types/oracle/game/index.d.ts +2 -0
  171. package/dist/core/types/oracle/game/index.js +19 -0
  172. package/dist/core/types/oracle/game/index.js.map +1 -0
  173. package/dist/core/types/oracle/game/zod.game.types.d.ts +31 -0
  174. package/dist/core/types/oracle/game/zod.game.types.js +22 -0
  175. package/dist/core/types/oracle/game/zod.game.types.js.map +1 -0
  176. package/dist/core/types/oracle/index.d.ts +4 -0
  177. package/dist/core/types/oracle/index.js +21 -0
  178. package/dist/core/types/oracle/index.js.map +1 -0
  179. package/dist/core/types/oracle/market/index.d.ts +3 -0
  180. package/dist/core/types/oracle/market/index.js +20 -0
  181. package/dist/core/types/oracle/market/index.js.map +1 -0
  182. package/dist/core/types/oracle/market/markets.types.d.ts +95 -0
  183. package/dist/core/types/oracle/market/markets.types.js +35 -0
  184. package/dist/core/types/oracle/market/markets.types.js.map +1 -0
  185. package/dist/core/types/oracle/market/odds.types.d.ts +14 -0
  186. package/dist/core/types/oracle/market/odds.types.js +3 -0
  187. package/dist/core/types/oracle/market/odds.types.js.map +1 -0
  188. package/dist/core/types/oracle/market/positions.types.d.ts +57 -0
  189. package/dist/core/types/oracle/market/positions.types.js +3 -0
  190. package/dist/core/types/oracle/market/positions.types.js.map +1 -0
  191. package/dist/core/types/oracle/requests/game.request.types.d.ts +170 -0
  192. package/dist/core/types/oracle/requests/game.request.types.js +126 -0
  193. package/dist/core/types/oracle/requests/game.request.types.js.map +1 -0
  194. package/dist/core/types/oracle/requests/game.response.types.d.ts +8 -0
  195. package/dist/core/types/oracle/requests/game.response.types.js +3 -0
  196. package/dist/core/types/oracle/requests/game.response.types.js.map +1 -0
  197. package/dist/core/types/oracle/requests/index.d.ts +5 -0
  198. package/dist/core/types/oracle/requests/index.js +22 -0
  199. package/dist/core/types/oracle/requests/index.js.map +1 -0
  200. package/dist/core/types/oracle/requests/market.request.types.d.ts +63 -0
  201. package/dist/core/types/oracle/requests/market.request.types.js +41 -0
  202. package/dist/core/types/oracle/requests/market.request.types.js.map +1 -0
  203. package/dist/core/types/oracle/requests/odds.response.types.d.ts +2 -0
  204. package/dist/core/types/oracle/requests/odds.response.types.js +3 -0
  205. package/dist/core/types/oracle/requests/odds.response.types.js.map +1 -0
  206. package/dist/core/types/oracle/requests/user.request.type.d.ts +4 -0
  207. package/dist/core/types/oracle/requests/user.request.type.js +3 -0
  208. package/dist/core/types/oracle/requests/user.request.type.js.map +1 -0
  209. package/dist/core/types/privy.types.d.ts +4 -0
  210. package/dist/core/types/privy.types.js +9 -0
  211. package/dist/core/types/privy.types.js.map +1 -0
  212. package/dist/core/utils/converters.utils.d.ts +29 -0
  213. package/dist/core/utils/converters.utils.js +97 -0
  214. package/dist/core/utils/converters.utils.js.map +1 -0
  215. package/dist/core/utils/game.utils.d.ts +4 -0
  216. package/dist/core/utils/game.utils.js +79 -0
  217. package/dist/core/utils/game.utils.js.map +1 -0
  218. package/dist/core/utils/index.d.ts +4 -0
  219. package/dist/core/utils/index.js +21 -0
  220. package/dist/core/utils/index.js.map +1 -0
  221. package/dist/core/utils/misc.utils.d.ts +14 -0
  222. package/dist/core/utils/misc.utils.js +33 -0
  223. package/dist/core/utils/misc.utils.js.map +1 -0
  224. package/dist/core/utils/position.utils.d.ts +18 -0
  225. package/dist/core/utils/position.utils.js +68 -0
  226. package/dist/core/utils/position.utils.js.map +1 -0
  227. package/dist/core/validators/bytes.validators.d.ts +32 -0
  228. package/dist/core/validators/bytes.validators.js +47 -0
  229. package/dist/core/validators/bytes.validators.js.map +1 -0
  230. package/dist/core/validators/index.d.ts +2 -0
  231. package/dist/core/validators/index.js +19 -0
  232. package/dist/core/validators/index.js.map +1 -0
  233. package/dist/core/validators/mongo.validators.d.ts +2 -0
  234. package/dist/core/validators/mongo.validators.js +10 -0
  235. package/dist/core/validators/mongo.validators.js.map +1 -0
  236. package/dist/index.d.ts +1 -0
  237. package/dist/index.js +23 -0
  238. package/dist/index.js.map +1 -0
  239. package/dist/react/hooks/auth/index.d.ts +1 -0
  240. package/dist/react/hooks/auth/index.js +18 -0
  241. package/dist/react/hooks/auth/index.js.map +1 -0
  242. package/dist/react/hooks/auth/useAuthHeaders.d.ts +45 -0
  243. package/dist/react/hooks/auth/useAuthHeaders.js +58 -0
  244. package/dist/react/hooks/auth/useAuthHeaders.js.map +1 -0
  245. package/dist/react/hooks/contracts/erc20/index.d.ts +6 -0
  246. package/dist/react/hooks/contracts/erc20/index.js +23 -0
  247. package/dist/react/hooks/contracts/erc20/index.js.map +1 -0
  248. package/dist/react/hooks/contracts/erc20/useApproveErc20.d.ts +13 -0
  249. package/dist/react/hooks/contracts/erc20/useApproveErc20.js +28 -0
  250. package/dist/react/hooks/contracts/erc20/useApproveErc20.js.map +1 -0
  251. package/dist/react/hooks/contracts/erc20/useErc20Allowance.d.ts +10 -0
  252. package/dist/react/hooks/contracts/erc20/useErc20Allowance.js +34 -0
  253. package/dist/react/hooks/contracts/erc20/useErc20Allowance.js.map +1 -0
  254. package/dist/react/hooks/contracts/erc20/useErc20Balance.d.ts +22 -0
  255. package/dist/react/hooks/contracts/erc20/useErc20Balance.js +95 -0
  256. package/dist/react/hooks/contracts/erc20/useErc20Balance.js.map +1 -0
  257. package/dist/react/hooks/contracts/erc20/useErc20Decimals.d.ts +8 -0
  258. package/dist/react/hooks/contracts/erc20/useErc20Decimals.js +28 -0
  259. package/dist/react/hooks/contracts/erc20/useErc20Decimals.js.map +1 -0
  260. package/dist/react/hooks/contracts/erc20/useErc20Symbol.d.ts +8 -0
  261. package/dist/react/hooks/contracts/erc20/useErc20Symbol.js +28 -0
  262. package/dist/react/hooks/contracts/erc20/useErc20Symbol.js.map +1 -0
  263. package/dist/react/hooks/contracts/erc20/useTransferErc20.d.ts +13 -0
  264. package/dist/react/hooks/contracts/erc20/useTransferErc20.js +31 -0
  265. package/dist/react/hooks/contracts/erc20/useTransferErc20.js.map +1 -0
  266. package/dist/react/hooks/contracts/index.d.ts +3 -0
  267. package/dist/react/hooks/contracts/index.js +20 -0
  268. package/dist/react/hooks/contracts/index.js.map +1 -0
  269. package/dist/react/hooks/contracts/useContracts.d.ts +120 -0
  270. package/dist/react/hooks/contracts/useContracts.js +81 -0
  271. package/dist/react/hooks/contracts/useContracts.js.map +1 -0
  272. package/dist/react/hooks/contracts/useLevrMarketContractAddresses.d.ts +3 -0
  273. package/dist/react/hooks/contracts/useLevrMarketContractAddresses.js +27 -0
  274. package/dist/react/hooks/contracts/useLevrMarketContractAddresses.js.map +1 -0
  275. package/dist/react/hooks/index.d.ts +2 -0
  276. package/dist/react/hooks/index.js +19 -0
  277. package/dist/react/hooks/index.js.map +1 -0
  278. package/dist/react/index.d.ts +6 -0
  279. package/dist/react/index.js +23 -0
  280. package/dist/react/index.js.map +1 -0
  281. package/dist/react/injectedDependencies.d.ts +78 -0
  282. package/dist/react/injectedDependencies.js +94 -0
  283. package/dist/react/injectedDependencies.js.map +1 -0
  284. package/dist/react/queryClient.d.ts +9 -0
  285. package/dist/react/queryClient.js +13 -0
  286. package/dist/react/queryClient.js.map +1 -0
  287. package/dist/react/queryKeys.d.ts +17 -0
  288. package/dist/react/queryKeys.js +23 -0
  289. package/dist/react/queryKeys.js.map +1 -0
  290. package/dist/react/types/contracts.types.d.ts +4 -0
  291. package/dist/react/types/contracts.types.js +3 -0
  292. package/dist/react/types/contracts.types.js.map +1 -0
  293. package/dist/react/types/index.d.ts +1 -0
  294. package/dist/react/types/index.js +18 -0
  295. package/dist/react/types/index.js.map +1 -0
  296. package/dist/server/config/cloudflare.d.ts +30 -0
  297. package/dist/server/config/cloudflare.js +45 -0
  298. package/dist/server/config/cloudflare.js.map +1 -0
  299. package/dist/server/config/constants.d.ts +1 -0
  300. package/dist/server/config/constants.js +7 -0
  301. package/dist/server/config/constants.js.map +1 -0
  302. package/dist/server/config/dotenv.d.ts +35 -0
  303. package/dist/server/config/dotenv.js +42 -0
  304. package/dist/server/config/dotenv.js.map +1 -0
  305. package/dist/server/config/index.d.ts +9 -0
  306. package/dist/server/config/index.js +31 -0
  307. package/dist/server/config/index.js.map +1 -0
  308. package/dist/server/config/kms.d.ts +22 -0
  309. package/dist/server/config/kms.js +54 -0
  310. package/dist/server/config/kms.js.map +1 -0
  311. package/dist/server/config/prisma.d.ts +20 -0
  312. package/dist/server/config/prisma.js +40 -0
  313. package/dist/server/config/prisma.js.map +1 -0
  314. package/dist/server/config/redis.d.ts +57 -0
  315. package/dist/server/config/redis.js +121 -0
  316. package/dist/server/config/redis.js.map +1 -0
  317. package/dist/server/config/urls.d.ts +49 -0
  318. package/dist/server/config/urls.js +7 -0
  319. package/dist/server/config/urls.js.map +1 -0
  320. package/dist/server/config/winston.d.ts +3 -0
  321. package/dist/server/config/winston.js +14 -0
  322. package/dist/server/config/winston.js.map +1 -0
  323. package/dist/server/contracts/clients/index.d.ts +1 -0
  324. package/dist/server/contracts/clients/index.js +18 -0
  325. package/dist/server/contracts/clients/index.js.map +1 -0
  326. package/dist/server/contracts/clients/ozRelayerService.d.ts +18 -0
  327. package/dist/server/contracts/clients/ozRelayerService.js +167 -0
  328. package/dist/server/contracts/clients/ozRelayerService.js.map +1 -0
  329. package/dist/server/contracts/index.d.ts +2 -0
  330. package/dist/server/contracts/index.js +19 -0
  331. package/dist/server/contracts/index.js.map +1 -0
  332. package/dist/server/contracts/instances.d.ts +20 -0
  333. package/dist/server/contracts/instances.js +28 -0
  334. package/dist/server/contracts/instances.js.map +1 -0
  335. package/dist/server/index.d.ts +11 -0
  336. package/dist/server/index.js +36 -0
  337. package/dist/server/index.js.map +1 -0
  338. package/dist/server/instrumentation.d.ts +9 -0
  339. package/dist/server/instrumentation.js +37 -0
  340. package/dist/server/instrumentation.js.map +1 -0
  341. package/dist/server/liquidation-engine/index.d.ts +3 -0
  342. package/dist/server/liquidation-engine/index.js +20 -0
  343. package/dist/server/liquidation-engine/index.js.map +1 -0
  344. package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.d.ts +10 -0
  345. package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.js +15 -0
  346. package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.js.map +1 -0
  347. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.d.ts +124 -0
  348. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js +242 -0
  349. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js.map +1 -0
  350. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.d.ts +1 -0
  351. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js +115 -0
  352. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js.map +1 -0
  353. package/dist/server/liquidation-engine/types/index.d.ts +1 -0
  354. package/dist/server/liquidation-engine/types/index.js +3 -0
  355. package/dist/server/liquidation-engine/types/index.js.map +1 -0
  356. package/dist/server/middleware/auth/cloudflare.handler.d.ts +6 -0
  357. package/dist/server/middleware/auth/cloudflare.handler.js +37 -0
  358. package/dist/server/middleware/auth/cloudflare.handler.js.map +1 -0
  359. package/dist/server/middleware/auth/hmac.handler.d.ts +11 -0
  360. package/dist/server/middleware/auth/hmac.handler.js +157 -0
  361. package/dist/server/middleware/auth/hmac.handler.js.map +1 -0
  362. package/dist/server/middleware/auth/index.d.ts +3 -0
  363. package/dist/server/middleware/auth/index.js +20 -0
  364. package/dist/server/middleware/auth/index.js.map +1 -0
  365. package/dist/server/middleware/auth/privy.handler.d.ts +7 -0
  366. package/dist/server/middleware/auth/privy.handler.js +31 -0
  367. package/dist/server/middleware/auth/privy.handler.js.map +1 -0
  368. package/dist/server/middleware/index.d.ts +2 -0
  369. package/dist/server/middleware/index.js +19 -0
  370. package/dist/server/middleware/index.js.map +1 -0
  371. package/dist/server/middleware/multiAuth.examples.d.ts +46 -0
  372. package/dist/server/middleware/multiAuth.examples.js +123 -0
  373. package/dist/server/middleware/multiAuth.examples.js.map +1 -0
  374. package/dist/server/middleware/multiAuth.middleware.d.ts +30 -0
  375. package/dist/server/middleware/multiAuth.middleware.js +90 -0
  376. package/dist/server/middleware/multiAuth.middleware.js.map +1 -0
  377. package/dist/server/middleware/rateLimit.middleware.d.ts +1 -0
  378. package/dist/server/middleware/rateLimit.middleware.js +19 -0
  379. package/dist/server/middleware/rateLimit.middleware.js.map +1 -0
  380. package/dist/server/oracle/index.d.ts +3 -0
  381. package/dist/server/oracle/index.js +20 -0
  382. package/dist/server/oracle/index.js.map +1 -0
  383. package/dist/server/oracle/redis-cache-manager/cache.keys.utils.d.ts +90 -0
  384. package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js +147 -0
  385. package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js.map +1 -0
  386. package/dist/server/oracle/redis-cache-manager/channels.d.ts +2 -0
  387. package/dist/server/oracle/redis-cache-manager/channels.js +11 -0
  388. package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -0
  389. package/dist/server/oracle/redis-cache-manager/game.cache.service.d.ts +184 -0
  390. package/dist/server/oracle/redis-cache-manager/game.cache.service.js +698 -0
  391. package/dist/server/oracle/redis-cache-manager/game.cache.service.js.map +1 -0
  392. package/dist/server/oracle/redis-cache-manager/index.d.ts +4 -0
  393. package/dist/server/oracle/redis-cache-manager/index.js +21 -0
  394. package/dist/server/oracle/redis-cache-manager/index.js.map +1 -0
  395. package/dist/server/oracle/redis-cache-manager/market.cache.service.d.ts +115 -0
  396. package/dist/server/oracle/redis-cache-manager/market.cache.service.js +279 -0
  397. package/dist/server/oracle/redis-cache-manager/market.cache.service.js.map +1 -0
  398. package/dist/server/oracle/rmq-manager/base.queue.manager.d.ts +21 -0
  399. package/dist/server/oracle/rmq-manager/base.queue.manager.js +128 -0
  400. package/dist/server/oracle/rmq-manager/base.queue.manager.js.map +1 -0
  401. package/dist/server/oracle/rmq-manager/index.d.ts +2 -0
  402. package/dist/server/oracle/rmq-manager/index.js +19 -0
  403. package/dist/server/oracle/rmq-manager/index.js.map +1 -0
  404. package/dist/server/oracle/rmq-manager/queue.configs.d.ts +5 -0
  405. package/dist/server/oracle/rmq-manager/queue.configs.js +38 -0
  406. package/dist/server/oracle/rmq-manager/queue.configs.js.map +1 -0
  407. package/dist/server/oracle/types/index.d.ts +2 -0
  408. package/dist/server/oracle/types/index.js +19 -0
  409. package/dist/server/oracle/types/index.js.map +1 -0
  410. package/dist/server/oracle/types/providers/index.d.ts +4 -0
  411. package/dist/server/oracle/types/providers/index.js +21 -0
  412. package/dist/server/oracle/types/providers/index.js.map +1 -0
  413. package/dist/server/oracle/types/providers/lsports.types.d.ts +148 -0
  414. package/dist/server/oracle/types/providers/lsports.types.js +13 -0
  415. package/dist/server/oracle/types/providers/lsports.types.js.map +1 -0
  416. package/dist/server/oracle/types/providers/optic.odds.types.d.ts +293 -0
  417. package/dist/server/oracle/types/providers/optic.odds.types.js +140 -0
  418. package/dist/server/oracle/types/providers/optic.odds.types.js.map +1 -0
  419. package/dist/server/oracle/types/providers/providers.types.d.ts +5 -0
  420. package/dist/server/oracle/types/providers/providers.types.js +10 -0
  421. package/dist/server/oracle/types/providers/providers.types.js.map +1 -0
  422. package/dist/server/oracle/types/providers/rundown.types.d.ts +194 -0
  423. package/dist/server/oracle/types/providers/rundown.types.js +22 -0
  424. package/dist/server/oracle/types/providers/rundown.types.js.map +1 -0
  425. package/dist/server/oracle/types/queue/index.d.ts +2 -0
  426. package/dist/server/oracle/types/queue/index.js +19 -0
  427. package/dist/server/oracle/types/queue/index.js.map +1 -0
  428. package/dist/server/oracle/types/queue/queue.constant.d.ts +10 -0
  429. package/dist/server/oracle/types/queue/queue.constant.js +14 -0
  430. package/dist/server/oracle/types/queue/queue.constant.js.map +1 -0
  431. package/dist/server/oracle/types/queue/queue.types.d.ts +5 -0
  432. package/dist/server/oracle/types/queue/queue.types.js +3 -0
  433. package/dist/server/oracle/types/queue/queue.types.js.map +1 -0
  434. package/dist/server/prisma/index.d.ts +2 -0
  435. package/dist/server/prisma/index.js +24 -0
  436. package/dist/server/prisma/index.js.map +1 -0
  437. package/dist/server/repositories/apiKey.repository.d.ts +7 -0
  438. package/dist/server/repositories/apiKey.repository.js +19 -0
  439. package/dist/server/repositories/apiKey.repository.js.map +1 -0
  440. package/dist/server/repositories/index.d.ts +1 -0
  441. package/dist/server/repositories/index.js +18 -0
  442. package/dist/server/repositories/index.js.map +1 -0
  443. package/dist/server/services/cloudflare.service.d.ts +12 -0
  444. package/dist/server/services/cloudflare.service.js +24 -0
  445. package/dist/server/services/cloudflare.service.js.map +1 -0
  446. package/dist/server/services/crypto.service.d.ts +17 -0
  447. package/dist/server/services/crypto.service.js +50 -0
  448. package/dist/server/services/crypto.service.js.map +1 -0
  449. package/dist/server/services/hmac.service.d.ts +52 -0
  450. package/dist/server/services/hmac.service.js +115 -0
  451. package/dist/server/services/hmac.service.js.map +1 -0
  452. package/dist/server/services/index.d.ts +5 -0
  453. package/dist/server/services/index.js +22 -0
  454. package/dist/server/services/index.js.map +1 -0
  455. package/dist/server/services/presigned.urls.d.ts +11 -0
  456. package/dist/server/services/presigned.urls.js +41 -0
  457. package/dist/server/services/presigned.urls.js.map +1 -0
  458. package/dist/server/services/privy.service.d.ts +30 -0
  459. package/dist/server/services/privy.service.js +122 -0
  460. package/dist/server/services/privy.service.js.map +1 -0
  461. package/dist/server/test-relayers.d.ts +1 -0
  462. package/dist/server/test-relayers.js +17 -0
  463. package/dist/server/test-relayers.js.map +1 -0
  464. package/dist/server/types/auth.types.d.ts +8 -0
  465. package/dist/server/types/auth.types.js +3 -0
  466. package/dist/server/types/auth.types.js.map +1 -0
  467. package/dist/server/types/global.types.d.ts +35 -0
  468. package/dist/server/types/global.types.js +4 -0
  469. package/dist/server/types/global.types.js.map +1 -0
  470. package/dist/server/types/index.d.ts +2 -0
  471. package/dist/server/types/index.js +19 -0
  472. package/dist/server/types/index.js.map +1 -0
  473. package/dist/server/utils/express.utils.d.ts +24 -0
  474. package/dist/server/utils/express.utils.js +36 -0
  475. package/dist/server/utils/express.utils.js.map +1 -0
  476. package/dist/server/utils/index.d.ts +2 -0
  477. package/dist/server/utils/index.js +19 -0
  478. package/dist/server/utils/index.js.map +1 -0
  479. package/dist/server/utils/tracing/index.d.ts +2 -0
  480. package/dist/server/utils/tracing/index.js +19 -0
  481. package/dist/server/utils/tracing/index.js.map +1 -0
  482. package/dist/server/utils/tracing/trace.d.ts +12 -0
  483. package/dist/server/utils/tracing/trace.js +50 -0
  484. package/dist/server/utils/tracing/trace.js.map +1 -0
  485. package/dist/server/utils/tracing/wrap.module.with.tracing.d.ts +126 -0
  486. package/dist/server/utils/tracing/wrap.module.with.tracing.js +202 -0
  487. package/dist/server/utils/tracing/wrap.module.with.tracing.js.map +1 -0
  488. package/package.json +126 -0
@@ -0,0 +1,7 @@
1
+ import type { Request } from "express";
2
+ import { LevrAuth, PrivyRole } from "../../../core";
3
+ import type { AuthResult } from "../../types/auth.types";
4
+ /**
5
+ * Handles Privy authentication (User or Admin)
6
+ */
7
+ export declare function handlePrivyAuth(req: Request, role: PrivyRole, authType: LevrAuth): Promise<AuthResult>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handlePrivyAuth = handlePrivyAuth;
4
+ const viem_1 = require("viem");
5
+ const core_1 = require("../../../core");
6
+ const services_1 = require("../../services");
7
+ /**
8
+ * Handles Privy authentication (User or Admin)
9
+ */
10
+ async function handlePrivyAuth(req, role, authType) {
11
+ const privyToken = req.headers[core_1.PRIVY_ACCESS_TOKEN_HEADER]?.toString();
12
+ const privyIdToken = req.headers[core_1.PRIVY_ID_TOKEN_HEADER]?.toString();
13
+ const ethAddress = req.headers[core_1.ETH_ADDRESS_HEADER]?.toString();
14
+ if (!privyToken || !privyIdToken) {
15
+ return {
16
+ success: false,
17
+ error: `Missing ${core_1.PRIVY_ACCESS_TOKEN_HEADER} or ${core_1.PRIVY_ID_TOKEN_HEADER} header`,
18
+ statusCode: 401,
19
+ };
20
+ }
21
+ const privyUser = await services_1.privyService.authenticate({ privyToken, privyIdToken, ethAddress, role });
22
+ if (!privyUser) {
23
+ return { success: false, error: "Privy authentication failed", statusCode: 401 };
24
+ }
25
+ // Set auth context
26
+ req.privyUser = privyUser;
27
+ req.ethAddress = ethAddress && (0, viem_1.isAddress)(ethAddress) ? (0, viem_1.getAddress)(ethAddress) : services_1.privyService.getUserEthAddress(privyUser);
28
+ req.authMethod = authType;
29
+ return { success: true };
30
+ }
31
+ //# sourceMappingURL=privy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privy.handler.js","sourceRoot":"","sources":["../../../../src/server/middleware/auth/privy.handler.ts"],"names":[],"mappings":";;AASA,0CAyBC;AAjCD,+BAA4C;AAC5C,wCAAyH;AACzH,6CAA6C;AAG7C;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,GAAY,EAAE,IAAe,EAAE,QAAkB;IACnF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,gCAAyB,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,4BAAqB,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAE9D,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,gCAAyB,OAAO,4BAAqB,SAAS;YAChF,UAAU,EAAE,GAAG;SAClB,CAAA;IACL,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,uBAAY,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjG,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IACpF,CAAC;IAED,mBAAmB;IACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IACzB,GAAG,CAAC,UAAU,GAAG,UAAU,IAAI,IAAA,gBAAS,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACzH,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAA;IAEzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./multiAuth.middleware";
2
+ export * from "./rateLimit.middleware";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./multiAuth.middleware"), exports);
18
+ __exportStar(require("./rateLimit.middleware"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/middleware/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,yDAAsC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Multi-Auth Middleware Usage Examples
3
+ *
4
+ * This file demonstrates how to use the new multiAuth middleware
5
+ * to support multiple authentication methods in your routes.
6
+ */
7
+ declare const router: import("express-serve-static-core").Router;
8
+ /**
9
+ * Client-side usage:
10
+ *
11
+ * Clients MUST include the x-levr-auth-type header to indicate which auth method they're using:
12
+ *
13
+ * For Privy User:
14
+ * ```
15
+ * headers: {
16
+ * 'x-levr-auth-type': 'privyUser',
17
+ * 'privy-access-token': 'token...',
18
+ * 'privy-id-token': 'token...',
19
+ * 'eth-address': '0x...' // optional
20
+ * }
21
+ * ```
22
+ *
23
+ * For HMAC API Key (user API keys):
24
+ * ```
25
+ * headers: {
26
+ * 'x-levr-auth-type': 'hmac',
27
+ * 'Authorization': 'HMAC <api-key-id>:<signature>',
28
+ * 'x-request-timestamp': '1234567890',
29
+ * 'x-request-nonce': 'random-string'
30
+ * }
31
+ * ```
32
+ *
33
+ * For Service HMAC (backend service API keys):
34
+ * ```
35
+ * headers: {
36
+ * 'x-levr-auth-type': 'serviceHmac',
37
+ * 'Authorization': 'HMAC <api-key-id>:<signature>',
38
+ * 'x-request-timestamp': '1234567890',
39
+ * 'x-request-nonce': 'random-string'
40
+ * }
41
+ * ```
42
+ *
43
+ * Note: Service API keys are distinguished by having a 'service' field set.
44
+ * User API keys have service=null. The auth handler validates this automatically.
45
+ */
46
+ export default router;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /**
3
+ * Multi-Auth Middleware Usage Examples
4
+ *
5
+ * This file demonstrates how to use the new multiAuth middleware
6
+ * to support multiple authentication methods in your routes.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const express_1 = require("express");
13
+ const core_1 = require("../../core");
14
+ const multiAuth_middleware_1 = require("./multiAuth.middleware");
15
+ const winston_1 = __importDefault(require("../config/winston"));
16
+ const router = (0, express_1.Router)();
17
+ // Example 1: Simple route supporting both Privy user auth and HMAC API keys
18
+ // Auto-enforces Write scope for POST requests
19
+ router.post("/orders", (0, multiAuth_middleware_1.multiAuth)({
20
+ methods: [core_1.LevrAuth.PRIVY_USER, core_1.LevrAuth.HMAC],
21
+ }), (req, res) => {
22
+ // Access authenticated user data
23
+ if (req.privyUser) {
24
+ winston_1.default.info("Authenticated via Privy:", req.privyUser.id);
25
+ }
26
+ else if (req.apiUser) {
27
+ winston_1.default.info("Authenticated via API key:", req.apiUser.id);
28
+ }
29
+ winston_1.default.info("Auth method used:", req.authMethod);
30
+ winston_1.default.info("ETH address:", req.ethAddress);
31
+ res.json({ success: true });
32
+ });
33
+ // Example 2: Admin-only route
34
+ router.delete("/admin/users/:id", (0, multiAuth_middleware_1.multiAuth)({
35
+ methods: [core_1.LevrAuth.PRIVY_ADMIN],
36
+ }), (req, res) => {
37
+ // Only Privy admins can access this
38
+ winston_1.default.info("Admin user:", req.privyUser?.id);
39
+ res.json({ success: true });
40
+ });
41
+ // Example 3: Read-only route supporting multiple auth methods
42
+ // Disable auto-enforcement of Write scope for POST
43
+ router.post("/search", (0, multiAuth_middleware_1.multiAuth)({
44
+ methods: [core_1.LevrAuth.PRIVY_USER, core_1.LevrAuth.HMAC],
45
+ requiredScopes: [core_1.ApiKeyScope.Read],
46
+ autoEnforceWriteScope: false, // POST doesn't require Write scope
47
+ }), (_req, res) => {
48
+ // This POST route only needs Read scope
49
+ res.json({ results: [] });
50
+ });
51
+ // Example 4: Service-to-service authentication
52
+ // Only Orderbook and OracleCore services can access
53
+ router.post("/internal/sync-markets", (0, multiAuth_middleware_1.multiAuth)({
54
+ methods: [core_1.LevrAuth.SERVICE_HMAC],
55
+ allowedServices: [core_1.LevrService.Orderbook, core_1.LevrService.OracleCore],
56
+ }), (req, res) => {
57
+ // Only specific services can access
58
+ winston_1.default.info("Service:", req.apiUser?.service);
59
+ res.json({ synced: true });
60
+ });
61
+ // Example 5: Mixed service and user auth with explicit scopes
62
+ router.put("/markets/:id", (0, multiAuth_middleware_1.multiAuth)({
63
+ methods: [core_1.LevrAuth.PRIVY_ADMIN, core_1.LevrAuth.SERVICE_HMAC],
64
+ requiredScopes: [core_1.ApiKeyScope.Write], // Explicitly require Write
65
+ allowedServices: [core_1.LevrService.Orderbook, core_1.LevrService.Lab],
66
+ }), (req, res) => {
67
+ // Either admin users or specific services can update
68
+ if (req.privyUser) {
69
+ winston_1.default.info("Admin updating market:", req.privyUser.id);
70
+ }
71
+ else {
72
+ winston_1.default.info("Service updating market:", req.apiUser?.service);
73
+ }
74
+ res.json({ updated: true });
75
+ });
76
+ // Example 6: GET route with optional auth
77
+ // Even GET requests can require specific scopes if needed
78
+ router.get("/private-data", (0, multiAuth_middleware_1.multiAuth)({
79
+ methods: [core_1.LevrAuth.PRIVY_USER, core_1.LevrAuth.HMAC],
80
+ requiredScopes: [core_1.ApiKeyScope.Read],
81
+ }), (_req, res) => {
82
+ res.json({ data: "sensitive information" });
83
+ });
84
+ /**
85
+ * Client-side usage:
86
+ *
87
+ * Clients MUST include the x-levr-auth-type header to indicate which auth method they're using:
88
+ *
89
+ * For Privy User:
90
+ * ```
91
+ * headers: {
92
+ * 'x-levr-auth-type': 'privyUser',
93
+ * 'privy-access-token': 'token...',
94
+ * 'privy-id-token': 'token...',
95
+ * 'eth-address': '0x...' // optional
96
+ * }
97
+ * ```
98
+ *
99
+ * For HMAC API Key (user API keys):
100
+ * ```
101
+ * headers: {
102
+ * 'x-levr-auth-type': 'hmac',
103
+ * 'Authorization': 'HMAC <api-key-id>:<signature>',
104
+ * 'x-request-timestamp': '1234567890',
105
+ * 'x-request-nonce': 'random-string'
106
+ * }
107
+ * ```
108
+ *
109
+ * For Service HMAC (backend service API keys):
110
+ * ```
111
+ * headers: {
112
+ * 'x-levr-auth-type': 'serviceHmac',
113
+ * 'Authorization': 'HMAC <api-key-id>:<signature>',
114
+ * 'x-request-timestamp': '1234567890',
115
+ * 'x-request-nonce': 'random-string'
116
+ * }
117
+ * ```
118
+ *
119
+ * Note: Service API keys are distinguished by having a 'service' field set.
120
+ * User API keys have service=null. The auth handler validates this automatically.
121
+ */
122
+ exports.default = router;
123
+ //# sourceMappingURL=multiAuth.examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiAuth.examples.js","sourceRoot":"","sources":["../../../src/server/middleware/multiAuth.examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ import { MultiAuthOptions } from "../../core";
3
+ /**
4
+ * Multi-auth middleware factory
5
+ *
6
+ * Creates Express middleware that supports multiple authentication methods.
7
+ * The client specifies which method to use via the x-levr-auth-type header.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Support both user and API key auth, require Write scope
12
+ * app.post('/orders',
13
+ * multiAuth({
14
+ * methods: [LevrAuth.PRIVY_USER, LevrAuth.HMAC],
15
+ * requiredScopes: [ApiKeyScope.Write]
16
+ * }),
17
+ * orderController.create
18
+ * )
19
+ *
20
+ * // Service-to-service only, must be from Orderbook or OracleCore service
21
+ * app.post('/internal/sync',
22
+ * multiAuth({
23
+ * methods: [LevrAuth.SERVICE_HMAC],
24
+ * requiredServices: [LevrService.Orderbook, LevrService.OracleCore]
25
+ * }),
26
+ * internalController.sync
27
+ * )
28
+ * ```
29
+ */
30
+ export declare function multiAuth(options: MultiAuthOptions): (req: Request, res: Response, next: NextFunction) => Promise<void>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.multiAuth = multiAuth;
4
+ const core_1 = require("../../core");
5
+ const auth_1 = require("./auth");
6
+ /**
7
+ * Multi-auth middleware factory
8
+ *
9
+ * Creates Express middleware that supports multiple authentication methods.
10
+ * The client specifies which method to use via the x-levr-auth-type header.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Support both user and API key auth, require Write scope
15
+ * app.post('/orders',
16
+ * multiAuth({
17
+ * methods: [LevrAuth.PRIVY_USER, LevrAuth.HMAC],
18
+ * requiredScopes: [ApiKeyScope.Write]
19
+ * }),
20
+ * orderController.create
21
+ * )
22
+ *
23
+ * // Service-to-service only, must be from Orderbook or OracleCore service
24
+ * app.post('/internal/sync',
25
+ * multiAuth({
26
+ * methods: [LevrAuth.SERVICE_HMAC],
27
+ * requiredServices: [LevrService.Orderbook, LevrService.OracleCore]
28
+ * }),
29
+ * internalController.sync
30
+ * )
31
+ * ```
32
+ */
33
+ function multiAuth(options) {
34
+ // Validate configuration at middleware creation time
35
+ if (options.methods.includes(core_1.LevrAuth.SERVICE_HMAC)) {
36
+ if (!options.allowedServices || options.allowedServices.length === 0) {
37
+ throw new Error("SERVICE_HMAC authentication requires 'allowedServices' to be specified in MultiAuthOptions");
38
+ }
39
+ }
40
+ return async (req, res, next) => {
41
+ const requestedAuthType = req.header(core_1.LEVR_AUTH_HEADER);
42
+ // If no auth type specified, reject
43
+ if (!requestedAuthType) {
44
+ res.status(400).json({
45
+ error: `Missing ${core_1.LEVR_AUTH_HEADER} header`,
46
+ supportedMethods: options.methods,
47
+ });
48
+ return;
49
+ }
50
+ // Check if requested auth method is supported by this route
51
+ if (!options.methods.includes(requestedAuthType)) {
52
+ res.status(400).json({
53
+ error: `Unsupported auth method: ${requestedAuthType}`,
54
+ supportedMethods: options.methods,
55
+ });
56
+ return;
57
+ }
58
+ let result;
59
+ // Route to appropriate auth handler
60
+ switch (requestedAuthType) {
61
+ case core_1.LevrAuth.HMAC:
62
+ result = await (0, auth_1.handleHmacAuth)(req, options);
63
+ break;
64
+ case core_1.LevrAuth.SERVICE_HMAC:
65
+ result = await (0, auth_1.handleServiceHmacAuth)(req, options);
66
+ break;
67
+ case core_1.LevrAuth.PRIVY_USER:
68
+ result = await (0, auth_1.handlePrivyAuth)(req, core_1.PrivyRole.User, core_1.LevrAuth.PRIVY_USER);
69
+ break;
70
+ case core_1.LevrAuth.PRIVY_ADMIN:
71
+ result = await (0, auth_1.handlePrivyAuth)(req, core_1.PrivyRole.Admin, core_1.LevrAuth.PRIVY_ADMIN);
72
+ break;
73
+ case core_1.LevrAuth.CLOUDFLARE:
74
+ result = await (0, auth_1.handleCloudflareAuth)(req);
75
+ break;
76
+ default:
77
+ result = {
78
+ success: false,
79
+ error: `Unknown auth method: ${requestedAuthType}`,
80
+ statusCode: 400,
81
+ };
82
+ }
83
+ if (!result.success) {
84
+ res.status(result.statusCode || 401).json({ error: result.error });
85
+ return;
86
+ }
87
+ next();
88
+ };
89
+ }
90
+ //# sourceMappingURL=multiAuth.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiAuth.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/multiAuth.middleware.ts"],"names":[],"mappings":";;AAgCA,8BAoEC;AAnGD,qCAAoF;AAEpF,iCAAqG;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,SAAS,CAAC,OAAyB;IAC/C,qDAAqD;IACrD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAA;QACjH,CAAC;IACL,CAAC;IAED,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;QAC5E,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,uBAAgB,CAAC,CAAA;QAEtD,oCAAoC;QACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,WAAW,uBAAgB,SAAS;gBAC3C,gBAAgB,EAAE,OAAO,CAAC,OAAO;aACpC,CAAC,CAAA;YACF,OAAM;QACV,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAA6B,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,4BAA4B,iBAAiB,EAAE;gBACtD,gBAAgB,EAAE,OAAO,CAAC,OAAO;aACpC,CAAC,CAAA;YACF,OAAM;QACV,CAAC;QAED,IAAI,MAAkB,CAAA;QAEtB,oCAAoC;QACpC,QAAQ,iBAAiB,EAAE,CAAC;YACxB,KAAK,eAAQ,CAAC,IAAI;gBACd,MAAM,GAAG,MAAM,IAAA,qBAAc,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAC3C,MAAK;YAET,KAAK,eAAQ,CAAC,YAAY;gBACtB,MAAM,GAAG,MAAM,IAAA,4BAAqB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAClD,MAAK;YAET,KAAK,eAAQ,CAAC,UAAU;gBACpB,MAAM,GAAG,MAAM,IAAA,sBAAe,EAAC,GAAG,EAAE,gBAAS,CAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,CAAC,CAAA;gBACxE,MAAK;YAET,KAAK,eAAQ,CAAC,WAAW;gBACrB,MAAM,GAAG,MAAM,IAAA,sBAAe,EAAC,GAAG,EAAE,gBAAS,CAAC,KAAK,EAAE,eAAQ,CAAC,WAAW,CAAC,CAAA;gBAC1E,MAAK;YAET,KAAK,eAAQ,CAAC,UAAU;gBACpB,MAAM,GAAG,MAAM,IAAA,2BAAoB,EAAC,GAAG,CAAC,CAAA;gBACxC,MAAK;YAET;gBACI,MAAM,GAAG;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,wBAAwB,iBAAiB,EAAE;oBAClD,UAAU,EAAE,GAAG;iBAClB,CAAA;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YAClE,OAAM;QACV,CAAC;QAED,IAAI,EAAE,CAAA;IACV,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const rateLimiter: (requestsWindow: number, maxRequests: number) => import("express-rate-limit").RateLimitRequestHandler;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rateLimiter = void 0;
4
+ const express_rate_limit_1 = require("express-rate-limit");
5
+ const rate_limit_redis_1 = require("rate-limit-redis");
6
+ const config_1 = require("../config");
7
+ const rateLimiter = (requestsWindow, maxRequests) => {
8
+ return (0, express_rate_limit_1.rateLimit)({
9
+ windowMs: requestsWindow,
10
+ max: maxRequests,
11
+ standardHeaders: true,
12
+ legacyHeaders: false,
13
+ store: new rate_limit_redis_1.RedisStore({
14
+ sendCommand: (command, ...args) => config_1.redisClientManager.primaryClient.call(command, ...args),
15
+ }),
16
+ });
17
+ };
18
+ exports.rateLimiter = rateLimiter;
19
+ //# sourceMappingURL=rateLimit.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/rateLimit.middleware.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAC9C,uDAAyD;AACzD,sCAA8C;AAEvC,MAAM,WAAW,GAAG,CAAC,cAAsB,EAAE,WAAmB,EAAE,EAAE;IACvE,OAAO,IAAA,8BAAS,EAAC;QACb,QAAQ,EAAE,cAAc;QACxB,GAAG,EAAE,WAAW;QAChB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,IAAI,6BAAU,CAAC;YAClB,WAAW,EAAE,CAAC,OAAe,EAAE,GAAG,IAAc,EAAE,EAAE,CAChD,2BAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAwB;SACrF,CAAC;KACL,CAAC,CAAA;AACN,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB"}
@@ -0,0 +1,3 @@
1
+ export * from "./redis-cache-manager";
2
+ export * from "./rmq-manager";
3
+ export * from "./types";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./redis-cache-manager"), exports);
18
+ __exportStar(require("./rmq-manager"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,gDAA6B;AAC7B,0CAAuB"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @memberof RedisCacheKeysUtils
3
+ * @description Key for storing the mapping of fixture ids to levr ids in redis
4
+ *
5
+ */
6
+ import { MarketType } from "../../prisma";
7
+ export declare const providerFixtureIdToLevrId = "provider_fixture_id_to_levrId";
8
+ export declare const levrIdToProviderIds = "levr_id_to_provider_ids";
9
+ export declare const queueBlockHashKey = "queue_block_key";
10
+ export declare enum GameCollectionKeys {
11
+ activeGamesHash = "active_games_hash",
12
+ postGamesHash = "post_games_hash"
13
+ }
14
+ export declare enum RedisNumStates {
15
+ success = 1,
16
+ failure = 0
17
+ }
18
+ export declare const schedulesHash = "schedules_hash";
19
+ export declare const gameIdsToLevrFixtureIdsMap = "game_ids_to_levr_ids";
20
+ /**
21
+ * @memberof RedisCacheKeysUtils
22
+ * @description Key for storing the mapping of levr ids to fixture ids in redis
23
+ */
24
+ export declare const gameIdsToFixtureIds = "game_ids_to_fixture_ids";
25
+ /**
26
+ * @memberof RedisCacheKeysUtils
27
+ * @description stores the list of scores for the given gameId appended to it
28
+ */
29
+ export declare const getGameScoreByFixtureIdHash = "game_scores_by_fixture_id_hash";
30
+ /**
31
+ * @memberof RedisCacheKeysUtils
32
+ * @description stores the list of all levr games in cache
33
+ */
34
+ export declare const levrGames = "levr_games";
35
+ export declare const gameToMarketOfOddsInCache = "game_to_market_ids_of_odds_in_cache_";
36
+ /**
37
+ * @memberof RedisCacheKeysUtils
38
+ * @description stores the game period info for the given gameId appended to it
39
+ * @example {
40
+ * gameId: 1,
41
+ * period: 1,
42
+ * timeUpdated: 1714857600
43
+ * }
44
+ */
45
+ export declare const baseBallGamePeriodInfo = "baseball_game_period_info";
46
+ /**
47
+ * @memberof RedisCacheKeysUtils
48
+ * @description stores the full time odds for the given gameId appended to it
49
+ * @example {
50
+ * gameId: 1,
51
+ * odds:
52
+ * }
53
+ */
54
+ export declare const marketOddsKey = "market_odds";
55
+ export declare const marketByMarketIdKey = "market_by_market_id_";
56
+ export declare const marketByGameUniqueIdKeyAndMarketType = "market_by_game_unique_id_";
57
+ /**
58
+ * @memberof RedisCacheKeysUtils
59
+ * @description stores the time invalidation for the cache
60
+ */
61
+ export declare const cacheTimeInvalidation = 60;
62
+ /** @audit levr fixture ids must be the same for games across all chains */
63
+ /**
64
+ * @memberof RedisCacheKeysUtils
65
+ * @param gameId
66
+ * @returns
67
+ */
68
+ export declare const getMoneylineByGameIdKey: (gameId: number) => string;
69
+ /**
70
+ * @memberof RedisCacheKeysUtils
71
+ * @param gameId
72
+ * @returns
73
+ */
74
+ export declare const getCacheLevrGameIdKey: (gameId: number) => string;
75
+ /**
76
+ * @memberof RedisCacheKeysUtils
77
+ * @param fixtureId
78
+ * @returns
79
+ */
80
+ export declare const getCachedLevrByFixtureIdKey: (fixtureId: string, chainId: number) => string;
81
+ export declare const getMarketOddsField: (gameUniqueId: string, marketType: MarketType) => string;
82
+ export declare const getProviderIdsToLevrFixtureIdKey: (providerId: string) => string;
83
+ export declare const getLevrFixtureIdToProviderIdsKey: (levrFixtureId: string) => string;
84
+ export declare const getMarketOddsByMarketIdKey: (marketId: string) => string;
85
+ export declare const getMarketOddsByGameUniqueIdKeyAndMarketType: (gameUniqueId: string) => string;
86
+ export declare const getGameToMarketsOfOddsInCacheKey: (gameUniqueId: string) => string;
87
+ export declare const getCompletedMarketsKey: (marketType: MarketType) => string;
88
+ export declare const getCompletedMarketsField: (gameUniqueId: string, marketType: MarketType) => string;
89
+ export declare const getGamesKeyByChainId: (gameCollectionKey: GameCollectionKeys, chainId: number) => string;
90
+ export declare const getRevokedApiKey: (keyId: string) => string;