返回顶部
a

aavegotchi-gbm-skillAAVE鬼怪技能

>

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

aavegotchi-gbm-skill

安全规则

  • - 默认设置 DRY_RUN=1。除非明确指示,否则绝不广播交易。
  • 始终验证 Base 主网:
- ~/.foundry/bin/cast chain-id --rpc-url ${BASEMAINNETRPC:-https://mainnet.base.org} 必须返回 8453。
  • - 始终验证密钥/地址一致性:
- ~/.foundry/bin/cast wallet address --private-key $PRIVATEKEY 必须等于 $FROMADDRESS。
  • - 在任何模拟/广播步骤之前,始终立即从子图中重新获取数据(拍卖可能已被加价、结束、领取或取消)。
  • 在模拟或广播之前,始终立即检查链上状态:
- 确保链上的 highestBid 与你传入 commitBid / swapAndCommitBid 的 highestBid 匹配。 - 确保代币参数匹配(代币合约、代币 ID、数量)。
  • - 切勿打印或记录 $PRIVATE_KEY。

Shell 输入安全(避免远程代码执行)

此技能包含 shell 命令。将你从用户或外部来源(子图响应、聊天消息等)复制的任何值视为不可信。

规则:

  • - 切勿将用户提供的字符串作为 shell 代码执行(避免使用 eval、bash -c、sh -c)。
  • 仅替换与 0x + 40 个十六进制字符匹配的地址。
  • 仅替换为十进制数字的 uint 值(无逗号、无小数)。
  • 在下面的命令示例中,特定于拍卖的输入被写成带引号的占位符,如 ,以避免意外的 shell 插值。仅在验证后才将其替换为实际值。

快速验证器(替换占位符值):
bash
python3 - < import re

auctionid = ID> # 仅数字
tokencontract = CONTRACT_ADDRESS> # 0x + 40 个十六进制字符
tokenid = ID> # 仅数字
amount = # 仅数字

if not re.fullmatch(r[0-9]+, auction_id):
raise SystemExit(AUCTION_ID 必须仅为十进制数字)
if not re.fullmatch(r0x[a-fA-F0-9]{40}, token_contract):
raise SystemExit(TOKENCONTRACTADDRESS 必须是 0x + 40 位十六进制地址)
if not re.fullmatch(r[0-9]+, token_id):
raise SystemExit(TOKEN_ID 必须仅为十进制数字)
if not re.fullmatch(r[0-9]+, amount):
raise SystemExit(TOKEN_AMOUNT 必须仅为十进制数字)

print(ok)
PY

必需设置

必需的环境变量:

  • - PRIVATEKEY:用于 cast send 的 EOA 私钥(切勿打印/记录)。
  • FROMADDRESS:拥有 NFT 并将提交交易的 EOA 地址。
  • BASEMAINNETRPC:RPC URL。如果未设置,则使用 https://mainnet.base.org。
  • GBMSUBGRAPHURL:用于拍卖的 Goldsky 子图端点。

可选的环境变量:

  • - DRYRUN:1(默认)仅通过 cast call 模拟。设置为 0 以通过 cast send 广播。
  • RECIPIENTADDRESS:用于交换流程;接收合约退还的任何多余 GHST。默认为 FROMADDRESS。
  • GOLDSKYAPIKEY:可选;如果设置,则在子图调用中包含 Authorization: Bearer ... 标头。
  • SLIPPAGEPCT:默认为 1(%);用于 swapAmount 估算计算。
  • GHSTUSDPRICE、ETHUSDPRICE:可选覆盖;如果未设置,则在交换计算片段中从 CoinGecko 获取。

推荐的默认值(如果需要,可通过环境变量覆盖):
bash
export BASEMAINNETRPC=${BASEMAINNETRPC:-https://mainnet.base.org}
export GBMDIAMOND=${GBMDIAMOND:-0x80320A0000C7A6a34086E2ACAD6915Ff57FfDA31}
export GHST=${GHST:-0xcD2F22236DD9Dfe2356D7C543161D4d260FD9BcB}
export USDC=${USDC:-0x833589fCD6eDb6E08f4c7C32D4f71b54BDA02913}
export GBMSUBGRAPHURL=${GBMSUBGRAPHURL:-https://api.goldsky.com/api/public/project_cmh3flagm0001r4p25foufjtt/subgraphs/aavegotchi-gbm-baazaar-base/prod/gn}
export DRYRUN=${DRYRUN:-1}
export SLIPPAGEPCT=${SLIPPAGEPCT:-1}

注意:

  • - 下面的命令使用 ~/.foundry/bin/cast,以便在 cron/非交互式 shell 中工作。

查看/列出拍卖(优先使用子图)

规范查询请参见 references/subgraph.md。

按 ID 查询拍卖(快速):
bash
curl -s $GBMSUBGRAPHURL -H content-type: application/json ${GOLDSKYAPIKEY:+-H Authorization: Bearer $GOLDSKYAPIKEY} --data {
query:query($id:ID!){ auction(id:$id){ id type contractAddress tokenId quantity seller highestBid highestBidder totalBids startsAt endsAt claimAt claimed cancelled presetId category buyNowPrice startBidPrice } },
variables:{id:}
}

活跃拍卖(即将结束的优先):
bash
NOW=$(date +%s)
curl -s $GBMSUBGRAPHURL -H content-type: application/json ${GOLDSKYAPIKEY:+-H Authorization: Bearer $GOLDSKYAPIKEY} --data {
\query\:\query(\$now:BigInt!){ auctions(first:20, orderBy: endsAt, orderDirection: asc, where:{claimed:false, cancelled:false, startsAtlte:\$now, endsAtgt:\$now}){ id type contractAddress tokenId quantity highestBid highestBidder totalBids startsAt endsAt claimAt presetId category seller } }\,
\variables\:{\now\:\$NOW\}
}

链上验证(出价/发送前必需)

链上的真实数据源是 GBM 钻石合约。

确认核心拍卖字段(完整结构体解码):
bash
~/.foundry/bin/cast call $GBM_DIAMOND \
getAuctionInfo(uint256)((address,uint96,address,uint88,uint88,bool,bool,address,(uint80,uint80,uint56,uint8,bytes4,uint256,uint96,uint96),(uint64,uint64,uint64,uint64,uint256),uint96,uint96)) \
\
--rpc-url $BASEMAINNETRPC

有用的单个获取器:
bash
~/.foundry/bin/cast call $GBMDIAMOND getAuctionHighestBid(uint256)(uint256) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getAuctionHighestBidder(uint256)(address) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getAuctionStartTime(uint256)(uint256) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getAuctionEndTime(uint256)(uint256) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getContractAddress(uint256)(address) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getTokenId(uint256)(uint256) ID> --rpc-url $BASEMAINNETRPC
~/.foundry/bin/cast call $GBMDIAMOND getTokenKind(uint256)(bytes4) ID> --rpc-url $BASEMAINNETRPC

创建拍卖

链上方法:

  • - createAuction((uint80,uint80,uint56,uint8,bytes4,uint256,uint96,uint96),address

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 aavegotchi-gbm-skill-1776419933 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 aavegotchi-gbm-skill-1776419933 技能

通过命令行安装

skillhub install aavegotchi-gbm-skill-1776419933

下载

⬇ 下载 aavegotchi-gbm-skill v0.1.0(免费)

文件大小: 13.4 KB | 发布时间: 2026-4-17 19:11

v0.1.0 最新 2026-4-17 19:11
Initial release: subgraph-first GBM auctions skill

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

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

p2p_official_large