@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,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderDetailsArraySchema = exports.ProviderDetailsSchema = exports.CreateMarketSchema = exports.MarketRiskAllocationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const contracts_1 = require("../../../contracts");
6
+ const prisma_1 = require("../../../prisma");
7
+ const validators_1 = require("../../../validators");
8
+ exports.MarketRiskAllocationSchema = zod_1.z.object({
9
+ asset: zod_1.z.string(), // Address is a string alias.
10
+ boundedLossA: zod_1.z.number(),
11
+ boundedLossB: zod_1.z.number(),
12
+ boundedLossC: zod_1.z.number(),
13
+ nFactor: zod_1.z.number(),
14
+ odds: zod_1.z.array(zod_1.z.number()), // Array of numbers for odds
15
+ targetScore: zod_1.z.number().optional(), // Optional target score
16
+ sideGroup: zod_1.z.number().optional(), // Optional side group...
17
+ });
18
+ exports.CreateMarketSchema = zod_1.z.object({
19
+ chainId: zod_1.z.number(),
20
+ gameId: zod_1.z.number(),
21
+ levrMarketId: zod_1.z.enum(contracts_1.LevrMarketId),
22
+ levrMarketContract: validators_1.addressSchema,
23
+ leveraged: zod_1.z.boolean(),
24
+ normalizationFactor: zod_1.z.number(),
25
+ marketDetails: zod_1.z.object({}), // details as needed
26
+ marketRiskAllocation: exports.MarketRiskAllocationSchema,
27
+ providers: zod_1.z.object({}), // providers as needed
28
+ activeProvider: zod_1.z.object({}), // active provider as needed
29
+ marketType: zod_1.z.enum(prisma_1.MarketType),
30
+ status: zod_1.z.enum(prisma_1.MarketStatus),
31
+ levrGameObjectId: validators_1.objectIdSchema,
32
+ marketName: zod_1.z.string(),
33
+ allowSideGroup: zod_1.z.number().optional(), // Optional side group, using Bytes8Schema for validation
34
+ });
35
+ exports.ProviderDetailsSchema = zod_1.z.object({
36
+ fixtureId: zod_1.z.string(),
37
+ affiliates: zod_1.z.array(zod_1.z.number()),
38
+ providerName: zod_1.z.string(),
39
+ });
40
+ exports.ProviderDetailsArraySchema = zod_1.z.array(exports.ProviderDetailsSchema);
41
+ //# sourceMappingURL=market.request.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.request.types.js","sourceRoot":"","sources":["../../../../../src/core/types/oracle/requests/market.request.types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,kDAAiD;AACjD,4CAA0D;AAC1D,oDAAmE;AAEtD,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,6BAA6B;IAChD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B;IACvD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,wBAAwB;IAC5D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,yBAAyB;CAC9D,CAAC,CAAA;AAEW,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,wBAAY,CAAC;IAClC,kBAAkB,EAAE,0BAAa;IACjC,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;IACtB,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC/B,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,oBAAoB;IACjD,oBAAoB,EAAE,kCAA0B;IAChD,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,sBAAsB;IAC/C,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,4BAA4B;IAC1D,UAAU,EAAE,OAAC,CAAC,IAAI,CAAC,mBAAU,CAAC;IAC9B,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,qBAAY,CAAC;IAC5B,gBAAgB,EAAE,2BAAc;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,yDAAyD;CACnG,CAAC,CAAA;AAIW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAA;AAEW,QAAA,0BAA0B,GAAG,OAAC,CAAC,KAAK,CAAC,6BAAqB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { MarketType, Odds } from "../../../prisma";
2
+ export type OddsByMarketTypeResponse = Record<MarketType, Odds[]>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=odds.response.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odds.response.types.js","sourceRoot":"","sources":["../../../../../src/core/types/oracle/requests/odds.response.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { User } from "../../../prisma";
2
+ export interface SaveUserProfile extends Omit<User, "objectId" | "createdAt" | "updatedAt"> {
3
+ imageData?: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user.request.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.request.type.js","sourceRoot":"","sources":["../../../../../src/core/types/oracle/requests/user.request.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare enum PrivyRole {
2
+ User = "User",
3
+ Admin = "Admin"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivyRole = void 0;
4
+ var PrivyRole;
5
+ (function (PrivyRole) {
6
+ PrivyRole["User"] = "User";
7
+ PrivyRole["Admin"] = "Admin";
8
+ })(PrivyRole || (exports.PrivyRole = PrivyRole = {}));
9
+ //# sourceMappingURL=privy.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privy.types.js","sourceRoot":"","sources":["../../../src/core/types/privy.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,4BAAe,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
@@ -0,0 +1,29 @@
1
+ export declare const convertToUTC: (dateStr: string) => Date;
2
+ export declare const dateToTimestamp: (date: Date) => number;
3
+ export declare const toTimeStampSeconds: (date: number) => number;
4
+ export declare const convertOddsToDecimals: (odds: number) => number;
5
+ export declare const convertEuropeanToUSOdds: (europeanOdds: number) => number;
6
+ /**
7
+ * a
8
+ * @param seconds
9
+ * @returns
10
+ */
11
+ export declare const convertSecondsToMinSec: (seconds: number) => string;
12
+ /**
13
+ *
14
+ * @param minSec
15
+ * @returns
16
+ */
17
+ export declare const convertMinSecToSeconds: (minSec: string) => number;
18
+ /**
19
+ * @param timestamp
20
+ * @returns
21
+ */
22
+ export declare const extractMinutesSeconds: (timestamp: string) => string;
23
+ /**
24
+ * Extends an enum with additional values
25
+ * @param base
26
+ * @param extension
27
+ * @returns
28
+ */
29
+ export declare const extendEnum: <T, U>(base: T, extension: U) => T & U;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extendEnum = exports.extractMinutesSeconds = exports.convertMinSecToSeconds = exports.convertSecondsToMinSec = exports.convertEuropeanToUSOdds = exports.convertOddsToDecimals = exports.toTimeStampSeconds = exports.dateToTimestamp = exports.convertToUTC = void 0;
4
+ const convertToUTC = (dateStr) => {
5
+ // Parse the date and time
6
+ const [datePart, timePart] = dateStr.split(" - ");
7
+ const [month, day] = datePart.split("/").map((num) => parseInt(num, 10));
8
+ const [hourStr, minutePart] = timePart.split(":");
9
+ const [minute, ampm] = minutePart.split(" ");
10
+ // Adjust for 12-hour format
11
+ let hour = (hourStr === "12" ? 0 : parseInt(hourStr, 10)) + (ampm === "PM" ? 12 : 0);
12
+ // Convert EST to UTC (EST is UTC-5)
13
+ const estToUtcOffset = 5;
14
+ hour += estToUtcOffset;
15
+ // Current year
16
+ const year = new Date().getFullYear();
17
+ // Create a UTC Date object
18
+ const utcDate = new Date(Date.UTC(year, month - 1, day, hour, parseInt(minute, 10)));
19
+ return utcDate;
20
+ };
21
+ exports.convertToUTC = convertToUTC;
22
+ const dateToTimestamp = (date) => {
23
+ return date.getTime() / 1000;
24
+ };
25
+ exports.dateToTimestamp = dateToTimestamp;
26
+ const toTimeStampSeconds = (date) => {
27
+ return date / 1000;
28
+ };
29
+ exports.toTimeStampSeconds = toTimeStampSeconds;
30
+ const convertOddsToDecimals = (odds) => {
31
+ if (odds > 0) {
32
+ return odds / 100 + 1; // (US Odds / 100) + 1 - positive odds
33
+ }
34
+ return 100 / odds + 1; // (100 / US Odds) + 1 - negative odds
35
+ };
36
+ exports.convertOddsToDecimals = convertOddsToDecimals;
37
+ const convertEuropeanToUSOdds = (europeanOdds) => {
38
+ let usOdds;
39
+ if (europeanOdds >= 2.0) {
40
+ usOdds = (europeanOdds - 1) * 100;
41
+ }
42
+ else {
43
+ usOdds = -100 / (europeanOdds - 1);
44
+ }
45
+ return Math.round(usOdds);
46
+ };
47
+ exports.convertEuropeanToUSOdds = convertEuropeanToUSOdds;
48
+ /**
49
+ * a
50
+ * @param seconds
51
+ * @returns
52
+ */
53
+ const convertSecondsToMinSec = (seconds) => {
54
+ if (seconds < 0)
55
+ return "0:00";
56
+ const minutes = Math.floor(seconds / 60);
57
+ const remainingSeconds = Math.round(seconds % 60);
58
+ return `${minutes.toString()}:${remainingSeconds < 10 ? "0" : ""}${remainingSeconds.toString()}`;
59
+ };
60
+ exports.convertSecondsToMinSec = convertSecondsToMinSec;
61
+ /**
62
+ *
63
+ * @param minSec
64
+ * @returns
65
+ */
66
+ const convertMinSecToSeconds = (minSec) => {
67
+ const [minutes, seconds] = minSec.split(":").map((num) => parseInt(num, 10));
68
+ return minutes * 60 + seconds;
69
+ };
70
+ exports.convertMinSecToSeconds = convertMinSecToSeconds;
71
+ /**
72
+ * @param timestamp
73
+ * @returns
74
+ */
75
+ const extractMinutesSeconds = (timestamp) => {
76
+ // Parse the timestamp string into a Date object
77
+ const date = new Date(timestamp);
78
+ // Extract the minutes and seconds
79
+ const minutes = date.getUTCMinutes();
80
+ const seconds = date.getUTCSeconds();
81
+ // Format the minutes and seconds as a string
82
+ const formattedMinutes = minutes.toString().padStart(2, "0");
83
+ const formattedSeconds = seconds.toString().padStart(2, "0");
84
+ return `${formattedMinutes}:${formattedSeconds}`;
85
+ };
86
+ exports.extractMinutesSeconds = extractMinutesSeconds;
87
+ /**
88
+ * Extends an enum with additional values
89
+ * @param base
90
+ * @param extension
91
+ * @returns
92
+ */
93
+ const extendEnum = (base, extension) => {
94
+ return { ...base, ...extension };
95
+ };
96
+ exports.extendEnum = extendEnum;
97
+ //# sourceMappingURL=converters.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.utils.js","sourceRoot":"","sources":["../../../src/core/utils/converters.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { SportGroup } from "../../core/prisma";
2
+ export declare const calculatePrice: (americanOdds: number, normalizationFactor: number) => number;
3
+ export declare const calculateAmericanOdds: (price: number, normalizationFactor?: number) => string;
4
+ export declare const getGameProgressBPS: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalPeriods: number, sportGroup: SportGroup) => number | null;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGameProgressBPS = exports.calculateAmericanOdds = exports.calculatePrice = void 0;
4
+ const prisma_1 = require("../../core/prisma");
5
+ const calculatePrice = (americanOdds, normalizationFactor) => {
6
+ const decimalOdds = americanOdds > 0 ? americanOdds / 100 + 1 : 100 / Math.abs(americanOdds) + 1;
7
+ return Number((normalizationFactor / decimalOdds).toFixed(4));
8
+ };
9
+ exports.calculatePrice = calculatePrice;
10
+ const calculateAmericanOdds = (price, normalizationFactor = 1) => {
11
+ if (price === 0)
12
+ return `+0`;
13
+ try {
14
+ const decimalOdds = normalizationFactor / price;
15
+ const fixedDecimalOdds = Math.round(decimalOdds * 10000) / 10000;
16
+ const odds = Math.round(fixedDecimalOdds > 2 ? (fixedDecimalOdds - 1) * 100 : -100 / (fixedDecimalOdds - 1));
17
+ return odds > 0 ? `+${odds.toString()}` : odds.toString();
18
+ }
19
+ catch (e) {
20
+ console.error("Error calculating American odds: ", e);
21
+ return `+0`;
22
+ }
23
+ };
24
+ exports.calculateAmericanOdds = calculateAmericanOdds;
25
+ // Game progress calculation utilities
26
+ const parseGameClockToSeconds = (gameClock) => {
27
+ const [rawMinutes, rawSeconds] = gameClock.split(":");
28
+ const minutes = Number(rawMinutes);
29
+ const seconds = Number(rawSeconds);
30
+ if (isNaN(minutes) || isNaN(seconds))
31
+ return null;
32
+ return minutes * 60 + seconds;
33
+ };
34
+ const calculateGameProgressBPSWithPeriodsOnly = (period, totalPeriods) => {
35
+ if (period > totalPeriods)
36
+ return 1e4;
37
+ const progress = period / totalPeriods;
38
+ return Math.round(progress * 1e4);
39
+ };
40
+ const calculateGameProgressBPS = (elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period) => {
41
+ if (totalPeriodDurationInSeconds === 0)
42
+ return 0;
43
+ if (elapsedSeconds > totalPeriodDurationInSeconds)
44
+ elapsedSeconds = totalPeriodDurationInSeconds;
45
+ const progress = elapsedSeconds / totalPeriodDurationInSeconds;
46
+ const periodsPassed = period - 1;
47
+ const pastProgress = calculateGameProgressBPSWithPeriodsOnly(periodsPassed, totalPeriods);
48
+ const currentPeriodProgress = (progress * 1e4) / totalPeriods;
49
+ return Math.round(pastProgress + currentPeriodProgress);
50
+ };
51
+ const calculateGameProgressBPSWithGameClockCountUp = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
52
+ const elapsedSeconds = parseGameClockToSeconds(gameClock);
53
+ if (elapsedSeconds === null)
54
+ return null;
55
+ return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
56
+ };
57
+ const calculateGameProgressBPSWithGameClockCountDown = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
58
+ const remainingSeconds = parseGameClockToSeconds(gameClock);
59
+ if (remainingSeconds === null)
60
+ return null;
61
+ const elapsedSeconds = totalPeriodDurationInSeconds - remainingSeconds;
62
+ return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
63
+ };
64
+ const getGameProgressBPS = (gameClock, totalPeriodDurationInSeconds, period, totalPeriods, sportGroup) => {
65
+ switch (sportGroup) {
66
+ case prisma_1.SportGroup.Football:
67
+ return calculateGameProgressBPSWithGameClockCountUp(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
68
+ case prisma_1.SportGroup.Basketball:
69
+ return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
70
+ case prisma_1.SportGroup.AmericanFootball:
71
+ return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
72
+ case prisma_1.SportGroup.Baseball:
73
+ return calculateGameProgressBPSWithPeriodsOnly(period, totalPeriods);
74
+ default:
75
+ return null;
76
+ }
77
+ };
78
+ exports.getGameProgressBPS = getGameProgressBPS;
79
+ //# sourceMappingURL=game.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../src/core/utils/game.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./converters.utils";
2
+ export * from "./game.utils";
3
+ export * from "./misc.utils";
4
+ export * from "./position.utils";
@@ -0,0 +1,21 @@
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("./converters.utils"), exports);
18
+ __exportStar(require("./game.utils"), exports);
19
+ __exportStar(require("./misc.utils"), exports);
20
+ __exportStar(require("./position.utils"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,+CAA4B;AAC5B,+CAA4B;AAC5B,mDAAgC"}
@@ -0,0 +1,14 @@
1
+ import ms from "ms";
2
+ export declare const argHash: (...args: (string | number | bigint)[]) => string;
3
+ /**
4
+ * Sleep for a specified duration.
5
+ * @param value - A string value representing the duration to sleep (e.g., "2s", "500ms", "1m").
6
+ * @returns A promise that resolves after the specified duration.
7
+ */
8
+ export declare const sleep: (value: ms.StringValue) => Promise<void>;
9
+ /**
10
+ * Format a number with comma separators
11
+ * @param value - The number to format
12
+ * @returns The formatted number string with commas
13
+ */
14
+ export declare const formatNumberWithCommas: (value: number | string) => string;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatNumberWithCommas = exports.sleep = exports.argHash = void 0;
7
+ const ms_1 = __importDefault(require("ms"));
8
+ const argHash = (...args) => args.join("-");
9
+ exports.argHash = argHash;
10
+ /**
11
+ * Sleep for a specified duration.
12
+ * @param value - A string value representing the duration to sleep (e.g., "2s", "500ms", "1m").
13
+ * @returns A promise that resolves after the specified duration.
14
+ */
15
+ const sleep = (value) => new Promise((resolve) => setTimeout(resolve, (0, ms_1.default)(value)));
16
+ exports.sleep = sleep;
17
+ /**
18
+ * Format a number with comma separators
19
+ * @param value - The number to format
20
+ * @returns The formatted number string with commas
21
+ */
22
+ const formatNumberWithCommas = (value) => {
23
+ const num = typeof value === "string" ? parseFloat(value) : value;
24
+ if (isNaN(num))
25
+ return "0";
26
+ const parts = num.toString().split(".");
27
+ const integer = parts[0] || "0";
28
+ const decimal = parts[1];
29
+ const formattedInteger = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
30
+ return decimal ? `${formattedInteger}.${decimal}` : formattedInteger;
31
+ };
32
+ exports.formatNumberWithCommas = formatNumberWithCommas;
33
+ //# sourceMappingURL=misc.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.utils.js","sourceRoot":"","sources":["../../../src/core/utils/misc.utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEZ,MAAM,OAAO,GAAG,CAAC,GAAG,IAAkC,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,OAAO,WAAoE;AAExF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAA1G,QAAA,KAAK,SAAqG;AAEvH;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAAsB,EAAU,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACjE,IAAI,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAE1B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IAEtE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAA;AACxE,CAAC,CAAA;AAVY,QAAA,sBAAsB,0BAUlC"}
@@ -0,0 +1,18 @@
1
+ export interface TraderPayoutResult {
2
+ /** The total payout of the trader */
3
+ payout: bigint;
4
+ /** The profit of the trader */
5
+ profit: bigint;
6
+ /** The amount of collateral lost by the trader */
7
+ collateralLost: bigint;
8
+ }
9
+ /**
10
+ * Calculates the trader's payout for a leveraged position.
11
+ * @param entryPrice The entry price of the position.
12
+ * @param currentPrice The current token price.
13
+ * @param eCollateral The effective collateral of the position.
14
+ * @param positionSize The effective size of the trader (position size - position fee).
15
+ * @param eLeverage The effective leverage of the position in 6 decimals precision.
16
+ * @returns Object containing payout, profit, and collateralLost
17
+ */
18
+ export declare function calculateTraderPayout(entryPrice: bigint, currentPrice: bigint, eCollateral: bigint, positionSize: bigint, eLeverage: bigint): TraderPayoutResult;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateTraderPayout = calculateTraderPayout;
4
+ /**
5
+ * Constants
6
+ */
7
+ const PRECISION_E6 = 1000000n;
8
+ /**
9
+ * Multiply two bigints and divide by a denominator with rounding down.
10
+ * Equivalent to Solidity's mulDiv.
11
+ */
12
+ function mulDiv(a, b, denominator) {
13
+ if (denominator === 0n)
14
+ throw new Error("Division by zero");
15
+ return (a * b) / denominator;
16
+ }
17
+ /**
18
+ * Multiply two bigints and divide by a denominator with rounding up.
19
+ * Equivalent to Solidity's mulDivUp.
20
+ */
21
+ function mulDivUp(a, b, denominator) {
22
+ if (denominator === 0n)
23
+ throw new Error("Division by zero");
24
+ const result = (a * b) / denominator;
25
+ const remainder = (a * b) % denominator;
26
+ return remainder > 0n ? result + 1n : result;
27
+ }
28
+ /**
29
+ * Calculates the trader's payout for a leveraged position.
30
+ * @param entryPrice The entry price of the position.
31
+ * @param currentPrice The current token price.
32
+ * @param eCollateral The effective collateral of the position.
33
+ * @param positionSize The effective size of the trader (position size - position fee).
34
+ * @param eLeverage The effective leverage of the position in 6 decimals precision.
35
+ * @returns Object containing payout, profit, and collateralLost
36
+ */
37
+ function calculateTraderPayout(entryPrice, currentPrice, eCollateral, positionSize, eLeverage) {
38
+ // Early return if any parameter is zero
39
+ if (positionSize === 0n || eCollateral === 0n || eLeverage === 0n || entryPrice === 0n) {
40
+ return { payout: 0n, profit: 0n, collateralLost: 0n };
41
+ }
42
+ let payout = 0n;
43
+ let profit = 0n;
44
+ let collateralLost = 0n;
45
+ if (currentPrice >= entryPrice) {
46
+ // Profitable position, calculate profit directly
47
+ const priceDelta = currentPrice - entryPrice;
48
+ profit = mulDiv(positionSize, priceDelta, entryPrice);
49
+ payout = eCollateral + profit;
50
+ }
51
+ else {
52
+ // Losing position, calculate loss
53
+ const priceDelta = entryPrice - currentPrice;
54
+ const rawLoss = mulDivUp(positionSize, priceDelta, entryPrice);
55
+ // Adjust collateral lost based on leverage
56
+ collateralLost = mulDivUp(rawLoss, PRECISION_E6, eLeverage);
57
+ // Cap collateral lost at effective collateral
58
+ if (collateralLost >= eCollateral) {
59
+ collateralLost = eCollateral;
60
+ payout = 0n;
61
+ }
62
+ else {
63
+ payout = eCollateral - collateralLost;
64
+ }
65
+ }
66
+ return { payout, profit, collateralLost };
67
+ }
68
+ //# sourceMappingURL=position.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.utils.js","sourceRoot":"","sources":["../../../src/core/utils/position.utils.ts"],"names":[],"mappings":";;AA2CA,sDAwCC;AAnFD;;GAEG;AACH,MAAM,YAAY,GAAG,QAAU,CAAA;AAE/B;;;GAGG;AACH,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;IACrD,IAAI,WAAW,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAC3D,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;IACvD,IAAI,WAAW,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAA;IACpC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAA;IACvC,OAAO,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC;AAWD;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACjC,UAAkB,EAClB,YAAoB,EACpB,WAAmB,EACnB,YAAoB,EACpB,SAAiB;IAEjB,wCAAwC;IACxC,IAAI,YAAY,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAA;IACzD,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,cAAc,GAAG,EAAE,CAAA;IAEvB,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;QAC7B,iDAAiD;QACjD,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,CAAA;QAC5C,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QACrD,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;IACjC,CAAC;SAAM,CAAC;QACJ,kCAAkC;QAClC,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,CAAA;QAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QAE9D,2CAA2C;QAC3C,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;QAE3D,8CAA8C;QAC9C,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;YAChC,cAAc,GAAG,WAAW,CAAA;YAC5B,MAAM,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,WAAW,GAAG,cAAc,CAAA;QACzC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ export declare const addressSchema: z.ZodCustom<`0x${string}`, `0x${string}`>;
3
+ type BrandedHexString<TBrand extends string> = `0x${string}` & {
4
+ readonly __brand: TBrand;
5
+ };
6
+ export type Bytes6 = BrandedHexString<"Bytes6">;
7
+ export type Bytes8 = BrandedHexString<"Bytes8">;
8
+ export type Bytes10 = BrandedHexString<"Bytes10">;
9
+ export type Bytes12 = BrandedHexString<"Bytes12">;
10
+ export type Bytes16 = BrandedHexString<"Bytes16">;
11
+ export type Bytes32 = BrandedHexString<"Bytes32">;
12
+ export type Bytes64 = BrandedHexString<"Bytes64">;
13
+ export declare const isBytes6: (val: unknown) => val is Bytes6;
14
+ export declare const isBytes8: (val: unknown) => val is Bytes8;
15
+ export declare const isBytes10: (val: unknown) => val is Bytes10;
16
+ export declare const isBytes12: (val: unknown) => val is Bytes12;
17
+ export declare const isBytes16: (val: unknown) => val is Bytes16;
18
+ export declare const isBytes32: (val: unknown) => val is Bytes32;
19
+ export declare const isBytes64: (val: unknown) => val is Bytes64;
20
+ export declare const bytes6Schema: z.ZodType<Bytes6, unknown, z.core.$ZodTypeInternals<Bytes6, unknown>>;
21
+ export declare const bytes8Schema: z.ZodType<Bytes8, unknown, z.core.$ZodTypeInternals<Bytes8, unknown>>;
22
+ export declare const bytes12Schema: z.ZodType<Bytes12, unknown, z.core.$ZodTypeInternals<Bytes12, unknown>>;
23
+ export declare const bytes10Schema: z.ZodType<Bytes10, unknown, z.core.$ZodTypeInternals<Bytes10, unknown>>;
24
+ export declare const bytes16Schema: z.ZodType<Bytes16, unknown, z.core.$ZodTypeInternals<Bytes16, unknown>>;
25
+ export declare const bytes32Schema: z.ZodType<Bytes32, unknown, z.core.$ZodTypeInternals<Bytes32, unknown>>;
26
+ export declare const bytes64Schema: z.ZodType<Bytes64, unknown, z.core.$ZodTypeInternals<Bytes64, unknown>>;
27
+ export declare const levrTournamentIdSchema: z.ZodType<Bytes6, unknown, z.core.$ZodTypeInternals<Bytes6, unknown>>;
28
+ export declare const levrSportIdSchema: z.ZodType<Bytes12, unknown, z.core.$ZodTypeInternals<Bytes12, unknown>>;
29
+ export declare const levrFixtureIdSchema: z.ZodType<Bytes10, unknown, z.core.$ZodTypeInternals<Bytes10, unknown>>;
30
+ export declare const levrLeagueIdSchema: z.ZodType<Bytes8, unknown, z.core.$ZodTypeInternals<Bytes8, unknown>>;
31
+ export declare const levrGameMarketIdSchema: z.ZodType<Bytes32, unknown, z.core.$ZodTypeInternals<Bytes32, unknown>>;
32
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.levrGameMarketIdSchema = exports.levrLeagueIdSchema = exports.levrFixtureIdSchema = exports.levrSportIdSchema = exports.levrTournamentIdSchema = exports.bytes64Schema = exports.bytes32Schema = exports.bytes16Schema = exports.bytes10Schema = exports.bytes12Schema = exports.bytes8Schema = exports.bytes6Schema = exports.isBytes64 = exports.isBytes32 = exports.isBytes16 = exports.isBytes12 = exports.isBytes10 = exports.isBytes8 = exports.isBytes6 = exports.addressSchema = void 0;
4
+ const viem_1 = require("viem");
5
+ const zod_1 = require("zod");
6
+ exports.addressSchema = zod_1.z.custom((val) => typeof val === "string" && (0, viem_1.isAddress)(val), {
7
+ message: "Invalid address value",
8
+ });
9
+ // Helper function to create type guards for bytes
10
+ const createBytesValidator = (bytesSize) => (val) => typeof val === "string" && (0, viem_1.isHex)(val) && (0, viem_1.size)(val) === bytesSize;
11
+ // Runtime validation functions
12
+ const isBytes6 = (val) => createBytesValidator(6)(val);
13
+ exports.isBytes6 = isBytes6;
14
+ const isBytes8 = (val) => createBytesValidator(8)(val);
15
+ exports.isBytes8 = isBytes8;
16
+ const isBytes10 = (val) => createBytesValidator(10)(val);
17
+ exports.isBytes10 = isBytes10;
18
+ const isBytes12 = (val) => createBytesValidator(12)(val);
19
+ exports.isBytes12 = isBytes12;
20
+ const isBytes16 = (val) => createBytesValidator(16)(val);
21
+ exports.isBytes16 = isBytes16;
22
+ const isBytes32 = (val) => createBytesValidator(32)(val);
23
+ exports.isBytes32 = isBytes32;
24
+ const isBytes64 = (val) => createBytesValidator(64)(val);
25
+ exports.isBytes64 = isBytes64;
26
+ // Generic function to create Zod schemas for bytes
27
+ function createBytesSchema(validator, bytesSize) {
28
+ const hexChars = bytesSize * 2;
29
+ return zod_1.z.custom(validator, {
30
+ message: `Value must be a ${bytesSize}-byte hex string (0x-prefixed, ${hexChars} hex chars + 0x)`,
31
+ });
32
+ }
33
+ // Zod schemas for runtime validation
34
+ exports.bytes6Schema = createBytesSchema(exports.isBytes6, 6);
35
+ exports.bytes8Schema = createBytesSchema(exports.isBytes8, 8);
36
+ exports.bytes12Schema = createBytesSchema(exports.isBytes12, 12);
37
+ exports.bytes10Schema = createBytesSchema(exports.isBytes10, 10);
38
+ exports.bytes16Schema = createBytesSchema(exports.isBytes16, 16);
39
+ exports.bytes32Schema = createBytesSchema(exports.isBytes32, 32);
40
+ exports.bytes64Schema = createBytesSchema(exports.isBytes64, 64);
41
+ // Specific schemas using the existing generic function
42
+ exports.levrTournamentIdSchema = exports.bytes6Schema;
43
+ exports.levrSportIdSchema = exports.bytes12Schema;
44
+ exports.levrFixtureIdSchema = exports.bytes10Schema;
45
+ exports.levrLeagueIdSchema = exports.bytes8Schema;
46
+ exports.levrGameMarketIdSchema = exports.bytes32Schema;
47
+ //# sourceMappingURL=bytes.validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.validators.js","sourceRoot":"","sources":["../../../src/core/validators/bytes.validators.ts"],"names":[],"mappings":";;;AACA,+BAA6C;AAC7C,6BAAuB;AAEV,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAU,CAAC,GAAG,EAAkB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAA,gBAAS,EAAC,GAAG,CAAC,EAAE;IAC/G,OAAO,EAAE,uBAAuB;CACnC,CAAC,CAAA;AAcF,kDAAkD;AAClD,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE,CACjE,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAA,YAAK,EAAC,GAAG,CAAC,IAAI,IAAA,WAAI,EAAC,GAAG,CAAC,KAAK,SAAS,CAAA;AAEpE,+BAA+B;AACxB,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAiB,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAAxE,QAAA,QAAQ,YAAgE;AAC9E,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAiB,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAAxE,QAAA,QAAQ,YAAgE;AAC9E,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,SAAS,aAAkE;AACjF,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,SAAS,aAAkE;AACjF,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,SAAS,aAAkE;AACjF,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,SAAS,aAAkE;AACjF,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,SAAS,aAAkE;AAExF,mDAAmD;AACnD,SAAS,iBAAiB,CACtB,SAAqC,EACrC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAA;IAC9B,OAAO,OAAC,CAAC,MAAM,CAAI,SAAS,EAAE;QAC1B,OAAO,EAAE,mBAAmB,SAAS,kCAAkC,QAAQ,kBAAkB;KACpG,CAAC,CAAA;AACN,CAAC;AAED,qCAAqC;AACxB,QAAA,YAAY,GAAG,iBAAiB,CAAC,gBAAQ,EAAE,CAAC,CAAC,CAAA;AAC7C,QAAA,YAAY,GAAG,iBAAiB,CAAC,gBAAQ,EAAE,CAAC,CAAC,CAAA;AAC7C,QAAA,aAAa,GAAG,iBAAiB,CAAC,iBAAS,EAAE,EAAE,CAAC,CAAA;AAChD,QAAA,aAAa,GAAG,iBAAiB,CAAC,iBAAS,EAAE,EAAE,CAAC,CAAA;AAChD,QAAA,aAAa,GAAG,iBAAiB,CAAC,iBAAS,EAAE,EAAE,CAAC,CAAA;AAChD,QAAA,aAAa,GAAG,iBAAiB,CAAC,iBAAS,EAAE,EAAE,CAAC,CAAA;AAChD,QAAA,aAAa,GAAG,iBAAiB,CAAC,iBAAS,EAAE,EAAE,CAAC,CAAA;AAE7D,uDAAuD;AAC1C,QAAA,sBAAsB,GAAG,oBAAY,CAAA;AACrC,QAAA,iBAAiB,GAAG,qBAAa,CAAA;AACjC,QAAA,mBAAmB,GAAG,qBAAa,CAAA;AACnC,QAAA,kBAAkB,GAAG,oBAAY,CAAA;AACjC,QAAA,sBAAsB,GAAG,qBAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./bytes.validators";
2
+ export * from "./mongo.validators";
@@ -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("./bytes.validators"), exports);
18
+ __exportStar(require("./mongo.validators"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,qDAAkC"}
@@ -0,0 +1,2 @@
1
+ import z from "zod";
2
+ export declare const objectIdSchema: z.ZodString;