Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/doc-error.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Documentation Error
about: Report incorrect or misleading documentation
title: "[ERROR] ..."
labels: bug, documentation
assignees: ''
---

## Which document?

<!-- Link to the file or section -->

## What is wrong?

<!-- Describe the error clearly -->

## What should it say?

<!-- The correct information, with evidence if possible -->

## Evidence

<!-- API response, official Discord message, tested behavior -->
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature Request
about: Suggest an SDK feature, new example, or tooling improvement
title: "[FEATURE] ..."
labels: enhancement
assignees: ''
---

## What would you like?

<!-- Clear description of the feature -->

## Why is this useful?

<!-- What problem does it solve for developers? -->

## Proposed Implementation (optional)

<!-- How you'd approach it -->
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/missing-endpoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Missing Endpoint
about: Report an endpoint that works but is not documented
title: "[MISSING] /fapi/v3/..."
labels: documentation, missing-endpoint
assignees: ''
---

## Endpoint

**URL:** `/fapi/v3/...`
**Method:** GET / POST / PUT / DELETE
**Auth required:** Yes / No

## How did you discover this endpoint?

<!-- e.g., JS bundle analysis, Discord mention, API experimentation -->

## Request Parameters (if known)

| Name | Type | Mandatory | Description |
|---|---|---|---|
| | | | |

## Response Example (if available)

```json

```

## Additional Context

<!-- Any relevant Discord messages, screenshots, or context -->
111 changes: 111 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: CI — Lint, Security & Link Check

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

permissions:
contents: read
security-events: write

jobs:
markdown-lint:
name: Markdown Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v19
with:
globs: |
docs/**/*.md
*.md
config: .markdownlint.json

link-check:
name: Link Checker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: lycheeverse/lychee-action@v2
with:
args: >-
--verbose
--no-progress
--accept 200,204,301,302,403,429
--exclude-mail
--exclude "^https://fapi\\.asterdex\\.com"
--exclude "^https://fapi3\\.asterdex\\.com"
--exclude "^wss://"
"docs/**/*.md"
"*.md"
fail: false

secret-scan:
name: Secret Scanner
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: trufflesecurity/trufflehog@v3.88.27
with:
extra_args: --only-verified

python-sdk-lint:
name: Python SDK Lint & Test
runs-on: ubuntu-latest
defaults:
run:
working-directory: sdk/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install -e ".[dev]"
- name: Ruff lint
run: ruff check .
- name: Ruff format check
run: ruff format --check .
- name: Type check
run: mypy asterdex/ --ignore-missing-imports
- name: Run tests
run: pytest tests/ -v

js-sdk-lint:
name: JavaScript SDK Lint & Test
runs-on: ubuntu-latest
defaults:
run:
working-directory: sdk/javascript
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test

codeql:
name: CodeQL Analysis
runs-on: ubuntu-latest
permissions:
security-events: write
strategy:
matrix:
language: [python, javascript]
steps:
- uses: actions/checkout@v4
- uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- uses: github/codeql-action/autobuild@v3
- uses: github/codeql-action/analyze@v3
37 changes: 36 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,36 @@
.idea
# Dependencies
node_modules/
__pycache__/
*.pyc
.venv/
venv/
env/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Build
dist/
build/
*.egg-info/

# Secrets — NEVER commit these
.env
.env.local
*.pem
*.key
private_key*
secret*

# Test artifacts
.pytest_cache/
.coverage
htmlcov/
12 changes: 12 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"default": true,
"MD013": false,
"MD033": false,
"MD041": false,
"MD024": { "siblings_only": true },
"MD036": false,
"MD040": false,
"MD046": false,
"MD047": true,
"MD004": { "style": "dash" }
}
67 changes: 67 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Contributing to AsterDex API Docs (Community Fork)

Thank you for helping improve the AsterDex API documentation. This fork is maintained by the community to fill gaps in the official documentation.

## How to Contribute

### Reporting Issues

Use the [issue templates](./.github/ISSUE_TEMPLATE/) for:
- **Missing endpoint** — An endpoint that works but isn't documented
- **Doc error** — Incorrect parameter, wrong response format, broken example
- **Feature request** — SDK improvements, new examples, tooling

### Submitting Changes

1. Fork this repository
2. Create a feature branch: `git checkout -b fix/endpoint-description`
3. Make your changes
4. Run the linter: `npm run lint` (if applicable)
5. Submit a Pull Request with a clear description

### Documentation Standards

When documenting an endpoint:

```markdown
## Endpoint Name (AUTH_TYPE)

> **Response:**

\`\`\`json
{ "example": "response" }
\`\`\`

\`\`METHOD /fapi/v3/endpoint\`\`

**Weight:** N

**Parameters:**

| Name | Type | Mandatory | Description |
|---|---|---|---|
| param | TYPE | YES/NO | What it does |
```

### Code Examples

- Python examples go in `examples/python/`
- JavaScript examples go in `examples/javascript/`
- Go examples go in `examples/go/`
- **Never commit real private keys, API secrets, or wallet addresses with funds**
- Use placeholder values: `0x0000...`, `your_private_key_here`

### SDK Changes

- Python SDK: `sdk/python/`
- JavaScript SDK: `sdk/javascript/`
- Include tests for new functionality
- Follow existing code style

## Code of Conduct

Be respectful. This is a community effort to make AsterDex more accessible to developers. Constructive feedback only.

## License

By contributing, you agree that your contributions will be licensed under the MIT License.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Kairos Lab (https://github.com/Valisthea)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading