Skip to content

Commit df6ef7a

Browse files
Leihynclaude
andcommitted
Add documentation site and API enhancements
- Add Nextra documentation site with comprehensive guides - Add Drift integration for Solana prediction markets - Add all-markets aggregation endpoint - Update existing API routes with improvements Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 6c9371f commit df6ef7a

File tree

265 files changed

+84816
-1035
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+84816
-1035
lines changed

check-sx.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
const https = require('https');
2+
3+
// Get a bettor's full history
4+
const bettor = '0xf59e93290383ed15f73ee923ebbf29f79e37b6d8';
5+
6+
https.get(`https://api.sx.bet/trades?bettor=${bettor}&pageSize=100`, (res) => {
7+
let data = '';
8+
res.on('data', chunk => data += chunk);
9+
res.on('end', () => {
10+
const j = JSON.parse(data);
11+
const trades = j.data.trades;
12+
13+
console.log('Total trades for bettor:', trades.length);
14+
console.log('Count from API:', j.data.count);
15+
16+
// Count by settleValue (rounded for display)
17+
const settleValues = {};
18+
trades.forEach(t => {
19+
const sv = Math.round(t.settleValue * 100) / 100;
20+
if (!settleValues[sv]) settleValues[sv] = 0;
21+
settleValues[sv]++;
22+
});
23+
24+
console.log('\nSettleValue distribution:');
25+
Object.entries(settleValues)
26+
.sort((a, b) => b[1] - a[1])
27+
.forEach(([k, v]) => console.log(` ${k}: ${v} trades`));
28+
29+
// Check actual wins vs losses based on bettingOutcomeOne and outcome
30+
let wins = 0, losses = 0, voids = 0;
31+
trades.forEach(t => {
32+
// If outcome matches bettingOutcomeOne, bettor won
33+
if (t.outcome === 0) {
34+
voids++;
35+
} else if (t.bettingOutcomeOne && t.outcome === 1) {
36+
wins++;
37+
} else if (!t.bettingOutcomeOne && t.outcome === 2) {
38+
wins++;
39+
} else {
40+
losses++;
41+
}
42+
});
43+
44+
console.log('\nActual results (based on outcome vs bettingOutcomeOne):');
45+
console.log(` Wins: ${wins}`);
46+
console.log(` Losses: ${losses}`);
47+
console.log(` Voids: ${voids}`);
48+
console.log(` Win rate: ${((wins / (wins + losses)) * 100).toFixed(1)}%`);
49+
50+
// Compare to what we're currently showing
51+
console.log('\nCompare to settleValue=1 count:', settleValues[1] || 0);
52+
});
53+
}).on('error', e => console.error(e));

docs-site/.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Dependencies
2+
node_modules/
3+
.pnp
4+
.pnp.js
5+
6+
# Build
7+
.next/
8+
out/
9+
build/
10+
dist/
11+
12+
# Debug
13+
npm-debug.log*
14+
yarn-debug.log*
15+
yarn-error.log*
16+
17+
# Local env files
18+
.env
19+
.env.local
20+
.env.development.local
21+
.env.test.local
22+
.env.production.local
23+
24+
# Vercel
25+
.vercel
26+
27+
# IDE
28+
.idea/
29+
.vscode/
30+
*.swp
31+
*.swo
32+
33+
# OS
34+
.DS_Store
35+
Thumbs.db
36+
37+
# TypeScript
38+
*.tsbuildinfo
39+
next-env.d.ts

docs-site/next.config.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import nextra from 'nextra'
2+
3+
const withNextra = nextra({
4+
theme: 'nextra-theme-docs',
5+
themeConfig: './theme.config.tsx',
6+
defaultShowCopyCode: true,
7+
flexsearch: {
8+
codeblocks: true
9+
},
10+
staticImage: true,
11+
})
12+
13+
export default withNextra({
14+
reactStrictMode: true,
15+
images: {
16+
unoptimized: true,
17+
},
18+
})

0 commit comments

Comments
 (0)