Skip to main content

sunswap-dex-trading

Execute token swaps, manage liquidity, and query market data on SunSwap DEX via the sun-cli.

소스 정보

저장소
BofAI/skills
최근 소스 활동
2026년 9월 23일 01:50
감지된 SKILL.md 언어
영어
스타
154
포크
24

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
SunSwap DEX Trading
description
Execute token swaps, manage liquidity, and query market data on SunSwap DEX via the sun-cli.
version
2.0.0
dependencies
["@sun-protocol/sun-cli@1.2.2"]
tags
["defi","dex","swap","liquidity","tron","sunswap"]
# SunSwap DEX Trading Skill ## Quick Start This skill enables AI agents to interact with SunSwap DEX on the TRON blockchain through `sun-cli` — a unified CLI for quoting swaps, executing trades, managing liquidity (V2/V3/V4), querying pools, prices, positions, and more. ### Prerequisites > **Wallet required for real writes only:** Configure a supported sun-cli wallet source > before swaps, liquidity changes, or `contract send`, then verify the public address with > `sun wallet address`. Read-only queries and `--dry-run` previews do not need a wallet. > The retired wallet and onboarding Skills are not prerequisites; wallet-cli accounts are > not automatically available to sun-cli. Never request or display secret values in chat. 1. **Verify sun-cli**: ```bash sun --version ``` The required version is exactly `1.2.2`. If it is missing or another version is installed, obtain approval before changing the global package: ```bash npm install -g @sun-protocol/sun-cli@1.2.2 ``` 2. **Configure wallet** (required for write operations only): ```bash export TRON_PRIVATE_KEY="your_private_key_here" ``` Alternative wallet sources: `TRON_MNEMONIC` or `AGENT_WALLET_PASSWORD`. 3. **Optional environment variables:** ```bash export TRON_NETWORK=mainnet export TRONGRID_API_KEY=your_key ``` Read-only commands (price, quote, pool list, etc.) and `--dry-run` previews work without wallet credentials. --- ## AI Agent Flags Always use these flags when calling `sun` from an AI agent: | Flag | Purpose | |------|---------| | `--json` | Machine-readable JSON output to stdout | | `--yes` | Skip interactive confirmation prompts | | `--dry-run` | Simulate write operations without sending transactions | | `--fields` | Limit output to specific comma-separated fields | | `--network` | Override network: `mainnet`, `nile`, `shasta` | Standard agent invocation pattern: ```bash sun --json price TRX ``` Write operations add `--yes` to skip prompts: ```bash sun --json --yes swap TRX USDT 100000000 ``` > **WARNING: `--network` only accepts `mainnet`, `nile`, or `shasta`.** > Invalid network names silently fall back to mainnet without error. > The AI agent must validate the network value before passing it. > **WARNING: `--dry-run` only builds a transaction preview.** > It does NOT check balances, validate fee tiers, verify tick alignment, or reject > same-token swaps. The agent must perform these validations before executing. > See [Agent Pre-Validation Checklist](#agent-pre-validation-checklist) below. --- ## Agent Pre-Validation Checklist Before executing any write operation (`swap`, `liquidity`, `contract send`), the AI agent **must** perform the following checks. The CLI's `--dry-run` does not validate these — it only builds a transaction preview. ### Before Swap 1. **Check balance is sufficient:** ```bash sun --json wallet balances ``` Compare the token balance against the `amountIn`. Abort if insufficient. 2. **Verify tokenIn ≠ tokenOut:** Same-token swaps (e.g. TRX → TRX) are not rejected by `--dry-run`. The agent must check that the two tokens are different before executing. 3. **Validate slippage is reasonable:** Recommended range: 0.001 (0.1%) to 0.05 (5%). Warn the user if outside this range. ### Before V3 Liquidity (Mint) 1. **Use only valid fee tiers:** `100`, `500`, `3000`, or `10000`. Invalid fee values (e.g. 9999) are not rejected by `--dry-run`. 2. **Ensure ticks are aligned to tick spacing:** | Fee Value | Tick Spacing | Valid tick examples | |-----------|-------------|---------------------| | 100 | 1 | any integer | | 500 | 10 | -10, 0, 10, 20 | | 3000 | 60 | -120, -60, 0, 60 | | 10000 | 200 | -400, -200, 0, 200 | Both `--tick-lower` and `--tick-upper` must be exact multiples of the tick spacing. Misaligned ticks are not rejected by `--dry-run` but will fail on-chain. 3. **Check balance is sufficient** for both token0 and token1 amounts. ### Before V3/V4 Position Operations (Increase/Decrease/Collect) 1. **Verify token-id exists:** Query the user's positions first: ```bash sun --json position list --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --protocol V3 ``` Confirm the target `--token-id` appears in the result. Passing a non-existent token-id may produce misleading errors (e.g. "amount required" instead of "position not found"). ### Before V2 Liquidity (Add) 1. **Check balance is sufficient** for both token-a and token-b amounts. ### General - **Validate `--network`** is one of: `mainnet`, `nile`, `shasta`. Invalid values silently fall back to mainnet. - **Validate `--type`** for `tx scan` is one of: `swap`, `add`, `withdraw`. Invalid values return empty results instead of errors. --- ## Command Reference ### 1. Wallet Check wallet address and token balances. ```bash sun --json wallet address ``` ```bash sun --json wallet balances ``` Check balances for a specific owner address: ```bash sun --json wallet balances --owner TDqSquXBgUCLYvYC4XZgrprLK589dkhSCf ``` Filter by specific tokens (contract addresses only, symbols like TRX/USDT are NOT supported): ```bash sun --json wallet balances --tokens TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t,TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR ``` > **WARNING:** `--tokens` only accepts contract addresses. Passing symbols (e.g. `TRX,USDT`) will return `Invalid contract address provided`. Use the address table in [Supported Token Symbols](#supported-token-symbols) to resolve symbols to addresses first. --- ### 2. Token Price Fetch token prices from SUN.IO. ```bash sun --json price TRX ``` ```bash sun --json price USDT ``` Query by contract address: ```bash sun --json price --address TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t ``` --- ### 3. Swap Quote (Read-Only) Get a price quote without executing. No wallet required. **Parameters:** `tokenIn` and `tokenOut` accept token symbols (TRX, USDT) or TRC20 addresses. `amountIn` is in sun (smallest unit, e.g. 1000000 = 1 TRX). ```bash sun --json swap:quote TRX USDT 100000000 ``` Quote with all route details: ```bash sun --json swap:quote TRX USDT 100000000 --all ``` Quote on a specific network: ```bash sun --json swap:quote TRX USDT 100000000 --network nile ``` Reverse direction: ```bash sun --json swap:quote USDT TRX 1000000 ``` --- ### 4. Execute Swap Execute a token swap through the SunSwap Universal Router. **Parameters:** `tokenIn` and `tokenOut` accept symbols or addresses. `amountIn` is in sun. `--slippage` is a decimal (default: 0.005 = 0.5%). ```bash sun --json --yes swap TRX USDT 100000000 ``` Swap with custom slippage (1%): ```bash sun --json --yes swap TRX USDT 100000000 --slippage 0.01 ``` Dry-run (simulate without sending): ```bash sun --json --yes --dry-run swap TRX USDT 100000000 ``` Use contract addresses instead of symbols: ```bash sun --json --yes swap T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t 100000000 ``` Swap on nile testnet: ```bash sun --json --yes swap TRX USDT 1000000 --network nile ``` --- ### 5. V2 Liquidity Add or remove liquidity on SunSwap V2 AMM pools. **Parameters for add:** `--token-a` and `--token-b` accept symbols or addresses. `--amount-a` and `--amount-b` are in sun. Optional: `--min-a`, `--min-b`, `--to`, `--deadline`. **Parameters for remove:** `--token-a`, `--token-b`, `--liquidity` (raw LP amount). Optional: `--min-a`, `--min-b`, `--to`, `--deadline`. #### Add Liquidity Single-side (auto-calculate other): ```bash sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 ``` Both sides: ```bash sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 --amount-b 290000 ``` Dry-run: ```bash sun --json --yes --dry-run liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 ``` With minimum amounts and recipient: ```bash sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 --amount-b 290000 --min-a 950000 --min-b 275000 ``` #### Remove Liquidity ```bash sun --json --yes liquidity v2:remove --token-a TRX --token-b USDT --liquidity 500000 ``` Dry-run: ```bash sun --json --yes --dry-run liquidity v2:remove --token-a TRX --token-b USDT --liquidity 500000 ``` --- ### 6. V3 Liquidity (Concentrated) Manage concentrated liquidity positions on SunSwap V3. **Fee tiers (only these values are valid):** | Fee Rate | Fee Value | Tick Spacing | Full Range Ticks | |----------|-----------|-------------|------------------| | 0.01% | 100 | 1 | -887272 / 887272 | | 0.05% | 500 | 10 | -887270 / 887270 | | 0.3% | 3000 | 60 | -887220 / 887220 | | 1% | 10000 | 200 | -887200 / 887200 | > **IMPORTANT:** `--fee` must be exactly one of: `100`, `500`, `3000`, `10000`. > Other values are NOT rejected by `--dry-run` but will fail on-chain. > > `--tick-lower` and `--tick-upper` must be exact multiples of the tick spacing. > Misaligned ticks are NOT rejected by `--dry-run` but will fail on-chain. **Parameters for mint:** `--token0`, `--token1` (symbol or address), `--fee`, `--tick-lower`, `--tick-upper`, `--amount0`, `--amount1`. Optional: `--recipient`, `--deadline`. #### Mint New Position Full-range with defaults: ```bash sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --amount0 1000000 ``` With specific fee and tick range (fee=3000, tick spacing=60): ```bash sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -887220 --tick-upper 887220 --amount0 1000000 ``` Dry-run: ```bash sun --json --yes --dry-run liquidity v3:mint --token0 TRX --token1 USDT --amount0 1000000 ``` With specific fee tier (fee=500, tick spacing=10): ```bash sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 500 --tick-lower -887270 --tick-upper 887270 --amount0 1000000 ``` With recipient: ```bash sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -60 --tick-upper 60 --amount0 1000000 --recipient TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW ``` #### Increase Position ```bash sun --json --yes liquidity v3:increase --token-id 123 --amount0 500000 ``` #### Decrease Position ```bash sun --json --yes liquidity v3:decrease --token-id 123 --liquidity 1000 ``` #### Collect Fees ```bash sun --json --yes liquidity v3:collect --token-id 123 ``` --- ### 7. V4 Liquidity Manage liquidity on SunSwap V4 pools (with hooks support).
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기