@levrbet/shared 0.1.94 → 0.1.96
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/dist/core/prisma/generated/edge.js +15 -4
- package/dist/core/prisma/generated/index-browser.js +12 -1
- package/dist/core/prisma/generated/index.d.ts +129 -28
- package/dist/core/prisma/generated/index.js +15 -4
- package/dist/core/prisma/generated/package.json +1 -1
- package/dist/core/prisma/generated/schema.prisma +12 -1
- package/dist/core/prisma/generated/wasm.js +15 -4
- package/dist/core/types/auth.types.d.ts +25 -2
- package/dist/core/types/auth.types.js +4 -2
- package/dist/core/types/auth.types.js.map +1 -1
- package/dist/server/config/cloudflare.d.ts +30 -0
- package/dist/server/config/cloudflare.js +42 -0
- package/dist/server/config/cloudflare.js.map +1 -0
- package/dist/server/config/constants.js +2 -2
- package/dist/server/config/constants.js.map +1 -1
- package/dist/server/config/dotenv.d.ts +9 -10
- package/dist/server/config/dotenv.js +11 -19
- package/dist/server/config/dotenv.js.map +1 -1
- package/dist/server/config/index.d.ts +2 -0
- package/dist/server/config/index.js +2 -0
- package/dist/server/config/index.js.map +1 -1
- package/dist/server/config/kms.d.ts +20 -0
- package/dist/server/config/kms.js +46 -0
- package/dist/server/config/kms.js.map +1 -0
- package/dist/server/config/urls.js +2 -2
- package/dist/server/config/urls.js.map +1 -1
- package/dist/server/contracts/instances.d.ts +1 -1
- package/dist/server/contracts/instances.js +3 -3
- package/dist/server/contracts/instances.js.map +1 -1
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/auth/cloudflare.handler.d.ts +7 -0
- package/dist/server/middleware/auth/cloudflare.handler.js +31 -0
- package/dist/server/middleware/auth/cloudflare.handler.js.map +1 -0
- package/dist/server/middleware/auth/hmac.handler.d.ts +19 -0
- package/dist/server/middleware/auth/hmac.handler.js +129 -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 +4 -0
- package/dist/server/middleware/auth/index.js.map +1 -0
- package/dist/server/middleware/auth/privy.handler.d.ts +8 -0
- package/dist/server/middleware/auth/privy.handler.js +29 -0
- package/dist/server/middleware/auth/privy.handler.js.map +1 -0
- package/dist/server/middleware/index.d.ts +1 -1
- package/dist/server/middleware/index.js +1 -1
- package/dist/server/middleware/index.js.map +1 -1
- package/dist/server/middleware/multiAuth.examples.d.ts +43 -0
- package/dist/server/middleware/multiAuth.examples.js +114 -0
- package/dist/server/middleware/multiAuth.examples.js.map +1 -0
- package/dist/server/middleware/mutiAuth.middleware.d.ts +31 -0
- package/dist/server/middleware/mutiAuth.middleware.js +82 -0
- package/dist/server/middleware/mutiAuth.middleware.js.map +1 -0
- package/dist/server/repositories/apiKey.repository.d.ts +7 -0
- package/dist/server/repositories/apiKey.repository.js +16 -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 +2 -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 +21 -0
- package/dist/server/services/cloudflare.service.js.map +1 -0
- package/dist/server/services/crypto.service.d.ts +18 -0
- package/dist/server/services/crypto.service.js +40 -0
- package/dist/server/services/crypto.service.js.map +1 -0
- package/dist/server/services/index.d.ts +3 -0
- package/dist/server/services/index.js +4 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/privy.service.js.map +1 -0
- package/dist/server/types/express.types.d.ts +27 -0
- package/dist/server/types/express.types.js +2 -0
- package/dist/server/types/express.types.js.map +1 -0
- package/dist/server/types/index.d.ts +1 -0
- package/dist/server/types/index.js +2 -0
- package/dist/server/types/index.js.map +1 -0
- package/package.json +1 -1
- package/dist/server/auth/index.d.ts +0 -2
- package/dist/server/auth/index.js +0 -3
- package/dist/server/auth/index.js.map +0 -1
- package/dist/server/auth/kms.d.ts +0 -34
- package/dist/server/auth/kms.js +0 -137
- package/dist/server/auth/kms.js.map +0 -1
- package/dist/server/auth/middleware/index.d.ts +0 -11
- package/dist/server/auth/middleware/index.js +0 -62
- package/dist/server/auth/middleware/index.js.map +0 -1
- package/dist/server/auth/privy.service.js.map +0 -1
- package/dist/server/middleware/privy.middleware.d.ts +0 -3
- package/dist/server/middleware/privy.middleware.js +0 -43
- package/dist/server/middleware/privy.middleware.js.map +0 -1
- /package/dist/server/{auth → services}/privy.service.d.ts +0 -0
- /package/dist/server/{auth → services}/privy.service.js +0 -0
|
@@ -277,7 +277,8 @@ exports.Prisma.ApiKeyScalarFieldEnum = {
|
|
|
277
277
|
name: 'name',
|
|
278
278
|
ciphertext: 'ciphertext',
|
|
279
279
|
kmsKeyId: 'kmsKeyId',
|
|
280
|
-
|
|
280
|
+
isService: 'isService',
|
|
281
|
+
service: 'service',
|
|
281
282
|
scopes: 'scopes',
|
|
282
283
|
isActive: 'isActive',
|
|
283
284
|
expiresAt: 'expiresAt',
|
|
@@ -343,6 +344,16 @@ exports.SportGroup = exports.$Enums.SportGroup = {
|
|
|
343
344
|
AmericanFootball: 'AmericanFootball'
|
|
344
345
|
};
|
|
345
346
|
|
|
347
|
+
exports.LevrService = exports.$Enums.LevrService = {
|
|
348
|
+
Auth: 'Auth',
|
|
349
|
+
Orderbook: 'Orderbook',
|
|
350
|
+
OracleCore: 'OracleCore',
|
|
351
|
+
OraclePeriphery: 'OraclePeriphery',
|
|
352
|
+
OracleProcessor: 'OracleProcessor',
|
|
353
|
+
Leaderboard: 'Leaderboard',
|
|
354
|
+
Lab: 'Lab'
|
|
355
|
+
};
|
|
356
|
+
|
|
346
357
|
exports.UserOddsPreference = exports.$Enums.UserOddsPreference = {
|
|
347
358
|
American: 'American',
|
|
348
359
|
Decimal: 'Decimal',
|
|
@@ -416,13 +427,13 @@ const config = {
|
|
|
416
427
|
}
|
|
417
428
|
}
|
|
418
429
|
},
|
|
419
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n binaryTargets = [\"linux-musl-openssl-3.0.x\"]\n output = \"generated\"\n}\n\ndatasource db {\n provider = \"mongodb\"\n url = env(\"MONGO_URI\")\n}\n\nenum GamePhase {\n PreGame\n LiveGame\n PostGame\n Cancelled\n}\n\nenum MarketTypes {\n FullTimeWinner\n OverUnder\n}\n\nenum MarketStatus {\n Open\n Closed\n Settled\n Refunded\n}\n\nenum ScoringType {\n Points\n Goals\n}\n\nenum FixtureStatus {\n Scheduled\n Cancelled\n}\n\nenum SportGroup {\n Football\n Basketball\n Baseball\n AmericanFootball\n}\n\nmodel Provider {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n name String @unique\n providerUrl String @unique\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Tournament {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrTournamentId String @unique\n chainId Int\n name String\n description String\n bannerUrl String\n startDate DateTime\n endDate DateTime\n\n games LevrGame[]\n leagues League[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([chainId, name])\n @@unique([chainId, description])\n @@unique([chainId, bannerUrl])\n @@index([name])\n}\n\nmodel Sport {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrSportId String @unique\n name String @unique\n periodType String\n scoringType ScoringType\n standardDurationMs Int\n standardPeriods Int\n periodDuration Int?\n hasDrawMarket Boolean\n sportGroup SportGroup\n\n leagues League[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel League {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n name String @unique\n abbreviation String\n country String\n levrLeagueId String @unique\n opticOddsLeagueId String @unique\n lsportsLeagueId String @unique\n\n tournamentObjectId String @db.ObjectId\n tournament Tournament @relation(fields: [tournamentObjectId], references: [objectId])\n sportObjectId String @db.ObjectId\n sport Sport @relation(fields: [sportObjectId], references: [objectId])\n levrSportId String\n\n games LevrGame[]\n fixtures Fixture[]\n teams TeamData[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel TeamData {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrTeamName String\n levrTeamOfficialAbbreviation String\n lsportsTeamName String\n opticOddsTeamName String\n lsportsTeamId String @unique\n opticOddsTeamId String @unique\n levrTeamId String @unique\n opticOddsTeamLogoUrl String @unique\n levrTeamLogoUrlAsHome String @unique\n levrTeamLogoUrlAsAway String @unique\n leagueObjectId String @db.ObjectId\n levrleagueId String\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n @@unique([levrTeamId, levrTeamName, leagueObjectId])\n}\n\nmodel Fixture {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrFixtureId String @unique\n opticOddsFixtureId String? @unique\n lsportsFixtureId String? @unique\n seasonType String\n venue String\n eventName String\n location String\n venueLocation String\n fixtureDate DateTime\n lastUpdated DateTime\n homeTeam Json\n awayTeam Json\n fixtureStatus FixtureStatus\n\n leagueObjectId String @db.ObjectId\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([fixtureDate])\n @@index([leagueObjectId])\n @@index([eventName])\n}\n\nmodel Scores {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n scoresByPeriodHome Json\n scoresByPeriodAway Json\n totalScoresHome Float\n totalScoresAway Float\n\n fixtureObjectId String @unique @db.ObjectId\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel LevrGame {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n gameId Int @unique\n txHash String @unique\n chainId Int\n seasonType String\n venue String\n eventName String\n location String\n venueLocation String\n gameClock String\n paused Boolean @default(false)\n fixtureDate DateTime\n wentLiveAt DateTime?\n homeTeam Json // as defined in sample-data/lever/levr-game.json\n awayTeam Json // as defined in sample-data/lever/levr-game.json\n currentPeriod Int @default(0)\n actualDuration Float @default(0) // in milliseconds\n normalizationFactor Float\n gamePhase GamePhase @default(PreGame)\n levrFixtureId String\n opticOddsFixtureId String?\n lsportsFixtureId String?\n sportGroup SportGroup\n\n fixtureObjectId String @db.ObjectId\n\n tournamentObjectId String @db.ObjectId\n tournament Tournament @relation(fields: [tournamentObjectId], references: [objectId])\n leagueObjectId String @db.ObjectId\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n markets Market[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([opticOddsFixtureId])\n @@index([lsportsFixtureId])\n @@index([eventName])\n @@index([fixtureDate])\n}\n\nmodel Odds {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n txHash String\n odds Json // define for the specific market type\n prices Json\n timestamp DateTime\n marketType MarketTypes\n details Json? // the unique details for the odds\n gamePhase GamePhase\n gamePeriod Int\n gameClock Int\n chainId Int\n marketPhase MarketStatus\n\n levrGameObjectId String @db.ObjectId\n marketObjectId String @db.ObjectId\n gameMarketId String\n market Market @relation(fields: [marketObjectId], references: [objectId])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Market {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n chainId Int\n gameId Int\n levrMarketId String\n levrMarketContract String\n gameMarketId String @unique\n txHash String\n maturedAt DateTime?\n leveraged Boolean @default(false)\n isMatured Boolean @default(false)\n normalizationFactor Float\n marketDetails Json\n marketRiskAllocation Json\n providers Json\n activeProvider Json\n marketType MarketTypes\n status MarketStatus\n\n levrGameObjectId String @db.ObjectId // new unique identifier\n levrGame LevrGame @relation(fields: [levrGameObjectId], references: [objectId])\n\n odds Odds[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum UserOddsPreference {\n American\n Decimal\n European\n}\n\nmodel User {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n walletAddress String @unique\n userName String @unique\n timeZone DateTime\n preferredTimeZone DateTime\n userOddsPreference UserOddsPreference\n profileImageUrl String\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ApiKeyScope {\n Read\n Write\n}\n\nmodel ApiKey {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n apiKeyId String @unique\n userId String\n ethAddress String?\n name String\n ciphertext String\n kmsKeyId String\n
|
|
420
|
-
"inlineSchemaHash": "
|
|
430
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n binaryTargets = [\"linux-musl-openssl-3.0.x\"]\n output = \"generated\"\n}\n\ndatasource db {\n provider = \"mongodb\"\n url = env(\"MONGO_URI\")\n}\n\nenum GamePhase {\n PreGame\n LiveGame\n PostGame\n Cancelled\n}\n\nenum MarketTypes {\n FullTimeWinner\n OverUnder\n}\n\nenum MarketStatus {\n Open\n Closed\n Settled\n Refunded\n}\n\nenum ScoringType {\n Points\n Goals\n}\n\nenum FixtureStatus {\n Scheduled\n Cancelled\n}\n\nenum SportGroup {\n Football\n Basketball\n Baseball\n AmericanFootball\n}\n\nenum LevrService {\n Auth\n Orderbook\n OracleCore\n OraclePeriphery\n OracleProcessor\n Leaderboard\n Lab\n}\n\nmodel Provider {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n name String @unique\n providerUrl String @unique\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Tournament {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrTournamentId String @unique\n chainId Int\n name String\n description String\n bannerUrl String\n startDate DateTime\n endDate DateTime\n\n games LevrGame[]\n leagues League[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([chainId, name])\n @@unique([chainId, description])\n @@unique([chainId, bannerUrl])\n @@index([name])\n}\n\nmodel Sport {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrSportId String @unique\n name String @unique\n periodType String\n scoringType ScoringType\n standardDurationMs Int\n standardPeriods Int\n periodDuration Int?\n hasDrawMarket Boolean\n sportGroup SportGroup\n\n leagues League[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel League {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n name String @unique\n abbreviation String\n country String\n levrLeagueId String @unique\n opticOddsLeagueId String @unique\n lsportsLeagueId String @unique\n\n tournamentObjectId String @db.ObjectId\n tournament Tournament @relation(fields: [tournamentObjectId], references: [objectId])\n sportObjectId String @db.ObjectId\n sport Sport @relation(fields: [sportObjectId], references: [objectId])\n levrSportId String\n\n games LevrGame[]\n fixtures Fixture[]\n teams TeamData[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel TeamData {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrTeamName String\n levrTeamOfficialAbbreviation String\n lsportsTeamName String\n opticOddsTeamName String\n lsportsTeamId String @unique\n opticOddsTeamId String @unique\n levrTeamId String @unique\n opticOddsTeamLogoUrl String @unique\n levrTeamLogoUrlAsHome String @unique\n levrTeamLogoUrlAsAway String @unique\n leagueObjectId String @db.ObjectId\n levrleagueId String\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n @@unique([levrTeamId, levrTeamName, leagueObjectId])\n}\n\nmodel Fixture {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n levrFixtureId String @unique\n opticOddsFixtureId String? @unique\n lsportsFixtureId String? @unique\n seasonType String\n venue String\n eventName String\n location String\n venueLocation String\n fixtureDate DateTime\n lastUpdated DateTime\n homeTeam Json\n awayTeam Json\n fixtureStatus FixtureStatus\n\n leagueObjectId String @db.ObjectId\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([fixtureDate])\n @@index([leagueObjectId])\n @@index([eventName])\n}\n\nmodel Scores {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n scoresByPeriodHome Json\n scoresByPeriodAway Json\n totalScoresHome Float\n totalScoresAway Float\n\n fixtureObjectId String @unique @db.ObjectId\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel LevrGame {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n gameId Int @unique\n txHash String @unique\n chainId Int\n seasonType String\n venue String\n eventName String\n location String\n venueLocation String\n gameClock String\n paused Boolean @default(false)\n fixtureDate DateTime\n wentLiveAt DateTime?\n homeTeam Json // as defined in sample-data/lever/levr-game.json\n awayTeam Json // as defined in sample-data/lever/levr-game.json\n currentPeriod Int @default(0)\n actualDuration Float @default(0) // in milliseconds\n normalizationFactor Float\n gamePhase GamePhase @default(PreGame)\n levrFixtureId String\n opticOddsFixtureId String?\n lsportsFixtureId String?\n sportGroup SportGroup\n\n fixtureObjectId String @db.ObjectId\n\n tournamentObjectId String @db.ObjectId\n tournament Tournament @relation(fields: [tournamentObjectId], references: [objectId])\n leagueObjectId String @db.ObjectId\n league League @relation(fields: [leagueObjectId], references: [objectId])\n\n markets Market[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([opticOddsFixtureId])\n @@index([lsportsFixtureId])\n @@index([eventName])\n @@index([fixtureDate])\n}\n\nmodel Odds {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n txHash String\n odds Json // define for the specific market type\n prices Json\n timestamp DateTime\n marketType MarketTypes\n details Json? // the unique details for the odds\n gamePhase GamePhase\n gamePeriod Int\n gameClock Int\n chainId Int\n marketPhase MarketStatus\n\n levrGameObjectId String @db.ObjectId\n marketObjectId String @db.ObjectId\n gameMarketId String\n market Market @relation(fields: [marketObjectId], references: [objectId])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Market {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n chainId Int\n gameId Int\n levrMarketId String\n levrMarketContract String\n gameMarketId String @unique\n txHash String\n maturedAt DateTime?\n leveraged Boolean @default(false)\n isMatured Boolean @default(false)\n normalizationFactor Float\n marketDetails Json\n marketRiskAllocation Json\n providers Json\n activeProvider Json\n marketType MarketTypes\n status MarketStatus\n\n levrGameObjectId String @db.ObjectId // new unique identifier\n levrGame LevrGame @relation(fields: [levrGameObjectId], references: [objectId])\n\n odds Odds[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum UserOddsPreference {\n American\n Decimal\n European\n}\n\nmodel User {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n walletAddress String @unique\n userName String @unique\n timeZone DateTime\n preferredTimeZone DateTime\n userOddsPreference UserOddsPreference\n profileImageUrl String\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ApiKeyScope {\n Read\n Write\n}\n\nmodel ApiKey {\n objectId String @id @default(auto()) @map(\"_id\") @db.ObjectId\n apiKeyId String @unique\n userId String\n ethAddress String?\n name String\n ciphertext String\n kmsKeyId String\n isService Boolean @default(false) // whether the key is for a levr backend service\n service LevrService? // if isService is true, which service it is for\n scopes ApiKeyScope[]\n isActive Boolean @default(true)\n expiresAt DateTime?\n lastUsedAt DateTime?\n usageCount Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([userId, name, isActive])\n}\n\nmodel AuditLog {\n objectId String @id @default(cuid()) @map(\"_id\")\n action String // e.g., \"api_key.created\", \"application.created\", \"token.validated\"\n resourceId String? // ID of the resource being acted upon\n metadata Json @default(\"{}\")\n ipAddress String?\n userAgent String?\n timestamp DateTime @default(now())\n // Relations\n userId String\n\n @@index([action])\n @@index([timestamp])\n @@index([userId])\n}\n",
|
|
431
|
+
"inlineSchemaHash": "20a67e80d6cf2cd8851bf045ebbdaa2ca27508ff392fdf05c0adad7b1d945604",
|
|
421
432
|
"copyEngine": true
|
|
422
433
|
}
|
|
423
434
|
config.dirname = '/'
|
|
424
435
|
|
|
425
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"Provider\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Tournament\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrTournamentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bannerUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"games\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LevrGameToTournament\"},{\"name\":\"leagues\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToTournament\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Sport\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrSportId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"periodType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scoringType\",\"kind\":\"enum\",\"type\":\"ScoringType\"},{\"name\":\"standardDurationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"standardPeriods\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"periodDuration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hasDrawMarket\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sportGroup\",\"kind\":\"enum\",\"type\":\"SportGroup\"},{\"name\":\"leagues\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToSport\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"League\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"abbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournament\",\"kind\":\"object\",\"type\":\"Tournament\",\"relationName\":\"LeagueToTournament\"},{\"name\":\"sportObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sport\",\"kind\":\"object\",\"type\":\"Sport\",\"relationName\":\"LeagueToSport\"},{\"name\":\"levrSportId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"games\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LeagueToLevrGame\"},{\"name\":\"fixtures\",\"kind\":\"object\",\"type\":\"Fixture\",\"relationName\":\"FixtureToLeague\"},{\"name\":\"teams\",\"kind\":\"object\",\"type\":\"TeamData\",\"relationName\":\"LeagueToTeamData\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"TeamData\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamOfficialAbbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamLogoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamLogoUrlAsHome\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamLogoUrlAsAway\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrleagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToTeamData\"}],\"dbName\":null},\"Fixture\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seasonType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venueLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fixtureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastUpdated\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"homeTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"awayTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fixtureStatus\",\"kind\":\"enum\",\"type\":\"FixtureStatus\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"FixtureToLeague\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Scores\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"scoresByPeriodHome\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scoresByPeriodAway\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"totalScoresHome\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalScoresAway\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fixtureObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"LevrGame\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"gameId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"seasonType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venueLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameClock\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paused\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"fixtureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"wentLiveAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"homeTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"awayTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"currentPeriod\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"actualDuration\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"normalizationFactor\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"gamePhase\",\"kind\":\"enum\",\"type\":\"GamePhase\"},{\"name\":\"levrFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sportGroup\",\"kind\":\"enum\",\"type\":\"SportGroup\"},{\"name\":\"fixtureObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournament\",\"kind\":\"object\",\"type\":\"Tournament\",\"relationName\":\"LevrGameToTournament\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToLevrGame\"},{\"name\":\"markets\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"LevrGameToMarket\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Odds\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"odds\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"prices\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"marketType\",\"kind\":\"enum\",\"type\":\"MarketTypes\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"gamePhase\",\"kind\":\"enum\",\"type\":\"GamePhase\"},{\"name\":\"gamePeriod\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"gameClock\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"marketPhase\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"levrGameObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"marketObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"MarketToOdds\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Market\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"gameId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"levrMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrMarketContract\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"maturedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"leveraged\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isMatured\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"normalizationFactor\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"marketDetails\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"marketRiskAllocation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"providers\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"activeProvider\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"marketType\",\"kind\":\"enum\",\"type\":\"MarketTypes\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"levrGameObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrGame\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LevrGameToMarket\"},{\"name\":\"odds\",\"kind\":\"object\",\"type\":\"Odds\",\"relationName\":\"MarketToOdds\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"walletAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeZone\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"preferredTimeZone\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userOddsPreference\",\"kind\":\"enum\",\"type\":\"UserOddsPreference\"},{\"name\":\"profileImageUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ApiKey\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"apiKeyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ciphertext\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"kmsKeyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"server\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"scopes\",\"kind\":\"enum\",\"type\":\"ApiKeyScope\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"usageCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AuditLog\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
|
436
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"Provider\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Tournament\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrTournamentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bannerUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"games\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LevrGameToTournament\"},{\"name\":\"leagues\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToTournament\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Sport\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrSportId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"periodType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scoringType\",\"kind\":\"enum\",\"type\":\"ScoringType\"},{\"name\":\"standardDurationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"standardPeriods\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"periodDuration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hasDrawMarket\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sportGroup\",\"kind\":\"enum\",\"type\":\"SportGroup\"},{\"name\":\"leagues\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToSport\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"League\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"abbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsLeagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournament\",\"kind\":\"object\",\"type\":\"Tournament\",\"relationName\":\"LeagueToTournament\"},{\"name\":\"sportObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sport\",\"kind\":\"object\",\"type\":\"Sport\",\"relationName\":\"LeagueToSport\"},{\"name\":\"levrSportId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"games\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LeagueToLevrGame\"},{\"name\":\"fixtures\",\"kind\":\"object\",\"type\":\"Fixture\",\"relationName\":\"FixtureToLeague\"},{\"name\":\"teams\",\"kind\":\"object\",\"type\":\"TeamData\",\"relationName\":\"LeagueToTeamData\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"TeamData\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamOfficialAbbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsTeamLogoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamLogoUrlAsHome\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrTeamLogoUrlAsAway\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrleagueId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToTeamData\"}],\"dbName\":null},\"Fixture\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"levrFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seasonType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venueLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fixtureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastUpdated\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"homeTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"awayTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fixtureStatus\",\"kind\":\"enum\",\"type\":\"FixtureStatus\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"FixtureToLeague\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Scores\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"scoresByPeriodHome\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scoresByPeriodAway\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"totalScoresHome\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalScoresAway\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fixtureObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"LevrGame\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"gameId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"seasonType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"venueLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameClock\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paused\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"fixtureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"wentLiveAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"homeTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"awayTeam\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"currentPeriod\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"actualDuration\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"normalizationFactor\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"gamePhase\",\"kind\":\"enum\",\"type\":\"GamePhase\"},{\"name\":\"levrFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opticOddsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lsportsFixtureId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sportGroup\",\"kind\":\"enum\",\"type\":\"SportGroup\"},{\"name\":\"fixtureObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tournament\",\"kind\":\"object\",\"type\":\"Tournament\",\"relationName\":\"LevrGameToTournament\"},{\"name\":\"leagueObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"league\",\"kind\":\"object\",\"type\":\"League\",\"relationName\":\"LeagueToLevrGame\"},{\"name\":\"markets\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"LevrGameToMarket\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Odds\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"odds\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"prices\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"marketType\",\"kind\":\"enum\",\"type\":\"MarketTypes\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"gamePhase\",\"kind\":\"enum\",\"type\":\"GamePhase\"},{\"name\":\"gamePeriod\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"gameClock\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"marketPhase\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"levrGameObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"marketObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"MarketToOdds\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Market\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"chainId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"gameId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"levrMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrMarketContract\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gameMarketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"txHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"maturedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"leveraged\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isMatured\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"normalizationFactor\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"marketDetails\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"marketRiskAllocation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"providers\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"activeProvider\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"marketType\",\"kind\":\"enum\",\"type\":\"MarketTypes\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"levrGameObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"levrGame\",\"kind\":\"object\",\"type\":\"LevrGame\",\"relationName\":\"LevrGameToMarket\"},{\"name\":\"odds\",\"kind\":\"object\",\"type\":\"Odds\",\"relationName\":\"MarketToOdds\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"walletAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeZone\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"preferredTimeZone\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userOddsPreference\",\"kind\":\"enum\",\"type\":\"UserOddsPreference\"},{\"name\":\"profileImageUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ApiKey\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"apiKeyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ciphertext\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"kmsKeyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isService\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"service\",\"kind\":\"enum\",\"type\":\"LevrService\"},{\"name\":\"scopes\",\"kind\":\"enum\",\"type\":\"ApiKeyScope\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"usageCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AuditLog\":{\"fields\":[{\"name\":\"objectId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"_id\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
|
426
437
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
427
438
|
config.engineWasm = {
|
|
428
439
|
getRuntime: async () => require('./query_engine_bg.js'),
|
|
@@ -1,8 +1,31 @@
|
|
|
1
|
+
import { ApiKeyScope, LevrService } from "../prisma";
|
|
1
2
|
export declare enum LevrAuth {
|
|
2
3
|
PRIVY_USER = "privyUser",
|
|
3
4
|
PRIVY_ADMIN = "privyAdmin",
|
|
4
5
|
CLOUDFLARE = "cloudflare",
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
HMAC = "hmac",
|
|
7
|
+
SERVICE_HMAC = "serviceHmac"
|
|
7
8
|
}
|
|
8
9
|
export declare const LEVR_AUTH_HEADER = "x-levr-auth-type";
|
|
10
|
+
export interface MultiAuthOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Array of authentication methods to support for this route.
|
|
13
|
+
* Client will specify which one to use via the x-levr-auth-type header.
|
|
14
|
+
*/
|
|
15
|
+
methods: LevrAuth[];
|
|
16
|
+
/**
|
|
17
|
+
* Required API key scopes (applies to HMAC and SERVICE_HMAC auth only).
|
|
18
|
+
* If specified, the API key must have at least one of these scopes.
|
|
19
|
+
*/
|
|
20
|
+
requiredScopes?: ApiKeyScope[];
|
|
21
|
+
/**
|
|
22
|
+
* Required services (applies to SERVICE_HMAC auth only).
|
|
23
|
+
* If specified, the API key must belong to one of these services.
|
|
24
|
+
*/
|
|
25
|
+
requiredServices?: LevrService[];
|
|
26
|
+
/**
|
|
27
|
+
* Auto-enforce Write scope for mutating HTTP methods (POST, PUT, PATCH, DELETE).
|
|
28
|
+
* Defaults to true.
|
|
29
|
+
*/
|
|
30
|
+
autoEnforceWriteScope?: boolean;
|
|
31
|
+
}
|
|
@@ -3,8 +3,10 @@ export var LevrAuth;
|
|
|
3
3
|
LevrAuth["PRIVY_USER"] = "privyUser";
|
|
4
4
|
LevrAuth["PRIVY_ADMIN"] = "privyAdmin";
|
|
5
5
|
LevrAuth["CLOUDFLARE"] = "cloudflare";
|
|
6
|
-
LevrAuth["
|
|
7
|
-
LevrAuth["
|
|
6
|
+
LevrAuth["HMAC"] = "hmac";
|
|
7
|
+
LevrAuth["SERVICE_HMAC"] = "serviceHmac";
|
|
8
8
|
})(LevrAuth || (LevrAuth = {}));
|
|
9
|
+
// clients will set this header to indicate which auth method they are using
|
|
10
|
+
// if the route doesn't support that auth method, it will be rejected
|
|
9
11
|
export const LEVR_AUTH_HEADER = "x-levr-auth-type";
|
|
10
12
|
//# sourceMappingURL=auth.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.types.js","sourceRoot":"","sources":["../../../src/core/types/auth.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.types.js","sourceRoot":"","sources":["../../../src/core/types/auth.types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,oCAAwB,CAAA;IACxB,sCAA0B,CAAA;IAC1B,qCAAyB,CAAA;IACzB,yBAAa,CAAA;IACb,wCAA4B,CAAA;AAChC,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,4EAA4E;AAC5E,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA"}
|
|
@@ -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,42 @@
|
|
|
1
|
+
import { createRemoteJWKSet } from "jose";
|
|
2
|
+
import { Config } from "../../core";
|
|
3
|
+
import { cloudflareSchema } from "./dotenv";
|
|
4
|
+
class CloudflareConfig {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.jwks = null;
|
|
7
|
+
this._config = null;
|
|
8
|
+
this.initialized = false;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Initialize Cloudflare configuration from environment variables.
|
|
12
|
+
* Must be called before using cloudflareAuthService.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Loads from CLOUDFLARE_JWK_URL, CLOUDFLARE_ISSUER, CLOUDFLARE_AUDIENCE env vars
|
|
17
|
+
* cloudflareConfig.init()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
init() {
|
|
21
|
+
this._config = Config.init(cloudflareSchema);
|
|
22
|
+
this.jwks = createRemoteJWKSet(new URL(this._config.CLOUDFLARE_JWK_URL));
|
|
23
|
+
this.initialized = true;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the Cloudflare configuration data.
|
|
27
|
+
*
|
|
28
|
+
* @throws Error if CloudflareConfig has not been initialized
|
|
29
|
+
*/
|
|
30
|
+
get config() {
|
|
31
|
+
if (!this.initialized || !this.jwks || !this._config) {
|
|
32
|
+
throw new Error("CloudflareConfig not initialized. Call cloudflareConfig.init() before use.");
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
jwks: this.jwks,
|
|
36
|
+
issuer: this._config.CLOUDFLARE_ISSUER,
|
|
37
|
+
audience: this._config.CLOUDFLARE_AUDIENCE,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const cloudflareConfig = new CloudflareConfig();
|
|
42
|
+
//# sourceMappingURL=cloudflare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../../src/server/config/cloudflare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;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,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,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;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { getSupportedChainIds } from "../../core";
|
|
2
|
-
import {
|
|
3
|
-
export const supportedChainIds = getSupportedChainIds(
|
|
2
|
+
import { LEVR_ENV } from "./dotenv";
|
|
3
|
+
export const supportedChainIds = getSupportedChainIds(LEVR_ENV);
|
|
4
4
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/server/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/server/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LevrEnv } from "../../core";
|
|
2
1
|
import "dotenv/config";
|
|
3
2
|
import { z } from "zod";
|
|
3
|
+
import { LevrEnv } from "../../core";
|
|
4
4
|
export declare const opentelemetrySchema: z.ZodObject<{
|
|
5
5
|
OTEL_EXPORTER_OTLP_HEADERS: z.ZodString;
|
|
6
6
|
OTEL_EXPORTER_OTLP_ENDPOINT: z.ZodString;
|
|
@@ -8,13 +8,16 @@ export declare const opentelemetrySchema: z.ZodObject<{
|
|
|
8
8
|
OTEL_SERVICE_VERSION: z.ZodString;
|
|
9
9
|
LEVR_ENV: z.ZodEnum<typeof LevrEnv>;
|
|
10
10
|
}, z.core.$strip>;
|
|
11
|
-
export declare const
|
|
12
|
-
|
|
13
|
-
CLOUDFLARE_JWK_URL: z.ZodString;
|
|
14
|
-
CLOUDFLARE_ISSUER: z.ZodString;
|
|
15
|
-
CLOUDFLARE_AUDIENCE: z.ZodString;
|
|
11
|
+
export declare const LEVR_ENV: LevrEnv;
|
|
12
|
+
export declare const awsCredsSchema: z.ZodObject<{
|
|
16
13
|
AWS_ACCESS_KEY_ID: z.ZodString;
|
|
17
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;
|
|
18
21
|
}, z.core.$strip>;
|
|
19
22
|
export declare const mongoSchema: z.ZodObject<{
|
|
20
23
|
MONGO_URI: z.ZodURL;
|
|
@@ -23,10 +26,6 @@ export declare const redisSchema: z.ZodObject<{
|
|
|
23
26
|
REDIS_URL: z.ZodURL;
|
|
24
27
|
REDIS_REPLICA_ENDPOINTS: z.ZodDefault<z.ZodString>;
|
|
25
28
|
}, z.core.$strip>;
|
|
26
|
-
export declare const levrSharedConfig: Readonly<{
|
|
27
|
-
LEVR_ENV: LevrEnv;
|
|
28
|
-
}>;
|
|
29
29
|
export declare const relayerSchema: z.ZodObject<{
|
|
30
30
|
RELAYER_ACCESS_TOKEN: z.ZodUUID;
|
|
31
31
|
}, z.core.$strip>;
|
|
32
|
-
export declare const kmsEnvConfig: z.infer<typeof kmsSchema>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { commaSeparatedUrlsSchema, Config, LevrEnv } from "../../core";
|
|
2
1
|
import "dotenv/config";
|
|
3
2
|
import { z } from "zod";
|
|
4
|
-
|
|
3
|
+
import { commaSeparatedUrlsSchema, Config, LevrEnv } from "../../core";
|
|
5
4
|
export const opentelemetrySchema = z.object({
|
|
6
5
|
OTEL_EXPORTER_OTLP_HEADERS: z.string().min(1),
|
|
7
6
|
OTEL_EXPORTER_OTLP_ENDPOINT: z.string().min(1),
|
|
@@ -12,13 +11,16 @@ export const opentelemetrySchema = z.object({
|
|
|
12
11
|
const levrSharedSchema = z.object({
|
|
13
12
|
LEVR_ENV: z.enum(LevrEnv),
|
|
14
13
|
});
|
|
15
|
-
export const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
export const { LEVR_ENV } = Config.init(levrSharedSchema);
|
|
15
|
+
export const awsCredsSchema = z.object({
|
|
16
|
+
AWS_ACCESS_KEY_ID: z.string().min(1, "AWS_ACCESS_KEY_ID is required"),
|
|
17
|
+
AWS_SECRET_ACCESS_KEY: z.string().min(1, "AWS_SECRET_ACCESS_KEY is required"),
|
|
18
|
+
AWS_REGION: z.string().default("ap-south-1"),
|
|
19
|
+
});
|
|
20
|
+
export const cloudflareSchema = z.object({
|
|
21
|
+
CLOUDFLARE_JWK_URL: z.url("CLOUDFLARE_JWK_URL must be a valid URL"),
|
|
22
|
+
CLOUDFLARE_ISSUER: z.string().min(1, "CLOUDFLARE_ISSUER is required"),
|
|
23
|
+
CLOUDFLARE_AUDIENCE: z.string().min(1, "CLOUDFLARE_AUDIENCE is required"),
|
|
22
24
|
});
|
|
23
25
|
export const mongoSchema = z.object({
|
|
24
26
|
MONGO_URI: z.url("MONGO_URI must be a valid URI"),
|
|
@@ -27,17 +29,7 @@ export const redisSchema = z.object({
|
|
|
27
29
|
REDIS_URL: z.url("REDIS_URL must be a valid URI"),
|
|
28
30
|
REDIS_REPLICA_ENDPOINTS: commaSeparatedUrlsSchema,
|
|
29
31
|
});
|
|
30
|
-
export const levrSharedConfig = Config.init(levrSharedSchema);
|
|
31
32
|
export const relayerSchema = z.object({
|
|
32
33
|
RELAYER_ACCESS_TOKEN: z.uuid(),
|
|
33
34
|
});
|
|
34
|
-
// Initialize KMS config from environment variables
|
|
35
|
-
export const kmsEnvConfig = {
|
|
36
|
-
HMAC_KEY_ALIAS: process.env.HMAC_KEY_ALIAS || 'alias/levr-server-to-server-auth-hmac',
|
|
37
|
-
CLOUDFLARE_JWK_URL: process.env.CLOUDFLARE_JWK_URL || '',
|
|
38
|
-
CLOUDFLARE_ISSUER: process.env.CLOUDFLARE_ISSUER || '',
|
|
39
|
-
CLOUDFLARE_AUDIENCE: process.env.CLOUDFLARE_AUDIENCE || '',
|
|
40
|
-
AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID || '',
|
|
41
|
-
AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY || '',
|
|
42
|
-
};
|
|
43
35
|
//# sourceMappingURL=dotenv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotenv.js","sourceRoot":"","sources":["../../../src/server/config/dotenv.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dotenv.js","sourceRoot":"","sources":["../../../src/server/config/dotenv.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IACrE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;CAC/C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,wCAAwC,CAAC;IACnE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IACrE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;CAC5E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC;CACpD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC;IACjD,uBAAuB,EAAE,wBAAwB;CACpD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE;CACjC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { KMSClient } from "@aws-sdk/client-kms";
|
|
2
|
+
declare class KmsClientManager {
|
|
3
|
+
private _client;
|
|
4
|
+
private initialized;
|
|
5
|
+
/**
|
|
6
|
+
* Initializes the KMS client for AWS cryptographic operations.
|
|
7
|
+
*
|
|
8
|
+
* **Note:** Not all services that use this package require AWS KMS, so initialization is opt-in.
|
|
9
|
+
* Call this method explicitly before using the KMS client to avoid initialization errors.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* kmsClientManager.init();
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
init(): void;
|
|
17
|
+
get client(): KMSClient;
|
|
18
|
+
}
|
|
19
|
+
export declare const kmsClientManager: KmsClientManager;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { KMSClient } from "@aws-sdk/client-kms";
|
|
2
|
+
import { Config } from "../../core";
|
|
3
|
+
import { awsCredsSchema } from "./dotenv";
|
|
4
|
+
class KmsClientManager {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._client = null;
|
|
7
|
+
this.initialized = false;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the KMS client for AWS cryptographic operations.
|
|
11
|
+
*
|
|
12
|
+
* **Note:** Not all services that use this package require AWS KMS, so initialization is opt-in.
|
|
13
|
+
* Call this method explicitly before using the KMS client to avoid initialization errors.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* kmsClientManager.init();
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
init() {
|
|
21
|
+
if (this.initialized) {
|
|
22
|
+
console.log("KmsClientManager already initialized, skipping...");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.initialized = true;
|
|
26
|
+
const { AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY } = Config.init(awsCredsSchema);
|
|
27
|
+
const config = {
|
|
28
|
+
region: "ap-south-1",
|
|
29
|
+
};
|
|
30
|
+
// Only add credentials if both access key and secret are defined
|
|
31
|
+
if (AWS_ACCESS_KEY_ID && AWS_SECRET_ACCESS_KEY) {
|
|
32
|
+
config.credentials = {
|
|
33
|
+
accessKeyId: AWS_ACCESS_KEY_ID,
|
|
34
|
+
secretAccessKey: AWS_SECRET_ACCESS_KEY,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
this._client = new KMSClient(config);
|
|
38
|
+
}
|
|
39
|
+
get client() {
|
|
40
|
+
if (!this._client)
|
|
41
|
+
throw new Error("KmsClientManager is not initialized. Call init() first.");
|
|
42
|
+
return this._client;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export const kmsClientManager = new KmsClientManager();
|
|
46
|
+
//# sourceMappingURL=kms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kms.js","sourceRoot":"","sources":["../../../src/server/config/kms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,gBAAgB;IAAtB;QACY,YAAO,GAAqB,IAAI,CAAA;QAChC,gBAAW,GAAG,KAAK,CAAA;IA0C/B,CAAC;IAxCG;;;;;;;;;;OAUG;IACH,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAChE,OAAM;QACV,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEhF,MAAM,MAAM,GAAQ;YAChB,MAAM,EAAE,YAAY;SACvB,CAAA;QAED,iEAAiE;QACjE,IAAI,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;YAC7C,MAAM,CAAC,WAAW,GAAG;gBACjB,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,qBAAqB;aACzC,CAAA;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IACxC,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;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/server/config/urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/server/config/urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { abis, LevrBaseMarket, LevrChain, LevrMarketId, LevrRelayerGroup, type CustomWalletClient } from "../../core";
|
|
2
1
|
import type { GetContractReturnType, PublicClient, WalletClient } from "viem";
|
|
2
|
+
import { abis, LevrBaseMarket, LevrChain, LevrMarketId, LevrRelayerGroup, type CustomWalletClient } from "../../core";
|
|
3
3
|
interface ClientOptions {
|
|
4
4
|
relayer?: LevrRelayerGroup;
|
|
5
5
|
walletClient?: WalletClient;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getLevrContract, getLevrMarketContract, publicClientService, } from "../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { LEVR_ENV } from "../config";
|
|
3
3
|
import ozRelayerService from "./clients/ozRelayerService";
|
|
4
4
|
/**
|
|
5
5
|
* Retrieves a Levr contract instance using a relayer if provided.
|
|
@@ -17,7 +17,7 @@ export async function getLevrContractWithRelayer(contractName, chainId, { relaye
|
|
|
17
17
|
walletClient = await ozRelayerService.getWalletClient(chainId, relayer);
|
|
18
18
|
if (!publicClient)
|
|
19
19
|
publicClient = await publicClientService.getPremiumPubClient(chainId);
|
|
20
|
-
return getLevrContract(contractName, chainId,
|
|
20
|
+
return getLevrContract(contractName, chainId, LEVR_ENV, { publicClient, walletClient });
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Retrieves a Levr market contract instance using a relayer or a provided wallet client.
|
|
@@ -38,6 +38,6 @@ export async function getLevrMarketContractWithRelayer(marketId, chainId, { rela
|
|
|
38
38
|
walletClient = await ozRelayerService.getWalletClient(chainId, relayer);
|
|
39
39
|
if (!publicClient)
|
|
40
40
|
publicClient = await publicClientService.getPremiumPubClient(chainId);
|
|
41
|
-
return getLevrMarketContract(marketId, chainId,
|
|
41
|
+
return getLevrMarketContract(marketId, chainId, LEVR_ENV, { publicClient, walletClient });
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=instances.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../src/server/contracts/instances.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../src/server/contracts/instances.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,eAAe,EACf,qBAAqB,EAKrB,mBAAmB,GAEtB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AAQzD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,YAAe,EACf,OAAkB,EAClB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAiB;IAEtD,IAAI,OAAO,IAAI,CAAC,YAAY;QAAE,YAAY,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrG,IAAI,CAAC,YAAY;QAAE,YAAY,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACxF,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;AAC3F,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAClD,QAAsB,EACtB,OAAkB,EAClB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAiB;IAEtD,IAAI,OAAO,IAAI,CAAC,YAAY;QAAE,YAAY,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrG,IAAI,CAAC,YAAY;QAAE,YAAY,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACxF,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;AAC7F,CAAC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export * from "../core";
|
|
2
|
-
export * from "./auth";
|
|
3
2
|
export * from "./config";
|
|
4
3
|
export * from "./contracts";
|
|
5
4
|
export * from "./liquidation-engine";
|
|
6
5
|
export * from "./logging";
|
|
7
6
|
export * from "./middleware";
|
|
8
7
|
export * from "./oracle";
|
|
8
|
+
export * from "./repositories";
|
|
9
|
+
export * from "./services";
|
|
10
|
+
export * from "./types";
|
|
9
11
|
export * from "./utils";
|