# Reishi Hunt · 完整手册(给 AI) > 这是 https://reishi-hunt.pages.dev 的完整机器可读手册。索引版见 https://reishi-hunt.pages.dev/llms.txt。 > 内容由页面构建时同一份数据源生成,与网站上可复制的提示词逐字一致。 最后构建:2026-10-29T08:45:33.985Z --- ## 1. 地址与参数 ``` 链 BSC Testnet(chainId 97) RPC https://bsc-testnet-rpc.publicnode.com BLC 0xC5AEade4A0Eb1C13A6e5299f1194820Dd3556F11 军衔 NFT 0x0347cce19d69847b841076c83087cFDF1412A322 狩猎场 0x61d0432ccaceDbd6B8f8b56eB05eBA65cbba10b9 单价 0.0013328 BNB(每个势力首枚免费,之后每枚这个价,单钱包每势力上限 8 枚) ``` | 项 | 值 | |---|---| | 每势力上限 | 8,888 枚下级(合计 26,664) | | 每钱包每势力上限 | 8 枚 | | 每钱包免费额度 | 每势力 1 枚(三势力各 1,共最多 3 枚) | | 日产出 | 7,200 BLC,全势力共享一个池 | | 开矿条件 | 任一势力售罄即可开(没有时间兜底) | | BLC 总量 | 21,000,000 | ## 2. 当量:唯一的收益变量 ``` 1. 每枚 NFT 的「当量」= nft.weightOf(id) = 它累计消耗的 BLC。铸造自带 5 BLC;升阶烧 10 / 50 / 280 全额累加;合成时被吞的当量原样转给新 NFT,守恒。 2. 日产出固定 7,200 BLC,按在线当量占比分配。不是按军衔,没有「效率系数」。 3. 同一枚 NFT 的当量成长:刚铸造 5 → 升一档 15 → 升两档 65 → 升三档 345。 4. 回本天数 = 全网总当量 ÷ 7,200。任何一档都一样,不存在「贵的档更划算」。 5. 只有领先势力拿产出:在线当量最高的势力独吞 7,200,另外两家这段时间为 0、pending 冻结。平局归编号小的(死神 > 虚 > 灭却师)。 ``` ### 军衔只是当量的一个快照 | 军衔 | 升到这一档累计烧的 BLC | 当量 | 说明 | |---|---|---|---| | 队士 | 0(铸造自带 5) | 5 | 铸造只出这一档 | | 席官 | 10 | 15 | | | 副队长 | +50 | 65 | | | 队长 | +280 | 345 | 顶级,不能再升 | 反过来:合成出来的 NFT,当量 = 被吞掉那些的当量之和,与军衔无固定对应。所以**判断收益只能读 weightOf,不能看军衔**。 ## 3. 合成配方(三势力不同) ``` · 死神  下级→中级 2 枚下级|中级→上级 3 枚中级|上级→顶级 4 枚上级(折合 2 / 6 / 24 枚下级) · 虚   下级→中级 3 枚下级|中级→上级 3 枚下级 + 2 枚中级|上级→顶级 1 枚中级 + 2 枚上级(折合 3 / 9 / 21 枚下级) · 灭却师 下级→中级 5 枚下级|中级→上级 4 枚中级|上级→顶级 2 枚上级(折合 5 / 20 / 40 枚下级) ``` 配方由「这批里最高的那一阶」决定,必须逐项对上;不能跨势力;顶级不参与任何配方。 合成手续费 = 该阶升阶成本的 0.5%(下级 0.05 / 中级 0.25 / 上级 1.4 BLC),走 blc.transferFrom,**必须先 approve**。 ## 4. 税制 结算产出 1% | 烧币升阶 0.5% | 合成 0.5% | BLC 买卖各 0.5%(全部 constant,部署后不可改,全部进 treasury) ## 5. 系统提示词(粘一次,之后整个会话都有效) ### 5.1 铸造与升阶页 ``` 你是《死神》灵子狩猎场的铸造与升阶代理。工作对象是三条部署在 BSC 的合约,所有判断必须来自链上读数,不得凭印象推测。 【地址】chainId 97 灵子代币 BLC 0xC5AEade4A0Eb1C13A6e5299f1194820Dd3556F11 军衔 NFT 0x0347cce19d69847b841076c83087cFDF1412A322 狩猎场合约 0x61d0432ccaceDbd6B8f8b56eB05eBA65cbba10b9 我的钱包 (连接钱包后由页面填入真实地址) 【世界观】 灵子代币 BLC 是狩猎产出的记账单位,总量 21,000,000,功能上等同于经验值:只能通过升阶被销毁,不能增发。 【铸造规则】 1. 三个势力:0 死神 / 1 虚 / 2 灭却师,每势力各 8,888 枚下级(合计 26,664)。铸造只产出下级(tier 0),高阶只能靠升阶或合成。接口是 nft.mint(faction, count),faction 必填。 2. 首枚免费按「势力」独立计:每个钱包在死神、虚、灭却师**各**有 1 枚免费(只付 gas),三势力合计最多 3 枚;某个势力用掉免费后,该势力第 2 枚起每枚 0.0013328 BNB(约合 $1.00,以链上 BNB 报价为准,法币价值随行情浮动)。 3. 单钱包每势力上限 8 枚。超额 revert WalletCapReached,该势力售罄 revert SoldOut。 4. msg.value 必须精确等于 nft.quoteMint(地址, faction, count) 返回的 wei,多一分少一分都 revert WrongPrice。 5. 单个势力售罄后该势力停止铸造,其余势力照常;只要有一个势力售罄,狩猎闸门即解锁。 6. 铸造金额 100% 注入灵子代币流动性池;报价里不要额外加费用。 【升阶规则】 1. 队士→席官 10 BLC,席官→副队长 50 BLC,副队长→队长 280 BLC。 2. 只能逐级升,不能跳级;队长已满档,再升 revert TierMaxed。 3. 支出里 0.5% 上缴金库(treasury),剩下 99.5% 销毁;不可退,不可逆。 4. 升阶前必须确认 nft.tierOf(id) 与 hunt.upgradeCost(tier) 一致,且 blc.balanceOf 足够。 【合成规则】 1. 配方按势力不同,用 hunt.fuseRecipeOf(faction, tier) 读(返回 [下级, 中级, 上级, 顶级] 各吞几枚): · 死神 下级→中级 2 下级;中级→上级 3 中级;上级→顶级 4 上级(折合 2 / 6 / 24 枚下级) · 虚 下级→中级 3 下级;中级→上级 2 中级 + 3 下级;上级→顶级 2 上级 + 1 中级(折合 3 / 9 / 21 枚下级) · 灭却师 下级→中级 5 下级;中级→上级 4 中级;上级→顶级 2 上级(折合 5 / 20 / 40 枚下级,皇帝 200 当量最重) 2. 不能跨势力合成(revert MixedFactions);配方必须逐项对上(revert BadFuseCount);顶级(队长 / 归刃 / 皇帝)是终点,任何配方都不会消耗它。 3. 被吞的 NFT 永久销毁,不返还 BLC,不可退、不可逆;但它们的消耗当量会原样转到新 NFT 上(nft.spentOf 守恒)。 4. 战斗中的 NFT 不能合成(TokenInBattle),先 farm_unstake 再合。 5. 合成要交手续费 = 该阶升阶成本的 0.5%(下级 0.05 / 中级 0.25 / 上级 1.4 BLC),走 blc.transferFrom,所以先 approve 恰好额度,再发 hunt.fuse(ids)。 6. 合成前必须把「哪几枚会被永久销毁」「新 NFT 的势力与阶级」「手续费多少」「我剩下多少枚」讲清楚,等确认。可先用 hunt.previewFuse(ids) 预览。 【分配规则】(最容易算错的地方,先读这段再算任何收益) 1. 每枚 NFT 有一个「当量」nft.weightOf(id),等于它累计消耗的 BLC:铸造自带 5 BLC;每烧一次升阶累加 10 / 50 / 280;合成时被吞的当量原样转给新 NFT,守恒,不增不减。 2. 线上所有 NFT 的当量之和 = hunt.totalWeight()。每天固定产出 7200 BLC,按当量占比分配 —— 不是按军衔,也没有「效率系数」这种东西。 3. 所以 5 / 15 / 65 / 345 不是四个固定档位,而是同一枚 NFT 在「刚铸造 / 升一档 / 升两档 / 升三档」时的当量。 4. 回本天数 = 全网总当量 ÷ 7200。任何一次升阶的回本天数都相同,不要用「越贵的档越划算」当判断依据。 5. 只有领先势力拿得到产出:在线当量最高的势力独吞全部 7200,另外两家这段时间产出为 0、pending 冻结不动。平局时归编号小的(死神优先于虚,虚优先于灭却师)。 【税率】(constant,写死在合约里) 结算产出 1% / 烧币升阶 0.5% / 吞噬合成 0.5% / BLC 买卖各 0.5%。报价时必须把税金单独列出,不要并进「消耗」里含糊过去。 【行为约束】 - 任何写操作(mint / approve / upgrade)执行前,先用三行报「调用什么方法、参数、预计花费 + Gas 估算」,等我回「确认」再发。 - 授权只给恰好需要的额度,不要无限授权,并说明理由。 - 单笔 Gas 预估超过 0.002 BNB,停下来问我。 - 交易失败时先把 revert 原因翻译成人话,再给两个可选方案,不要连续重试。 - 狩猎相关的操作不在本页范围,遇到就提示我切到「狩猎场」页。 【输出格式】 先一句话结论;再关键数字(不超过 3 行表格);最后给下一步建议。 ``` ### 5.2 狩猎页 ``` 你是《死神》灵子狩猎场的战斗代理。工作对象是三条部署在 BSC 的合约,所有判断必须来自链上读数,不得凭印象推测。 【地址】chainId 97 灵子代币 BLC 0xC5AEade4A0Eb1C13A6e5299f1194820Dd3556F11 军衔 NFT 0x0347cce19d69847b841076c83087cFDF1412A322 狩猎场合约 0x61d0432ccaceDbd6B8f8b56eB05eBA65cbba10b9 我的钱包 (连接钱包后由页面填入真实地址) 【战斗规则】 1. 把 NFT 投入狩猎即出战,stake 后该 NFT 被锁定,无法转移、无法上架。 2. 每日固定产出 7200 BLC,全部给「在线消耗当量最高的那个势力」,另外两个势力这一段为 0;领先方随出战/中止实时翻转(hunt.factionBoard() 可读三势力当量、累计产出与当前领先方)。 3. 单个 NFT 的当量 = 它身上累计的消耗当量(nft.spentOf(id),单位 BLC wei):铸造自带 5 BLC;烧币升阶加花掉的量(10 / 50 / 280);合成则把被吞 NFT 的当量原样转过来,守恒不增不减。三势力权重规则一致,差异只在合成配方。 4. 产出先进 pendingOf,必须调 claim() 才真正到账;unstake 不会自动结算。 5. 狩猎闸门:三势力中**任一势力**的 8,888 枚下级售罄,owner 即可调 openMining 开启(没有时间兜底,三个势力都卖不完就开不了);未开放时 stake 会 revert(MiningClosed)。 6. 已领取的 BLC 是灵子代币,用途只有升阶时销毁。 7. 结算时合约自动扣 1% 税金进金库,claim() 返回的是实收(99%);报价必须写成「产出 7200 → 实收 7128,税 72」两行。 8. 战斗中的 NFT 既不能转账,也不能合成(fuse);要动它就先 unstake。 【行为约束】 - 任何写操作(stake / unstake / claim)执行前,先用三行报「调用什么方法、参数、预计花费 + Gas 估算」,等我回「确认」再发。 - pendingOf 低于 1 BLC 时不要发 claim,Gas 比收益贵,直接告诉我「等累积」。 - 单笔 Gas 预估超过 0.002 BNB,停下来问我。 - 出售或转账前必须先 unstake 并 claim,否则 transfer 会被 TokenLocked 拦住。 - 交易失败时先把 revert 原因翻译成人话,再给两个可选方案,不要连续重试。 - 铸造、升阶、合成不在本页范围,遇到就提示我回主页。 【输出格式】 先一句话结论;再关键数字(不超过 3 行表格);最后给下一步建议。 ``` ## 6. 动作卡 · 首页(铸造 / 升阶 / 合成) ### 1. 铸造 2 个队士 _发售中 · 花 BNB · WRITE_ ``` 帮我铸造 2 个死神队士(faction:死神 0 / 虚 1 / 灭却师 2,这个参数必填)。 第一步调 nft.quoteMint(我的地址, 0, 2),拿到三个数:要付多少 wei、几个免单、这个势力我还能买几枚。 规则复核:免费额度按势力独立算(某个势力第 1 枚免费,三个势力各 1 枚),之后每个 0.0013328 BNB(约 $1.00),单钱包每势力上限 8 枚;超了 revert WalletCapReached,该势力卖完 revert SoldOut。 口径说明:铸造金额 100% 注入灵子代币流动性池,没有团队抽成,报价里不用再加任何费用。 第二步确认额度够、nft.factionMinted(0) + 2 <= nft.factionCap(),再调 nft.mint(0, 2),value 必须精确等于 quoteMint 返回的 wei——多一分少一分都 WrongPrice 回滚。 注意:mint 和 quoteMint 的 faction 参数都不能省,少传一个会直接报参数错误。 把「免单几个 / 实付多少 BNB / Gas 估算 / 铸造后我的 NFT 总数」报给我,等我说「确认」再发。 ``` ### 2. 盘点我的持有 _随时 · 只读 · 零风险 · READ_ ``` 读一遍我的持仓,全部用链上读数,不要估算: nft.tokensOfOwner(我的地址)、nft.tierOf(每个 id)、hunt.upgradeCost(tier)。 输出一张表:tokenId / 军衔 / 所属番队 / 下一档消耗 / 我现在的 BLC 余额够不够升。 表下补一句:这些 NFT 里哪些已经满档,哪些还能升。 ``` ### 3. 评估升阶 #1042 _动钱之前 · 只读 · PLAN_ ``` 评估把 #1042 从队士升到席官值不值。 先读 nft.tierOf(1042) 确认是 0、nft.weightOf(1042) 看它现在的当量(铸造出来的下级自带 5 BLC)、hunt.upgradeCost(0) = 10 BLC、blc.balanceOf(我的地址)。 给出三行结论:消耗多少 BLC、升完当量从 5 变成 15(烧掉的 BLC 全额转成权重)、BLC 余额还剩多少。 再补一句回本判断:日增产 = 7200 × 10 ÷ hunt.totalWeight(),回本天数 = 10 ÷ 日增产,化简后等于「全网总当量 ÷ 7200」天。所以回本速度和升哪一档无关,只跟全网总当量有关,不要说「越贵的档越划算」。 最后表态:按我现在的余额,升这一档以后还能不能接着升下一档。不要发任何交易。 ``` ### 4. 升阶 #1042 _队士 → 席官 · 烧 10 BLC · BURN_ ``` 把 #1042 从队士升到席官。 先确认 nft.tierOf(1042) = 0、hunt.upgradeCost(0) = 10 BLC、blc.balanceOf(我的地址) >= 10。 再查 blc.allowance(我的地址, hunt):不足就只授权 10(不要无限授权,并说明你为什么这样选)。 最后调 hunt.upgrade(1042)。 完成后核对 blc.balanceOf 正好少了 10,并告诉我这枚 NFT 的当量涨了多少(烧掉的 BLC 全额转成权重,所以是 +10)。 ``` ### 5. 合成 #1044 + #1045 _2 队士 → 1 席官 · 手续费 0.05 BLC · BURN_ ``` 把 #1044 和 #1045 合成一个席官。 先用 nft.ownerOf / nft.tierOf / nft.factionOf 确认这两枚都属于我、同一势力、都是下级(tier 0),并且都没在战斗中(nft.staked 为 false)。 再调 hunt.fuseRecipeOf(0, 0) 读配方:死神从下级往上合要吞 [2,0,0,0],也就是 2 枚下级,和这两枚对得上。虚、灭却师的配方不同,不要套用死神的数字。 合成要交手续费 = 该阶升阶成本的 0.5%(下级 0.05 BLC),走 blc.transferFrom,所以必须先查 blc.allowance(我的地址, hunt),不够就 approve 恰好 0.05,再发 hunt.fuse([1044, 1045])。不授权会 revert。 报给我三行:#1044 #1045 会被永久销毁、新 NFT 的 tokenId 与当量(= 两枚当量之和)、我的持仓数量怎么变。等我说「确认」再发。 提醒我这笔不可逆;如果这两枚里有任何一枚的阶级或势力对不上,先停下来问我。 ``` ### 6. 预算内批量升阶(100 BLC) _有闲钱时 · 分批执行 · PLAN_ ``` 我准备花最多 100 BLC 升阶,你自己算,别问我要升哪些。 1. 读我全部 tokenId、nft.tierOf、nft.weightOf。 2. 先记住经济学前提:烧掉的 BLC 全额转成权重(当量 +10 / +50 / +280),所以每一档「每 BLC 换到的日产增益」完全一样,回本天数都等于 hunt.totalWeight() ÷ 7200 天。不要按「性价比」排序,那个指标在这里恒等于 1,是错的。 3. 决策只看两件事:还能升几档(别撞 TierMaxed)、我打算持有多少天。按「升完不超过 100 BLC」贪心挑,优先升当量最低的那些——它们占全网比例最小,提升最明显。 4. 输出计划表:tokenId / 目标军衔 / 消耗 / 当量变化 / 升完的日增产预估。 5. 我回「确认」后逐笔 approve → upgrade,每笔之间报一次进度,并核对 blc.balanceOf 减少了对应数量。 如果 100 BLC 连一档都升不了,直接说不建议升。 ``` ### 7. 交易失败排查 _报错时 · 只读诊断 · DEBUG_ ``` 这笔交易失败了,报错是:execution reverted: WrongPrice 按顺序判断,只输出最可能的一种: 1. WrongPrice —— msg.value 和 quoteMint 返回的 wei 不等,重新报价再发。 2. WalletCapReached —— 这个钱包已经 8 个了。 3. SoldOut —— 该势力 8,888 枚下级已经铸完。 4. InsufficientAllowance / InsufficientBalance —— 授权或余额不够付升阶费。 5. TierMaxed —— 已经是顶级(队长 / 归刃 / 皇帝),没有下一档。 给出原因、一个修复动作、这次失败烧掉多少 BNB。不要连续重试。 ``` ## 7. 动作卡 · 狩猎页(出战 / 结算 / 复盘) ### 1. 战斗体检 _随时 · 只看不写 · 零风险 · READ_ ``` 读一遍我的战斗档案,全部用链上读数,不要估算: hunt.position(我的地址)、hunt.stakedTokensOf(我的地址)、nft.tokensOfOwner(我的地址)、blc.balanceOf(我的地址)、hunt.farmStats()。 输出一张表:tokenId / 军衔 / 是否战斗中 / 单个每日灵子。表下补三行:我的当量、占全网的比例、全网当量翻倍后我的日产出降到多少。 ``` ### 2. 出战 #1305 _狩猎开放后 · 锁定 NFT · WRITE_ ``` 把我持有的 #1305 投入狩猎:hunt.stake([1305])。 执行前逐个确认 ownerOf 是我、nft.staked(1305) 为 false、hunt.miningOpen() 为 true(现在已开放;为 false 时会 revert NotReady)。 成功后重读 hunt.position(我的地址),核对在线当量是否正好增加 5——这枚的权重就是 nft.weightOf(1305),铸造出来的下级是 5 BLC,不是 1。 提醒我一句:战斗期间这个 NFT 无法转移,出手前必须先中止狩猎。 ``` ### 3. 中止狩猎 #1043 _出手前 · 解锁 NFT · WRITE_ ``` hunt.unstake([1043]) 中止 #1043 的狩猎。 注意:中止时未结算的灵子会留在 pendingOf 里,不会丢,但必须另外调 hunt.claim() 才会到账。 执行后告诉我待结算现在是多少,并问我要不要顺手结算。 ``` ### 4. 结算灵子 _待结算 > 1 BLC 时 · WRITE_ ``` 先调 hunt.pendingOf(我的地址) 报出待结算数量。 低于 1 BLC 就不要发交易(Gas 比收益还贵),直接告诉我「等累积」。 高于 1 BLC 才调 hunt.claim(),确认后读 blc.balanceOf(我的地址) 核对余额是否增加了 待结算 × 99%——结算抽 1% 进金库,不是等额到账。 ``` ### 5. 出售前检查 #1107 _挂单前 · 只读 + 可能解锁 · CHECK_ ``` 我要把 #1107 挂到市场,先做出售前检查: nft.staked(1107) 是否为 false——战斗中的 NFT 转账会被 TokenLocked 拦住。 若为 true,先 hunt.unstake([1107]) 再 hunt.claim() 结清灵子。 解锁后调 hunt.dailyYieldOf(1107),按当前日产给定价参考:30 天产出 = 保底价,60 天 = 舒适价。 最后告诉我能不能挂、建议挂多少、解锁这笔 Gas 花了多少。 ``` ### 6. 全网战力变了怎么办 _每次结算前 · 只读推演 · PLAN_ ``` 全网当量变了,帮我推演一次。 调 hunt.farmStats() 对比我上次记录的全网当量,算出我这几个 NFT 的日产变化百分比。 如果我的日产出跌幅超过 20%,给出两个方案:A 中止产出最低的那一个、B 把它升阶提高效率。 每个方案列出「改动内容 / 每天多拿还是少拿多少灵子 / 需要多少 BLC」,不要自己发交易。 ``` ### 7. 每日战斗日报 _每天固定时间 · 只读 · READ_ ``` 读一次链上数据,给我一份不超过 10 行的日报:hunt.position(我的地址)、hunt.farmStats()、blc.totalSupply()。 内容包含:昨天实际到账多少灵子、当前当量与全网占比、战斗中与待机各几个、全网当量比上次涨了还是跌了。 如果没有变化,只说一句「无变化」。 ``` ### 8. 交易失败排查 _报错时 · 只读诊断 · DEBUG_ ``` 这笔交易失败了,报错是:execution reverted: TokenLocked 按顺序判断,只输出最可能的一种: 1. TokenLocked —— NFT 还在战斗中,transfer 被拦,先 unstake。 2. MiningClosed / NotReady —— 狩猎未开放,或 NFT 还没铸完。 3. AlreadyStaked / NotStaked —— 重复出战,或根本没在战斗中。 4. InsufficientBalance —— 余额不够付这笔 Gas。 给出原因、一个修复动作、这次失败烧掉多少 BNB。不要连续重试。 ``` ## 8. 合约方法全集 ### 写 ``` mint(uint8 faction, uint256 count) stake(uint256[] tokenIds) unstake(uint256[] tokenIds) claim() → (uint256 net) upgrade(uint256 tokenId) → (uint8 newTier) fuse(uint256[] tokenIds) → (uint256 newTokenId) ``` ### 读 ``` tokensOfOwner(address who) → (uint256[]) tierOf(uint256) → (uint8) factionOf(uint256) → (uint8) weightOf(uint256 tokenId) → (uint256) spentOf(uint256) → (uint256) staked(uint256) → (bool) quoteMint(address who, uint8 faction, uint256 count) → (uint256 payableWei, uint256 freeCount, uint256 remaining) factionMinted(uint8) → (uint256) factionCap() → (uint256) maxSupply() → (uint256) totalSupply() → (uint256) price() → (uint256) farmStats() → (uint256 _totalWeight, uint256 _rewardPerDay, uint256 _lastUpdate, bool _miningOpen, uint256 _minted, uint256 _maxSupply) position(address user) → (uint256 weight, uint256 pending, uint256 claimed, uint256 stakedCount) pendingOf(address user) → (uint256) factionBoard() → (uint256[3] weights, uint256[3] mined, uint256 total, uint8 leader, uint256 since, bool open) miningGate() → (bool unlocked, bool canOpen, uint256 leftToOpen) miningOpen() → (bool) totalWeight() → (uint256) upgradeCost(uint8 tier) → (uint256) fuseRecipeOf(uint8 faction, uint8 fromTier) → (uint256 c0, uint256 c1, uint256 c2, uint256 c3) dailyYieldOf(uint256 tokenId) → (uint256) stakedTokensOf(address user) → (uint256[]) factionWeightsOf(address user) → (uint256[3]) previewFuse(uint256[] tokenIds) → (uint8 faction, uint8 targetTier, uint256 fee, bool ok) ``` ## 9. 错误码 ``` AlreadyOpen 狩猎已经开过了,不用重复开 AlreadyStaked 这枚已经在战斗中了 BadCount count 为 0,或单次超过钱包上限(8) BadFaction faction 只能是 0 / 1 / 2 BadFuseCount 配方数量对不上,先用 fuseRecipeOf(faction, tier) 读准确的 EmptyBatch 传了空数组,至少给一个 tokenId InvalidTier tier 只能是 0 / 1 / 2 / 3 MiningClosed 狩猎未开启 MixedFactions 合成不能跨势力 NotAuthorized 调用者没有权限(多半是 owner-only 方法) NotFarm 只有狩猎场合约能调(NFT 合约侧的守卫) NotOwner 合约 owner 才能调 NotReady 还没有任何势力售罄,开矿条件未满足 NotStaked 这枚不在战斗中,无法中止 NotTokenOwner 这枚 NFT 不属于你 SaleClosed 发售已关闭(owner 关的),不是你的问题 SoldOut 该势力 8,888 枚下级已售罄 —— 换势力,或等二级市场 TierMaxed 已经是顶级(队长 / 归刃 / 皇帝),没有下一档 TokenInBattle NFT 在战斗中,不能参与合成 TokenLocked NFT 在战斗中,先 unstake 才能转账或挂单 WalletCapReached 这个钱包在该势力已满 8 枚 —— 换钱包或换势力 WrongPrice msg.value 不等于 quoteMint 返回的 wei —— 重新报价再发,不要手算 ZeroAddress 地址不能是零地址 ```