跳到正文
← 使用教程

Allo 存量池怎么核对:从 Pool ID 追到 Profile、Anchor、策略和费用

链小知 · 进阶 · 核验 · 依官方文档整理

识别历史拨款池的正确链/代理和权限范围,避免旧前端、同名项目或旧费率引起误读。

开始前准备

  • 已有公开或授权非敏感池记录:chain ID、Allo代理/实现标识、poolId及getPool快照、Registry/profile快照、策略地址和同一时点角色/费用结果;本文不请求RPC。
  • 固定Allo源码d262e7、旧docs fd60eb7用于方法解释,不证明当前代理字节码或角色/fee值;保存获取时间与区块信息。

1. 先确定维护状态和记录来源

先在记录表标注Allo Core协议、Grants Stack旧产品层或当前Gitcoin Grants业务。Gitcoin当前正文称Allo在2025年5月Grants Stack关闭后maintenance mode、active development ceased;现有合约记录可研究,但不据旧首页v2 live/mainnet或2.1 preview去找仍活跃的新round菜单。

如果只有旧网页项目卡而无链/Allo地址/poolId,先列缺失字段,不能用同名项目替代协议池身份。公开源码能解释方法,不保证旧前端或SDK当前可用。

检查结果:记录属于明确协议/产品层,未把维护模式写成新轮服务持续开放。

2. 用 chain ID 和 Pool struct 固定合约身份

逐项核对已有chain ID、Allo代理地址、实现标识和poolId,再抄getPool的profileId、strategy、token、metadata、managerRole、adminRole。按匹配IAllo ABI解码,字段顺序不能只靠网页标签猜;不存在的mapping记录可能为零字段,不把查询未报错视为真实池。

固定README有9主网表,而两部署JSON/配置另有其他主网。LUKSO42的Allo proxy和zkSync324的Allo/Registry与常见同地址不同;不能把Ethereum地址直接套全链。清单缺implementation的行和当前升级状态分别留未知。

检查结果:得到chain/Allo/poolId/strategy/token完整组合,代理与实现、未知池和零字段已区分。

3. 从 profileId 核对 Registry 身份和可变 Anchor

用已有getRegistry与getProfileById结果对profile.id、owner、name、metadata和anchor,再与getProfileByAnchor对应。profileId不是付款接收钱包;metadata的pointer也不是链上审核通过证明。

固定Registry更名会生成新anchor、删旧anchor映射,profileId保持;旧anchor查询零字段不自动代表项目已注销。旧文档称profileId由nonce和sender派生,但固定_generateProfileId实际使用nonce和_owner,caller可不同。不能凭发起钱包或同名名字合并两个profile。

检查结果:profileId作为稳定身份,anchor变更与元数据/真实项目身份分别记录。

4. 把 Profile 权限和 Pool 权限分别核对

把已有Registry isOwnerOfProfile/isMemberOfProfile/isOwnerOrMemberOfProfile与Allo isPoolAdmin/isPoolManager结果分列,全部注明被检查地址和时点。固定创建池要求profile owner/member,poolAdmin则是创建caller;它不意味着以后profile所有member都是该池manager。

固定isPoolManager对managerRole或poolAdmin返回true。manager可改池metadata,策略还可限制其他动作。进一步对已有strategy.getAllo/getPoolId与本池对应,不以Registry成员身份或isValidAllocator单一true当作distribute权限。

检查结果:Registry和池角色没有互换,策略绑定与方法权限有明确对应。

5. 按匹配 ABI 和原始单位解释费用

保留已有getBaseFee/getPercentFee/getFeeDenominator值;固定Core分母1e18,percentFee=25×10^15的说明性输入对应2.5%,不是当前费率。baseFee在创建时付本链NATIVE,percentage在fundPool时从资助token扣,不能把所有链的native都称ETH。

旧Fees页写getFeePercentage及当时0ETH/2.5%,固定Core实际是getPercentFee,部署JSON又记0。出现方法不存在或费率差异时核版本/时点,不用旧文数字回填当前。PoolFunded的amount是策略实际到账净额、fee为收费结果;转账税代币还可能有到账差额,不把amount参数当最终净额。

检查结果:费用getter、倍率、币种和时点匹配;没有把历史数字当当前报价。

6. 输出身份、权限与缺证字段清单

将chain/Allo/poolId/profileId/anchor/strategy/token与被检查账户角色整理为一行,另外附已有获取时点、实现范围和费用原始单位。缺少策略实现或当前配置时,结论止于已保存快照,不推可以注册、捐款或发款。

固定源码许可证按文件核对:当前产品页写MIT,但本页所用Allo/Registry/BaseStrategy核心文件为AGPL-3.0-only。许可和维护差异与资金记录分开;不把开源或源码verified称为安全审计。

检查结果:身份/角色/费用可复查,未核当前部署、操作资格及许可差异明确列出。

怎样确认完成

  • 已有快照可追踪到正确chain/Allo/pool/profile/strategy及其各自角色。
  • 对缺失时点、实现、字段与费用保留未知;全为文档核验,不创建或资助池。

常见错误与边界

  • poolId是具体Allo部署下的编号,同一数字跨链不等同一个池。
  • Profile owner/member、poolAdmin/manager和strategy allocator是不同权限层。
  • 历史Fee页方法名和数字不能覆盖匹配ABI/实时参数;本页没有新读取当前状态。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据