@levrbet/shared 0.1.168 → 0.1.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/core/contracts/instances.d.ts +17 -3
  2. package/dist/core/contracts/instances.js +30 -2
  3. package/dist/core/contracts/instances.js.map +1 -1
  4. package/dist/core/prisma/generated/edge.js +4 -3
  5. package/dist/core/prisma/generated/index-browser.js +1 -0
  6. package/dist/core/prisma/generated/index.d.ts +28 -1
  7. package/dist/core/prisma/generated/index.js +4 -3
  8. package/dist/core/prisma/generated/package.json +1 -1
  9. package/dist/core/prisma/generated/schema.prisma +1 -0
  10. package/dist/core/prisma/generated/wasm.js +4 -3
  11. package/dist/core/utils/misc.utils.d.ts +6 -0
  12. package/dist/core/utils/misc.utils.js +17 -1
  13. package/dist/core/utils/misc.utils.js.map +1 -1
  14. package/dist/react/hooks/auth/useAuthHeaders.js +2 -1
  15. package/dist/react/hooks/auth/useAuthHeaders.js.map +1 -1
  16. package/dist/react/hooks/contracts/erc20/index.d.ts +6 -0
  17. package/dist/react/hooks/contracts/erc20/index.js +23 -0
  18. package/dist/react/hooks/contracts/erc20/index.js.map +1 -0
  19. package/dist/react/hooks/contracts/erc20/useApproveErc20.d.ts +13 -0
  20. package/dist/react/hooks/contracts/erc20/useApproveErc20.js +28 -0
  21. package/dist/react/hooks/contracts/erc20/useApproveErc20.js.map +1 -0
  22. package/dist/react/hooks/contracts/erc20/useErc20Allowance.d.ts +10 -0
  23. package/dist/react/hooks/contracts/erc20/useErc20Allowance.js +34 -0
  24. package/dist/react/hooks/contracts/erc20/useErc20Allowance.js.map +1 -0
  25. package/dist/react/hooks/contracts/erc20/useErc20Balance.d.ts +22 -0
  26. package/dist/react/hooks/contracts/erc20/useErc20Balance.js +95 -0
  27. package/dist/react/hooks/contracts/erc20/useErc20Balance.js.map +1 -0
  28. package/dist/react/hooks/contracts/erc20/useErc20Decimals.d.ts +8 -0
  29. package/dist/react/hooks/contracts/erc20/useErc20Decimals.js +28 -0
  30. package/dist/react/hooks/contracts/erc20/useErc20Decimals.js.map +1 -0
  31. package/dist/react/hooks/contracts/erc20/useErc20Symbol.d.ts +8 -0
  32. package/dist/react/hooks/contracts/erc20/useErc20Symbol.js +28 -0
  33. package/dist/react/hooks/contracts/erc20/useErc20Symbol.js.map +1 -0
  34. package/dist/react/hooks/contracts/erc20/useTransferErc20.d.ts +13 -0
  35. package/dist/react/hooks/contracts/erc20/useTransferErc20.js +31 -0
  36. package/dist/react/hooks/contracts/erc20/useTransferErc20.js.map +1 -0
  37. package/dist/react/hooks/contracts/index.d.ts +1 -0
  38. package/dist/react/hooks/contracts/index.js +1 -0
  39. package/dist/react/hooks/contracts/index.js.map +1 -1
  40. package/dist/react/hooks/contracts/useContracts.d.ts +7 -1
  41. package/dist/react/hooks/contracts/useContracts.js +24 -2
  42. package/dist/react/hooks/contracts/useContracts.js.map +1 -1
  43. package/dist/react/injectedDependencies.d.ts +4 -3
  44. package/dist/react/injectedDependencies.js.map +1 -1
  45. package/dist/react/queryKeys.d.ts +17 -0
  46. package/dist/react/queryKeys.js +23 -0
  47. package/dist/react/queryKeys.js.map +1 -0
  48. package/package.json +1 -1
@@ -269,6 +269,7 @@ exports.Prisma.UserScalarFieldEnum = {
269
269
  preferredTimeZone: 'preferredTimeZone',
270
270
  userOddsPreference: 'userOddsPreference',
271
271
  profileImageUrl: 'profileImageUrl',
272
+ profileImageKey: 'profileImageKey',
272
273
  language: 'language',
273
274
  showRiskWarnings: 'showRiskWarnings',
274
275
  showPreTransactionReminders: 'showPreTransactionReminders',
@@ -441,13 +442,13 @@ const config = {
441
442
  }
442
443
  }
443
444
  },
444
- "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 Sides {\n A\n B\n C\n}\n\nenum MarketType {\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 logoKey String\n logoUrl String\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\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 tournamentObjectId String @db.ObjectId\n fixtureObjectId 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 @@unique([chainId, levrFixtureId])\n @@unique([chainId, gameId])\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 MarketType\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 MarketType\n status MarketStatus\n winner Sides?\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 String\n preferredTimeZone String?\n userOddsPreference UserOddsPreference\n profileImageUrl String?\n language String @default(\"en\")\n showRiskWarnings Boolean @default(true)\n showPreTransactionReminders Boolean @default(true)\n twoFactorEnabled Boolean @default(false)\n autoDetectTimeZone Boolean @default(true)\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 service LevrService? // Optional: restrict key to a specific service\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 @@index([userId, isActive])\n @@index([service, 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",
445
- "inlineSchemaHash": "8a68ffeb3ae3d641259f576a30664618b12cadc993e4c675956c11cd5e806ffb",
445
+ "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 Sides {\n A\n B\n C\n}\n\nenum MarketType {\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 logoKey String\n logoUrl String\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\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 tournamentObjectId String @db.ObjectId\n fixtureObjectId 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 @@unique([chainId, levrFixtureId])\n @@unique([chainId, gameId])\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 MarketType\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 MarketType\n status MarketStatus\n winner Sides?\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 String\n preferredTimeZone String?\n userOddsPreference UserOddsPreference\n profileImageUrl String?\n profileImageKey String?\n language String @default(\"en\")\n showRiskWarnings Boolean @default(true)\n showPreTransactionReminders Boolean @default(true)\n twoFactorEnabled Boolean @default(false)\n autoDetectTimeZone Boolean @default(true)\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 service LevrService? // Optional: restrict key to a specific service\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 @@index([userId, isActive])\n @@index([service, 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",
446
+ "inlineSchemaHash": "0ba95302368a22e424b5dbd57f560a27204f96e065edcd36d0c9bf0f73833c5d",
446
447
  "copyEngine": true
447
448
  }
448
449
  config.dirname = '/'
449
450
 
450
- 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\":\"logoKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logoUrl\",\"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\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fixtureObjectId\",\"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\":\"MarketType\"},{\"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\":\"MarketType\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"winner\",\"kind\":\"enum\",\"type\":\"Sides\"},{\"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\":\"String\"},{\"name\":\"preferredTimeZone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userOddsPreference\",\"kind\":\"enum\",\"type\":\"UserOddsPreference\"},{\"name\":\"profileImageUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"language\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"showRiskWarnings\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"showPreTransactionReminders\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"twoFactorEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"autoDetectTimeZone\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"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\":\"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\":{}}")
451
+ 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\":\"logoKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logoUrl\",\"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\":\"tournamentObjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fixtureObjectId\",\"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\":\"MarketType\"},{\"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\":\"MarketType\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MarketStatus\"},{\"name\":\"winner\",\"kind\":\"enum\",\"type\":\"Sides\"},{\"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\":\"String\"},{\"name\":\"preferredTimeZone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userOddsPreference\",\"kind\":\"enum\",\"type\":\"UserOddsPreference\"},{\"name\":\"profileImageUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"profileImageKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"language\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"showRiskWarnings\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"showPreTransactionReminders\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"twoFactorEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"autoDetectTimeZone\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"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\":\"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\":{}}")
451
452
  defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
452
453
  config.engineWasm = {
453
454
  getRuntime: async () => require('./query_engine_bg.js'),
@@ -6,3 +6,9 @@ export declare const argHash: (...args: (string | number | bigint)[]) => string;
6
6
  * @returns A promise that resolves after the specified duration.
7
7
  */
8
8
  export declare const sleep: (value: ms.StringValue) => Promise<void>;
9
+ /**
10
+ * Format a number with comma separators
11
+ * @param value - The number to format
12
+ * @returns The formatted number string with commas
13
+ */
14
+ export declare const formatNumberWithCommas: (value: number | string) => string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sleep = exports.argHash = void 0;
6
+ exports.formatNumberWithCommas = exports.sleep = exports.argHash = void 0;
7
7
  const ms_1 = __importDefault(require("ms"));
8
8
  const argHash = (...args) => args.join("-");
9
9
  exports.argHash = argHash;
@@ -14,4 +14,20 @@ exports.argHash = argHash;
14
14
  */
15
15
  const sleep = (value) => new Promise((resolve) => setTimeout(resolve, (0, ms_1.default)(value)));
16
16
  exports.sleep = sleep;
17
+ /**
18
+ * Format a number with comma separators
19
+ * @param value - The number to format
20
+ * @returns The formatted number string with commas
21
+ */
22
+ const formatNumberWithCommas = (value) => {
23
+ const num = typeof value === "string" ? parseFloat(value) : value;
24
+ if (isNaN(num))
25
+ return "0";
26
+ const parts = num.toString().split(".");
27
+ const integer = parts[0] || "0";
28
+ const decimal = parts[1];
29
+ const formattedInteger = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
30
+ return decimal ? `${formattedInteger}.${decimal}` : formattedInteger;
31
+ };
32
+ exports.formatNumberWithCommas = formatNumberWithCommas;
17
33
  //# sourceMappingURL=misc.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.utils.js","sourceRoot":"","sources":["../../../src/core/utils/misc.utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEZ,MAAM,OAAO,GAAG,CAAC,GAAG,IAAkC,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,OAAO,WAAoE;AAExF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAA1G,QAAA,KAAK,SAAqG"}
1
+ {"version":3,"file":"misc.utils.js","sourceRoot":"","sources":["../../../src/core/utils/misc.utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEZ,MAAM,OAAO,GAAG,CAAC,GAAG,IAAkC,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAA3E,QAAA,OAAO,WAAoE;AAExF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAA1G,QAAA,KAAK,SAAqG;AAEvH;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAAsB,EAAU,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACjE,IAAI,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAE1B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IAEtE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAA;AACxE,CAAC,CAAA;AAVY,QAAA,sBAAsB,0BAUlC"}
@@ -27,6 +27,7 @@ const ms_1 = __importDefault(require("ms"));
27
27
  const core_1 = require("../../../core");
28
28
  const constants_1 = require("../../../core/privy/constants");
29
29
  const injectedDependencies_1 = require("../../injectedDependencies");
30
+ const queryKeys_1 = require("../../queryKeys");
30
31
  function useBaseAuthHeaders(levrAuth, props = {}) {
31
32
  const { address } = props;
32
33
  const { usePrivy, useIdentityToken, useUser, useQuery } = (0, injectedDependencies_1.getDependencies)();
@@ -34,7 +35,7 @@ function useBaseAuthHeaders(levrAuth, props = {}) {
34
35
  const { identityToken } = useIdentityToken();
35
36
  const { refreshUser } = useUser();
36
37
  return useQuery({
37
- queryKey: ["authHeaders", levrAuth, user?.id, address].filter((k) => !lodash_1.default.isNil(k)),
38
+ queryKey: queryKeys_1.queryKeys.auth.headers(levrAuth, user?.id, address),
38
39
  queryFn: async () => {
39
40
  if (!user)
40
41
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthHeaders.js","sourceRoot":"","sources":["../../../../src/react/hooks/auth/useAuthHeaders.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;AAEH,oDAAsB;AACtB,4CAAmB;AAGnB,wCAA0D;AAC1D,6DAAoH;AACpH,qEAA4D;AAM5D,SAAS,kBAAkB,CAAC,QAAkB,EAAE,QAA6B,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC3E,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAA;IAEjC,OAAO,QAAQ,CAAC;QACZ,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAA;YACpB,MAAM,WAAW,EAAE,CAAA;YAEnB,OAAO;gBACH,CAAC,uBAAgB,CAAC,EAAE,QAAQ;gBAC5B,CAAC,8BAAkB,CAAC,EAAE,OAAO;gBAC7B,CAAC,qCAAyB,CAAC,EAAE,MAAM,cAAc,EAAE;gBACnD,CAAC,iCAAqB,CAAC,EAAE,aAAa;aACzC,CAAA;QACL,CAAC;QACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,eAAe,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC;KAC5B,CAAC,CAAA;AACN,CAAC;AAEM,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAAhG,QAAA,cAAc,kBAAkF;AAEtG,MAAM,mBAAmB,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAAtG,QAAA,mBAAmB,uBAAmF"}
1
+ {"version":3,"file":"useAuthHeaders.js","sourceRoot":"","sources":["../../../../src/react/hooks/auth/useAuthHeaders.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;AAEH,oDAAsB;AACtB,4CAAmB;AAGnB,wCAA0D;AAC1D,6DAAoH;AACpH,qEAA4D;AAC5D,+CAA2C;AAM3C,SAAS,kBAAkB,CAAC,QAAkB,EAAE,QAA6B,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC3E,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAA;IAEjC,OAAO,QAAQ,CAAC;QACZ,QAAQ,EAAE,qBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC;QAC7D,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAA;YACpB,MAAM,WAAW,EAAE,CAAA;YAEnB,OAAO;gBACH,CAAC,uBAAgB,CAAC,EAAE,QAAQ;gBAC5B,CAAC,8BAAkB,CAAC,EAAE,OAAO;gBAC7B,CAAC,qCAAyB,CAAC,EAAE,MAAM,cAAc,EAAE;gBACnD,CAAC,iCAAqB,CAAC,EAAE,aAAa;aACzC,CAAA;QACL,CAAC;QACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,eAAe,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC;KAC5B,CAAC,CAAA;AACN,CAAC;AAEM,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAAhG,QAAA,cAAc,kBAAkF;AAEtG,MAAM,mBAAmB,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAAtG,QAAA,mBAAmB,uBAAmF"}
@@ -0,0 +1,6 @@
1
+ export * from "./useApproveErc20";
2
+ export * from "./useErc20Allowance";
3
+ export * from "./useErc20Balance";
4
+ export * from "./useErc20Decimals";
5
+ export * from "./useErc20Symbol";
6
+ export * from "./useTransferErc20";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useApproveErc20"), exports);
18
+ __exportStar(require("./useErc20Allowance"), exports);
19
+ __exportStar(require("./useErc20Balance"), exports);
20
+ __exportStar(require("./useErc20Decimals"), exports);
21
+ __exportStar(require("./useErc20Symbol"), exports);
22
+ __exportStar(require("./useTransferErc20"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/react/hooks/contracts/erc20/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,sDAAmC;AACnC,oDAAiC;AACjC,qDAAkC;AAClC,mDAAgC;AAChC,qDAAkC"}
@@ -0,0 +1,13 @@
1
+ import { Address } from "viem";
2
+ import { LevrChain } from "../../../../core";
3
+ interface UseApproveErc20Params {
4
+ erc20Address?: Address;
5
+ chainId?: LevrChain;
6
+ spenderAddress?: Address;
7
+ }
8
+ export declare const useApproveErc20: ({ erc20Address, chainId: _chainId, spenderAddress }?: UseApproveErc20Params) => import("@tanstack/react-query").UseMutationResult<{
9
+ hash: `0x${string}`;
10
+ }, Error, {
11
+ amount: bigint;
12
+ }, unknown>;
13
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useApproveErc20 = void 0;
4
+ const core_1 = require("../../../../core");
5
+ const injectedDependencies_1 = require("../../../injectedDependencies");
6
+ const queryKeys_1 = require("../../../queryKeys");
7
+ const useApproveErc20 = ({ erc20Address, chainId: _chainId, spenderAddress } = {}) => {
8
+ const { useMutation, useChainId, useConnectorClient, useAccount } = (0, injectedDependencies_1.getDependencies)();
9
+ const chainId = useChainId?.() ?? _chainId;
10
+ const { data: walletClient } = useConnectorClient?.() ?? {};
11
+ const { address: userAddress } = useAccount?.() ?? {};
12
+ return useMutation({
13
+ mutationFn: async ({ amount }) => {
14
+ if (!erc20Address || !chainId || !spenderAddress)
15
+ throw new Error("Missing erc20Address, chainId, or spenderAddress");
16
+ if (!walletClient)
17
+ throw new Error("Wallet client not available");
18
+ const contract = (0, core_1.getErc20Contract)(erc20Address, chainId, { walletClient });
19
+ const hash = await contract.write.approve([spenderAddress, amount]);
20
+ return { hash };
21
+ },
22
+ meta: {
23
+ invalidatesQueries: [queryKeys_1.queryKeys.erc20.allowance(erc20Address, userAddress, spenderAddress, chainId)],
24
+ },
25
+ });
26
+ };
27
+ exports.useApproveErc20 = useApproveErc20;
28
+ //# sourceMappingURL=useApproveErc20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApproveErc20.js","sourceRoot":"","sources":["../../../../../src/react/hooks/contracts/erc20/useApproveErc20.ts"],"names":[],"mappings":";;;AACA,2CAA8D;AAC9D,wEAA+D;AAC/D,kDAA8C;AAQvC,MAAM,eAAe,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,KAA4B,EAAE,EAAE,EAAE;IAC/G,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IACrF,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAC1C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,CAAA;IAErD,OAAO,WAAY,CAAC;QAChB,UAAU,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;YACjD,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrH,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAEjE,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAAC,YAAY,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;YAC1E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;YAEnE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,EAAE;YACF,kBAAkB,EAAE,CAAC,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;SACtG;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AApBY,QAAA,eAAe,mBAoB3B"}
@@ -0,0 +1,10 @@
1
+ import { Address } from "viem";
2
+ import { LevrChain } from "../../../../core";
3
+ interface UseErc20AllowanceParams {
4
+ erc20Address?: Address;
5
+ ownerAddress?: Address;
6
+ spenderAddress?: Address;
7
+ chainId?: LevrChain;
8
+ }
9
+ export declare const useErc20Allowance: ({ erc20Address, ownerAddress: _ownerAddress, spenderAddress, chainId: _chainId, }: UseErc20AllowanceParams) => import("@tanstack/react-query").UseQueryResult<bigint, Error>;
10
+ export {};
@@ -0,0 +1,34 @@
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.useErc20Allowance = void 0;
7
+ const react_query_1 = require("@tanstack/react-query");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const core_1 = require("../../../../core");
10
+ const injectedDependencies_1 = require("../../../injectedDependencies");
11
+ const queryKeys_1 = require("../../../queryKeys");
12
+ const erc20AllowanceQueryOptions = ({ erc20Address, ownerAddress, spenderAddress, chainId }) => (0, react_query_1.queryOptions)({
13
+ queryKey: queryKeys_1.queryKeys.erc20.allowance(erc20Address, ownerAddress, spenderAddress, chainId),
14
+ queryFn: async () => {
15
+ if (!erc20Address || !ownerAddress || !spenderAddress || !chainId) {
16
+ throw new Error("Missing erc20Address, ownerAddress, spenderAddress, or chainId");
17
+ }
18
+ const contract = (0, core_1.getErc20Contract)(erc20Address, chainId);
19
+ return await contract.read.allowance([ownerAddress, spenderAddress]);
20
+ },
21
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(ownerAddress) && !lodash_1.default.isNil(spenderAddress) && !lodash_1.default.isNil(chainId),
22
+ });
23
+ const useErc20Allowance = ({ erc20Address, ownerAddress: _ownerAddress, spenderAddress, chainId: _chainId, }) => {
24
+ const { useQuery, useAccount, useChainId } = (0, injectedDependencies_1.getDependencies)();
25
+ const { address } = useAccount?.() ?? {};
26
+ const ownerAddress = _ownerAddress ?? address;
27
+ const chainId = useChainId?.() ?? _chainId;
28
+ return useQuery({
29
+ ...erc20AllowanceQueryOptions({ erc20Address, ownerAddress, spenderAddress, chainId }),
30
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(ownerAddress) && !lodash_1.default.isNil(spenderAddress) && !lodash_1.default.isNil(chainId),
31
+ });
32
+ };
33
+ exports.useErc20Allowance = useErc20Allowance;
34
+ //# sourceMappingURL=useErc20Allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useErc20Allowance.js","sourceRoot":"","sources":["../../../../../src/react/hooks/contracts/erc20/useErc20Allowance.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoD;AACpD,oDAAsB;AAEtB,2CAA8D;AAC9D,wEAA+D;AAC/D,kDAA8C;AAS9C,MAAM,0BAA0B,GAAG,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAA2B,EAAE,EAAE,CACpH,IAAA,0BAAY,EAAC;IACT,QAAQ,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC;IACxF,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACxD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;CAC7G,CAAC,CAAA;AAEC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,YAAY,EACZ,YAAY,EAAE,aAAa,EAC3B,cAAc,EACd,OAAO,EAAE,QAAQ,GACK,EAAE,EAAE;IAC1B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,CAAA;IACxC,MAAM,YAAY,GAAG,aAAa,IAAI,OAAO,CAAA;IAC7C,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAE1C,OAAO,QAAQ,CAAC;QACZ,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;QACtF,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;KAC7G,CAAC,CAAA;AACN,CAAC,CAAA;AAfY,QAAA,iBAAiB,qBAe7B"}
@@ -0,0 +1,22 @@
1
+ import { Address } from "viem";
2
+ import { LevrChain } from "../../../../core";
3
+ interface UseErc20BalanceParams {
4
+ erc20Address?: Address;
5
+ userAddress?: Address;
6
+ chainId?: LevrChain;
7
+ }
8
+ interface UseErc20FormattedBalanceParams extends UseErc20BalanceParams {
9
+ decimalPlaces?: number;
10
+ }
11
+ export declare const useErc20Balance: ({ erc20Address, userAddress: _userAddress, chainId: _chainId }: UseErc20BalanceParams) => import("@tanstack/react-query").UseQueryResult<bigint, Error>;
12
+ /**
13
+ * Hook to get formatted ERC20 balance
14
+ * @param decimalPlaces - Number of decimal places to show (default: 2). Truncates by removing excess decimals.
15
+ */
16
+ export declare const useErc20FormattedBalance: ({ erc20Address, userAddress: _userAddress, chainId: _chainId, decimalPlaces, }: UseErc20FormattedBalanceParams) => import("@tanstack/react-query").UseQueryResult<string, Error>;
17
+ /**
18
+ * Hook to get ERC20 balance formatted with commas
19
+ * @param decimalPlaces - Number of decimal places to show (default: 2). Truncates by removing excess decimals.
20
+ */
21
+ export declare const useErc20NumberFormattedBalance: ({ erc20Address, userAddress: _userAddress, chainId: _chainId, decimalPlaces, }: UseErc20FormattedBalanceParams) => import("@tanstack/react-query").UseQueryResult<string, Error>;
22
+ export {};
@@ -0,0 +1,95 @@
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.useErc20NumberFormattedBalance = exports.useErc20FormattedBalance = exports.useErc20Balance = void 0;
7
+ const react_query_1 = require("@tanstack/react-query");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const viem_1 = require("viem");
10
+ const core_1 = require("../../../../core");
11
+ const injectedDependencies_1 = require("../../../injectedDependencies");
12
+ const queryKeys_1 = require("../../../queryKeys");
13
+ const useErc20Decimals_1 = require("./useErc20Decimals");
14
+ const erc20BalanceQueryOptions = ({ erc20Address, userAddress, chainId }) => (0, react_query_1.queryOptions)({
15
+ queryKey: queryKeys_1.queryKeys.erc20.balance(erc20Address, userAddress, chainId),
16
+ queryFn: async () => {
17
+ if (!erc20Address || !userAddress || !chainId)
18
+ throw new Error("Missing erc20Address, userAddress, or chainId");
19
+ const contract = (0, core_1.getErc20Contract)(erc20Address, chainId);
20
+ return await contract.read.balanceOf([userAddress]);
21
+ },
22
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(userAddress) && !lodash_1.default.isNil(chainId),
23
+ });
24
+ const useErc20Balance = ({ erc20Address, userAddress: _userAddress, chainId: _chainId }) => {
25
+ const { useQuery, useAccount, useChainId } = (0, injectedDependencies_1.getDependencies)();
26
+ const { address } = useAccount?.() ?? {};
27
+ const userAddress = _userAddress ?? address;
28
+ const chainId = useChainId?.() ?? _chainId;
29
+ return useQuery({
30
+ ...erc20BalanceQueryOptions({ erc20Address, userAddress, chainId }),
31
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(userAddress) && !lodash_1.default.isNil(chainId),
32
+ });
33
+ };
34
+ exports.useErc20Balance = useErc20Balance;
35
+ /**
36
+ * Hook to get formatted ERC20 balance
37
+ * @param decimalPlaces - Number of decimal places to show (default: 2). Truncates by removing excess decimals.
38
+ */
39
+ const useErc20FormattedBalance = ({ erc20Address, userAddress: _userAddress, chainId: _chainId, decimalPlaces = 2, }) => {
40
+ const { useQuery, useAccount, useChainId } = (0, injectedDependencies_1.getDependencies)();
41
+ const { address } = useAccount?.() ?? {};
42
+ const userAddress = _userAddress ?? address;
43
+ const chainId = useChainId?.() ?? _chainId;
44
+ const { data: decimals } = (0, useErc20Decimals_1.useErc20Decimals)({ erc20Address, chainId });
45
+ return useQuery({
46
+ ...erc20BalanceQueryOptions({ erc20Address, userAddress, chainId }),
47
+ select: (balance) => {
48
+ if (lodash_1.default.isNil(decimals))
49
+ return "0";
50
+ const formatted = (0, viem_1.formatUnits)(balance, decimals);
51
+ // Truncate to specified decimal places by removing excess decimals
52
+ const parts = formatted.split(".");
53
+ if (parts.length === 1 || decimalPlaces === 0) {
54
+ return parts[0] || "0";
55
+ }
56
+ const truncatedDecimals = parts[1]?.slice(0, decimalPlaces) || "";
57
+ return truncatedDecimals ? `${parts[0]}.${truncatedDecimals}` : parts[0] || "0";
58
+ },
59
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(userAddress) && !lodash_1.default.isNil(chainId) && !lodash_1.default.isNil(decimals),
60
+ });
61
+ };
62
+ exports.useErc20FormattedBalance = useErc20FormattedBalance;
63
+ /**
64
+ * Hook to get ERC20 balance formatted with commas
65
+ * @param decimalPlaces - Number of decimal places to show (default: 2). Truncates by removing excess decimals.
66
+ */
67
+ const useErc20NumberFormattedBalance = ({ erc20Address, userAddress: _userAddress, chainId: _chainId, decimalPlaces = 2, }) => {
68
+ const { useQuery, useAccount, useChainId } = (0, injectedDependencies_1.getDependencies)();
69
+ const { address } = useAccount?.() ?? {};
70
+ const userAddress = _userAddress ?? address;
71
+ const chainId = useChainId?.() ?? _chainId;
72
+ const { data: decimals } = (0, useErc20Decimals_1.useErc20Decimals)({ erc20Address, chainId });
73
+ return useQuery({
74
+ ...erc20BalanceQueryOptions({ erc20Address, userAddress, chainId }),
75
+ select: (balance) => {
76
+ if (lodash_1.default.isNil(decimals))
77
+ return "0";
78
+ const formatted = (0, viem_1.formatUnits)(balance, decimals);
79
+ // Truncate to specified decimal places by removing excess decimals
80
+ const parts = formatted.split(".");
81
+ let truncated;
82
+ if (parts.length === 1 || decimalPlaces === 0) {
83
+ truncated = parts[0] || "0";
84
+ }
85
+ else {
86
+ const truncatedDecimals = parts[1]?.slice(0, decimalPlaces) || "";
87
+ truncated = truncatedDecimals ? `${parts[0]}.${truncatedDecimals}` : parts[0] || "0";
88
+ }
89
+ return (0, core_1.formatNumberWithCommas)(truncated);
90
+ },
91
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(userAddress) && !lodash_1.default.isNil(chainId) && !lodash_1.default.isNil(decimals),
92
+ });
93
+ };
94
+ exports.useErc20NumberFormattedBalance = useErc20NumberFormattedBalance;
95
+ //# sourceMappingURL=useErc20Balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useErc20Balance.js","sourceRoot":"","sources":["../../../../../src/react/hooks/contracts/erc20/useErc20Balance.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoD;AACpD,oDAAsB;AACtB,+BAA2C;AAC3C,2CAAsF;AACtF,wEAA+D;AAC/D,kDAA8C;AAC9C,yDAAqD;AAYrD,MAAM,wBAAwB,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAyB,EAAE,EAAE,CAC/F,IAAA,0BAAY,EAAC;IACT,QAAQ,EAAE,qBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC;IACrE,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC/G,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACxD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;CAChF,CAAC,CAAA;AAEC,MAAM,eAAe,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAyB,EAAE,EAAE;IACrH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,YAAY,IAAI,OAAO,CAAA;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAE1C,OAAO,QAAQ,CAAC;QACZ,GAAG,wBAAwB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;KAChF,CAAC,CAAA;AACN,CAAC,CAAA;AAVY,QAAA,eAAe,mBAU3B;AAED;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACrC,YAAY,EACZ,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,QAAQ,EACjB,aAAa,GAAG,CAAC,GACY,EAAE,EAAE;IACjC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,YAAY,IAAI,OAAO,CAAA;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAC1C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,mCAAgB,EAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;IAEtE,OAAO,QAAQ,CAAC;QACZ,GAAG,wBAAwB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACnE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,GAAG,CAAA;YAEjC,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEhD,mEAAmE;YACnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;YAC1B,CAAC;YAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,CAAA;YACjE,OAAO,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QACnF,CAAC;QACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KACtG,CAAC,CAAA;AACN,CAAC,CAAA;AA9BY,QAAA,wBAAwB,4BA8BpC;AAED;;;GAGG;AACI,MAAM,8BAA8B,GAAG,CAAC,EAC3C,YAAY,EACZ,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,QAAQ,EACjB,aAAa,GAAG,CAAC,GACY,EAAE,EAAE;IACjC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,YAAY,IAAI,OAAO,CAAA;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAC1C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,mCAAgB,EAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;IAEtE,OAAO,QAAQ,CAAC;QACZ,GAAG,wBAAwB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACnE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,GAAG,CAAA;YAEjC,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEhD,mEAAmE;YACnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,SAAiB,CAAA;YACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC5C,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,CAAA;gBACjE,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;YACxF,CAAC;YAED,OAAO,IAAA,6BAAsB,EAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KACtG,CAAC,CAAA;AACN,CAAC,CAAA;AAjCY,QAAA,8BAA8B,kCAiC1C"}
@@ -0,0 +1,8 @@
1
+ import { Address } from "viem";
2
+ import { LevrChain } from "../../../../core";
3
+ interface UseErc20DecimalParams {
4
+ erc20Address?: Address;
5
+ chainId?: LevrChain;
6
+ }
7
+ export declare const useErc20Decimals: ({ erc20Address, chainId: _chainId }: UseErc20DecimalParams) => import("@tanstack/react-query").UseQueryResult<number, Error>;
8
+ export {};
@@ -0,0 +1,28 @@
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.useErc20Decimals = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const core_1 = require("../../../../core");
9
+ const injectedDependencies_1 = require("../../../injectedDependencies");
10
+ const queryKeys_1 = require("../../../queryKeys");
11
+ const useErc20Decimals = ({ erc20Address, chainId: _chainId }) => {
12
+ const { useQuery, useChainId } = (0, injectedDependencies_1.getDependencies)();
13
+ const chainId = useChainId?.() ?? _chainId;
14
+ return useQuery({
15
+ queryKey: queryKeys_1.queryKeys.erc20.decimals(erc20Address, chainId),
16
+ queryFn: async () => {
17
+ if (!erc20Address || !chainId)
18
+ throw new Error("Missing erc20Address or chainId");
19
+ const contract = (0, core_1.getErc20Contract)(erc20Address, chainId);
20
+ return await contract.read.decimals();
21
+ },
22
+ enabled: !lodash_1.default.isNil(erc20Address) && !lodash_1.default.isNil(chainId),
23
+ staleTime: Infinity,
24
+ gcTime: Infinity,
25
+ });
26
+ };
27
+ exports.useErc20Decimals = useErc20Decimals;
28
+ //# sourceMappingURL=useErc20Decimals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useErc20Decimals.js","sourceRoot":"","sources":["../../../../../src/react/hooks/contracts/erc20/useErc20Decimals.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AAEtB,2CAA8D;AAC9D,wEAA+D;AAC/D,kDAA8C;AAOvC,MAAM,gBAAgB,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAyB,EAAE,EAAE;IAC3F,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAe,GAAE,CAAA;IAClD,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAA;IAE1C,OAAO,QAAQ,CAAC;QACZ,QAAQ,EAAE,qBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QACzD,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAEjF,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YAExD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpD,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAA;AACN,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B"}
@@ -0,0 +1,8 @@
1
+ import { Address } from "viem";
2
+ import { LevrChain } from "../../../../core";
3
+ interface UseErc20SymbolParams {
4
+ erc20Address?: Address;
5
+ chainId?: LevrChain;
6
+ }
7
+ export declare const useErc20Symbol: ({ erc20Address, chainId: _chainId }: UseErc20SymbolParams) => import("@tanstack/react-query").UseQueryResult<string, Error>;
8
+ export {};