Juicebox 项目规则是否已生效:核对 V6 当前、下一周期与排队规则
链小知 · 进阶 · 核验 · 依官方文档整理
从项目已有页面和规则快照辨认版本、owner、规则时点、百分比分母及权限,避免把 queued 或 approved 当当前可支用资金。
开始前准备
- 准备既有项目URL/页面或获授权脱敏快照:网络、projectId、controller/terminal、owner、读取区块/时间与current/upcoming/latestQueued返回;没有状态时只整理字段清单。
- 按当前官网V6及固定核心53914d2解释,不使用SDK、RPC或钱包;旧V3/V4/V5及具体部署匹配未取得时保留未知。
1. 先固定版本、链与项目身份
在项目已有页面/URL记录网络和projectId,再保存项目描述/条款、controller与terminal版本标识。当前官网 Learn/Build 主文档明确 V6;V5固定README称它是V4 fork,不能因仓库Bananapus或相同项目编号就套V6 ABI。
一个项目在Ethereum、OP Mainnet、Base、Arbitrum可有不同ID、token与余额。把本次链单独列出;支持者持有的项目tokens不等项目NFT所有权,也不自动代表投票权或能修改规则。
检查结果:项目链/ID/版本和支持者token/owner区分,未匹配版本明确待核。
2. 用 owner 和 directory 记录核管理对象
从已有记录按官方 Read a project 对照 JBProjects.ownerOf、JBDirectory.controllerOf/terminalsOf 与 controller 的项目详情;owner可以是合约或多签。没有owner结果时不要用项目网页署名或代币持仓代替。
把项目owner和被授予某项权限的operator另列。ROOT#1、QUEUE_RULESETS#2、SEND_PAYOUTS#5等为不同范围;projectId=0 wildcard只覆盖授予者本链控制项目,不是所有项目通行证,owner变更后旧授予不能自动沿用。
检查结果:管理身份与权限作用链/项目清楚,网页名字未充当链权限证据。
3. 把 current、upcoming 与 latestQueued 并排
打开已有项目的 Rulesets(revnet为Terms)记录当前与未来规则;有方法快照时分别标 JBController.currentRulesetOf、upcomingRulesetOf、latestQueuedRulesetOf。固定底层对应currentOf/upcomingOf/latestQueuedOf,返回对象不能只按数组最末项判当前。
latestQueued是排得最远的规则;upcoming也可能是当前规则的自动下一周期。当前选择会按批准/时间回退,并可模拟自动周期;同ruleset id可以有不同cycleNumber。成功返回空struct与读取失败不同,空页面/null/RPC报错不推没有规则。
检查结果:三种规则来源和时点分别保存,排队最远或下一周期不误判为当前。
4. 核开始、周期和批准条件
保存id、basedOnId、start、duration、cycleNumber及已有approvalHook/status。固定id是首次储存Unix秒,不等当前cycle开始;start/duration同为秒,duration0表示没有自动重复周期,不是项目已结束。
ApprovalExpected可出现在upcoming,但不等Approved或当前生效;固定current选择接受Approved/Empty分支并核开始时间,必要时用旧规则。官网说明还需通知/approval和合适cycle边界,不能只见已排队或批准就承诺新terms已执行;状态缺失保持未知。
检查结果:时间单位、cycle与批准状态没有合并,未读取状态不补生效结论。
5. 核百分比单位和具体用途
对已解码V6规则写明:weight为每单位baseCurrency发行率且18位;weightCutPercent分母1e9,reservedPercent与cashOutTaxRate分母1e4。例子100000000的weightCut为10%,3000的reserved为30%;不能把原整数直接当百分比或市场价格。
reservedPercent分的是新项目token,payout splits分的是资金,二者不同。另列pausePay、allowOwnerMinting、ownerMustSendPayouts、holdFees、baseCurrency/dataHook;baseCurrency可不同于实际支付token,hook还可改变行为。只有packed metadata时需匹配V6解码,不能当旧V5字段表已经读懂。
检查结果:发行率、保留token、资金split和权限flags有各自单位/版本。
6. 按记录形成当前规则结论
把本链当前规则、可能下一周期、远期排队规则、owner/operator和未核flags做一份对照。项目规则的支付/支出上限与允许改动需一起看;已排队只是未来安排,不自动转移资金。
记录官方URL/读取日期及快照时点。缺当前状态、owner或匹配ABI时结论止于“静态规则字段已整理”;如果已有变化回执也分别核目标合约与结果,不能因文档可读或项目网页更新就写规则执行成功。
检查结果:当前/未来/未知各有证据,未发起规则修改或权限操作。
怎样确认完成
- 本链项目、当前/未来规则和百分比口径可复核,缺状态明确标未知。
- 仅文档/固定方法核验,没有实时状态、SDK/RPC、钱包或规则执行验收。
常见错误与边界
- 同id自动新cycle仍可能额度重置;id、start与cycleNumber不同。
- V6字段/ABI与旧版本分开;支持者token不自动赋owner/operator权限。