be-components 7.4.7 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/ApiOverrides/index.js +4 -0
- package/lib/commonjs/ApiOverrides/index.js.map +1 -1
- package/lib/commonjs/BetRouter/api/index.js +884 -0
- package/lib/commonjs/BetRouter/api/index.js.map +1 -0
- package/lib/commonjs/BetRouter/api/types.js +2 -0
- package/lib/commonjs/BetRouter/api/types.js.map +1 -0
- package/lib/commonjs/BetRouter/components/AccountManager.js +592 -0
- package/lib/commonjs/BetRouter/components/AccountManager.js.map +1 -0
- package/lib/commonjs/BetRouter/components/AdminPortal.js +51 -0
- package/lib/commonjs/BetRouter/components/AdminPortal.js.map +1 -0
- package/lib/commonjs/BetRouter/components/BuyOpportunities.js +550 -0
- package/lib/commonjs/BetRouter/components/BuyOpportunities.js.map +1 -0
- package/lib/commonjs/BetRouter/components/BuyOpportunityCard.js +320 -0
- package/lib/commonjs/BetRouter/components/BuyOpportunityCard.js.map +1 -0
- package/lib/commonjs/BetRouter/components/ContestLiquidity.js +666 -0
- package/lib/commonjs/BetRouter/components/ContestLiquidity.js.map +1 -0
- package/lib/commonjs/BetRouter/components/ContestSelector.js +193 -0
- package/lib/commonjs/BetRouter/components/ContestSelector.js.map +1 -0
- package/lib/commonjs/BetRouter/components/MyOpportunities.js +332 -0
- package/lib/commonjs/BetRouter/components/MyOpportunities.js.map +1 -0
- package/lib/commonjs/BetRouter/components/MyOpportunities.tsx.bak +440 -0
- package/lib/commonjs/BetRouter/components/OpportunityDetailModal.js +545 -0
- package/lib/commonjs/BetRouter/components/OpportunityDetailModal.js.map +1 -0
- package/lib/commonjs/BetRouter/components/OpportunityHistory.js +489 -0
- package/lib/commonjs/BetRouter/components/OpportunityHistory.js.map +1 -0
- package/lib/commonjs/BetRouter/components/PartnerCredentials.js +229 -0
- package/lib/commonjs/BetRouter/components/PartnerCredentials.js.map +1 -0
- package/lib/commonjs/BetRouter/components/PlacedOpportunityModal.js +262 -0
- package/lib/commonjs/BetRouter/components/PlacedOpportunityModal.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/AutoFillView.js +380 -0
- package/lib/commonjs/BetRouter/components/admin/AutoFillView.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/ConfigManager.js +814 -0
- package/lib/commonjs/BetRouter/components/admin/ConfigManager.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/JobManager.js +895 -0
- package/lib/commonjs/BetRouter/components/admin/JobManager.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueContests.js +2844 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueContests.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueInfo.js +378 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueInfo.js.map +1 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueParticipants.js +795 -0
- package/lib/commonjs/BetRouter/components/admin/LeagueParticipants.js.map +1 -0
- package/lib/commonjs/BetRouter/index.js +411 -0
- package/lib/commonjs/BetRouter/index.js.map +1 -0
- package/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.js +312 -0
- package/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.js.map +1 -0
- package/lib/commonjs/BetRouter/layouts/DesktopLayout.js +271 -0
- package/lib/commonjs/BetRouter/layouts/DesktopLayout.js.map +1 -0
- package/lib/commonjs/BetRouter/layouts/MobileAdminLayout.js +435 -0
- package/lib/commonjs/BetRouter/layouts/MobileAdminLayout.js.map +1 -0
- package/lib/commonjs/BetRouter/layouts/MobileLayout.js +293 -0
- package/lib/commonjs/BetRouter/layouts/MobileLayout.js.map +1 -0
- package/lib/commonjs/BetRouter/types/ADMIN_PORTAL.md +863 -0
- package/lib/commonjs/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
- package/lib/commonjs/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
- package/lib/commonjs/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
- package/lib/commonjs/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
- package/lib/commonjs/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
- package/lib/commonjs/BetRouter/types/README.md +249 -0
- package/lib/commonjs/BetRouter/types/accounts.js +2 -0
- package/lib/commonjs/BetRouter/types/accounts.js.map +1 -0
- package/lib/commonjs/BetRouter/types/api-contracts.js +776 -0
- package/lib/commonjs/BetRouter/types/api-contracts.js.map +1 -0
- package/lib/commonjs/BetRouter/types/config.js +2 -0
- package/lib/commonjs/BetRouter/types/config.js.map +1 -0
- package/lib/commonjs/BetRouter/types/contests.js +2 -0
- package/lib/commonjs/BetRouter/types/contests.js.map +1 -0
- package/lib/commonjs/BetRouter/types/credentials.js +90 -0
- package/lib/commonjs/BetRouter/types/credentials.js.map +1 -0
- package/lib/commonjs/BetRouter/types/index.js +149 -0
- package/lib/commonjs/BetRouter/types/index.js.map +1 -0
- package/lib/commonjs/BetRouter/types/jobs.js +2 -0
- package/lib/commonjs/BetRouter/types/jobs.js.map +1 -0
- package/lib/commonjs/BetRouter/types/leagues.js +2 -0
- package/lib/commonjs/BetRouter/types/leagues.js.map +1 -0
- package/lib/commonjs/BetRouter/types/liquidity.js +2 -0
- package/lib/commonjs/BetRouter/types/liquidity.js.map +1 -0
- package/lib/commonjs/BetRouter/types/markets.js +2 -0
- package/lib/commonjs/BetRouter/types/markets.js.map +1 -0
- package/lib/commonjs/BetRouter/types/opportunities.js +6 -0
- package/lib/commonjs/BetRouter/types/opportunities.js.map +1 -0
- package/lib/commonjs/BetRouter/types/orders.js +2 -0
- package/lib/commonjs/BetRouter/types/orders.js.map +1 -0
- package/lib/commonjs/BetRouter/types/participants.js +2 -0
- package/lib/commonjs/BetRouter/types/participants.js.map +1 -0
- package/lib/commonjs/BetRouter/types/partners.js +2 -0
- package/lib/commonjs/BetRouter/types/partners.js.map +1 -0
- package/lib/commonjs/Charts/README.md +310 -0
- package/lib/commonjs/Charts/adapters/TradeChartAdapter.js +406 -0
- package/lib/commonjs/Charts/adapters/TradeChartAdapter.js.map +1 -0
- package/lib/commonjs/Charts/components/BaseLineChart.js +285 -0
- package/lib/commonjs/Charts/components/BaseLineChart.js.map +1 -0
- package/lib/commonjs/Charts/components/LivePriceChart.js +504 -0
- package/lib/commonjs/Charts/components/LivePriceChart.js.map +1 -0
- package/lib/commonjs/Charts/index.js +126 -0
- package/lib/commonjs/Charts/index.js.map +1 -0
- package/lib/commonjs/Charts/themes/chartTheme.js +141 -0
- package/lib/commonjs/Charts/themes/chartTheme.js.map +1 -0
- package/lib/commonjs/Charts/types.js +2 -0
- package/lib/commonjs/Charts/types.js.map +1 -0
- package/lib/commonjs/Charts/utils/formatters.js +194 -0
- package/lib/commonjs/Charts/utils/formatters.js.map +1 -0
- package/lib/commonjs/Components/Dropdown.js +5 -3
- package/lib/commonjs/Components/Dropdown.js.map +1 -1
- package/lib/commonjs/Components/Icons.js +24 -0
- package/lib/commonjs/Components/Icons.js.map +1 -1
- package/lib/commonjs/Components/index.js +34 -0
- package/lib/commonjs/Components/index.js.map +1 -1
- package/lib/commonjs/LocationTracker/LocationStatus.js +5 -2
- package/lib/commonjs/LocationTracker/LocationStatus.js.map +1 -1
- package/lib/commonjs/LocationTracker/api/index.js +2 -2
- package/lib/commonjs/LocationTracker/api/index.js.map +1 -1
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.d.js +16 -0
- package/lib/commonjs/types.d.js.map +1 -1
- package/lib/module/ApiOverrides/index.js +4 -0
- package/lib/module/ApiOverrides/index.js.map +1 -1
- package/lib/module/BetRouter/api/index.js +873 -0
- package/lib/module/BetRouter/api/index.js.map +1 -0
- package/lib/module/BetRouter/api/types.js +2 -0
- package/lib/module/BetRouter/api/types.js.map +1 -0
- package/lib/module/BetRouter/components/AccountManager.js +584 -0
- package/lib/module/BetRouter/components/AccountManager.js.map +1 -0
- package/lib/module/BetRouter/components/AdminPortal.js +43 -0
- package/lib/module/BetRouter/components/AdminPortal.js.map +1 -0
- package/lib/module/BetRouter/components/BuyOpportunities.js +542 -0
- package/lib/module/BetRouter/components/BuyOpportunities.js.map +1 -0
- package/lib/module/BetRouter/components/BuyOpportunityCard.js +313 -0
- package/lib/module/BetRouter/components/BuyOpportunityCard.js.map +1 -0
- package/lib/module/BetRouter/components/ContestLiquidity.js +658 -0
- package/lib/module/BetRouter/components/ContestLiquidity.js.map +1 -0
- package/lib/module/BetRouter/components/ContestSelector.js +185 -0
- package/lib/module/BetRouter/components/ContestSelector.js.map +1 -0
- package/lib/module/BetRouter/components/MyOpportunities.js +324 -0
- package/lib/module/BetRouter/components/MyOpportunities.js.map +1 -0
- package/lib/module/BetRouter/components/MyOpportunities.tsx.bak +440 -0
- package/lib/module/BetRouter/components/OpportunityDetailModal.js +538 -0
- package/lib/module/BetRouter/components/OpportunityDetailModal.js.map +1 -0
- package/lib/module/BetRouter/components/OpportunityHistory.js +481 -0
- package/lib/module/BetRouter/components/OpportunityHistory.js.map +1 -0
- package/lib/module/BetRouter/components/PartnerCredentials.js +222 -0
- package/lib/module/BetRouter/components/PartnerCredentials.js.map +1 -0
- package/lib/module/BetRouter/components/PlacedOpportunityModal.js +255 -0
- package/lib/module/BetRouter/components/PlacedOpportunityModal.js.map +1 -0
- package/lib/module/BetRouter/components/admin/AutoFillView.js +372 -0
- package/lib/module/BetRouter/components/admin/AutoFillView.js.map +1 -0
- package/lib/module/BetRouter/components/admin/ConfigManager.js +806 -0
- package/lib/module/BetRouter/components/admin/ConfigManager.js.map +1 -0
- package/lib/module/BetRouter/components/admin/JobManager.js +888 -0
- package/lib/module/BetRouter/components/admin/JobManager.js.map +1 -0
- package/lib/module/BetRouter/components/admin/LeagueContests.js +2836 -0
- package/lib/module/BetRouter/components/admin/LeagueContests.js.map +1 -0
- package/lib/module/BetRouter/components/admin/LeagueInfo.js +372 -0
- package/lib/module/BetRouter/components/admin/LeagueInfo.js.map +1 -0
- package/lib/module/BetRouter/components/admin/LeagueParticipants.js +787 -0
- package/lib/module/BetRouter/components/admin/LeagueParticipants.js.map +1 -0
- package/lib/module/BetRouter/index.js +399 -0
- package/lib/module/BetRouter/index.js.map +1 -0
- package/lib/module/BetRouter/layouts/DesktopAdminLayout.js +304 -0
- package/lib/module/BetRouter/layouts/DesktopAdminLayout.js.map +1 -0
- package/lib/module/BetRouter/layouts/DesktopLayout.js +263 -0
- package/lib/module/BetRouter/layouts/DesktopLayout.js.map +1 -0
- package/lib/module/BetRouter/layouts/MobileAdminLayout.js +427 -0
- package/lib/module/BetRouter/layouts/MobileAdminLayout.js.map +1 -0
- package/lib/module/BetRouter/layouts/MobileLayout.js +285 -0
- package/lib/module/BetRouter/layouts/MobileLayout.js.map +1 -0
- package/lib/module/BetRouter/types/ADMIN_PORTAL.md +863 -0
- package/lib/module/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
- package/lib/module/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
- package/lib/module/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
- package/lib/module/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
- package/lib/module/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
- package/lib/module/BetRouter/types/README.md +249 -0
- package/lib/module/BetRouter/types/accounts.js +2 -0
- package/lib/module/BetRouter/types/accounts.js.map +1 -0
- package/lib/module/BetRouter/types/api-contracts.js +770 -0
- package/lib/module/BetRouter/types/api-contracts.js.map +1 -0
- package/lib/module/BetRouter/types/config.js +2 -0
- package/lib/module/BetRouter/types/config.js.map +1 -0
- package/lib/module/BetRouter/types/contests.js +2 -0
- package/lib/module/BetRouter/types/contests.js.map +1 -0
- package/lib/module/BetRouter/types/credentials.js +78 -0
- package/lib/module/BetRouter/types/credentials.js.map +1 -0
- package/lib/module/BetRouter/types/index.js +17 -0
- package/lib/module/BetRouter/types/index.js.map +1 -0
- package/lib/module/BetRouter/types/jobs.js +2 -0
- package/lib/module/BetRouter/types/jobs.js.map +1 -0
- package/lib/module/BetRouter/types/leagues.js +2 -0
- package/lib/module/BetRouter/types/leagues.js.map +1 -0
- package/lib/module/BetRouter/types/liquidity.js +2 -0
- package/lib/module/BetRouter/types/liquidity.js.map +1 -0
- package/lib/module/BetRouter/types/markets.js +2 -0
- package/lib/module/BetRouter/types/markets.js.map +1 -0
- package/lib/module/BetRouter/types/opportunities.js +2 -0
- package/lib/module/BetRouter/types/opportunities.js.map +1 -0
- package/lib/module/BetRouter/types/orders.js +2 -0
- package/lib/module/BetRouter/types/orders.js.map +1 -0
- package/lib/module/BetRouter/types/participants.js +2 -0
- package/lib/module/BetRouter/types/participants.js.map +1 -0
- package/lib/module/BetRouter/types/partners.js +2 -0
- package/lib/module/BetRouter/types/partners.js.map +1 -0
- package/lib/module/Charts/README.md +310 -0
- package/lib/module/Charts/adapters/TradeChartAdapter.js +400 -0
- package/lib/module/Charts/adapters/TradeChartAdapter.js.map +1 -0
- package/lib/module/Charts/components/BaseLineChart.js +281 -0
- package/lib/module/Charts/components/BaseLineChart.js.map +1 -0
- package/lib/module/Charts/components/LivePriceChart.js +497 -0
- package/lib/module/Charts/components/LivePriceChart.js.map +1 -0
- package/lib/module/Charts/index.js +36 -0
- package/lib/module/Charts/index.js.map +1 -0
- package/lib/module/Charts/themes/chartTheme.js +134 -0
- package/lib/module/Charts/themes/chartTheme.js.map +1 -0
- package/lib/module/Charts/types.js +2 -0
- package/lib/module/Charts/types.js.map +1 -0
- package/lib/module/Charts/utils/formatters.js +178 -0
- package/lib/module/Charts/utils/formatters.js.map +1 -0
- package/lib/module/Components/Dropdown.js +5 -3
- package/lib/module/Components/Dropdown.js.map +1 -1
- package/lib/module/Components/Icons.js +24 -1
- package/lib/module/Components/Icons.js.map +1 -1
- package/lib/module/Components/index.js +3 -0
- package/lib/module/Components/index.js.map +1 -1
- package/lib/module/LocationTracker/LocationStatus.js +5 -2
- package/lib/module/LocationTracker/LocationStatus.js.map +1 -1
- package/lib/module/LocationTracker/api/index.js +2 -2
- package/lib/module/LocationTracker/api/index.js.map +1 -1
- package/lib/module/index.js +5 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.d.js +16 -0
- package/lib/module/types.d.js.map +1 -1
- package/lib/typescript/lib/commonjs/ApiOverrides/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/BetRouter/api/index.d.ts +109 -0
- package/lib/typescript/lib/commonjs/BetRouter/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/api/types.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/api/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/AccountManager.d.ts +16 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/AccountManager.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/AdminPortal.d.ts +9 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/AdminPortal.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunities.d.ts +16 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunityCard.d.ts +14 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/ContestLiquidity.d.ts +11 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/ContestSelector.d.ts +11 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/ContestSelector.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/MyOpportunities.d.ts +8 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/MyOpportunities.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityDetailModal.d.ts +14 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityHistory.d.ts +9 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/PartnerCredentials.d.ts +10 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/PlacedOpportunityModal.d.ts +11 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/AutoFillView.d.ts +4 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/ConfigManager.d.ts +4 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/JobManager.d.ts +4 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/JobManager.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueContests.d.ts +7 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueInfo.d.ts +6 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueParticipants.d.ts +6 -0
- package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/index.d.ts +8 -0
- package/lib/typescript/lib/commonjs/BetRouter/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.d.ts +9 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopLayout.d.ts +20 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileAdminLayout.d.ts +9 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileLayout.d.ts +20 -0
- package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/accounts.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/accounts.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/api-contracts.d.ts +743 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/api-contracts.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/config.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/config.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/contests.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/contests.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/credentials.d.ts +56 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/credentials.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/index.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/jobs.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/jobs.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/leagues.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/leagues.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/liquidity.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/liquidity.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/markets.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/markets.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/opportunities.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/opportunities.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/orders.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/orders.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/participants.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/participants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/partners.d.ts +2 -0
- package/lib/typescript/lib/commonjs/BetRouter/types/partners.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/adapters/TradeChartAdapter.d.ts +87 -0
- package/lib/typescript/lib/commonjs/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/components/BaseLineChart.d.ts +31 -0
- package/lib/typescript/lib/commonjs/Charts/components/BaseLineChart.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/components/LivePriceChart.d.ts +45 -0
- package/lib/typescript/lib/commonjs/Charts/components/LivePriceChart.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/index.d.ts +95 -0
- package/lib/typescript/lib/commonjs/Charts/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/themes/chartTheme.d.ts +106 -0
- package/lib/typescript/lib/commonjs/Charts/themes/chartTheme.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/types.d.ts +2 -0
- package/lib/typescript/lib/commonjs/Charts/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Charts/utils/formatters.d.ts +24 -0
- package/lib/typescript/lib/commonjs/Charts/utils/formatters.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Components/Dropdown.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Components/Icons.d.ts +5 -0
- package/lib/typescript/lib/commonjs/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/LocationTracker/LocationStatus.d.ts +2 -1
- package/lib/typescript/lib/commonjs/LocationTracker/LocationStatus.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/LocationTracker/api/index.d.ts +1 -1
- package/lib/typescript/lib/commonjs/LocationTracker/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/index.d.ts +6 -1
- package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/ApiOverrides/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/BetRouter/api/index.d.ts +108 -0
- package/lib/typescript/lib/module/BetRouter/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/api/types.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/api/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/AccountManager.d.ts +16 -0
- package/lib/typescript/lib/module/BetRouter/components/AccountManager.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/AdminPortal.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/components/AdminPortal.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/BuyOpportunities.d.ts +16 -0
- package/lib/typescript/lib/module/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/BuyOpportunityCard.d.ts +14 -0
- package/lib/typescript/lib/module/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/ContestLiquidity.d.ts +11 -0
- package/lib/typescript/lib/module/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/ContestSelector.d.ts +11 -0
- package/lib/typescript/lib/module/BetRouter/components/ContestSelector.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/MyOpportunities.d.ts +8 -0
- package/lib/typescript/lib/module/BetRouter/components/MyOpportunities.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/OpportunityDetailModal.d.ts +15 -0
- package/lib/typescript/lib/module/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/OpportunityHistory.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/PartnerCredentials.d.ts +11 -0
- package/lib/typescript/lib/module/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/PlacedOpportunityModal.d.ts +12 -0
- package/lib/typescript/lib/module/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/AutoFillView.d.ts +4 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/ConfigManager.d.ts +4 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/JobManager.d.ts +4 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/JobManager.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueContests.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueInfo.d.ts +6 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueParticipants.d.ts +8 -0
- package/lib/typescript/lib/module/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/index.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/layouts/DesktopAdminLayout.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/layouts/DesktopLayout.d.ts +20 -0
- package/lib/typescript/lib/module/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/layouts/MobileAdminLayout.d.ts +9 -0
- package/lib/typescript/lib/module/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/layouts/MobileLayout.d.ts +20 -0
- package/lib/typescript/lib/module/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/accounts.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/accounts.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/api-contracts.d.ts +742 -0
- package/lib/typescript/lib/module/BetRouter/types/api-contracts.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/config.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/config.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/contests.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/contests.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/credentials.d.ts +55 -0
- package/lib/typescript/lib/module/BetRouter/types/credentials.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/index.d.ts +14 -0
- package/lib/typescript/lib/module/BetRouter/types/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/jobs.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/jobs.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/leagues.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/leagues.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/liquidity.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/liquidity.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/markets.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/markets.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/opportunities.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/opportunities.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/orders.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/orders.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/participants.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/participants.d.ts.map +1 -0
- package/lib/typescript/lib/module/BetRouter/types/partners.d.ts +2 -0
- package/lib/typescript/lib/module/BetRouter/types/partners.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/adapters/TradeChartAdapter.d.ts +81 -0
- package/lib/typescript/lib/module/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/components/BaseLineChart.d.ts +31 -0
- package/lib/typescript/lib/module/Charts/components/BaseLineChart.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/components/LivePriceChart.d.ts +41 -0
- package/lib/typescript/lib/module/Charts/components/LivePriceChart.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/index.d.ts +6 -0
- package/lib/typescript/lib/module/Charts/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/themes/chartTheme.d.ts +102 -0
- package/lib/typescript/lib/module/Charts/themes/chartTheme.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/types.d.ts +2 -0
- package/lib/typescript/lib/module/Charts/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/Charts/utils/formatters.d.ts +14 -0
- package/lib/typescript/lib/module/Charts/utils/formatters.d.ts.map +1 -0
- package/lib/typescript/lib/module/Components/Dropdown.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Icons.d.ts +5 -0
- package/lib/typescript/lib/module/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/index.d.ts +1 -0
- package/lib/typescript/lib/module/Components/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/LocationTracker/LocationStatus.d.ts +2 -1
- package/lib/typescript/lib/module/LocationTracker/LocationStatus.d.ts.map +1 -1
- package/lib/typescript/lib/module/LocationTracker/api/index.d.ts +1 -1
- package/lib/typescript/lib/module/index.d.ts +3 -1
- package/lib/typescript/lib/module/index.d.ts.map +1 -1
- package/lib/typescript/src/ApiOverrides/index.d.ts.map +1 -1
- package/lib/typescript/src/BetRouter/api/index.d.ts +115 -0
- package/lib/typescript/src/BetRouter/api/index.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/api/types.d.ts +2 -0
- package/lib/typescript/src/BetRouter/api/types.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/AccountManager.d.ts +18 -0
- package/lib/typescript/src/BetRouter/components/AccountManager.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/AdminPortal.d.ts +15 -0
- package/lib/typescript/src/BetRouter/components/AdminPortal.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/BuyOpportunities.d.ts +24 -0
- package/lib/typescript/src/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/BuyOpportunityCard.d.ts +19 -0
- package/lib/typescript/src/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/ContestLiquidity.d.ts +15 -0
- package/lib/typescript/src/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/ContestSelector.d.ts +13 -0
- package/lib/typescript/src/BetRouter/components/ContestSelector.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/MyOpportunities.d.ts +16 -0
- package/lib/typescript/src/BetRouter/components/MyOpportunities.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/OpportunityDetailModal.d.ts +21 -0
- package/lib/typescript/src/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/OpportunityHistory.d.ts +20 -0
- package/lib/typescript/src/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/PartnerCredentials.d.ts +12 -0
- package/lib/typescript/src/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/PlacedOpportunityModal.d.ts +18 -0
- package/lib/typescript/src/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/AutoFillView.d.ts +4 -0
- package/lib/typescript/src/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/ConfigManager.d.ts +4 -0
- package/lib/typescript/src/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/JobManager.d.ts +4 -0
- package/lib/typescript/src/BetRouter/components/admin/JobManager.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueContests.d.ts +9 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueInfo.d.ts +8 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueParticipants.d.ts +8 -0
- package/lib/typescript/src/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/index.d.ts +16 -0
- package/lib/typescript/src/BetRouter/index.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/layouts/DesktopAdminLayout.d.ts +15 -0
- package/lib/typescript/src/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/layouts/DesktopLayout.d.ts +44 -0
- package/lib/typescript/src/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/layouts/MobileAdminLayout.d.ts +15 -0
- package/lib/typescript/src/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/layouts/MobileLayout.d.ts +44 -0
- package/lib/typescript/src/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/accounts.d.ts +19 -0
- package/lib/typescript/src/BetRouter/types/accounts.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/api-contracts.d.ts +1071 -0
- package/lib/typescript/src/BetRouter/types/api-contracts.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/config.d.ts +12 -0
- package/lib/typescript/src/BetRouter/types/config.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/contests.d.ts +34 -0
- package/lib/typescript/src/BetRouter/types/contests.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/credentials.d.ts +24 -0
- package/lib/typescript/src/BetRouter/types/credentials.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/index.d.ts +14 -0
- package/lib/typescript/src/BetRouter/types/index.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/jobs.d.ts +35 -0
- package/lib/typescript/src/BetRouter/types/jobs.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/leagues.d.ts +26 -0
- package/lib/typescript/src/BetRouter/types/leagues.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/liquidity.d.ts +14 -0
- package/lib/typescript/src/BetRouter/types/liquidity.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/markets.d.ts +87 -0
- package/lib/typescript/src/BetRouter/types/markets.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/opportunities.d.ts +88 -0
- package/lib/typescript/src/BetRouter/types/opportunities.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/orders.d.ts +34 -0
- package/lib/typescript/src/BetRouter/types/orders.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/participants.d.ts +33 -0
- package/lib/typescript/src/BetRouter/types/participants.d.ts.map +1 -0
- package/lib/typescript/src/BetRouter/types/partners.d.ts +11 -0
- package/lib/typescript/src/BetRouter/types/partners.d.ts.map +1 -0
- package/lib/typescript/src/Charts/adapters/TradeChartAdapter.d.ts +117 -0
- package/lib/typescript/src/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
- package/lib/typescript/src/Charts/components/BaseLineChart.d.ts +40 -0
- package/lib/typescript/src/Charts/components/BaseLineChart.d.ts.map +1 -0
- package/lib/typescript/src/Charts/components/LivePriceChart.d.ts +13 -0
- package/lib/typescript/src/Charts/components/LivePriceChart.d.ts.map +1 -0
- package/lib/typescript/src/Charts/index.d.ts +28 -0
- package/lib/typescript/src/Charts/index.d.ts.map +1 -0
- package/lib/typescript/src/Charts/themes/chartTheme.d.ts +78 -0
- package/lib/typescript/src/Charts/themes/chartTheme.d.ts.map +1 -0
- package/lib/typescript/src/Charts/types.d.ts +155 -0
- package/lib/typescript/src/Charts/types.d.ts.map +1 -0
- package/lib/typescript/src/Charts/utils/formatters.d.ts +66 -0
- package/lib/typescript/src/Charts/utils/formatters.d.ts.map +1 -0
- package/lib/typescript/src/Components/Dropdown.d.ts.map +1 -1
- package/lib/typescript/src/Components/Icons.d.ts +1 -0
- package/lib/typescript/src/Components/Icons.d.ts.map +1 -1
- package/lib/typescript/src/Components/index.d.ts +1 -0
- package/lib/typescript/src/Components/index.d.ts.map +1 -1
- package/lib/typescript/src/LocationTracker/LocationStatus.d.ts +2 -1
- package/lib/typescript/src/LocationTracker/LocationStatus.d.ts.map +1 -1
- package/lib/typescript/src/LocationTracker/api/index.d.ts +3 -1
- package/lib/typescript/src/LocationTracker/api/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/ApiOverrides/index.ts +4 -0
- package/src/BetRouter/api/index.ts +854 -0
- package/src/BetRouter/api/types.ts +0 -0
- package/src/BetRouter/components/AccountManager.tsx +533 -0
- package/src/BetRouter/components/AdminPortal.tsx +44 -0
- package/src/BetRouter/components/BuyOpportunities.tsx +491 -0
- package/src/BetRouter/components/BuyOpportunityCard.tsx +331 -0
- package/src/BetRouter/components/ContestLiquidity.tsx +613 -0
- package/src/BetRouter/components/ContestSelector.tsx +179 -0
- package/src/BetRouter/components/MyOpportunities.tsx +279 -0
- package/src/BetRouter/components/MyOpportunities.tsx.bak +440 -0
- package/src/BetRouter/components/OpportunityDetailModal.tsx +360 -0
- package/src/BetRouter/components/OpportunityHistory.tsx +408 -0
- package/src/BetRouter/components/PartnerCredentials.tsx +212 -0
- package/src/BetRouter/components/PlacedOpportunityModal.tsx +192 -0
- package/src/BetRouter/components/admin/AutoFillView.tsx +275 -0
- package/src/BetRouter/components/admin/ConfigManager.tsx +596 -0
- package/src/BetRouter/components/admin/JobManager.tsx +758 -0
- package/src/BetRouter/components/admin/LeagueContests.tsx +2443 -0
- package/src/BetRouter/components/admin/LeagueInfo.tsx +253 -0
- package/src/BetRouter/components/admin/LeagueParticipants.tsx +662 -0
- package/src/BetRouter/index.tsx +453 -0
- package/src/BetRouter/layouts/DesktopAdminLayout.tsx +348 -0
- package/src/BetRouter/layouts/DesktopLayout.tsx +292 -0
- package/src/BetRouter/layouts/MobileAdminLayout.tsx +387 -0
- package/src/BetRouter/layouts/MobileLayout.tsx +325 -0
- package/src/BetRouter/types/ADMIN_PORTAL.md +863 -0
- package/src/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
- package/src/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
- package/src/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
- package/src/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
- package/src/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
- package/src/BetRouter/types/README.md +249 -0
- package/src/BetRouter/types/accounts.ts +21 -0
- package/src/BetRouter/types/api-contracts.ts +1164 -0
- package/src/BetRouter/types/config.ts +12 -0
- package/src/BetRouter/types/contests.ts +37 -0
- package/src/BetRouter/types/credentials.ts +99 -0
- package/src/BetRouter/types/index.ts +16 -0
- package/src/BetRouter/types/jobs.ts +37 -0
- package/src/BetRouter/types/leagues.ts +29 -0
- package/src/BetRouter/types/liquidity.ts +15 -0
- package/src/BetRouter/types/markets.ts +94 -0
- package/src/BetRouter/types/opportunities.ts +107 -0
- package/src/BetRouter/types/orders.ts +51 -0
- package/src/BetRouter/types/participants.ts +34 -0
- package/src/BetRouter/types/partners.ts +10 -0
- package/src/Charts/README.md +310 -0
- package/src/Charts/adapters/TradeChartAdapter.ts +471 -0
- package/src/Charts/components/BaseLineChart.tsx +293 -0
- package/src/Charts/components/LivePriceChart.tsx +521 -0
- package/src/Charts/index.tsx +62 -0
- package/src/Charts/themes/chartTheme.ts +113 -0
- package/src/Charts/types.ts +160 -0
- package/src/Charts/utils/formatters.ts +182 -0
- package/src/Components/Dropdown.tsx +6 -3
- package/src/Components/Icons.tsx +12 -0
- package/src/Components/index.tsx +4 -0
- package/src/LocationTracker/LocationStatus.tsx +4 -3
- package/src/LocationTracker/api/index.tsx +2 -2
- package/src/index.tsx +6 -0
- package/src/types.d.ts +410 -2
|
@@ -0,0 +1,682 @@
|
|
|
1
|
+
# Market Linking Workflow - Admin Portal Guide
|
|
2
|
+
|
|
3
|
+
This guide explains how to manage markets at the contest level using the **two-step approach**:
|
|
4
|
+
|
|
5
|
+
1. **Set Supported Markets** - Define which router markets are available for a contest (market_contests)
|
|
6
|
+
2. **Link Raw Markets** - For each supported market, link raw markets from partners
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🎯 Workflow Overview
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Contest Detail Page
|
|
14
|
+
↓
|
|
15
|
+
1. View/Manage Supported Markets (market_contests)
|
|
16
|
+
↓
|
|
17
|
+
2. For each supported market:
|
|
18
|
+
- View which partners have raw markets linked
|
|
19
|
+
- Load available raw markets from partner
|
|
20
|
+
- Link raw markets to the supported market
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 📋 Step 1: Manage Supported Markets
|
|
26
|
+
|
|
27
|
+
**What are "Supported Markets"?**
|
|
28
|
+
|
|
29
|
+
Supported markets (stored in `market_contests` table) define which **types of markets** are available for betting on a specific contest.
|
|
30
|
+
|
|
31
|
+
**Example:**
|
|
32
|
+
- Contest: "Lakers vs Celtics"
|
|
33
|
+
- Supported Markets:
|
|
34
|
+
- ✅ Moneyline (router_market_id: "rm-moneyline")
|
|
35
|
+
- ✅ Spread (router_market_id: "rm-spread")
|
|
36
|
+
- ❌ Player Points (not supported for this contest)
|
|
37
|
+
|
|
38
|
+
### a) Get Supported Markets
|
|
39
|
+
|
|
40
|
+
**Endpoint:** `GET /markets/supported/:router_contest_id`
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
GET /markets/supported/contest-123
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Response:**
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"message": "Successfully fetched supported markets",
|
|
50
|
+
"market_contests": [
|
|
51
|
+
{
|
|
52
|
+
"market_contest_id": "mc-1",
|
|
53
|
+
"router_contest_id": "contest-123",
|
|
54
|
+
"router_market_id": "rm-moneyline",
|
|
55
|
+
"status": "open"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"market_contest_id": "mc-2",
|
|
59
|
+
"router_contest_id": "contest-123",
|
|
60
|
+
"router_market_id": "rm-spread",
|
|
61
|
+
"status": "open"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"router_markets": [
|
|
65
|
+
{
|
|
66
|
+
"router_market_id": "rm-moneyline",
|
|
67
|
+
"market_key": "moneyline",
|
|
68
|
+
"market_label": "Moneyline",
|
|
69
|
+
"category": "game_result",
|
|
70
|
+
"variable_required": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"router_market_id": "rm-spread",
|
|
74
|
+
"market_key": "spread",
|
|
75
|
+
"market_label": "Spread",
|
|
76
|
+
"category": "game_result",
|
|
77
|
+
"variable_required": true
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### b) Add a Supported Market
|
|
84
|
+
|
|
85
|
+
**Endpoint:** `POST /markets/supported`
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
POST /markets/supported
|
|
89
|
+
Content-Type: application/json
|
|
90
|
+
|
|
91
|
+
{
|
|
92
|
+
"router_contest_id": "contest-123",
|
|
93
|
+
"router_market_id": "rm-player-points"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Response:**
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"message": "Successfully added supported market",
|
|
101
|
+
"market_contest": {
|
|
102
|
+
"market_contest_id": "mc-3",
|
|
103
|
+
"router_contest_id": "contest-123",
|
|
104
|
+
"router_market_id": "rm-player-points",
|
|
105
|
+
"status": "open"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### c) Remove a Supported Market
|
|
111
|
+
|
|
112
|
+
**Endpoint:** `DELETE /markets/supported/:market_contest_id`
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
DELETE /markets/supported/mc-3
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Response:**
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"message": "Successfully removed supported market"
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 📋 Step 2: Link Raw Markets to Supported Markets
|
|
128
|
+
|
|
129
|
+
Once you have defined which markets are supported for a contest, you can link raw markets from partners.
|
|
130
|
+
|
|
131
|
+
### a) Get Available Raw Markets for a Specific Market
|
|
132
|
+
|
|
133
|
+
**Endpoint:** `GET /markets/:router_contest_id/:router_market_id/available-raw/:partner_id`
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
GET /markets/contest-123/rm-moneyline/available-raw/bettoredge-partner-id
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**What it does:**
|
|
140
|
+
- Loads raw markets from BettorEdge for this contest
|
|
141
|
+
- Filters to show only moneyline markets
|
|
142
|
+
- Excludes already-linked raw markets
|
|
143
|
+
- Shows what's already linked separately
|
|
144
|
+
|
|
145
|
+
**Response:**
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"message": "Successfully fetched available raw markets",
|
|
149
|
+
"router_contest": {
|
|
150
|
+
"router_contest_id": "contest-123",
|
|
151
|
+
"contest_label": "Lakers vs Celtics"
|
|
152
|
+
},
|
|
153
|
+
"router_market": {
|
|
154
|
+
"router_market_id": "rm-moneyline",
|
|
155
|
+
"market_label": "Moneyline",
|
|
156
|
+
"market_key": "moneyline"
|
|
157
|
+
},
|
|
158
|
+
"raw_markets": [
|
|
159
|
+
{
|
|
160
|
+
"raw_market_id": "raw-be-moneyline-1",
|
|
161
|
+
"partner_id": "bettoredge-partner-id",
|
|
162
|
+
"partner_contest_id": "pc-be-1",
|
|
163
|
+
"external_id": "2",
|
|
164
|
+
"pretty_title": "Winner",
|
|
165
|
+
"status": "active"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"already_linked": []
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### b) Get Data for Linking Form
|
|
173
|
+
|
|
174
|
+
**NEW Endpoint:** `GET /markets/:router_contest_id/:router_market_id/linking-data/:partner_id`
|
|
175
|
+
|
|
176
|
+
This endpoint provides all the data needed to build the linking form in your admin UI.
|
|
177
|
+
|
|
178
|
+
**Why this endpoint?**
|
|
179
|
+
It returns enriched participant data with human-readable names, so the admin can select "Los Angeles Lakers" instead of seeing just an ID like "pp-lakers-123".
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
GET /markets/contest-123/rm-moneyline/linking-data/bettoredge-partner-id
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Response:**
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"router_contest": { ... },
|
|
189
|
+
"router_market": {
|
|
190
|
+
"router_market_id": "rm-moneyline",
|
|
191
|
+
"market_label": "Moneyline",
|
|
192
|
+
"variable_required": false,
|
|
193
|
+
"participant_type": "team"
|
|
194
|
+
},
|
|
195
|
+
"market_sides": [
|
|
196
|
+
{
|
|
197
|
+
"market_side_id": "side-home",
|
|
198
|
+
"side_key": "home",
|
|
199
|
+
"side_type": "team"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"market_side_id": "side-away",
|
|
203
|
+
"side_key": "away",
|
|
204
|
+
"side_type": "team"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"timeframes": [
|
|
208
|
+
{
|
|
209
|
+
"timeframe_id": "tf-full",
|
|
210
|
+
"timeframe_key": "full_event",
|
|
211
|
+
"timeframe_label": "Full Game"
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"participants": [
|
|
215
|
+
{
|
|
216
|
+
"partner_participant_id": "pp-lakers-123",
|
|
217
|
+
"router_participant_id": "rp-lakers",
|
|
218
|
+
"name": "Los Angeles Lakers",
|
|
219
|
+
"participant_type": "team",
|
|
220
|
+
"external_id": "lakers-team-id",
|
|
221
|
+
"raw_name": "LA Lakers",
|
|
222
|
+
"tags": ["Los Angeles Lakers", "Lakers", "LAL"]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"partner_participant_id": "pp-celtics-456",
|
|
226
|
+
"router_participant_id": "rp-celtics",
|
|
227
|
+
"name": "Boston Celtics",
|
|
228
|
+
"participant_type": "team",
|
|
229
|
+
"external_id": "celtics-team-id",
|
|
230
|
+
"raw_name": "Boston Celtics",
|
|
231
|
+
"tags": ["Boston Celtics", "Celtics", "BOS"]
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"variables": [
|
|
235
|
+
{
|
|
236
|
+
"router_market_variable_id": "var-0",
|
|
237
|
+
"variable": 0,
|
|
238
|
+
"variable_type": "total"
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**IMPORTANT: Variable Field UI Guidance**
|
|
245
|
+
|
|
246
|
+
The `variables` array shows **previously used variable values** for this market. This is useful for:
|
|
247
|
+
- Showing suggestions/autocomplete
|
|
248
|
+
- Letting admins reuse common values
|
|
249
|
+
|
|
250
|
+
However, **the variable field must accept manual numeric input**, not just dropdown selection. Here's why:
|
|
251
|
+
|
|
252
|
+
1. **New markets have few/no existing variables** - A brand new Spread market might have 0 or 1 variable in the database
|
|
253
|
+
2. **Raw markets have specific values** - The raw market from BettorEdge might have spread value `-3.5`, but that won't exist in the database yet
|
|
254
|
+
3. **Variables are created dynamically** - When you link a market with a new variable value, it's automatically created
|
|
255
|
+
|
|
256
|
+
**Recommended UI Pattern:**
|
|
257
|
+
```
|
|
258
|
+
Variable: [_____-3.5_____] (number input - allows negative values)
|
|
259
|
+
Previously used: 0, -7.0, +3.5 (clickable suggestions)
|
|
260
|
+
|
|
261
|
+
Variable Type: [spread ▼] (dropdown)
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**🎯 SIMPLIFIED: Spread Variables - Enter Once, Link Both Sides**
|
|
265
|
+
|
|
266
|
+
For **spread markets**, the UI now simplifies variable entry:
|
|
267
|
+
|
|
268
|
+
**How it works:**
|
|
269
|
+
1. Admin enters the spread value **once** (e.g., `7` or `3.5`)
|
|
270
|
+
2. Client automatically determines:
|
|
271
|
+
- **Home side (favorite):** Gets negative value `-7` or `-3.5`
|
|
272
|
+
- **Away side (underdog):** Gets positive value `+7` or `+3.5`
|
|
273
|
+
3. Single "Link Both Sides" button creates both links at once
|
|
274
|
+
|
|
275
|
+
**Example Spread Linking Workflow:**
|
|
276
|
+
```
|
|
277
|
+
User enters: 7
|
|
278
|
+
|
|
279
|
+
Client creates:
|
|
280
|
+
1. Home side: variable = -7, participant = Lakers
|
|
281
|
+
2. Away side: variable = +7, participant = Celtics
|
|
282
|
+
|
|
283
|
+
Backend stores two separate router_market_variable records:
|
|
284
|
+
{ variable: -7, variable_type: 'spread' } // For Lakers (home)
|
|
285
|
+
{ variable: 7, variable_type: 'spread' } // For Celtics (away)
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**For Total markets:**
|
|
289
|
+
- User enters the total once (e.g., `220.5`)
|
|
290
|
+
- Both over/under sides use the same variable value
|
|
291
|
+
- System creates one variable record, both sides link to it
|
|
292
|
+
|
|
293
|
+
**Why This Matters:**
|
|
294
|
+
- ✅ User enters variable value only once
|
|
295
|
+
- ✅ No flip logic needed in backend - variables store actual signs
|
|
296
|
+
- ✅ Variables match what partners display
|
|
297
|
+
- ✅ Titles render correctly: "Lakers -7 Full Game", "Celtics +7 Full Game"
|
|
298
|
+
- ✅ Simpler UX and cleaner code throughout system
|
|
299
|
+
|
|
300
|
+
**Key Features of Enriched Participant Data:**
|
|
301
|
+
- `name` - **Canonical name** from router_participant (e.g., "Los Angeles Lakers") - Use this for the dropdown label
|
|
302
|
+
- `partner_participant_id` - The ID you need to submit in the link request
|
|
303
|
+
- `raw_name` - What the partner calls them (e.g., "LA Lakers") - Optional: show in parentheses for context
|
|
304
|
+
- `participant_type` - Already filtered to match `router_market.participant_type` (team/athlete/event)
|
|
305
|
+
- `tags` - Name variations for search/autocomplete
|
|
306
|
+
|
|
307
|
+
**Participant Filtering:**
|
|
308
|
+
The participants array is automatically filtered to:
|
|
309
|
+
1. Only include participants from the selected partner
|
|
310
|
+
2. Only include participants matching the market's `participant_type`
|
|
311
|
+
- Moneyline/Spread → `participant_type: "team"`
|
|
312
|
+
- Player Props → `participant_type: "athlete"`
|
|
313
|
+
- Game Totals → `participant_type: "event"`
|
|
314
|
+
|
|
315
|
+
### c) Link Raw Market to Router Market
|
|
316
|
+
|
|
317
|
+
**Endpoint:** `POST /markets/link`
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
POST /markets/link
|
|
321
|
+
Content-Type: application/json
|
|
322
|
+
|
|
323
|
+
{
|
|
324
|
+
"raw_market_id": "raw-be-moneyline-1",
|
|
325
|
+
"router_market_id": "rm-moneyline",
|
|
326
|
+
"market_side_id": "side-home",
|
|
327
|
+
"partner_participant_id": "pp-lakers-123",
|
|
328
|
+
"timeframe_id": "tf-full",
|
|
329
|
+
"variable": 0,
|
|
330
|
+
"variable_type": "total",
|
|
331
|
+
"price_key": null
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Required Parameters:**
|
|
336
|
+
- `raw_market_id` - The raw market from the partner
|
|
337
|
+
- `router_market_id` - The router market (moneyline, spread, etc.)
|
|
338
|
+
- `market_side_id` - Which side (home, away, over, under) - **selected by admin from market_sides**
|
|
339
|
+
- `partner_participant_id` - Which participant (team/athlete) - **selected by admin filtered by side_type**
|
|
340
|
+
- `timeframe_id` - Full game, 1st half, etc. - **selected by admin from timeframes**
|
|
341
|
+
- `variable` - The line/spread/total value - **entered/selected by admin if variable_required**
|
|
342
|
+
- `variable_type` - 'spread' or 'total' - **selected by admin if variable_required**
|
|
343
|
+
|
|
344
|
+
**Optional Parameters:**
|
|
345
|
+
- `price_key` - For Kalshi markets: 'yes' or 'no'
|
|
346
|
+
|
|
347
|
+
**Response:**
|
|
348
|
+
```json
|
|
349
|
+
{
|
|
350
|
+
"message": "Market linked successfully",
|
|
351
|
+
"partnerMarket": {
|
|
352
|
+
"partner_market_id": "pm-123",
|
|
353
|
+
"raw_market_id": "raw-be-moneyline-1",
|
|
354
|
+
"router_market_id": "rm-moneyline",
|
|
355
|
+
"market_side_id": "side-home",
|
|
356
|
+
"router_market_variable_id": "var-0",
|
|
357
|
+
"partner_id": "bettoredge-partner-id",
|
|
358
|
+
"external_id": "2"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 🎨 Recommended UI Layout
|
|
366
|
+
|
|
367
|
+
### Contest Detail Page - Markets Tab
|
|
368
|
+
|
|
369
|
+
```
|
|
370
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
371
|
+
│ Lakers vs Celtics - Markets │
|
|
372
|
+
│ │
|
|
373
|
+
│ ┌────────────────────────────────────────────────────────┐ │
|
|
374
|
+
│ │ Supported Markets │ │
|
|
375
|
+
│ │ │ │
|
|
376
|
+
│ │ Available Router Markets: │ │
|
|
377
|
+
│ │ [+ Add Market ▼] (dropdown of all router markets) │ │
|
|
378
|
+
│ │ │ │
|
|
379
|
+
│ ├────────────────────────────────────────────────────────┤ │
|
|
380
|
+
│ │ │ │
|
|
381
|
+
│ │ ✅ Moneyline [Remove] │ │
|
|
382
|
+
│ │ BettorEdge: ✅ Linked (2 sides) │ │
|
|
383
|
+
│ │ Kalshi: ❌ Not Linked [Link Markets] │ │
|
|
384
|
+
│ │ BetOpenly: ✅ Linked (2 sides) │ │
|
|
385
|
+
│ │ │ │
|
|
386
|
+
│ │ ✅ Spread [Remove] │ │
|
|
387
|
+
│ │ BettorEdge: ✅ Linked (4 sides) │ │
|
|
388
|
+
│ │ Kalshi: ❌ Not Linked [Link Markets] │ │
|
|
389
|
+
│ │ BetOpenly: ❌ Not Linked [Link Markets] │ │
|
|
390
|
+
│ │ │ │
|
|
391
|
+
│ └────────────────────────────────────────────────────────┘ │
|
|
392
|
+
└─────────────────────────────────────────────────────────────┘
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### When "Link Markets" is Clicked (BettorEdge - Moneyline)
|
|
396
|
+
|
|
397
|
+
```
|
|
398
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
399
|
+
│ Link BettorEdge Markets: Moneyline │
|
|
400
|
+
│ │
|
|
401
|
+
│ Step 1: Select Raw Market │
|
|
402
|
+
│ ┌────────────────────────────────────────────────────────┐ │
|
|
403
|
+
│ │ ○ Winner (external_id: 2) │ │
|
|
404
|
+
│ └────────────────────────────────────────────────────────┘ │
|
|
405
|
+
│ │
|
|
406
|
+
│ Step 2: Link Each Side │
|
|
407
|
+
│ │
|
|
408
|
+
│ ┌────────────────────────────────────────────────────────┐ │
|
|
409
|
+
│ │ Home Side │ │
|
|
410
|
+
│ │ │ │
|
|
411
|
+
│ │ Side: [Home ▼] │ │
|
|
412
|
+
│ │ • from market_sides │ │
|
|
413
|
+
│ │ │ │
|
|
414
|
+
│ │ Participant: [Los Angeles Lakers (LA Lakers) ▼] │ │
|
|
415
|
+
│ │ • Shows canonical name (raw_name) │ │
|
|
416
|
+
│ │ • Filtered to participant_type: team │ │
|
|
417
|
+
│ │ • Submits partner_participant_id │ │
|
|
418
|
+
│ │ │ │
|
|
419
|
+
│ │ Timeframe: [Full Game ▼] │ │
|
|
420
|
+
│ │ Variable: 0 (not required for moneyline) │ │
|
|
421
|
+
│ │ Variable Type: [total ▼] │ │
|
|
422
|
+
│ │ Price Key: (empty - only for Kalshi) │ │
|
|
423
|
+
│ │ │ │
|
|
424
|
+
│ │ [Link Home Side] │ │
|
|
425
|
+
│ └────────────────────────────────────────────────────────┘ │
|
|
426
|
+
│ │
|
|
427
|
+
│ ┌────────────────────────────────────────────────────────┐ │
|
|
428
|
+
│ │ Away Side │ │
|
|
429
|
+
│ │ │ │
|
|
430
|
+
│ │ Side: [Away ▼] │ │
|
|
431
|
+
│ │ Participant: [Celtics ▼] │ │
|
|
432
|
+
│ │ Timeframe: [Full Game ▼] │ │
|
|
433
|
+
│ │ Variable: 0 │ │
|
|
434
|
+
│ │ Variable Type: [total ▼] │ │
|
|
435
|
+
│ │ │ │
|
|
436
|
+
│ │ [Link Away Side] │ │
|
|
437
|
+
│ └────────────────────────────────────────────────────────┘ │
|
|
438
|
+
│ │
|
|
439
|
+
│ [Done] [Cancel] │
|
|
440
|
+
└─────────────────────────────────────────────────────────────┘
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## 🔄 Complete Market Linking Flow
|
|
446
|
+
|
|
447
|
+
```
|
|
448
|
+
1. Admin opens "Lakers vs Celtics" contest
|
|
449
|
+
↓
|
|
450
|
+
2. Admin clicks "Markets" tab
|
|
451
|
+
↓
|
|
452
|
+
3. Page shows supported markets (via GET /markets/supported/:router_contest_id)
|
|
453
|
+
- Moneyline (2/3 partners linked)
|
|
454
|
+
- Spread (1/3 partners linked)
|
|
455
|
+
↓
|
|
456
|
+
4. Admin wants to link BettorEdge moneyline
|
|
457
|
+
↓
|
|
458
|
+
5. Admin clicks "Link Markets" for BettorEdge under Moneyline
|
|
459
|
+
↓
|
|
460
|
+
6. System calls TWO endpoints:
|
|
461
|
+
a) GET /markets/:router_contest_id/rm-moneyline/available-raw/:bettoredge_partner_id
|
|
462
|
+
→ Returns raw_markets (available to link)
|
|
463
|
+
b) GET /markets/:router_contest_id/rm-moneyline/linking-data/:bettoredge_partner_id
|
|
464
|
+
→ Returns market_sides, participants, timeframes, variables
|
|
465
|
+
↓
|
|
466
|
+
7. Modal shows:
|
|
467
|
+
- Raw markets to choose from
|
|
468
|
+
- Form for each side with dropdowns populated from linking-data
|
|
469
|
+
↓
|
|
470
|
+
8. Admin selects raw market: "Winner (external_id: 2)"
|
|
471
|
+
↓
|
|
472
|
+
9. Admin fills Home side form:
|
|
473
|
+
- Side: Home (from market_sides)
|
|
474
|
+
- Participant: Lakers (filtered by side_type: team)
|
|
475
|
+
- Timeframe: Full Game
|
|
476
|
+
- Variable: 0
|
|
477
|
+
- Variable Type: total
|
|
478
|
+
↓
|
|
479
|
+
10. Admin clicks "Link Home Side"
|
|
480
|
+
↓
|
|
481
|
+
11. System calls: POST /markets/link
|
|
482
|
+
{
|
|
483
|
+
"raw_market_id": "raw-be-moneyline",
|
|
484
|
+
"router_market_id": "rm-moneyline",
|
|
485
|
+
"market_side_id": "side-home",
|
|
486
|
+
"partner_participant_id": "pp-lakers-123",
|
|
487
|
+
"timeframe_id": "tf-full",
|
|
488
|
+
"variable": 0,
|
|
489
|
+
"variable_type": "total"
|
|
490
|
+
}
|
|
491
|
+
↓
|
|
492
|
+
12. Admin fills Away side form and links
|
|
493
|
+
↓
|
|
494
|
+
13. Success! BettorEdge moneyline now shows ✅ Linked (2 sides)
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## 📋 API Endpoint Summary
|
|
500
|
+
|
|
501
|
+
### Managing Supported Markets (market_contests)
|
|
502
|
+
|
|
503
|
+
| Method | Endpoint | Purpose |
|
|
504
|
+
|--------|----------|---------|
|
|
505
|
+
| GET | `/markets/supported/:router_contest_id` | Get supported markets for a contest |
|
|
506
|
+
| POST | `/markets/supported` | Add a router market as supported for a contest |
|
|
507
|
+
| DELETE | `/markets/supported/:market_contest_id` | Remove a supported market |
|
|
508
|
+
|
|
509
|
+
### Linking Raw Markets
|
|
510
|
+
|
|
511
|
+
| Method | Endpoint | Purpose |
|
|
512
|
+
|--------|----------|---------|
|
|
513
|
+
| GET | `/markets/:router_contest_id/:router_market_id/linking-data/:partner_id` | **NEW** Get form data (sides, participants, timeframes, variables) |
|
|
514
|
+
| GET | `/markets/:router_contest_id/:router_market_id/available-raw/:partner_id` | Get available raw markets to link for a specific market + partner |
|
|
515
|
+
| POST | `/markets/link` | Link a raw market to router market (requires: side, participant, timeframe, variable) |
|
|
516
|
+
|
|
517
|
+
### Reference Data
|
|
518
|
+
|
|
519
|
+
| Method | Endpoint | Purpose |
|
|
520
|
+
|--------|----------|---------|
|
|
521
|
+
| GET | `/markets/router` | Get all router markets |
|
|
522
|
+
| GET | `/markets/sides` | Get all market sides |
|
|
523
|
+
| GET | `/markets/variables` | Get all market variables |
|
|
524
|
+
|
|
525
|
+
---
|
|
526
|
+
|
|
527
|
+
## 💡 Key Concepts
|
|
528
|
+
|
|
529
|
+
### Market Hierarchy
|
|
530
|
+
|
|
531
|
+
```
|
|
532
|
+
Router Market (Template)
|
|
533
|
+
↓ has
|
|
534
|
+
Market Sides (home, away, over, under)
|
|
535
|
+
↓ with
|
|
536
|
+
Market Variables (spreads, totals)
|
|
537
|
+
↓ links to
|
|
538
|
+
Raw Markets (partner-specific, contest-specific)
|
|
539
|
+
↓ creates
|
|
540
|
+
Partner Markets (the actual linkage)
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
### Example: Spread Market
|
|
544
|
+
|
|
545
|
+
**Router Market:** "Spread" (market_key: "spread")
|
|
546
|
+
|
|
547
|
+
**Market Sides:**
|
|
548
|
+
- Home
|
|
549
|
+
- Away
|
|
550
|
+
|
|
551
|
+
**Market Variables:**
|
|
552
|
+
- -3.5 (spread)
|
|
553
|
+
- -7.0 (spread)
|
|
554
|
+
- +2.5 (spread)
|
|
555
|
+
|
|
556
|
+
**Raw Market from BettorEdge:**
|
|
557
|
+
- external_id: "1"
|
|
558
|
+
- pretty_title: "Spread"
|
|
559
|
+
- partner_contest_id: "pc-be-1"
|
|
560
|
+
|
|
561
|
+
**Partner Markets (4 total):**
|
|
562
|
+
1. Home -3.5 → raw_market_id + router_market_id + side_home + variable_-3.5
|
|
563
|
+
2. Away +3.5 → raw_market_id + router_market_id + side_away + variable_+3.5
|
|
564
|
+
3. Home -7.0 → raw_market_id + router_market_id + side_home + variable_-7.0
|
|
565
|
+
4. Away +7.0 → raw_market_id + router_market_id + side_away + variable_+7.0
|
|
566
|
+
|
|
567
|
+
### Variable Types
|
|
568
|
+
|
|
569
|
+
- **spread**: Handicap betting (e.g., -3.5 points)
|
|
570
|
+
- **total**: Over/under betting (e.g., 215.5 total points)
|
|
571
|
+
|
|
572
|
+
For moneyline markets, use `variable: 0` and `variable_type: 'total'`
|
|
573
|
+
|
|
574
|
+
### Price Key (Kalshi Only)
|
|
575
|
+
|
|
576
|
+
Kalshi markets are binary (yes/no). Use `price_key` to specify which:
|
|
577
|
+
- `"yes"` - For one side (usually home or over)
|
|
578
|
+
- `"no"` - For the other side (usually away or under)
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
## 🚀 Implementation Steps
|
|
583
|
+
|
|
584
|
+
### Phase 1: View Supported Markets
|
|
585
|
+
1. Show list of router markets supported for a contest
|
|
586
|
+
2. Display which partners have markets linked for each supported market
|
|
587
|
+
3. Show counts (e.g., "2/3 partners linked")
|
|
588
|
+
|
|
589
|
+
### Phase 2: Add/Remove Supported Markets
|
|
590
|
+
1. Dropdown to add router markets as supported
|
|
591
|
+
2. Button to remove supported markets
|
|
592
|
+
3. Validation (can't remove if partner markets exist)
|
|
593
|
+
|
|
594
|
+
### Phase 3: Link Raw Markets
|
|
595
|
+
1. "Link Markets" button for each partner under each supported market
|
|
596
|
+
2. Modal/panel to select raw market and configure sides
|
|
597
|
+
3. Form for each side with:
|
|
598
|
+
- Side dropdown (from router_market_sides)
|
|
599
|
+
- Variable input (if variable_required)
|
|
600
|
+
- Variable type dropdown
|
|
601
|
+
- Price key (if Kalshi)
|
|
602
|
+
4. Submit to create partner_market
|
|
603
|
+
|
|
604
|
+
### Phase 4: Bulk Linking
|
|
605
|
+
1. Auto-detect matching markets by external_id patterns
|
|
606
|
+
2. Bulk link all sides at once
|
|
607
|
+
3. Smart defaults for common markets (moneyline, spread)
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
## ✅ Complete Example Workflow
|
|
612
|
+
|
|
613
|
+
**Goal:** Link BettorEdge Moneyline market to "Lakers vs Celtics"
|
|
614
|
+
|
|
615
|
+
```javascript
|
|
616
|
+
// 1. Get supported markets
|
|
617
|
+
const supportedRes = await fetch('/markets/supported/contest-123');
|
|
618
|
+
const { market_contests, router_markets } = await supportedRes.json();
|
|
619
|
+
// Shows: Moneyline is supported (market_contest exists)
|
|
620
|
+
|
|
621
|
+
// 2. Get available raw markets for BettorEdge + Moneyline
|
|
622
|
+
const availableRes = await fetch(
|
|
623
|
+
'/markets/contest-123/rm-moneyline/available-raw/bettoredge-partner-id'
|
|
624
|
+
);
|
|
625
|
+
const { raw_markets } = await availableRes.json();
|
|
626
|
+
// Returns: raw_market with external_id: "2" (BettorEdge Winner market)
|
|
627
|
+
|
|
628
|
+
// 3. Get linking form data (sides, participants, timeframes, variables)
|
|
629
|
+
const formDataRes = await fetch(
|
|
630
|
+
'/markets/contest-123/rm-moneyline/linking-data/bettoredge-partner-id'
|
|
631
|
+
);
|
|
632
|
+
const { market_sides, participants, timeframes, router_market } = await formDataRes.json();
|
|
633
|
+
|
|
634
|
+
// 4. Build participant dropdown (showing human-readable names)
|
|
635
|
+
const participantOptions = participants.map(p => ({
|
|
636
|
+
value: p.partner_participant_id, // Submit this ID
|
|
637
|
+
label: `${p.name}${p.raw_name ? ` (${p.raw_name})` : ''}`, // Display canonical + partner name
|
|
638
|
+
// e.g., "Los Angeles Lakers (LA Lakers)"
|
|
639
|
+
}));
|
|
640
|
+
|
|
641
|
+
// 5. Admin selects:
|
|
642
|
+
// - Raw market: raw_markets[0] (Winner)
|
|
643
|
+
// - Side: 'side-home' (from market_sides)
|
|
644
|
+
// - Participant: 'pp-lakers-123' (from participants dropdown)
|
|
645
|
+
// - Timeframe: 'tf-full' (from timeframes)
|
|
646
|
+
|
|
647
|
+
// 6. Link home side
|
|
648
|
+
await fetch('/markets/link', {
|
|
649
|
+
method: 'POST',
|
|
650
|
+
headers: { 'Content-Type': 'application/json' },
|
|
651
|
+
body: JSON.stringify({
|
|
652
|
+
raw_market_id: raw_markets[0].raw_market_id,
|
|
653
|
+
router_market_id: 'rm-moneyline',
|
|
654
|
+
market_side_id: 'side-home',
|
|
655
|
+
partner_participant_id: 'pp-lakers-123', // Selected from dropdown
|
|
656
|
+
timeframe_id: 'tf-full', // Selected from dropdown
|
|
657
|
+
variable: 0,
|
|
658
|
+
variable_type: 'total'
|
|
659
|
+
})
|
|
660
|
+
});
|
|
661
|
+
|
|
662
|
+
// 7. Link away side (with Celtics)
|
|
663
|
+
await fetch('/markets/link', {
|
|
664
|
+
method: 'POST',
|
|
665
|
+
headers: { 'Content-Type': 'application/json' },
|
|
666
|
+
body: JSON.stringify({
|
|
667
|
+
raw_market_id: raw_markets[0].raw_market_id,
|
|
668
|
+
router_market_id: 'rm-moneyline',
|
|
669
|
+
market_side_id: 'side-away',
|
|
670
|
+
partner_participant_id: 'pp-celtics-456', // Selected from dropdown
|
|
671
|
+
timeframe_id: 'tf-full',
|
|
672
|
+
variable: 0,
|
|
673
|
+
variable_type: 'total'
|
|
674
|
+
})
|
|
675
|
+
});
|
|
676
|
+
|
|
677
|
+
// Done! BettorEdge Moneyline is now linked for this contest
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
---
|
|
681
|
+
|
|
682
|
+
This two-step approach keeps the market management organized and scalable!
|