返回顶部
f

fx-sdk-agent

Use FX Protocol TypeScript SDK (fx-sdk) to query positions (getPositions returns PositionInfo[] with rawColls, rawDebts, rawCollsToken, rawDebtsToken, decimals), build leverage operation transaction plans, bridge tokens between Base and Ethereum (LayerZero), and fxSAVE (config/totals, balance, redeem status, claimable preview, deposit, withdraw, claim). Generate runnable scripts for increasePosition, reducePosition, adjustPositionLeverage, depositAndMint, repayAndWithdraw, getBridgeQuote, buildB

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
82
下载量
0
收藏
概述
安装方式
版本历史

fx-sdk-agent

# FX SDK Agent Skill Use this skill to produce reliable `fx-sdk` integrations for agent workflows. ## Follow This Workflow 1. Confirm user intent: read-only query (`getPositions`, `getFxSaveConfig`, `getFxSaveBalance`, `getFxSaveRedeemStatus`, `getFxSaveClaimable`), transaction-producing action (`increase/reduce/adjust/deposit/repay`, fxSAVE `depositFxSave`/`withdrawFxSave`/`getRedeemTx`), or Base–Ethereum bridge (`getBridgeQuote` / `buildBridgeTx`). 2. Collect required inputs before coding: - `market`: `ETH` or `BTC` - position type when needed: `long` or `short` - `positionId` - token address from `tokens` - amount fields (`bigint` in wei-like units) - `slippage` (must be `0 < slippage < 100`) - `userAddress` - For bridge: `sourceChainId` (1 | 8453), `destChainId` (1 | 8453), `token` (key or OFT address), `amount`, `recipient` - For fxSAVE: `userAddress`; for deposit `tokenIn` (`usdc`|`fxUSD`|`fxUSDBasePool`), `amount` (bigint), optional `slippage`; for withdraw `tokenOut`, `amount` (shares wei), `instant` (boolean), optional `slippage` when instant; for claim use `getRedeemTx` when cooldown complete 3. Create `FxSdk` once and reuse it. 4. Return SDK result first (routes/tx plan), then optionally provide transaction sending loop. 5. Keep nonce order from SDK-provided `txs`; send transactions sequentially. **Wait for each tx receipt before sending the next.** 6. After all txs are confirmed, wait at least one block before querying balances or positions — on-chain state may lag the receipt. 7. Validate inputs and surface SDK error messages directly when possible. 8. If input comes from `agent-tools.json` style payloads, convert amount strings to `bigint` before SDK calls. ## Project Ground Truth Repo: https://github.com/aladdindao/fx-sdk.git Treat these as canonical project references before generating code: - `AGENTS.md` - `README.md` - `agent-tools.json` ## Canonical Imports ```ts import { FxSdk, tokens } from '@aladdindao/fx-sdk' ``` Use custom RPC only when provided: ```ts const sdk = new FxSdk({ rpcUrl, chainId: 1 }) ``` ## Method Map - `sdk.getPositions({ userAddress, market, type })`: read-only; returns `PositionInfo[]` (positionId, rawColls, rawDebts, currentLeverage, lsdLeverage, rawCollsToken, rawDebtsToken, rawCollsDecimals, rawDebtsDecimals). - `sdk.increasePosition(...)`: open new position (`positionId: 0`) or add collateral/leverage. - `sdk.reducePosition(...)`: reduce or close (`isClosePosition: true`). - `sdk.adjustPositionLeverage(...)`: rebalance leverage for existing position. - `sdk.depositAndMint(...)`: long pool only. - `sdk.repayAndWithdraw(...)`: long pool only. - `sdk.getBridgeQuote(...)`: fee quote for LayerZero V2 OFT bridge (Base <-> Ethereum). Use source chain RPC. - `sdk.buildBridgeTx(...)`: build tx payload (to, data, value) to send on source chain; then send with wallet (same pattern as position txs). **When Ethereum is source chain, user must approve `tx.to` (RootEndPointV2) to spend the token before sending the bridge tx.** **fxSAVE** - `sdk.getFxSaveConfig()`: fxSAVE protocol totals and config (totalSupplyWei, totalAssetsWei, cooldownPeriodSeconds, instantRedeemFeeRatio, expenseRatio, harvesterRatio, threshold); no user address required. - `sdk.getFxSaveBalance({ userAddress })`: fxSAVE balance (shares wei, optional assets wei). - `sdk.getFxSaveRedeemStatus({ userAddress })`: pending redeem amount, cooldown, redeemableAt, isCooldownComplete. - `sdk.getFxSaveClaimable({ userAddress })`: redeem status plus `previewReceive` (amountYieldOutWei, amountStableOutWei from previewRedeem — fxUSD + USDC to receive on claim). - `sdk.getRedeemTx({ userAddress, receiver? })`: build claim tx when isCooldownComplete (uses `claim(receiver)`); execute txs in order. - `sdk.depositFxSave({ userAddress, tokenIn, amount, slippage? })`: deposit USDC/fxUSD/basePool; returns `{ txs }` (approve + deposit). - `sdk.withdrawFxSave({ userAddress, tokenOut, amount, instant?, slippage? })`: tokenOut `fxUSDBasePool` → redeem; usdc/fxUSD and !instant → requestRedeem; usdc/fxUSD and instant → approve + instantRedeemFromFxSave; execute txs in order. ## Token Addresses | Token | Ethereum | Base | |-------|----------|------| | fxUSD | `0x085780639CC2cACd35E474e71f4d000e2405d8f6` | `0x55380fe7A1910dFf29A47B622057ab4139DA42C5` | Use `tokens.fxUSD` in SDK calls on Ethereum; pass the Base address directly when building bridge txs with `sourceChainId: 8453`. ## Token Constraints Honor SDK token checks: - **Position (ETH/BTC)** - ETH market: `eth`, `stETH`, `weth`, `wstETH`, `usdc`, `usdt`, `fxUSD` - BTC market: `WBTC`, `usdc`, `usdt`, `fxUSD` - **depositAndMint / repayAndWithdraw** (long only) - ETH long: `eth` | `stETH` | `weth` | `wstETH` - BTC long: `WBTC` - **fxSAVE** - `tokenIn` / `tokenOut`: `usdc` | `fxUSD` | `fxUSDBasePool` - `fxUSDBasePool` → direct redeem; `usdc`/`fxUSD` → requestRedeem (cooldown) or instant (fee + slippage) - Amounts in wei (18 decimals for fxSAVE shares; 6 for USDC) ## Common Errors - `"Input amount must be greater than 0"` / `"Amount to reduce must be greater than 0"` → amount must be positive bigint. - `"Slippage must be between 0 and 100 (exclusive)"` → slippage must be a number in `(0, 100)`. - `"... must be a valid Ethereum address"` → use valid 0x address or `tokens.*`. - `"User is not the owner of this position"` → caller must own `positionId`; verify with `getPositions` first. - `"Input/Output/Deposit/Withdraw token address must be ..."` → use allowed token for the market (see Token Constraints). - Bridge: `"Unsupported bridge chainId"` → each of `sourceChainId`/`destChainId` must be `1` or `8453` and they must differ. `"Unsupported bridge token"` → use `fxUSD`, `fxSAVE`, or valid OFT address on source chain. - fxSAVE: `tokenIn`/`tokenOut` must be `usdc`, `fxUSD`, or `fxUSDBasePool`. Instant withdraw requires `slippage`. ## Output Style For Agent Tasks When user asks to integrate SDK into an AI agent, return: 1. A minimal adapter function with typed input. 2. A safe dry-run mode (`planOnly`) that returns SDK routes without sending transactions. 3. A transaction executor function that consumes one selected route/result and sends `txs` in nonce order. 4. A post-execution step that waits ≥1 block then queries updated balance/positions to confirm the result. 5. A validation checklist and command list. ## Tool Schema Interop If user provides values from `agent-tools.json`: - Parse wei strings with `BigInt(value)`. - Keep `positionId` as number. - Keep `slippage` as number in `(0, 100)`. - Normalize token addresses with `tokens.*` when possible. - For fxSAVE tools, convert `amountWei` string to bigint; use `tokenIn`/`tokenOut` as-is (usdc, fxUSD, fxUSDBasePool). ## Project-Specific References Read these files when examples are required: - `example/increase-position.ts` - `example/reduce-position.ts` - `example/adjust-position-leverage.ts` - `example/deposit-and-mint.ts` - `example/repay-and-withdraw.ts` - `example/get-positions.ts` - `example/layerzero-bridge.ts` - `example/get-fxsave-balance.ts` - `example/get-fxsave-config.ts` - `example/fxsave-deposit.ts` - `example/fxsave-withdraw.ts` - `example/fxsave-claim.ts` (redeem status + claimable preview + claim; uses getFxSaveClaimable, getRedeemTx) For reusable request shapes, adapter pattern, and test checklist, read: - `references/README.md` — index of reference files and when to use each - `references/sdk-playbook.md` — request templates for all methods, minimal snippets, validation checklist - `references/agent-adapter-example.ts` — typed FxAction adapter and sample payloads

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 fx-sdk-agent-1775993109 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 fx-sdk-agent-1775993109 技能

通过命令行安装

skillhub install fx-sdk-agent-1775993109

下载 Zip 包

⬇ 下载 fx-sdk-agent v1.0.1

文件大小: 11 KB | 发布时间: 2026-4-13 10:24

v1.0.1 最新 2026-4-13 10:24
fx-sdk-agent 1.0.1

- Improved skill documentation with detailed method usage, input requirements, and canonical agent integration workflows.
- Added clear step-by-step workflow for agent-based SDK integration, including transaction sequencing and post-execution checks.
- Consolidated token constraints, error handling, and token address mapping for cross-chain and fxSAVE operations.
- Provided agent tool interop guidelines for type-safe input parsing from agent-tools.json payloads.
- Enumerated canonical SDK method map and output structure for reliable code generation and troubleshooting.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部