@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.
- package/LICENSE +201 -0
- package/README.md +92 -0
- package/bin/setup-prisma.js +44 -0
- package/dist/core/config/dotenv.d.ts +16 -0
- package/dist/core/config/dotenv.js +77 -0
- package/dist/core/config/dotenv.js.map +1 -0
- package/dist/core/config/index.d.ts +2 -0
- package/dist/core/config/index.js +19 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/config/urls.d.ts +55 -0
- package/dist/core/config/urls.js +61 -0
- package/dist/core/config/urls.js.map +1 -0
- package/dist/core/contracts/abis/LevrBaseMarket.d.ts +1009 -0
- package/dist/core/contracts/abis/LevrBaseMarket.js +976 -0
- package/dist/core/contracts/abis/LevrBaseMarket.js.map +1 -0
- package/dist/core/contracts/abis/LevrConfigProvider.d.ts +2671 -0
- package/dist/core/contracts/abis/LevrConfigProvider.js +2551 -0
- package/dist/core/contracts/abis/LevrConfigProvider.js.map +1 -0
- package/dist/core/contracts/abis/LevrFeeCollector.d.ts +259 -0
- package/dist/core/contracts/abis/LevrFeeCollector.js +143 -0
- package/dist/core/contracts/abis/LevrFeeCollector.js.map +1 -0
- package/dist/core/contracts/abis/LevrFulltimeMarket.d.ts +1050 -0
- package/dist/core/contracts/abis/LevrFulltimeMarket.js +462 -0
- package/dist/core/contracts/abis/LevrFulltimeMarket.js.map +1 -0
- package/dist/core/contracts/abis/LevrFundManager.d.ts +51 -0
- package/dist/core/contracts/abis/LevrFundManager.js +4 -0
- package/dist/core/contracts/abis/LevrFundManager.js.map +1 -0
- package/dist/core/contracts/abis/LevrLiquidationEngine.d.ts +244 -0
- package/dist/core/contracts/abis/LevrLiquidationEngine.js +231 -0
- package/dist/core/contracts/abis/LevrLiquidationEngine.js.map +1 -0
- package/dist/core/contracts/abis/LevrManager.d.ts +1281 -0
- package/dist/core/contracts/abis/LevrManager.js +1090 -0
- package/dist/core/contracts/abis/LevrManager.js.map +1 -0
- package/dist/core/contracts/abis/LevrMarketFeed.d.ts +902 -0
- package/dist/core/contracts/abis/LevrMarketFeed.js +775 -0
- package/dist/core/contracts/abis/LevrMarketFeed.js.map +1 -0
- package/dist/core/contracts/abis/LevrMarketMaker.d.ts +175 -0
- package/dist/core/contracts/abis/LevrMarketMaker.js +108 -0
- package/dist/core/contracts/abis/LevrMarketMaker.js.map +1 -0
- package/dist/core/contracts/abis/LevrMarketRiskSentinel.d.ts +682 -0
- package/dist/core/contracts/abis/LevrMarketRiskSentinel.js +323 -0
- package/dist/core/contracts/abis/LevrMarketRiskSentinel.js.map +1 -0
- package/dist/core/contracts/abis/LevrMarketRouter.d.ts +281 -0
- package/dist/core/contracts/abis/LevrMarketRouter.js +262 -0
- package/dist/core/contracts/abis/LevrMarketRouter.js.map +1 -0
- package/dist/core/contracts/abis/LevrMvpDepository.d.ts +766 -0
- package/dist/core/contracts/abis/LevrMvpDepository.js +396 -0
- package/dist/core/contracts/abis/LevrMvpDepository.js.map +1 -0
- package/dist/core/contracts/abis/LevrMvpRouter.d.ts +305 -0
- package/dist/core/contracts/abis/LevrMvpRouter.js +291 -0
- package/dist/core/contracts/abis/LevrMvpRouter.js.map +1 -0
- package/dist/core/contracts/abis/LevrMvpStaker.d.ts +746 -0
- package/dist/core/contracts/abis/LevrMvpStaker.js +386 -0
- package/dist/core/contracts/abis/LevrMvpStaker.js.map +1 -0
- package/dist/core/contracts/abis/LevrMvpToken.d.ts +341 -0
- package/dist/core/contracts/abis/LevrMvpToken.js +183 -0
- package/dist/core/contracts/abis/LevrMvpToken.js.map +1 -0
- package/dist/core/contracts/abis/LevrOrderbook.d.ts +471 -0
- package/dist/core/contracts/abis/LevrOrderbook.js +486 -0
- package/dist/core/contracts/abis/LevrOrderbook.js.map +1 -0
- package/dist/core/contracts/abis/LevrOrderbookLens.d.ts +167 -0
- package/dist/core/contracts/abis/LevrOrderbookLens.js +103 -0
- package/dist/core/contracts/abis/LevrOrderbookLens.js.map +1 -0
- package/dist/core/contracts/abis/LevrOverUnderMarket.d.ts +1054 -0
- package/dist/core/contracts/abis/LevrOverUnderMarket.js +463 -0
- package/dist/core/contracts/abis/LevrOverUnderMarket.js.map +1 -0
- package/dist/core/contracts/abis/LevrPythFeed.d.ts +225 -0
- package/dist/core/contracts/abis/LevrPythFeed.js +131 -0
- package/dist/core/contracts/abis/LevrPythFeed.js.map +1 -0
- package/dist/core/contracts/abis/LevrUtil.d.ts +485 -0
- package/dist/core/contracts/abis/LevrUtil.js +226 -0
- package/dist/core/contracts/abis/LevrUtil.js.map +1 -0
- package/dist/core/contracts/abis/Storage.d.ts +34 -0
- package/dist/core/contracts/abis/Storage.js +47 -0
- package/dist/core/contracts/abis/Storage.js.map +1 -0
- package/dist/core/contracts/abis/index.d.ts +12174 -0
- package/dist/core/contracts/abis/index.js +51 -0
- package/dist/core/contracts/abis/index.js.map +1 -0
- package/dist/core/contracts/addresses.d.ts +154 -0
- package/dist/core/contracts/addresses.js +160 -0
- package/dist/core/contracts/addresses.js.map +1 -0
- package/dist/core/contracts/chains.d.ts +4 -0
- package/dist/core/contracts/chains.js +14 -0
- package/dist/core/contracts/chains.js.map +1 -0
- package/dist/core/contracts/clients/index.d.ts +1 -0
- package/dist/core/contracts/clients/index.js +18 -0
- package/dist/core/contracts/clients/index.js.map +1 -0
- package/dist/core/contracts/clients/publicClients.d.ts +24 -0
- package/dist/core/contracts/clients/publicClients.js +123 -0
- package/dist/core/contracts/clients/publicClients.js.map +1 -0
- package/dist/core/contracts/constants.d.ts +15 -0
- package/dist/core/contracts/constants.js +30 -0
- package/dist/core/contracts/constants.js.map +1 -0
- package/dist/core/contracts/index.d.ts +6 -0
- package/dist/core/contracts/index.js +23 -0
- package/dist/core/contracts/index.js.map +1 -0
- package/dist/core/contracts/instances.d.ts +48 -0
- package/dist/core/contracts/instances.js +101 -0
- package/dist/core/contracts/instances.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.js +26 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/indexers/envio.test.query.d.ts +5 -0
- package/dist/core/indexers/envio.test.query.js +32 -0
- package/dist/core/indexers/envio.test.query.js.map +1 -0
- package/dist/core/indexers/index.d.ts +1 -0
- package/dist/core/indexers/index.js +18 -0
- package/dist/core/indexers/index.js.map +1 -0
- package/dist/core/indexers/indexers.service.d.ts +19 -0
- package/dist/core/indexers/indexers.service.js +104 -0
- package/dist/core/indexers/indexers.service.js.map +1 -0
- package/dist/core/indexers/subsquid.test.query.d.ts +4 -0
- package/dist/core/indexers/subsquid.test.query.js +42 -0
- package/dist/core/indexers/subsquid.test.query.js.map +1 -0
- package/dist/core/prisma/index.d.ts +1 -0
- package/dist/core/prisma/index.js +21 -0
- package/dist/core/prisma/index.js.map +1 -0
- package/dist/core/prisma/schema.prisma +360 -0
- package/dist/core/privy/constants.d.ts +19 -0
- package/dist/core/privy/constants.js +28 -0
- package/dist/core/privy/constants.js.map +1 -0
- package/dist/core/privy/index.d.ts +1 -0
- package/dist/core/privy/index.js +18 -0
- package/dist/core/privy/index.js.map +1 -0
- package/dist/core/socket.io/events.d.ts +20 -0
- package/dist/core/socket.io/events.js +20 -0
- package/dist/core/socket.io/events.js.map +1 -0
- package/dist/core/socket.io/index.d.ts +2 -0
- package/dist/core/socket.io/index.js +19 -0
- package/dist/core/socket.io/index.js.map +1 -0
- package/dist/core/socket.io/rooms.d.ts +6 -0
- package/dist/core/socket.io/rooms.js +10 -0
- package/dist/core/socket.io/rooms.js.map +1 -0
- package/dist/core/types/auth/auth.types.d.ts +31 -0
- package/dist/core/types/auth/auth.types.js +15 -0
- package/dist/core/types/auth/auth.types.js.map +1 -0
- package/dist/core/types/auth/index.d.ts +2 -0
- package/dist/core/types/auth/index.js +19 -0
- package/dist/core/types/auth/index.js.map +1 -0
- package/dist/core/types/auth/request.types.d.ts +19 -0
- package/dist/core/types/auth/request.types.js +15 -0
- package/dist/core/types/auth/request.types.js.map +1 -0
- package/dist/core/types/blockchain/chains.types.d.ts +3 -0
- package/dist/core/types/blockchain/chains.types.js +8 -0
- package/dist/core/types/blockchain/chains.types.js.map +1 -0
- package/dist/core/types/blockchain/contract.types.d.ts +8 -0
- package/dist/core/types/blockchain/contract.types.js +13 -0
- package/dist/core/types/blockchain/contract.types.js.map +1 -0
- package/dist/core/types/blockchain/index.d.ts +3 -0
- package/dist/core/types/blockchain/index.js +20 -0
- package/dist/core/types/blockchain/index.js.map +1 -0
- package/dist/core/types/blockchain/oz.relayer.types.d.ts +7 -0
- package/dist/core/types/blockchain/oz.relayer.types.js +13 -0
- package/dist/core/types/blockchain/oz.relayer.types.js.map +1 -0
- package/dist/core/types/index.d.ts +6 -0
- package/dist/core/types/index.js +23 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/indexers.types.d.ts +4 -0
- package/dist/core/types/indexers.types.js +9 -0
- package/dist/core/types/indexers.types.js.map +1 -0
- package/dist/core/types/misc.types.d.ts +6 -0
- package/dist/core/types/misc.types.js +11 -0
- package/dist/core/types/misc.types.js.map +1 -0
- package/dist/core/types/oracle/fixture.types.d.ts +75 -0
- package/dist/core/types/oracle/fixture.types.js +4 -0
- package/dist/core/types/oracle/fixture.types.js.map +1 -0
- package/dist/core/types/oracle/game/game.types.d.ts +108 -0
- package/dist/core/types/oracle/game/game.types.js +64 -0
- package/dist/core/types/oracle/game/game.types.js.map +1 -0
- package/dist/core/types/oracle/game/index.d.ts +2 -0
- package/dist/core/types/oracle/game/index.js +19 -0
- package/dist/core/types/oracle/game/index.js.map +1 -0
- package/dist/core/types/oracle/game/zod.game.types.d.ts +31 -0
- package/dist/core/types/oracle/game/zod.game.types.js +22 -0
- package/dist/core/types/oracle/game/zod.game.types.js.map +1 -0
- package/dist/core/types/oracle/index.d.ts +4 -0
- package/dist/core/types/oracle/index.js +21 -0
- package/dist/core/types/oracle/index.js.map +1 -0
- package/dist/core/types/oracle/market/index.d.ts +3 -0
- package/dist/core/types/oracle/market/index.js +20 -0
- package/dist/core/types/oracle/market/index.js.map +1 -0
- package/dist/core/types/oracle/market/markets.types.d.ts +95 -0
- package/dist/core/types/oracle/market/markets.types.js +35 -0
- package/dist/core/types/oracle/market/markets.types.js.map +1 -0
- package/dist/core/types/oracle/market/odds.types.d.ts +14 -0
- package/dist/core/types/oracle/market/odds.types.js +3 -0
- package/dist/core/types/oracle/market/odds.types.js.map +1 -0
- package/dist/core/types/oracle/market/positions.types.d.ts +57 -0
- package/dist/core/types/oracle/market/positions.types.js +3 -0
- package/dist/core/types/oracle/market/positions.types.js.map +1 -0
- package/dist/core/types/oracle/requests/game.request.types.d.ts +170 -0
- package/dist/core/types/oracle/requests/game.request.types.js +126 -0
- package/dist/core/types/oracle/requests/game.request.types.js.map +1 -0
- package/dist/core/types/oracle/requests/game.response.types.d.ts +8 -0
- package/dist/core/types/oracle/requests/game.response.types.js +3 -0
- package/dist/core/types/oracle/requests/game.response.types.js.map +1 -0
- package/dist/core/types/oracle/requests/index.d.ts +5 -0
- package/dist/core/types/oracle/requests/index.js +22 -0
- package/dist/core/types/oracle/requests/index.js.map +1 -0
- package/dist/core/types/oracle/requests/market.request.types.d.ts +63 -0
- package/dist/core/types/oracle/requests/market.request.types.js +41 -0
- package/dist/core/types/oracle/requests/market.request.types.js.map +1 -0
- package/dist/core/types/oracle/requests/odds.response.types.d.ts +2 -0
- package/dist/core/types/oracle/requests/odds.response.types.js +3 -0
- package/dist/core/types/oracle/requests/odds.response.types.js.map +1 -0
- package/dist/core/types/oracle/requests/user.request.type.d.ts +4 -0
- package/dist/core/types/oracle/requests/user.request.type.js +3 -0
- package/dist/core/types/oracle/requests/user.request.type.js.map +1 -0
- package/dist/core/types/privy.types.d.ts +4 -0
- package/dist/core/types/privy.types.js +9 -0
- package/dist/core/types/privy.types.js.map +1 -0
- package/dist/core/utils/converters.utils.d.ts +29 -0
- package/dist/core/utils/converters.utils.js +97 -0
- package/dist/core/utils/converters.utils.js.map +1 -0
- package/dist/core/utils/game.utils.d.ts +4 -0
- package/dist/core/utils/game.utils.js +79 -0
- package/dist/core/utils/game.utils.js.map +1 -0
- package/dist/core/utils/index.d.ts +4 -0
- package/dist/core/utils/index.js +21 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/misc.utils.d.ts +14 -0
- package/dist/core/utils/misc.utils.js +33 -0
- package/dist/core/utils/misc.utils.js.map +1 -0
- package/dist/core/utils/position.utils.d.ts +18 -0
- package/dist/core/utils/position.utils.js +68 -0
- package/dist/core/utils/position.utils.js.map +1 -0
- package/dist/core/validators/bytes.validators.d.ts +32 -0
- package/dist/core/validators/bytes.validators.js +47 -0
- package/dist/core/validators/bytes.validators.js.map +1 -0
- package/dist/core/validators/index.d.ts +2 -0
- package/dist/core/validators/index.js +19 -0
- package/dist/core/validators/index.js.map +1 -0
- package/dist/core/validators/mongo.validators.d.ts +2 -0
- package/dist/core/validators/mongo.validators.js +10 -0
- package/dist/core/validators/mongo.validators.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/react/hooks/auth/index.d.ts +1 -0
- package/dist/react/hooks/auth/index.js +18 -0
- package/dist/react/hooks/auth/index.js.map +1 -0
- package/dist/react/hooks/auth/useAuthHeaders.d.ts +45 -0
- package/dist/react/hooks/auth/useAuthHeaders.js +58 -0
- package/dist/react/hooks/auth/useAuthHeaders.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/index.d.ts +6 -0
- package/dist/react/hooks/contracts/erc20/index.js +23 -0
- package/dist/react/hooks/contracts/erc20/index.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.d.ts +13 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.js +28 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.d.ts +10 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.js +34 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.d.ts +22 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.js +95 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.d.ts +8 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.js +28 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.d.ts +8 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.js +28 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.d.ts +13 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.js +31 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.js.map +1 -0
- package/dist/react/hooks/contracts/index.d.ts +3 -0
- package/dist/react/hooks/contracts/index.js +20 -0
- package/dist/react/hooks/contracts/index.js.map +1 -0
- package/dist/react/hooks/contracts/useContracts.d.ts +120 -0
- package/dist/react/hooks/contracts/useContracts.js +81 -0
- package/dist/react/hooks/contracts/useContracts.js.map +1 -0
- package/dist/react/hooks/contracts/useLevrMarketContractAddresses.d.ts +3 -0
- package/dist/react/hooks/contracts/useLevrMarketContractAddresses.js +27 -0
- package/dist/react/hooks/contracts/useLevrMarketContractAddresses.js.map +1 -0
- package/dist/react/hooks/index.d.ts +2 -0
- package/dist/react/hooks/index.js +19 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/index.d.ts +6 -0
- package/dist/react/index.js +23 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/injectedDependencies.d.ts +78 -0
- package/dist/react/injectedDependencies.js +94 -0
- package/dist/react/injectedDependencies.js.map +1 -0
- package/dist/react/queryClient.d.ts +9 -0
- package/dist/react/queryClient.js +13 -0
- package/dist/react/queryClient.js.map +1 -0
- package/dist/react/queryKeys.d.ts +17 -0
- package/dist/react/queryKeys.js +23 -0
- package/dist/react/queryKeys.js.map +1 -0
- package/dist/react/types/contracts.types.d.ts +4 -0
- package/dist/react/types/contracts.types.js +3 -0
- package/dist/react/types/contracts.types.js.map +1 -0
- package/dist/react/types/index.d.ts +1 -0
- package/dist/react/types/index.js +18 -0
- package/dist/react/types/index.js.map +1 -0
- package/dist/server/config/cloudflare.d.ts +30 -0
- package/dist/server/config/cloudflare.js +45 -0
- package/dist/server/config/cloudflare.js.map +1 -0
- package/dist/server/config/constants.d.ts +1 -0
- package/dist/server/config/constants.js +7 -0
- package/dist/server/config/constants.js.map +1 -0
- package/dist/server/config/dotenv.d.ts +35 -0
- package/dist/server/config/dotenv.js +42 -0
- package/dist/server/config/dotenv.js.map +1 -0
- package/dist/server/config/index.d.ts +9 -0
- package/dist/server/config/index.js +31 -0
- package/dist/server/config/index.js.map +1 -0
- package/dist/server/config/kms.d.ts +22 -0
- package/dist/server/config/kms.js +54 -0
- package/dist/server/config/kms.js.map +1 -0
- package/dist/server/config/prisma.d.ts +20 -0
- package/dist/server/config/prisma.js +40 -0
- package/dist/server/config/prisma.js.map +1 -0
- package/dist/server/config/redis.d.ts +57 -0
- package/dist/server/config/redis.js +121 -0
- package/dist/server/config/redis.js.map +1 -0
- package/dist/server/config/urls.d.ts +49 -0
- package/dist/server/config/urls.js +7 -0
- package/dist/server/config/urls.js.map +1 -0
- package/dist/server/config/winston.d.ts +3 -0
- package/dist/server/config/winston.js +14 -0
- package/dist/server/config/winston.js.map +1 -0
- package/dist/server/contracts/clients/index.d.ts +1 -0
- package/dist/server/contracts/clients/index.js +18 -0
- package/dist/server/contracts/clients/index.js.map +1 -0
- package/dist/server/contracts/clients/ozRelayerService.d.ts +18 -0
- package/dist/server/contracts/clients/ozRelayerService.js +167 -0
- package/dist/server/contracts/clients/ozRelayerService.js.map +1 -0
- package/dist/server/contracts/index.d.ts +2 -0
- package/dist/server/contracts/index.js +19 -0
- package/dist/server/contracts/index.js.map +1 -0
- package/dist/server/contracts/instances.d.ts +20 -0
- package/dist/server/contracts/instances.js +28 -0
- package/dist/server/contracts/instances.js.map +1 -0
- package/dist/server/index.d.ts +11 -0
- package/dist/server/index.js +36 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/instrumentation.d.ts +9 -0
- package/dist/server/instrumentation.js +37 -0
- package/dist/server/instrumentation.js.map +1 -0
- package/dist/server/liquidation-engine/index.d.ts +3 -0
- package/dist/server/liquidation-engine/index.js +20 -0
- package/dist/server/liquidation-engine/index.js.map +1 -0
- package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.d.ts +10 -0
- package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.js +15 -0
- package/dist/server/liquidation-engine/redis.cache.manager/cache.keys.util.js.map +1 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.d.ts +124 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js +242 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js.map +1 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.d.ts +1 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js +115 -0
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js.map +1 -0
- package/dist/server/liquidation-engine/types/index.d.ts +1 -0
- package/dist/server/liquidation-engine/types/index.js +3 -0
- package/dist/server/liquidation-engine/types/index.js.map +1 -0
- package/dist/server/middleware/auth/cloudflare.handler.d.ts +6 -0
- package/dist/server/middleware/auth/cloudflare.handler.js +37 -0
- package/dist/server/middleware/auth/cloudflare.handler.js.map +1 -0
- package/dist/server/middleware/auth/hmac.handler.d.ts +11 -0
- package/dist/server/middleware/auth/hmac.handler.js +157 -0
- package/dist/server/middleware/auth/hmac.handler.js.map +1 -0
- package/dist/server/middleware/auth/index.d.ts +3 -0
- package/dist/server/middleware/auth/index.js +20 -0
- package/dist/server/middleware/auth/index.js.map +1 -0
- package/dist/server/middleware/auth/privy.handler.d.ts +7 -0
- package/dist/server/middleware/auth/privy.handler.js +31 -0
- package/dist/server/middleware/auth/privy.handler.js.map +1 -0
- package/dist/server/middleware/index.d.ts +2 -0
- package/dist/server/middleware/index.js +19 -0
- package/dist/server/middleware/index.js.map +1 -0
- package/dist/server/middleware/multiAuth.examples.d.ts +46 -0
- package/dist/server/middleware/multiAuth.examples.js +123 -0
- package/dist/server/middleware/multiAuth.examples.js.map +1 -0
- package/dist/server/middleware/multiAuth.middleware.d.ts +30 -0
- package/dist/server/middleware/multiAuth.middleware.js +90 -0
- package/dist/server/middleware/multiAuth.middleware.js.map +1 -0
- package/dist/server/middleware/rateLimit.middleware.d.ts +1 -0
- package/dist/server/middleware/rateLimit.middleware.js +19 -0
- package/dist/server/middleware/rateLimit.middleware.js.map +1 -0
- package/dist/server/oracle/index.d.ts +3 -0
- package/dist/server/oracle/index.js +20 -0
- package/dist/server/oracle/index.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.d.ts +90 -0
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js +147 -0
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/channels.d.ts +2 -0
- package/dist/server/oracle/redis-cache-manager/channels.js +11 -0
- package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/game.cache.service.d.ts +184 -0
- package/dist/server/oracle/redis-cache-manager/game.cache.service.js +698 -0
- package/dist/server/oracle/redis-cache-manager/game.cache.service.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/index.d.ts +4 -0
- package/dist/server/oracle/redis-cache-manager/index.js +21 -0
- package/dist/server/oracle/redis-cache-manager/index.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/market.cache.service.d.ts +115 -0
- package/dist/server/oracle/redis-cache-manager/market.cache.service.js +279 -0
- package/dist/server/oracle/redis-cache-manager/market.cache.service.js.map +1 -0
- package/dist/server/oracle/rmq-manager/base.queue.manager.d.ts +21 -0
- package/dist/server/oracle/rmq-manager/base.queue.manager.js +128 -0
- package/dist/server/oracle/rmq-manager/base.queue.manager.js.map +1 -0
- package/dist/server/oracle/rmq-manager/index.d.ts +2 -0
- package/dist/server/oracle/rmq-manager/index.js +19 -0
- package/dist/server/oracle/rmq-manager/index.js.map +1 -0
- package/dist/server/oracle/rmq-manager/queue.configs.d.ts +5 -0
- package/dist/server/oracle/rmq-manager/queue.configs.js +38 -0
- package/dist/server/oracle/rmq-manager/queue.configs.js.map +1 -0
- package/dist/server/oracle/types/index.d.ts +2 -0
- package/dist/server/oracle/types/index.js +19 -0
- package/dist/server/oracle/types/index.js.map +1 -0
- package/dist/server/oracle/types/providers/index.d.ts +4 -0
- package/dist/server/oracle/types/providers/index.js +21 -0
- package/dist/server/oracle/types/providers/index.js.map +1 -0
- package/dist/server/oracle/types/providers/lsports.types.d.ts +148 -0
- package/dist/server/oracle/types/providers/lsports.types.js +13 -0
- package/dist/server/oracle/types/providers/lsports.types.js.map +1 -0
- package/dist/server/oracle/types/providers/optic.odds.types.d.ts +293 -0
- package/dist/server/oracle/types/providers/optic.odds.types.js +140 -0
- package/dist/server/oracle/types/providers/optic.odds.types.js.map +1 -0
- package/dist/server/oracle/types/providers/providers.types.d.ts +5 -0
- package/dist/server/oracle/types/providers/providers.types.js +10 -0
- package/dist/server/oracle/types/providers/providers.types.js.map +1 -0
- package/dist/server/oracle/types/providers/rundown.types.d.ts +194 -0
- package/dist/server/oracle/types/providers/rundown.types.js +22 -0
- package/dist/server/oracle/types/providers/rundown.types.js.map +1 -0
- package/dist/server/oracle/types/queue/index.d.ts +2 -0
- package/dist/server/oracle/types/queue/index.js +19 -0
- package/dist/server/oracle/types/queue/index.js.map +1 -0
- package/dist/server/oracle/types/queue/queue.constant.d.ts +10 -0
- package/dist/server/oracle/types/queue/queue.constant.js +14 -0
- package/dist/server/oracle/types/queue/queue.constant.js.map +1 -0
- package/dist/server/oracle/types/queue/queue.types.d.ts +5 -0
- package/dist/server/oracle/types/queue/queue.types.js +3 -0
- package/dist/server/oracle/types/queue/queue.types.js.map +1 -0
- package/dist/server/prisma/index.d.ts +2 -0
- package/dist/server/prisma/index.js +24 -0
- package/dist/server/prisma/index.js.map +1 -0
- package/dist/server/repositories/apiKey.repository.d.ts +7 -0
- package/dist/server/repositories/apiKey.repository.js +19 -0
- package/dist/server/repositories/apiKey.repository.js.map +1 -0
- package/dist/server/repositories/index.d.ts +1 -0
- package/dist/server/repositories/index.js +18 -0
- package/dist/server/repositories/index.js.map +1 -0
- package/dist/server/services/cloudflare.service.d.ts +12 -0
- package/dist/server/services/cloudflare.service.js +24 -0
- package/dist/server/services/cloudflare.service.js.map +1 -0
- package/dist/server/services/crypto.service.d.ts +17 -0
- package/dist/server/services/crypto.service.js +50 -0
- package/dist/server/services/crypto.service.js.map +1 -0
- package/dist/server/services/hmac.service.d.ts +52 -0
- package/dist/server/services/hmac.service.js +115 -0
- package/dist/server/services/hmac.service.js.map +1 -0
- package/dist/server/services/index.d.ts +5 -0
- package/dist/server/services/index.js +22 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/presigned.urls.d.ts +11 -0
- package/dist/server/services/presigned.urls.js +41 -0
- package/dist/server/services/presigned.urls.js.map +1 -0
- package/dist/server/services/privy.service.d.ts +30 -0
- package/dist/server/services/privy.service.js +122 -0
- package/dist/server/services/privy.service.js.map +1 -0
- package/dist/server/test-relayers.d.ts +1 -0
- package/dist/server/test-relayers.js +17 -0
- package/dist/server/test-relayers.js.map +1 -0
- package/dist/server/types/auth.types.d.ts +8 -0
- package/dist/server/types/auth.types.js +3 -0
- package/dist/server/types/auth.types.js.map +1 -0
- package/dist/server/types/global.types.d.ts +35 -0
- package/dist/server/types/global.types.js +4 -0
- package/dist/server/types/global.types.js.map +1 -0
- package/dist/server/types/index.d.ts +2 -0
- package/dist/server/types/index.js +19 -0
- package/dist/server/types/index.js.map +1 -0
- package/dist/server/utils/express.utils.d.ts +24 -0
- package/dist/server/utils/express.utils.js +36 -0
- package/dist/server/utils/express.utils.js.map +1 -0
- package/dist/server/utils/index.d.ts +2 -0
- package/dist/server/utils/index.js +19 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/tracing/index.d.ts +2 -0
- package/dist/server/utils/tracing/index.js +19 -0
- package/dist/server/utils/tracing/index.js.map +1 -0
- package/dist/server/utils/tracing/trace.d.ts +12 -0
- package/dist/server/utils/tracing/trace.js +50 -0
- package/dist/server/utils/tracing/trace.js.map +1 -0
- package/dist/server/utils/tracing/wrap.module.with.tracing.d.ts +126 -0
- package/dist/server/utils/tracing/wrap.module.with.tracing.js +202 -0
- package/dist/server/utils/tracing/wrap.module.with.tracing.js.map +1 -0
- package/package.json +126 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { JWTVerifyGetKey } from "jose";
|
|
2
|
+
export interface CloudflareConfigData {
|
|
3
|
+
jwks: JWTVerifyGetKey;
|
|
4
|
+
issuer: string;
|
|
5
|
+
audience: string;
|
|
6
|
+
}
|
|
7
|
+
declare class CloudflareConfig {
|
|
8
|
+
private jwks;
|
|
9
|
+
private _config;
|
|
10
|
+
private initialized;
|
|
11
|
+
/**
|
|
12
|
+
* Initialize Cloudflare configuration from environment variables.
|
|
13
|
+
* Must be called before using cloudflareAuthService.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Loads from CLOUDFLARE_JWK_URL, CLOUDFLARE_ISSUER, CLOUDFLARE_AUDIENCE env vars
|
|
18
|
+
* cloudflareConfig.init()
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
init(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Get the Cloudflare configuration data.
|
|
24
|
+
*
|
|
25
|
+
* @throws Error if CloudflareConfig has not been initialized
|
|
26
|
+
*/
|
|
27
|
+
get config(): CloudflareConfigData;
|
|
28
|
+
}
|
|
29
|
+
export declare const cloudflareConfig: CloudflareConfig;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloudflareConfig = void 0;
|
|
4
|
+
const jose_1 = require("jose");
|
|
5
|
+
const core_1 = require("../../core");
|
|
6
|
+
const dotenv_1 = require("./dotenv");
|
|
7
|
+
class CloudflareConfig {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.jwks = null;
|
|
10
|
+
this._config = null;
|
|
11
|
+
this.initialized = false;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Initialize Cloudflare configuration from environment variables.
|
|
15
|
+
* Must be called before using cloudflareAuthService.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Loads from CLOUDFLARE_JWK_URL, CLOUDFLARE_ISSUER, CLOUDFLARE_AUDIENCE env vars
|
|
20
|
+
* cloudflareConfig.init()
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
init() {
|
|
24
|
+
this._config = core_1.Config.init(dotenv_1.cloudflareSchema);
|
|
25
|
+
this.jwks = (0, jose_1.createRemoteJWKSet)(new URL(this._config.CLOUDFLARE_JWK_URL));
|
|
26
|
+
this.initialized = true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the Cloudflare configuration data.
|
|
30
|
+
*
|
|
31
|
+
* @throws Error if CloudflareConfig has not been initialized
|
|
32
|
+
*/
|
|
33
|
+
get config() {
|
|
34
|
+
if (!this.initialized || !this.jwks || !this._config) {
|
|
35
|
+
throw new Error("CloudflareConfig not initialized. Call cloudflareConfig.init() before use.");
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
jwks: this.jwks,
|
|
39
|
+
issuer: this._config.CLOUDFLARE_ISSUER,
|
|
40
|
+
audience: this._config.CLOUDFLARE_AUDIENCE,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.cloudflareConfig = new CloudflareConfig();
|
|
45
|
+
//# sourceMappingURL=cloudflare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../../src/server/config/cloudflare.ts"],"names":[],"mappings":";;;AACA,+BAAyC;AACzC,qCAAmC;AACnC,qCAA2C;AAc3C,MAAM,gBAAgB;IAAtB;QACY,SAAI,GAAiD,IAAI,CAAA;QACzD,YAAO,GAAgC,IAAI,CAAA;QAC3C,gBAAW,GAAG,KAAK,CAAA;IAkC/B,CAAC;IAhCG;;;;;;;;;OASG;IACH,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,aAAM,CAAC,IAAI,CAAC,yBAAgB,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QACjG,CAAC;QAED,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACtC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;SAC7C,CAAA;IACL,CAAC;CACJ;AAEY,QAAA,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const supportedChainIds: import("../../core").LevrChain[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supportedChainIds = void 0;
|
|
4
|
+
const core_1 = require("../../core");
|
|
5
|
+
const dotenv_1 = require("./dotenv");
|
|
6
|
+
exports.supportedChainIds = (0, core_1.getSupportedChainIds)(dotenv_1.LEVR_ENV);
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/server/config/constants.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AACjD,qCAAmC;AAEtB,QAAA,iBAAiB,GAAG,IAAA,2BAAoB,EAAC,iBAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "dotenv/config";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { LevrEnv } from "../../core";
|
|
4
|
+
export declare const opentelemetrySchema: z.ZodObject<{
|
|
5
|
+
OTEL_EXPORTER_OTLP_HEADERS: z.ZodString;
|
|
6
|
+
OTEL_EXPORTER_OTLP_ENDPOINT: z.ZodString;
|
|
7
|
+
OTEL_SERVICE_NAME: z.ZodString;
|
|
8
|
+
OTEL_SERVICE_VERSION: z.ZodString;
|
|
9
|
+
LEVR_ENV: z.ZodEnum<typeof LevrEnv>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const LEVR_ENV: LevrEnv;
|
|
12
|
+
export declare const awsCredsSchema: z.ZodObject<{
|
|
13
|
+
AWS_ACCESS_KEY_ID: z.ZodString;
|
|
14
|
+
AWS_SECRET_ACCESS_KEY: z.ZodString;
|
|
15
|
+
AWS_REGION: z.ZodDefault<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const cloudflareSchema: z.ZodObject<{
|
|
18
|
+
CLOUDFLARE_JWK_URL: z.ZodURL;
|
|
19
|
+
CLOUDFLARE_ISSUER: z.ZodString;
|
|
20
|
+
CLOUDFLARE_AUDIENCE: z.ZodString;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const mongoSchema: z.ZodObject<{
|
|
23
|
+
MONGO_URI: z.ZodURL;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const redisSchema: z.ZodObject<{
|
|
26
|
+
REDIS_URL: z.ZodURL;
|
|
27
|
+
REDIS_REPLICA_ENDPOINTS: z.ZodDefault<z.ZodString>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
export declare const relayerSchema: z.ZodObject<{
|
|
30
|
+
RELAYER_ACCESS_TOKEN: z.ZodUUID;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const serviceHmacSchema: z.ZodObject<{
|
|
33
|
+
SERVICE_API_KEY_ID: z.ZodString;
|
|
34
|
+
SERVICE_API_KEY_SECRET: z.ZodString;
|
|
35
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serviceHmacSchema = exports.relayerSchema = exports.redisSchema = exports.mongoSchema = exports.cloudflareSchema = exports.awsCredsSchema = exports.LEVR_ENV = exports.opentelemetrySchema = void 0;
|
|
4
|
+
require("dotenv/config");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
exports.opentelemetrySchema = zod_1.z.object({
|
|
8
|
+
OTEL_EXPORTER_OTLP_HEADERS: zod_1.z.string().min(1),
|
|
9
|
+
OTEL_EXPORTER_OTLP_ENDPOINT: zod_1.z.string().min(1),
|
|
10
|
+
OTEL_SERVICE_NAME: zod_1.z.string().min(1),
|
|
11
|
+
OTEL_SERVICE_VERSION: zod_1.z.string().min(1),
|
|
12
|
+
LEVR_ENV: zod_1.z.enum(core_1.LevrEnv),
|
|
13
|
+
});
|
|
14
|
+
const levrSharedSchema = zod_1.z.object({
|
|
15
|
+
LEVR_ENV: zod_1.z.enum(core_1.LevrEnv),
|
|
16
|
+
});
|
|
17
|
+
exports.LEVR_ENV = core_1.Config.init(levrSharedSchema).LEVR_ENV;
|
|
18
|
+
exports.awsCredsSchema = zod_1.z.object({
|
|
19
|
+
AWS_ACCESS_KEY_ID: zod_1.z.string().min(1, "AWS_ACCESS_KEY_ID is required"),
|
|
20
|
+
AWS_SECRET_ACCESS_KEY: zod_1.z.string().min(1, "AWS_SECRET_ACCESS_KEY is required"),
|
|
21
|
+
AWS_REGION: zod_1.z.string().default("ap-south-1"),
|
|
22
|
+
});
|
|
23
|
+
exports.cloudflareSchema = zod_1.z.object({
|
|
24
|
+
CLOUDFLARE_JWK_URL: zod_1.z.url("CLOUDFLARE_JWK_URL must be a valid URL"),
|
|
25
|
+
CLOUDFLARE_ISSUER: zod_1.z.string().min(1, "CLOUDFLARE_ISSUER is required"),
|
|
26
|
+
CLOUDFLARE_AUDIENCE: zod_1.z.string().min(1, "CLOUDFLARE_AUDIENCE is required"),
|
|
27
|
+
});
|
|
28
|
+
exports.mongoSchema = zod_1.z.object({
|
|
29
|
+
MONGO_URI: zod_1.z.url("MONGO_URI must be a valid URI"),
|
|
30
|
+
});
|
|
31
|
+
exports.redisSchema = zod_1.z.object({
|
|
32
|
+
REDIS_URL: zod_1.z.url("REDIS_URL must be a valid URI"),
|
|
33
|
+
REDIS_REPLICA_ENDPOINTS: core_1.commaSeparatedUrlsSchema,
|
|
34
|
+
});
|
|
35
|
+
exports.relayerSchema = zod_1.z.object({
|
|
36
|
+
RELAYER_ACCESS_TOKEN: zod_1.z.uuid(),
|
|
37
|
+
});
|
|
38
|
+
exports.serviceHmacSchema = zod_1.z.object({
|
|
39
|
+
SERVICE_API_KEY_ID: zod_1.z.string().min(1, "SERVICE_API_KEY_ID is required"),
|
|
40
|
+
SERVICE_API_KEY_SECRET: zod_1.z.string().min(1, "SERVICE_API_KEY_SECRET is required"),
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=dotenv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotenv.js","sourceRoot":"","sources":["../../../src/server/config/dotenv.ts"],"names":[],"mappings":";;;AAAA,yBAAsB;AACtB,6BAAuB;AACvB,qCAAsE;AAEzD,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,0BAA0B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,2BAA2B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,cAAO,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,cAAO,CAAC;CAC5B,CAAC,CAAA;AACa,gBAAQ,GAAK,aAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAA;AAE5C,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IACrE,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;IAC7E,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;CAC/C,CAAC,CAAA;AAEW,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,OAAC,CAAC,GAAG,CAAC,wCAAwC,CAAC;IACnE,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IACrE,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;CAC5E,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,OAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC;CACpD,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,OAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC;IACjD,uBAAuB,EAAE,+BAAwB;CACpD,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,oBAAoB,EAAE,OAAC,CAAC,IAAI,EAAE;CACjC,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;IACvE,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oCAAoC,CAAC;CAClF,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./cloudflare";
|
|
2
|
+
export * from "./constants";
|
|
3
|
+
export * from "./dotenv";
|
|
4
|
+
export * from "./kms";
|
|
5
|
+
export * from "./prisma";
|
|
6
|
+
export * from "./redis";
|
|
7
|
+
export * from "./urls";
|
|
8
|
+
export * from "./winston";
|
|
9
|
+
export { default as logger } from "./winston";
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.logger = void 0;
|
|
21
|
+
__exportStar(require("./cloudflare"), exports);
|
|
22
|
+
__exportStar(require("./constants"), exports);
|
|
23
|
+
__exportStar(require("./dotenv"), exports);
|
|
24
|
+
__exportStar(require("./kms"), exports);
|
|
25
|
+
__exportStar(require("./prisma"), exports);
|
|
26
|
+
__exportStar(require("./redis"), exports);
|
|
27
|
+
__exportStar(require("./urls"), exports);
|
|
28
|
+
__exportStar(require("./winston"), exports);
|
|
29
|
+
var winston_1 = require("./winston");
|
|
30
|
+
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return __importDefault(winston_1).default; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,8CAA2B;AAC3B,2CAAwB;AACxB,wCAAqB;AACrB,2CAAwB;AACxB,0CAAuB;AACvB,yCAAsB;AACtB,4CAAyB;AACzB,qCAA6C;AAApC,kHAAA,OAAO,OAAU"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { KMSClient } from "@aws-sdk/client-kms";
|
|
2
|
+
declare class KmsClientManager {
|
|
3
|
+
private _client;
|
|
4
|
+
private initialized;
|
|
5
|
+
private kmsKeyIds;
|
|
6
|
+
KeyId: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes the KMS client for AWS cryptographic operations.
|
|
9
|
+
*
|
|
10
|
+
* **Note:** Not all services that use this package require AWS KMS, so initialization is opt-in.
|
|
11
|
+
* Call this method explicitly before using the KMS client to avoid initialization errors.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* kmsClientManager.init();
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
init(): import("winston").Logger | undefined;
|
|
19
|
+
get client(): KMSClient;
|
|
20
|
+
}
|
|
21
|
+
export declare const kmsClientManager: KmsClientManager;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
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.kmsClientManager = void 0;
|
|
7
|
+
const client_kms_1 = require("@aws-sdk/client-kms");
|
|
8
|
+
const core_1 = require("../../core");
|
|
9
|
+
const dotenv_1 = require("./dotenv");
|
|
10
|
+
const winston_1 = __importDefault(require("./winston"));
|
|
11
|
+
class KmsClientManager {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._client = null;
|
|
14
|
+
this.initialized = false;
|
|
15
|
+
this.kmsKeyIds = {
|
|
16
|
+
[core_1.LevrEnv.LOCAL]: "b6050d0f-be5b-418c-9056-c53c1d982dec",
|
|
17
|
+
[core_1.LevrEnv.DEV]: "b6050d0f-be5b-418c-9056-c53c1d982dec",
|
|
18
|
+
[core_1.LevrEnv.STAGING]: "b6050d0f-be5b-418c-9056-c53c1d982dec",
|
|
19
|
+
[core_1.LevrEnv.PROD]: "b6050d0f-be5b-418c-9056-c53c1d982dec",
|
|
20
|
+
};
|
|
21
|
+
this.KeyId = this.kmsKeyIds[dotenv_1.LEVR_ENV];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Initializes the KMS client for AWS cryptographic operations.
|
|
25
|
+
*
|
|
26
|
+
* **Note:** Not all services that use this package require AWS KMS, so initialization is opt-in.
|
|
27
|
+
* Call this method explicitly before using the KMS client to avoid initialization errors.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* kmsClientManager.init();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
init() {
|
|
35
|
+
if (this.initialized)
|
|
36
|
+
return winston_1.default.info("KmsClientManager already initialized, skipping...");
|
|
37
|
+
this.initialized = true;
|
|
38
|
+
const { AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION } = core_1.Config.init(dotenv_1.awsCredsSchema);
|
|
39
|
+
this._client = new client_kms_1.KMSClient({
|
|
40
|
+
region: AWS_REGION,
|
|
41
|
+
credentials: {
|
|
42
|
+
accessKeyId: AWS_ACCESS_KEY_ID,
|
|
43
|
+
secretAccessKey: AWS_SECRET_ACCESS_KEY,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
get client() {
|
|
48
|
+
if (!this._client)
|
|
49
|
+
throw new Error("KmsClientManager is not initialized. Call init() first.");
|
|
50
|
+
return this._client;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.kmsClientManager = new KmsClientManager();
|
|
54
|
+
//# sourceMappingURL=kms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kms.js","sourceRoot":"","sources":["../../../src/server/config/kms.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA+C;AAC/C,qCAA4C;AAC5C,qCAAmD;AACnD,wDAA8B;AAE9B,MAAM,gBAAgB;IAAtB;QACY,YAAO,GAAqB,IAAI,CAAA;QAChC,gBAAW,GAAG,KAAK,CAAA;QACnB,cAAS,GAAG;YAChB,CAAC,cAAO,CAAC,KAAK,CAAC,EAAE,sCAAsC;YACvD,CAAC,cAAO,CAAC,GAAG,CAAC,EAAE,sCAAsC;YACrD,CAAC,cAAO,CAAC,OAAO,CAAC,EAAE,sCAAsC;YACzD,CAAC,cAAO,CAAC,IAAI,CAAC,EAAE,sCAAsC;SACzD,CAAA;QACD,UAAK,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAQ,CAAC,CAAA;IAiCpC,CAAC;IA/BG;;;;;;;;;;OAUG;IACH,IAAI;QACA,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,iBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QAE7F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,aAAM,CAAC,IAAI,CAAC,uBAAc,CAAC,CAAA;QAE5F,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAS,CAAC;YACzB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE;gBACT,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,qBAAqB;aACzC;SACJ,CAAC,CAAA;IACN,CAAC;IAED,IAAI,MAAM;QACN,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;CACJ;AAEY,QAAA,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PrismaClient } from "../../core";
|
|
2
|
+
declare class PrismaClientManager {
|
|
3
|
+
private prisma;
|
|
4
|
+
private initialized;
|
|
5
|
+
/**
|
|
6
|
+
* Initializes the Prisma client for database operations.
|
|
7
|
+
*
|
|
8
|
+
* **Note:** Not all services that use this package require MongoDB, so initialization is opt-in.
|
|
9
|
+
* Call this method explicitly before using the Prisma client to avoid initialization errors.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* prismaClientManager.init();
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
init(): void;
|
|
17
|
+
get client(): PrismaClient;
|
|
18
|
+
}
|
|
19
|
+
export declare const prismaClientManager: PrismaClientManager;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
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.prismaClientManager = void 0;
|
|
7
|
+
const core_1 = require("../../core");
|
|
8
|
+
const winston_1 = __importDefault(require("./winston"));
|
|
9
|
+
class PrismaClientManager {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.prisma = null;
|
|
12
|
+
this.initialized = false;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Initializes the Prisma client for database operations.
|
|
16
|
+
*
|
|
17
|
+
* **Note:** Not all services that use this package require MongoDB, so initialization is opt-in.
|
|
18
|
+
* Call this method explicitly before using the Prisma client to avoid initialization errors.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* prismaClientManager.init();
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
init() {
|
|
26
|
+
if (this.initialized) {
|
|
27
|
+
winston_1.default.info("PrismaClientManager already initialized, skipping...");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.initialized = true;
|
|
31
|
+
this.prisma = new core_1.PrismaClient();
|
|
32
|
+
}
|
|
33
|
+
get client() {
|
|
34
|
+
if (!this.prisma)
|
|
35
|
+
throw new Error("PrismaClientManager is not initialized. Call init() first.");
|
|
36
|
+
return this.prisma;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.prismaClientManager = new PrismaClientManager();
|
|
40
|
+
//# sourceMappingURL=prisma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../../src/server/config/prisma.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAyC;AACzC,wDAA8B;AAE9B,MAAM,mBAAmB;IAAzB;QACY,WAAM,GAAwB,IAAI,CAAA;QAClC,gBAAW,GAAG,KAAK,CAAA;IA4B/B,CAAC;IA1BG;;;;;;;;;;OAUG;IACH,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,iBAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;YACnE,OAAM;QACV,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAY,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,MAAM;QACN,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;QAC/F,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;CACJ;AAEY,QAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import "dotenv/config";
|
|
2
|
+
import Redis, { type RedisOptions } from "ioredis";
|
|
3
|
+
export declare enum RedisDb {
|
|
4
|
+
ORACLE = 0,
|
|
5
|
+
ORDERBOOK = 1,
|
|
6
|
+
AUTH = 2,
|
|
7
|
+
LIQUIDATION_ENGINE = 3,
|
|
8
|
+
LEADERBOARD = 4,
|
|
9
|
+
LAB = 5
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Manages Redis client connections including a primary client and optional replica clients.
|
|
13
|
+
*
|
|
14
|
+
* This manager provides a singleton-like pattern for initializing and accessing Redis clients.
|
|
15
|
+
* It supports both primary and replica connections for load balancing read operations.
|
|
16
|
+
*
|
|
17
|
+
* **Note:** Not all services that use this package require Redis, so initialization is opt-in.
|
|
18
|
+
* Call `init()` explicitly before using any Redis clients.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* redisClientManager.init({ db: RedisDb.ORACLE });
|
|
23
|
+
*
|
|
24
|
+
* // Get primary client for write operations
|
|
25
|
+
* const primary = redisClientManager.primaryClient;
|
|
26
|
+
* await primary.set('key', 'value');
|
|
27
|
+
*
|
|
28
|
+
* // Get replica client for read operations (load balanced)
|
|
29
|
+
* const replica = redisClientManager.replicaClient;
|
|
30
|
+
* const value = await replica.get('key');
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare class RedisClientManager {
|
|
34
|
+
private _primaryClient;
|
|
35
|
+
private replicaClients;
|
|
36
|
+
private initialized;
|
|
37
|
+
private dbIndex;
|
|
38
|
+
/**
|
|
39
|
+
* Initializes the Redis client manager with primary and optional replica clients.
|
|
40
|
+
*
|
|
41
|
+
* **Note:** Not all services that use this package require Redis, so initialization is opt-in.
|
|
42
|
+
* Call this method explicitly before using any Redis clients to avoid initialization errors.
|
|
43
|
+
*
|
|
44
|
+
* @param options - Optional Redis configuration options including database index selection
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Initialize with a specific database
|
|
48
|
+
* redisClientManager.init({ db: RedisDb.AUTH });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
init(options?: RedisOptions): void;
|
|
52
|
+
get primaryClient(): Redis;
|
|
53
|
+
get replicaClient(): Redis;
|
|
54
|
+
duplicateClient: (clientName: string) => Redis;
|
|
55
|
+
}
|
|
56
|
+
export declare const redisClientManager: RedisClientManager;
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,121 @@
|
|
|
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.redisClientManager = exports.RedisDb = void 0;
|
|
7
|
+
require("dotenv/config");
|
|
8
|
+
const ioredis_1 = __importDefault(require("ioredis"));
|
|
9
|
+
const _1 = require(".");
|
|
10
|
+
const core_1 = require("../../core");
|
|
11
|
+
const winston_1 = __importDefault(require("./winston"));
|
|
12
|
+
var RedisDb;
|
|
13
|
+
(function (RedisDb) {
|
|
14
|
+
RedisDb[RedisDb["ORACLE"] = 0] = "ORACLE";
|
|
15
|
+
RedisDb[RedisDb["ORDERBOOK"] = 1] = "ORDERBOOK";
|
|
16
|
+
RedisDb[RedisDb["AUTH"] = 2] = "AUTH";
|
|
17
|
+
RedisDb[RedisDb["LIQUIDATION_ENGINE"] = 3] = "LIQUIDATION_ENGINE";
|
|
18
|
+
RedisDb[RedisDb["LEADERBOARD"] = 4] = "LEADERBOARD";
|
|
19
|
+
RedisDb[RedisDb["LAB"] = 5] = "LAB";
|
|
20
|
+
})(RedisDb || (exports.RedisDb = RedisDb = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Manages Redis client connections including a primary client and optional replica clients.
|
|
23
|
+
*
|
|
24
|
+
* This manager provides a singleton-like pattern for initializing and accessing Redis clients.
|
|
25
|
+
* It supports both primary and replica connections for load balancing read operations.
|
|
26
|
+
*
|
|
27
|
+
* **Note:** Not all services that use this package require Redis, so initialization is opt-in.
|
|
28
|
+
* Call `init()` explicitly before using any Redis clients.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* redisClientManager.init({ db: RedisDb.ORACLE });
|
|
33
|
+
*
|
|
34
|
+
* // Get primary client for write operations
|
|
35
|
+
* const primary = redisClientManager.primaryClient;
|
|
36
|
+
* await primary.set('key', 'value');
|
|
37
|
+
*
|
|
38
|
+
* // Get replica client for read operations (load balanced)
|
|
39
|
+
* const replica = redisClientManager.replicaClient;
|
|
40
|
+
* const value = await replica.get('key');
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
class RedisClientManager {
|
|
44
|
+
constructor() {
|
|
45
|
+
this._primaryClient = null;
|
|
46
|
+
this.replicaClients = [];
|
|
47
|
+
this.initialized = false;
|
|
48
|
+
this.dbIndex = 0;
|
|
49
|
+
this.duplicateClient = (clientName) => {
|
|
50
|
+
const client = this.primaryClient.duplicate();
|
|
51
|
+
void client.select(this.dbIndex);
|
|
52
|
+
client.on("error", (err) => {
|
|
53
|
+
winston_1.default.error(`Redis ${clientName} client error:`, err);
|
|
54
|
+
});
|
|
55
|
+
client.on("connect", () => {
|
|
56
|
+
winston_1.default.info(`Connected to Redis ${clientName} client`);
|
|
57
|
+
});
|
|
58
|
+
return client;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Initializes the Redis client manager with primary and optional replica clients.
|
|
63
|
+
*
|
|
64
|
+
* **Note:** Not all services that use this package require Redis, so initialization is opt-in.
|
|
65
|
+
* Call this method explicitly before using any Redis clients to avoid initialization errors.
|
|
66
|
+
*
|
|
67
|
+
* @param options - Optional Redis configuration options including database index selection
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // Initialize with a specific database
|
|
71
|
+
* redisClientManager.init({ db: RedisDb.AUTH });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
init(options) {
|
|
75
|
+
if (this.initialized) {
|
|
76
|
+
winston_1.default.info("RedisClientManager already initialized, skipping...");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.initialized = true;
|
|
80
|
+
const { REDIS_URL, REDIS_REPLICA_ENDPOINTS } = core_1.Config.init(_1.redisSchema);
|
|
81
|
+
if (options?.db)
|
|
82
|
+
this.dbIndex = options.db;
|
|
83
|
+
this._primaryClient = options ? new ioredis_1.default(REDIS_URL, options) : new ioredis_1.default(REDIS_URL);
|
|
84
|
+
if (options?.db)
|
|
85
|
+
void this._primaryClient.select(options.db);
|
|
86
|
+
this._primaryClient.on("error", (err) => {
|
|
87
|
+
winston_1.default.error("Redis primary client error:", err);
|
|
88
|
+
});
|
|
89
|
+
this._primaryClient.on("connect", () => {
|
|
90
|
+
winston_1.default.info("Connected to Redis primary");
|
|
91
|
+
});
|
|
92
|
+
const replicaEndpoints = REDIS_REPLICA_ENDPOINTS.split(",").filter(Boolean); // Comma-separated list of replica endpoints
|
|
93
|
+
this.replicaClients = replicaEndpoints.map((url) => {
|
|
94
|
+
const client = options ? new ioredis_1.default(url, options) : new ioredis_1.default(url);
|
|
95
|
+
if (options?.db)
|
|
96
|
+
void client.select(options.db);
|
|
97
|
+
client.on("error", (err) => {
|
|
98
|
+
winston_1.default.error(`Redis replica client error for ${client.options.host}:${client.options.port}:`, err);
|
|
99
|
+
});
|
|
100
|
+
client.on("connect", () => {
|
|
101
|
+
winston_1.default.info(`Connected to Redis replica at ${client.options.host}:${client.options.port}`);
|
|
102
|
+
});
|
|
103
|
+
return client;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
get primaryClient() {
|
|
107
|
+
if (!this._primaryClient)
|
|
108
|
+
throw new Error("RedisClientManager is not initialized. Call init() first.");
|
|
109
|
+
return this._primaryClient;
|
|
110
|
+
}
|
|
111
|
+
get replicaClient() {
|
|
112
|
+
if (!this.replicaClients.length)
|
|
113
|
+
return this.primaryClient;
|
|
114
|
+
const index = Math.floor(Math.random() * this.replicaClients.length);
|
|
115
|
+
const client = this.replicaClients[index];
|
|
116
|
+
client.select(this.dbIndex);
|
|
117
|
+
return client;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.redisClientManager = new RedisClientManager();
|
|
121
|
+
//# sourceMappingURL=redis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/server/config/redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const urls: {
|
|
2
|
+
auth: string;
|
|
3
|
+
oracleCore: string;
|
|
4
|
+
oraclePeriphery: string;
|
|
5
|
+
oracleProcessors: string;
|
|
6
|
+
relayer: string;
|
|
7
|
+
indexers: {
|
|
8
|
+
10143: {
|
|
9
|
+
type: import("../../core").LevrIndexer;
|
|
10
|
+
url: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
} | {
|
|
14
|
+
auth: string;
|
|
15
|
+
oracleCore: string;
|
|
16
|
+
oraclePeriphery: string;
|
|
17
|
+
oracleProcessors: string;
|
|
18
|
+
relayer: string;
|
|
19
|
+
indexers: {
|
|
20
|
+
10143: {
|
|
21
|
+
type: import("../../core").LevrIndexer;
|
|
22
|
+
url: string;
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
} | {
|
|
26
|
+
auth: string;
|
|
27
|
+
oracleCore: string;
|
|
28
|
+
oraclePeriphery: string;
|
|
29
|
+
oracleProcessors: string;
|
|
30
|
+
relayer: string;
|
|
31
|
+
indexers: {
|
|
32
|
+
10143: {
|
|
33
|
+
type: import("../../core").LevrIndexer;
|
|
34
|
+
url: string;
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
} | {
|
|
38
|
+
auth: string;
|
|
39
|
+
oracleCore: string;
|
|
40
|
+
oraclePeriphery: string;
|
|
41
|
+
oracleProcessors: string;
|
|
42
|
+
relayer: string;
|
|
43
|
+
indexers: {
|
|
44
|
+
10143: {
|
|
45
|
+
type: import("../../core").LevrIndexer;
|
|
46
|
+
url: string;
|
|
47
|
+
}[];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.urls = void 0;
|
|
4
|
+
const core_1 = require("../../core");
|
|
5
|
+
const dotenv_1 = require("./dotenv");
|
|
6
|
+
exports.urls = core_1.allUrls[dotenv_1.LEVR_ENV];
|
|
7
|
+
//# sourceMappingURL=urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/server/config/urls.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AACpC,qCAAmC;AAEtB,QAAA,IAAI,GAAG,cAAO,CAAC,iBAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
const winston_1 = __importDefault(require("winston"));
|
|
7
|
+
const { combine, timestamp, errors, json } = winston_1.default.format;
|
|
8
|
+
const logger = winston_1.default.createLogger({
|
|
9
|
+
level: "info",
|
|
10
|
+
format: combine(timestamp(), errors({ stack: true }), json()),
|
|
11
|
+
transports: [new winston_1.default.transports.Console()],
|
|
12
|
+
});
|
|
13
|
+
exports.default = logger;
|
|
14
|
+
//# sourceMappingURL=winston.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../../src/server/config/winston.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAE7B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAA;AAE3D,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;IAChC,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7D,UAAU,EAAE,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;CACjD,CAAC,CAAA;AAEF,kBAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./ozRelayerService";
|