gdex-watchlist-social
Watchlist, comments, and sentiment voting — social community features around individual tokens
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 81
- Forks
- 17
01 前言 Front Matter
- name
- gdex-watchlist-social
- description
- Watchlist, comments, and sentiment voting — social community features around individual tokens
02 资源文件 3
- 许可证LICENSE1.0 KB
- 参考文档SOURCE.md350 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
GDEX: Watchlist & Social
Manage a per-user watchlist and interact with the social layer around each token (comments and bullish/bearish sentiment votes).
When to Use
- Letting a user pin tokens for quick access
- Reading or posting comments on a token's page
- Voting bullish / bearish on a token
Prerequisites
@gemachdao/gdex-skillinstalled- Authenticated via shared API key or wallet sign-in — see gdex-authentication
- For write operations: a session-key authentication context (
userIdand encrypteddatapayload) or a managed-custody token, depending on backend deployment
Backend Endpoints
| Method | Path | Purpose |
|---|---|---|
GET |
/v1/watch_list |
Get the user's watchlist |
POST |
/v1/change_watch_list |
Add or remove a token from the watchlist |
GET |
/v1/comments |
Get comments for a token |
POST |
/v1/add_comment |
Post a comment |
POST |
/v1/vote_sentiment |
Cast a bullish/bearish sentiment vote |
SDK Usage
import { GdexSkill, buildWatchListComputedData } from '@gemachdao/gdex-skill';
const skill = new GdexSkill();
skill.loginWithApiKey(process.env.GDEX_API_KEY!);
// Watchlist (managed custody — backend decodes computedData)
const list = await skill.getWatchList({ userId: '0xWallet', data: encryptedSessionKey });
// Structured shape — SDK builds computedData internally
await skill.changeWatchList({
tokenAddress: '0xToken',
chainId: 8453,
action: 'add',
managed: {
apiKey: process.env.GDEX_API_KEY!,
walletAddress: '0xWallet',
sessionPrivateKey: '0x…',
userId: '0xWallet',
},
});
// Or raw shape — caller pre-built computedData
await skill.changeWatchList({
computedData: buildWatchListComputedData({
apiKey: process.env.GDEX_API_KEY!,
walletAddress: '0xWallet',
sessionPrivateKey: '0x…',
userId: '0xWallet',
tokenAddress: '0xToken',
chainId: '8453',
isAdded: true,
}),
chainId: 8453,
});
// Comments (plain JSON)
const comments = await skill.getComments({ tokenAddress: '0xToken', chain: 8453 });
await skill.addComment({
tokenAddress: '0xToken',
chain: 8453,
message: 'Looking strong on the 4h',
userId: '0xWallet',
data: encryptedSessionKey,
});
// Sentiment (plain JSON)
await skill.voteSentiment({
tokenAddress: '0xToken',
chain: 8453,
sentiment: 'bullish',
userId: '0xWallet',
data: encryptedSessionKey,
});
Notes
change_watch_listuses managed-custody encryptedcomputedData: ABI['watch_list', [tokenAddress, chainId, isAdded, nonce]], sig messagewatch_list-${userId}-${data}.add_commentandvote_sentimentuse plain JSON with the standard session header for auth — they do NOT go throughserverDecryptData.- Watchlist entries are scoped to
(userId, chain, tokenAddress). - Sentiment votes are deduplicated per
(userId, tokenAddress)— re-voting updates the existing vote. - Comment moderation policies (rate limits, profanity filters) are enforced server-side; expect API errors when limits are hit.
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.