mirror of
https://github.com/GMGNAI/gmgn-skills.git
synced 2026-07-28 09:17:45 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 412531f04e | |||
| b0b25118aa | |||
| 0a12f0615d | |||
| 0979d14d6a | |||
| 0cf2e514e6 | |||
| 693a63c723 | |||
| 81d67808fa | |||
| 8a095a99a8 |
@@ -233,7 +233,8 @@ The response has a `activities` array and a `next` cursor field for pagination.
|
||||
| `token.symbol` | Token ticker |
|
||||
| `token_amount` | Token quantity in this transaction |
|
||||
| `cost_usd` | USD value of this transaction |
|
||||
| `price` | Token price in USD at time of transaction |
|
||||
| `price` | Token price denominated in the quote token of the trading pair at time of transaction |
|
||||
| `price_usd` | Token price in USD at time of transaction |
|
||||
| `timestamp` | Unix timestamp of the transaction |
|
||||
| `next` | Pagination cursor — pass to `--cursor` to fetch the next page |
|
||||
|
||||
|
||||
@@ -88,6 +88,9 @@ All swap-related routes used by this skill go through GMGN's leaky-bucket limite
|
||||
| `multi-swap` | `POST /v1/trade/multi_swap` | 5 |
|
||||
| `order quote` | `GET /v1/trade/quote` | 2 |
|
||||
| `order get` | `GET /v1/trade/query_order` | 1 |
|
||||
| `order strategy create` | `POST /v1/trade/strategy/create` | 5 |
|
||||
| `order strategy cancel` | `POST /v1/trade/strategy/cancel` | 2 |
|
||||
| `order strategy list` | `GET /v1/trade/strategy/orders` | 1 |
|
||||
| `gas-price` | `GET /v1/trade/gas_price` | 1 |
|
||||
|
||||
When a request returns `429`:
|
||||
@@ -544,7 +547,7 @@ gmgn-cli order strategy create \
|
||||
| `--quote-token` | Yes | all | Quote token contract address |
|
||||
| `--order-type` | Yes | all | Order type: `limit_order` |
|
||||
| `--sub-order-type` | Yes | all | Sub-order type: `buy_low` / `buy_high` / `stop_loss` / `take_profit` |
|
||||
| `--check-price` | Yes | all | Trigger check price |
|
||||
| `--check-price` | Yes | all | Trigger price in USD — the order fires when the token's USD price crosses this value |
|
||||
| `--amount-in` | No* | all | Input amount (smallest unit). Mutually exclusive with `--amount-in-percent` |
|
||||
| `--amount-in-percent` | No* | all | Input as percentage (e.g. `50` = 50%). Mutually exclusive with `--amount-in` |
|
||||
| `--limit-price-mode` | No | all | `exact` / `slippage` (default: `slippage`) |
|
||||
|
||||
@@ -44,11 +44,12 @@ export function buildMessage(
|
||||
const sortedQs = Object.keys(queryParams)
|
||||
.sort()
|
||||
.flatMap((k) => {
|
||||
const ek = encodeURIComponent(k);
|
||||
const v = queryParams[k];
|
||||
if (Array.isArray(v)) {
|
||||
return [...v].sort().map((item) => `${k}=${item}`);
|
||||
return [...v].sort().map((item) => `${ek}=${encodeURIComponent(item)}`);
|
||||
}
|
||||
return [`${k}=${v}`];
|
||||
return [`${ek}=${encodeURIComponent(String(v))}`];
|
||||
})
|
||||
.join("&");
|
||||
return `${subPath}:${sortedQs}:${body}:${timestamp}`;
|
||||
|
||||
Reference in New Issue
Block a user