mcpField
S
superfluid

superfluid

github.com/superfluid-org开发168 次安装1 天前更新
代码仓库

关于 superfluid

Superfluid Protocol Skill 是面向 Superfluid 智能合约及相关服务开发者的参考技能。它按开发任务关联 ABI、SDK、脚本、API 和子图文档,涵盖从资金流到自动化的协议操作。

主要功能

  1. 01按用例定位合约参考
  2. 02涵盖 Solidity 与应用开发
  3. 03介绍资金流、资金池和代币操作
  4. 04提供自动化与 Super Apps 指引
  5. 05收录 SDK、API 和子图参考

适用场景

  1. 01查找流式支付的合约接口
  2. 02使用 SuperTokenV1Library 构建集成
  3. 03查询协议或自动化索引数据
  4. 04调查余额与代币元数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/superfluid-org/skills --skill superfluid

安装后在 Claude Code 中输入/superfluid确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/contracts/
_rich-abi-yaml-format.md
AutoWrapManager.abi.yaml
AutoWrapManager.selectors.yaml
AutoWrapStrategy.abi.yaml
AutoWrapStrategy.selectors.yaml
BatchLiquidator.abi.yaml
BatchLiquidator.selectors.yaml
BlindMacroForwarder.selectors.yaml
CFASuperAppBase.abi.yaml
CFASuperAppBase.selectors.yaml
CFAv1Forwarder.abi.yaml
CFAv1Forwarder.selectors.yaml
ClearMacroBase.abi.yaml
ClearMacroBase.selectors.yaml
ClearMacroForwarder.abi.yaml
ClearMacroForwarder.selectors.yaml
ConstantFlowAgreementV1.abi.yaml
ConstantFlowAgreementV1.selectors.yaml
FlowScheduler.abi.yaml
FlowScheduler.selectors.yaml
FluidEPProgramManager.abi.yaml
FluidEPProgramManager.selectors.yaml
FluidLocker.abi.yaml
FluidLocker.selectors.yaml
FluidLockerFactory.abi.yaml
FluidLockerFactory.selectors.yaml
Fontaine.abi.yaml
Fontaine.selectors.yaml
GDAv1Forwarder.abi.yaml
GDAv1Forwarder.selectors.yaml

详细介绍

Superfluid Protocol 技能

通过详尽的 ABI YAML 参考文档,完整介绍 Superfluid Protocol 智能合约接口。阅读 references/guides/architecture.md,了解完整的协议架构。此文件将使用场景映射到相应的参考文档。

开发者方向

请先确定所属方向,然后参阅下方的使用场景映射。

智能合约开发者: SuperTokenV1Library、CFASuperAppBase、BlindMacroForwarder/ClearMacroForwarder,以及通过 Host 调用原始协议。ABI 来源:@superfluid-finance/ethereum-contracts。地址:@superfluid-finance/metadata + tokenlist。数据:链上调用。关键参考文档:.abi.yaml 文件、super-apps.md、macro-forwarders.md、clear-macro.md。

应用(前端/后端)开发者: @sfpro/sdk(ABI、wagmi hooks、地址)、子图、API 服务。ABI 来源:@sfpro/sdk。地址:@superfluid-finance/metadata + tokenlist。数据:子图 + API 服务。关键参考文档:sdks.md、api-services.md、子图指南。

调查(临时需求): 脚本(tokenlist.mjs、metadata.mjs、balance.mjs、cast call)。ABI 来源:scripts/abi.mjs。地址:scripts/metadata.mjs + tokenlist.mjs。数据:cast call + scripts/balance.mjs。关键参考文档:scripts.md。

SDK 导入路径、ABI 表和已弃用软件包警告,请参阅 references/guides/sdks.md。 脚本命令语法和示例,请参阅 references/guides/scripts.md。

架构概述

Host(Superfluid.sol)——中央路由器。协议调用通过 Host.callAgreement() 或 Host.batchCall() 进行。负责管理应用注册表、 治理机制和 SuperTokenFactory。

协议——无状态金融原语,在代币上存储数据: CFA(1:1 流)、GDA(通过资金池实现多对多)、IDA(已弃用,由 GDA 取代)。

Super Token——支持实时余额的 ERC-20/ERC-777/ERC-2612。共有三种 类型:Wrapper(由 ERC-20 支持)、Native Asset/SETH(由 ETH 支持)、Pure (预铸造)。

转发器(CFAv1Forwarder、GDAv1Forwarder)——便捷封装。每次 调用都是独立交易,并带有易读的钱包说明。无法批处理——如需原子性,请使用 Host.batchCall 和原始协议调用。

BlindMacroForwarder(旧名称为 MacroForwarder;SDK:blindMacroForwarderAbi,地址 0xFD0268E33111565dE546af2675351A4b1587F89F)——可扩展的批处理执行器。开发者部署 自定义宏合约(IUserDefinedMacro),并调用 runMacro() 原子执行复杂的多步 操作。调用者必须是签名者。旧版——新集成应改用 ClearMacroForwarder:仅支持自行中继,而且调用者会在 钱包中广播原始(不可读)calldata。请参阅 references/guides/macro-forwarders.md。

ClearMacroForwarder(SDK:clearMacroForwarderAbi,地址 0xC1EaB73855155D4e021f7EB4f866996Bac2fe25e, 已部署到约 16 个网络)——推荐的默认选项;取代 BlindMacroForwarder。 EIP-712 签名宏执行器,支持人类可读的清晰签名、 第三方中继,以及在一个签名中可选地进行 Permit2 代币升级。支持两种模式:自行提交 (security.provider = "self")和服务商中继(中继器持有 Host SimpleACL 角色)。请参阅 references/guides/clear-macro.md 和 references/contracts/ClearMacroForwarder.abi.yaml。

自动化(Vesting Scheduler、FlowScheduler、Auto-Wrap)——安排 链上意图,需要链下 keeper 触发执行。

使用场景 → 参考文档映射

仅阅读任务所需的文件。每份 Rich ABI YAML 都会介绍一个合约的所有 公开函数、事件和错误,还包含 notes: 字段,用于标注仅凭函数签名 无法看出的非显而易见行为、边界情况和常见错误。

资金流(CFA)
  • 创建/更新/删除资金流(简单用法) → references/contracts/CFAv1Forwarder.abi.yaml
  • ACL、操作员权限、资金流元数据 → 另请参阅 references/contracts/ConstantFlowAgreementV1.abi.yaml
  • 与其他操作一起原子批处理资金流 → 另请参阅 references/contracts/Superfluid.abi.yaml(Host 批处理调用)
向多个接收者分发(GDA)
  • 创建池、分发、向池持续传输 → references/contracts/GDAv1Forwarder.abi.yaml
  • 池成员管理、单位、领取 → 另见 references/contracts/SuperfluidPool.abi.yaml
  • 底层协议详情 → 另见 references/contracts/GeneralDistributionAgreementV1.abi.yaml
  • GDA 如何实现 O(1) 可扩展性(形式化数学深度解析) → 另见 references/deep-researches/gda-scalability.md
代币操作
  • 包装/解包、余额、ERC-20/777、permit → references/contracts/SuperToken.abi.yaml
  • 部署新的 Super Token → references/contracts/SuperTokenFactory.abi.yaml
自动化
  • 带悬崖期和持续流的归属安排 → references/contracts/VestingSchedulerV3.abi.yaml
  • 安排未来持续流的开始/停止 → references/contracts/FlowScheduler.abi.yaml
  • Super Token 余额较低时自动包装 → references/contracts/AutoWrapManager.abi.yaml 和 references/contracts/AutoWrapStrategy.abi.yaml
编写 Solidity 集成(SuperTokenV1Library)
  • 以代币为中心的 Solidity API(using SuperTokenV1Library for ISuperToken) → references/contracts/SuperTokenV1Library.abi.yaml

该库将 CFA 和 GDA 协议调用封装为易用的方法,例如 token.flow(receiver, flowRate)。任何与 Superfluid 交互的 Solidity 合约都可以使用它,包括 Super App、自动化合约和 DeFi 集成。它包含协议抽象函数(flowX、transferX),可自动路由到 CFA 或 GDA;还提供用于 Super App 回调的 WithCtx 变体。Foundry 测试注意事项请参阅 YAML 标题和术语表。

构建 Super App
  • 应用额度、回调生命周期、隔离、应用级别 → references/guides/super-apps.md
  • CFA 回调钩子(简化基类) → references/contracts/CFASuperAppBase.abi.yaml
  • 用于回调逻辑的以代币为中心的 API → references/contracts/SuperTokenV1Library.abi.yaml(使用 WithCtx 变体)
  • 应用注册、Host 上下文、批量调用 → references/contracts/Superfluid.abi.yaml
  • 智能合约模式(GDA 池、回调、自定义代币、自动化、代理) → references/guides/smart-contract-patterns.md

转发传入持续流的 Super App 使用应用额度——一种临时存款额度,可在余额为零时运行。1:1 转发(一个流入、一个流出,且速率相同)始终无需代币即可运行。分发给多个接收者(1:N)时,应用必须持有代币以支付额外存款。发送者锁定的资金大致会翻倍,因为流出持续流的存款由发送者的应付存款担保。 应用额度仅适用于 CFA——GDA 没有应用额度规则。请参阅下文的常见问题。 完整指南请参阅 references/guides/super-apps.md。

宏转发器(可组合的批量操作)
  • 为复杂的批量操作编写宏 → references/guides/macro-forwarders.md
  • BlindMacroForwarder(旧版 MacroForwarder)合约地址和接口 → references/guides/macro-forwarders.md;ClearMacroForwarder 取代盲签的原因 → references/guides/macro-forwarders.md
  • 批量操作类型和编码规则 → 另见 references/contracts/Superfluid.abi.yaml(batch_operation_types)
  • EIP-712 签名宏模式 → references/guides/macro-forwarders-eip712-example.md
  • ClearMacroForwarder——由 SDK 提供(clearMacroForwarderAbi、clearMacroForwarderAddress、 元数据键 contractsV1.clearMacroForwarderV1WithPermit2),已部署在约 16 个网络上,地址为 0xC1EaB73855155D4e021f7EB4f866996Bac2fe25e。采用 EIP-712 明确签名,支持易于人类阅读的钱包提示词、第三方提供方代发,以及通过一次签名可选地升级 Permit2 代币。两种模式:自行提交(security.provider = "self",交易执行者 = 签名者)和提供方代发(代发者持有 Host SimpleACL 角色,支持对签名者免 Gas 的流程)。 → references/guides/clear-macro.md、references/contracts/ClearMacroForwarder.abi.yaml、 references/contracts/ClearMacroBase.abi.yaml
哨兵与清算
  • 批量清算关键资金流 → references/contracts/BatchLiquidator.abi.yaml
  • PIC 拍卖、债券管理、退出速率 → references/contracts/TOGA.abi.yaml
SUP 代币 / 储备系统

合约内部使用“FLUID”和“Locker”——面向公众的名称是“SUP”和“Reserve”。

  • 锁定、质押、取消质押 SUP;提供 LP;解锁 → references/contracts/FluidLocker.abi.yaml
  • 为用户创建 Reserve(Locker)→ references/contracts/FluidLockerFactory.abi.yaml
  • 从排放计划中领取(签名消息)→ references/contracts/FluidLocker.abi.yaml 和 references/contracts/FluidEPProgramManager.abi.yaml
  • 创建 / 注资 / 停止排放计划 → references/contracts/FluidEPProgramManager.abi.yaml
  • 了解税费如何分配给质押者和 LP → references/contracts/StakingRewardController.abi.yaml
  • 通过延时流(Fontaine)解锁 SUP → references/contracts/FluidLocker.abi.yaml 和 references/contracts/Fontaine.abi.yaml
ERC-8004 Agent 池
  • ERC-8004 标准、Identity/Reputation/Validation 注册表、AgentPoolDistributor 集成 → references/deep-researches/erc8004-agent-pools.md
  • GDA 池机制(份额、领取、连接)→ references/contracts/GDAv1Forwarder.abi.yaml 和 references/contracts/SuperfluidPool.abi.yaml
查询索引数据(子图)
  • 了解 The Graph 如何生成查询模式,以及跨领域的注意事项 → references/subgraphs/_query-patterns.md
  • 查询资金流、池、代币、账户(实体)→ 另请参阅 references/subgraphs/protocol-v1-guide.md 和 protocol-v1-entities.graphql
  • 查询协议事件(资金流更新、清算、分配)→ 另请参阅 references/subgraphs/protocol-v1-guide.md 和 protocol-v1-events.graphql
  • 查询归属计划和执行历史 → 另请参阅 references/subgraphs/vesting-scheduler-guide.md 和 vesting-scheduler.graphql
  • 查询计划资金流和自动化任务 → 另请参阅 references/subgraphs/flow-scheduler-guide.md 和 flow-scheduler.graphql
  • 查询自动包装计划和执行历史 → 另请参阅 references/subgraphs/auto-wrap-guide.md 和 auto-wrap.graphql
  • 查询 SUP Locker、质押、排放计划、解锁历史 → 另请参阅 references/subgraphs/sup-subgraph-guide.md 和 sup-subgraph.graphql
旧版
  • 旧版 IDA(即时分配,已弃用)→ references/contracts/InstantDistributionAgreementV1.abi.yaml
生态系统与工具
  • SDK 导入路径、ABI 表、包选择 → references/guides/sdks.md
  • 脚本命令语法和示例 → references/guides/scripts.md
  • API 端点详情、Swagger 链接、注意事项 → references/guides/api-services.md
  • SUP 代币、治理、DAO、分配 → references/guides/sup-and-dao.md
  • 代币价格、筛选后的代币列表、CoinGecko ID → 参见下方的 API 服务(CMS)
  • 资金流记账、按天分块 → 参见下方的 API 服务(Accounting)(仅支持 CFA + ERC-20,不支持 GDA)
  • 综合余额 / 某个时间点的(历史)余额 / 缓冲+已连接+未连接余额细分 / CSV 导出(CFA + GDA + IDA)→ 参见下方的 API 服务(Balance API)
  • 生成记账 / 税务报告或创建报告的深层链接 → https://reporter.superfluid.org;参数规范:https://reporter.superfluid.org/llms.txt
  • 解析 ENS / Farcaster / Lens 用户名 → 参见下方的 API 服务(Whois)
  • 通过 GraphQL 查询协议数据 → 参见下方的子图
  • 运行哨兵 / 清算机器人 → 参见下方的哨兵
  • 将 Super Token 添加到列表 → https://tokens.superfluid.org/listing(通过 GitHub 提交)——另请参阅下方的流程
显示持续变化的余额(前端)
  • 为实时流式余额计数器添加动画 → references/guides/flowing-balances.md 请先阅读指南 — 其中包含可用于生产环境的实现(React、原生 JS、Vue、Svelte、Solid)。不要从头生成持续变化的余额代码。
  • 修复持续变化的余额显示中的布局偏移/跳动 → 同样参阅 references/guides/flowing-balances.md
  • 格式化 wei 金额、流速、代币价格 → 同样参阅 references/guides/flowing-balances.md
生态系统深度解析
  • 协议历史、创立、漏洞利用、SUP 发布 → references/deep-researches/superfluid-history.md
  • Semantic Money 形式化规范(yellowpaper、Haskell 参考实现、BasicParticle、协议层级) → references/deep-researches/semantic-money-yellowpaper.md
  • GDA 可扩展性(PDPool 数学、O(1) 分配、舍入模型、写入时结算) → references/deep-researches/gda-scalability.md
  • GoodDollar(Celo 上的 G$ Pure Super Token、UBI、流式支付) → references/deep-researches/gooddollar.md
  • Flow State(流式二次方资助、合作社) → references/deep-researches/flowstate.md
  • ERC-8004 Agent Pools(AI Agent 身份 + 在 Base 上通过 GDA 分配) → references/deep-researches/erc8004-agent-pools.md
  • Planet IX(GameFi、CFA、自定义 Super Tokens、SuperApp 回调) → references/deep-researches/planet-ix.md
  • Nerite(USND 稳定币、Custom Pure Super Token、CFA+GDA) → references/deep-researches/nerite.md
  • SuperBoring(DCA、CFA→GDA TOREX 模式、Superfluid Labs) → references/deep-researches/superboring.md
  • TOREX(TWAP Oracle Exchange — 流式 DEX、折扣模型、LME 之间的追补扣款/退款、流动性迁移者、Twin TOREX) → references/deep-researches/torex.md
  • Giveth(零手续费捐款、CFA 定期流式支付) → references/deep-researches/giveth.md
  • Streme.fun(代币发行器、Pure Super Tokens、GDA 质押) → references/deep-researches/streme.md
Superfluid 团队品牌与设计
  • 配色方案、字体排印、视觉形象 → references/guides/brand-design.md 涵盖 Superfluid 团队的产品设计,而非更广泛的协议生态系统。
形式化规范与协议理论
  • Yellowpaper 基础(支付原语、价值守恒、协议框架) → references/deep-researches/semantic-money-yellowpaper.md
  • GDA 如何实现向无限数量的接收方进行 O(1) 流式支付 → references/deep-researches/gda-scalability.md
  • BasicParticle 与实时余额公式 → 同样参阅 references/deep-researches/semantic-money-yellowpaper.md

调试回滚

错误前缀对应的合约:

  • CFA_* → ConstantFlowAgreementV1
  • CFA_FWD_* → CFAv1Forwarder
  • GDA_* → GeneralDistributionAgreementV1
  • SUPERFLUID_POOL_* → SuperfluidPool
  • SF_TOKEN_* → SuperfluidToken(SuperToken 的基类)
  • SUPER_TOKEN_* → SuperToken
  • SUPER_TOKEN_FACTORY_* → SuperTokenFactory
  • HOST_* → Superfluid(Host)
  • IDA_* → InstantDistributionAgreementV1
  • APP_RULE → Superfluid(Host)— Super App 回调违规
  • NOT_LOCKER_OWNER、FORBIDDEN、INSUFFICIENT_*、STAKING_*、LP_*、TTE_* → FluidLocker
  • LOCKER_CREATION_PAUSED、NOT_GOVERNOR → FluidLockerFactory
  • PROGRAM_*、INVALID_SIGNATURE、NOT_PROGRAM_ADMIN → FluidEPProgramManager
  • NOT_APPROVED_LOCKER、NOT_LOCKER_FACTORY、NOT_PROGRAM_MANAGER → StakingRewardController
  • NOT_CONNECTED_LOCKER、NO_ACTIVE_UNLOCK、TOO_EARLY_TO_TERMINATE_UNLOCK → Fontaine
  • NotAgentOwner、AlreadyJoined、AgentNotRegistered、InsufficientFee、FeeTransferFailed → AgentPoolDistributor
  • InvalidSignature、InvalidPayload、MacroContractMismatch、ProviderNotAuthorized、OutsideValidityWindow、InvalidNonce → ClearMacroForwarder(由 SDK 提供,支持多网络)

每个 YAML 的 errors: 部分都包含该合约的完整错误索引及其描述。各函数的 errors: 字段则列出特定函数可能抛出的错误。要查找十六进制选择器(函数、事件或错误),请读取配套的 .selectors.yaml 文件——每个 Foo.abi.yaml 旁边都有一个 Foo.selectors.yaml,其中包含完整签名和计算得出的哈希。

常见易错点(快速参考)

以下列出了一些不太明显的行为。权威信息以 .abi.yaml 文件中每个函数的 notes: 字段为准——请务必阅读这些字段以了解完整情况。本节仅介绍最常见的问题。

Super Token 的精度始终为 18 位小数——无论底层代币的精度如何,upgrade() 和 downgrade() 的金额始终以 18 位小数的 SuperToken 单位表示。合约会在内部处理缩放。只有 ERC-20 的 approve() 调用需要考虑底层代币的精度。例如:要包装 100 USDC,先在 USDC 上授权 100e6,再调用 upgrade(100e18)。

GDA 池连接与成员身份——池成员身份不受数量限制(一个账户可以持有任意数量池的份额)。但是,每个账户每种代币最多只能连接 256 个池——连接意味着余额会自动反映在成员的 SuperToken 余额中。未连接的成员必须调用 claimAll() 才能收到代币。balanceOf / realtimeBalanceOf 的 Gas 消耗随已连接池的数量线性增长。

GDA 分配舍入——distributeFlow:每单位费率 = requestedFlowRate / totalUnits(整数除法,向下舍入)。舍入后剩余的部分会成为一笔支付给池管理员的调整流。如果 requestedFlowRate < totalUnits,每单位费率会截断为 0,整笔流量都会支付给管理员。distribute(即时分配):剩余部分不会从分配者处扣除——实际分配金额小于请求金额。池本身不持有余额;代币会直接流向成员。完整的舍入模型以及使用 align2 和调整流的计算方法,请参阅 references/deep-researches/gda-scalability.md。

SuperTokenV1Library 中的 address(this)——便捷函数(flow、flowX、distribute、distributeFlow、createPool、claimAll)使用 address(this) 作为隐式发送方,而非 msg.sender。在 Foundry 测试中,vm.prank 不会覆盖这一点。请改用带有显式 sender/from 参数的 CFA/GDA 专用函数重载。

CFASuperAppBase 的 APP_LEVEL_FINAL——CFASuperAppBase 被硬编码为 APP_LEVEL_FINAL,因此无法在其回调中调用下游的其他 Super App。若要与下游 Super App 组合,请使用 APP_LEVEL_SECOND 构建自定义基类,并调用 host.allowCompositeApp(targetApp)。最大调用链深度:2 个应用(SECOND → FINAL)。

GDA 池不能嵌套——一个池不能成为另一个池的成员。如果成员地址是池,updateMemberUnits 会因 SUPERFLUID_POOL_NO_POOL_MEMBERS 而回滚。池地址也不能作为池管理员(GDA_ADMIN_CANNOT_BE_POOL)。

FluidLocker 即时解锁罚金——unlockPeriod=0 会触发即时解锁,并处以80% 的罚金——仅立即转出 20%,其余 80% 会重新分配给质押者和 LP。所有解锁(包括即时解锁)都要求 msg.value 为 0.0001 ETH(UNLOCKING_FEE,支付给 DAO 金库)。7–365 天的解锁期会部署 Fontaine beacon proxy,在整个解锁期内逐步转出代币,并按比例征税。

GDA 没有应用信用机制——与 CFA 不同,GDA 不支持应用信用机制。接收 CFA 流入并通过 GDA 分配的 Super App 无法借用存款缓冲——必须从自身余额中支付 GDA 流的缓冲存款,或通过 ERC-20 的 transferFrom 从用户处获取。这是 CFA→GDA 流拆分合约最常见的故障原因。变通方案请参阅 references/guides/smart-contract-patterns.md § A。

balanceOf 会将余额限制为零——为兼容 ERC-20,balanceOf 返回 max(0, availableBalance)。有活跃流出流的账户可能出现负余额(严重情况),但 balanceOf 仍会显示 0。请使用 realtimeBalanceOfNow 检测负余额——availableBalance 为负表示账户处于严重状态,等待清算。清算完成后,余额会重置为零。

阅读丰富 ABI YAML 文件

解析 YAML 文件的基本约定:

  • 保留的根键: meta、events、errors——其他所有根键都是函数。
  • ctx: bytes 参数 = 函数通过 Host 调用(callAgreement / batchCall),不能直接调用。
  • notes: 字段——确保正确性的最重要字段。函数上会有此字段(合约级别则为 meta.notes:)。其中包含不易察觉的行为、边缘情况和常见错误。如果用户询问意料之外的行为,答案几乎总是在 notes: 字段中。务必阅读这些字段。
  • access 标签: anyone、host、self、admin、governance、sender、receiver、operator、manager、pic 等。使用 | 组合。
  • emits 和 errors 的顺序与执行流程一致(并非按字母顺序排列)。排在前面的错误最有可能发生。
  • 字段顺序: 描述注释、notes、mutability、access、inputs、outputs、emits、errors。

如需查看包含示例(函数条目、事件、错误部分)的完整格式规范,请参阅 references/contracts/_rich-abi-yaml-format.md。

运行时数据(脚本)

脚本提供运行时数据(地址、余额、ABI),用于单次查询。 使用 bunx -p <pkg> bun <script> 运行——完整语法请参阅 references/guides/scripts.md。 编写应用代码时,请改用 npm 包(见上文的开发者方向)。

  • scripts/abi.mjs — 查询 JSON ABI 和函数签名。需要在应用项目之外检查 ABI 时使用。
  • scripts/tokenlist.mjs — 查询 Super Token 地址、符号和类型。需要查找代币地址或检查其类型时使用。
  • scripts/balance.mjs — 查询实时余额和流速。需要获取账户当前余额或净流量时使用。
  • scripts/metadata.mjs — 查询合约地址、子图端点和网络信息。需要获取特定链的地址时使用。
  • cast call — 直接读取链上数据。需要查询脚本未涵盖的实时合约状态时使用。

命令语法、参数和示例请参阅 references/guides/scripts.md。

常见合约地址

请勿硬编码或编造地址。请从 @sfpro/sdk 的地址导出项中获取(见 references/guides/sdks.md),或运行 bunx -p @superfluid-finance/metadata bun scripts/metadata.mjs contracts <chain> 获取。

Forwarder 地址是例外——在大多数网络中保持一致:

  • CFAv1Forwarder:0xcfA132E353cB4E398080B9700609bb008eceB125
  • GDAv1Forwarder:0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08
  • ClearMacroForwarder:0xC1EaB73855155D4e021f7EB4f866996Bac2fe25e(SDK:clearMacroForwarderAddress)
  • BlindMacroForwarder(旧版 MacroForwarder):0xFD0268E33111565dE546af2675351A4b1587F89F(SDK:blindMacroForwarderAddress)

Host 和 agreement 地址因网络而异。

生态系统

SDK 和软件包

活跃——推荐用于新项目:

  • @sfpro/sdk — 前端/后端 SDK:ABI、wagmi hooks、操作
  • @superfluid-finance/ethereum-contracts — Solidity 构建时 ABI 来源
  • @superfluid-finance/metadata — 合约地址、网络信息(零依赖)
  • @superfluid-finance/tokenlist — 已列出的 Super Token 和底层代币

使用场景:

  • @sfpro/sdk — 用于基于 wagmi/viem 的前端/后端
  • ethereum-contracts — 用于 Solidity 集成(仅构建时,不用于运行时)
  • metadata — 用于在运行时解析地址/网络
  • tokenlist — 用于查找代币地址

已弃用——不建议用于新项目:

  • @superfluid-finance/sdk-core → 已由 @sfpro/sdk 取代
  • @superfluid-finance/sdk-redux → 已由 wagmi + @sfpro/sdk 取代
  • @superfluid-finance/js-sdk → 已由 @sfpro/sdk 取代
  • @superfluid-finance/widget → 无替代方案

如需 ABI 导入表、地址导出项、详细的 SDK 指南和已弃用软件包的详情,请参阅 references/guides/sdks.md。

API 服务
  • Super API https://superapi.kazpi.com — 实时链上 Super Token 余额(仅当前余额)
  • Balance API https://balances.superfluid.dev — 基于事件构建的索引器:指定时间点/历史 CFA+GDA+IDA 余额(缓冲、已连接、已断开)、快照、报告、资金变动;只读,无需身份验证
  • CMS https://cms.superfluid.pro — 代币价格、价格历史、筛选后的代币列表
  • Points https://cms.superfluid.pro/points — SUP 积分活动
  • Accounting https://accounting.superfluid.dev/v1 — 按天分块的流式支付会计
  • Allowlist https://allowlist.superfluid.dev — 检查自动化白名单状态
  • Whois https://whois.superfluid.finance — 解析个人资料(ENS、Farcaster、Lens、AF)
  • Token Prices https://token-prices-api.superfluid.dev/v1/{network}/{token} — Super Token 价格(由 CoinGecko 提供支持)
  • Claim Programs https://claim.superfluid.org/api/programs — SUP 奖励计划:赛季、分配额度、资金池地址、流速

有关各 API 的端点、查询模式、Swagger/OpenAPI 链接和注意事项, 请参阅 references/guides/api-services.md。

子图

查询当前状态时优先使用 RPC,而非子图。 子图仅在发生交易时更新, 但流式支付每秒都在进行。使用 cast call 或 scripts/balance.mjs 获取实时数据。子图最适合历史 查询、事件索引以及实体列表和筛选。

端点模式:https://subgraph-endpoints.superfluid.dev/{network-name}/{subgraph}

  • 协议 protocol-v1 — 主要协议数据(流、代币、账户)
  • Vesting Scheduler vesting-scheduler — 所有版本:v1、v2、v3
  • Flow Scheduler flow-scheduler
  • Auto-Wrap auto-wrap
  • SUP(Locker / Reserve)— 由 Goldsky 托管(仅限 Base)。质押、解锁、排放计划、LP 仓位。

网络名称采用 Superfluid 的标准名称(optimism-mainnet、 base-mainnet 等)。使用 bunx -p @superfluid-finance/metadata bun metadata.mjs subgraph <chain> 获取 特定链对应的解析后 URL。

应用

代码仓库: Dashboard · Explorer · TOGA · 8004 Demo

社区与社交媒体
哨兵

哨兵会监控流,并清算余额降至零的发送方的 Super Token,以确保协议保持偿付能力。任何人都可以运行哨兵。

基金会、DAO 与 SUP 代币

SUP — Base 上的 SuperToken(0xa69f80524381275a7ffdb3ae01c54150644c8792)。 总供应量为 1B。由 Superfluid DAO 通过 Snapshot 治理。Locker / Reserve 是 链上质押机制(锁定时间越长,奖励越多)。

有关分配明细、基金会与 DAO 的职责、治理详情和相关链接,请参阅 references/guides/sup-and-dao.md。

流程

代币上架 — Super Token 会在链上 Resolver 中上架,子图会获取该信息(将 isListed 标记为 true)。上架后,它会与其底层代币(如有)一同显示在 Superfluid 代币列表中。

自动化加入允许名单 — 要让自动化功能(归属、流调度、自动包装)显示在 Dashboard UI 中,并允许 Superfluid 链下 keeper 触发自动化合约,就必须将其加入允许名单。若未加入允许名单,自动化将无法按时执行,实际上毫无用处。

  • 申请:允许名单申请表单
  • 查询状态:GET https://allowlist.superfluid.dev/api/allowlist/{account}/{chainId}

评论

支持 Markdown