Skip to main content
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
这是文档的更新日志——从项目上线以来对这些页面的更新记录。下面的每个版本都链接到其自己的条目;打开一个条目可查看完整摘要、受影响的章节和验证日期。关于协议本身的历史时间线,请参阅 introduction/history-and-milestones。

版本发布

CPMM:协议从创建者费用中获得分成
CPMM 现在可以保留创建者费用的一部分。分成在费用被收集时应用,而不是在收取时应用:交换仍然会将整个创建者费用累积到 creator_fees_token*,然后 CollectCreatorFee / CollectCreatorFeePermissionless 将一部分移到池的现有 protocol_fees_token* 计数器中,并向创建者支付其余部分——向下舍入,因此灰尘保留给创建者。费率来自新的 AmmConfig.creator_fee_share_rate(从填充中分割出来;账户仍为 236 字节,但旧的 padding[0] 现在是一个活跃字段)或来自覆盖它的每个创建者 CreatorFeeShare PDA,由新的管理员指令 CreateCreatorFeeShare / CloseCreatorFeeShare 管理。对创建者费用客户端的破坏性变更:两个收集指令都在其账户列表末尾追加新账户——现有账户保持其位置,但新账户是强制性的,因此升级前的交易会因账户缺失而被拒绝。UpdateAmmConfig 获得 param = 8。PoolState、交换数学和 k 检查保持不变,未添加错误代码。随之而来的是 CollectExcessLamports 中的两遍排序修复。阅读完整条目 →
LaunchLab:Anchor 1.0、过量 lamports 恢复和过渡门的结束
LaunchLab 升级到 Agave 3.1.10 上的 Anchor 1.0.2,并停用其过渡脚手架。已弃用的 Initialize 现在无条件地失败,返回 NotApproved。MigrateToAmm 对迁移钱包造成硬破坏:所有三个参数和九个 OpenBook 账户都已删除,遵循 AMM v4 自身的 OpenBook 移除,程序不再通过 CPI 初始化市场。get_upgrade_timestamp 时钟门被删除,因此三个交易 remaining_accounts 是无条件必需的(system_program 槽现在已验证),MigrateToCpswap 始终采用许可的 CPMM 路径,InitializeWithToken2022 删除了其 amm_fee_on 限制。新的管理员指令 CollectExcessLamports 返回 SIMD-0437 释放的租金——注意源账户必须按三个保险库权限 PDA 中的哪一个拥有它们来分组。三个 MigrateToCpswap 地址约束移到指令体中,将 2012 更改为 2502。追加 6031。没有账户布局、交易指令或费用行为改变。阅读完整条目 →
CPMM:Anchor 1.0、过量 lamports 恢复和固定费用所有者
CPMM 升级到 Agave 3.1.10 上的 Anchor 1.0.2,并添加了管理员指令 CollectExcessLamports,该指令从保险库、LP 铸币和 PDA 返回 SIMD-0437 释放的租金——包括包装的 SOL 保险库,通过 SyncNative / UnwrapLamports 往返,保持包装余额不变。三个行为变化随之而来:CreateAmmConfig 现在写入硬编码的 protocol_fee_owner 和 fund_fee_owner 密钥,而不是签署者(现有配置未迁移——读取字段),硬编码的四地址 Token-2022 MINT_WHITELIST 被删除,因此 SupportMintAssociated 注册表 PDA 是唯一剩余的绕过,ClosePermissionPda 现在接受专用授权权限。追加 6015。没有面向用户的指令或账户布局改变。阅读完整条目 →
AMM v4:Solana 3.0 依赖和过量 lamports 恢复
AMM v4 针对 solana-program 3.0.0、spl-token 9.0.0、spl-associated-token-account 8.0.0 和新的 solana-system-interface crate 重新构建,并添加了仅限管理员的 WithdrawExcessLamports(标签 18),该指令返回 SIMD-0437 释放的租金。每个交易者和 LP 面向的指令都保持其账户、参数和数学,此版本中没有任何破坏性变更:CreateConfigAccount 停止读取其尾部租金 sysvar,但仍接受旧的五账户列表。AmmError 获得代码 60(它从 0 而不是 6000 开始编号)。阅读完整条目 →
LaunchLab:平台曲线规则替代曲线参数白名单
启动参数限制从 PlatformConfig 移到每个配置的 PlatformCurveRule 账户。规则在 19 个启动参数上最多包含 10 个检查组,每个组最多 25 个 (field, op, value) 约束,支持 Eq / Gte / Lte / Neq——因此平台最终可以表达值范围、替代层级、毕业估值上限、迁移下限、代币类型门控或在日期上切换的组,这些都是仅支持相等性的白名单无法做到的。PlatformConfig 保持其 944 字节大小:restrict_curve_param、curve_rule_manager 和已删除向量的长度前缀都来自填充。解码器必须删除尾部的 Vec<PlatformCurveParam>,启动构建器必须在标志打开时将规则 PDA 追加到 remaining_accounts。删除了两个指令,添加了四个,UpdatePlatformConfig 添加了两个变体,追加 6024–6030。需要 IDL 刷新。SDK 提供两个纯离链检查,因此创建者永远不必从还原的交易中学习规则,条目记录了在主网上启用标志之前的 devnet 排练。阅读完整条目 →
LaunchLab:平台在铸币创建时持有提取扣留权限
InitializeWithToken2022 现在将 PlatformConfig.transfer_fee_extension_auth 写入新基础铸币的 withdraw_withheld_authority,而不是启动 authority PDA,因此平台可以在粘合曲线阶段扫除扣留的转账费用,而不是等待毕业——程序本身没有提取扣留指令。MigrateToCpswap 仅当 PDA 仍持有该权限时才重新分配该权限,这使两代铸币的毕业都能正常工作。transfer_fee_config_authority 仍仅在毕业时移动,因此在启动中期轮换 transfer_fee_extension_auth 会无声地将两个权限留在不同的密钥上。没有账户布局、指令、参数或错误代码改变。阅读完整条目 →
LaunchLab:平台费率上限提高到 500 bps
平台 fee_rate 上限在验证它的两条路径上都移到 50000(500 bps)。CreatePlatformConfig 自程序首次发布以来一直被限制在 10000(100 bps);UpdatePlatformConfig 自 2026-01-27 以来被限制在 25000(250 bps)。两个检查现在一致,因此以任何允许的费率创建的平台也可以以该费率更新——包括通过 AllInfo 批量变体,它在重写每个其他字段时重新验证 fee_rate。两条路径仍然引发不同的错误(创建时为 InvalidInput,更新时为 InvalidPlatformInfo)。没有账户布局、指令或错误代码改变,现有平台或启动都不会重新定价。GlobalConfig.max_share_fee_rate 保持在 100 bps,仅限制每笔交易的推荐 share_fee_rate。阅读完整条目 →
LaunchLab:Token-2022 报价铸币
启动现在可以用 Token-2022 铸币报价。CreateConfig、InitializeV2、InitializeWithToken2022、四个交换指令和每个费用声明都在其报价程序槽中接受任一代币程序;已弃用的 Initialize 保持仅限遗留。交换滑点界限现在与支付者实际支付或接收的内容进行比较,扣除报价铸币的转账费用。PoolState.token_program_flag bit1 变得有意义,因此针对整个字节测试 0 的解码器会误读遗留基础铸币为 Token-2022。MigrateToCpswap 将其两个代币程序账户重命名为 token_program / token_program_2022,6023 被重用于 CalculateOverflow。阅读完整条目 →
LaunchLab:仅 CPMM 启动和平台配置控制
新启动初始化现在需要 CPMM,而遗留的 AMM v4 绑定状态保持可迁移。在此版本之前,creator_scale 生成创建者拥有的费用密钥;在升级后执行的 CPMM 迁移改为将 platform_scale + creator_scale 合并为一个平台拥有的费用密钥分成。平台也可以用自己的 PlatformAllowConfig PDA 限制启动,迁移构建器必须追加两个 CPMM 支持铸币 PDA。阅读完整条目 →
CLMM:受限发行人头寸 NFT 冻结
新的 CLMM 头寸 NFT 铸币使用其池作为冻结权限,但其代币账户默认保持解冻。冻结仅在 OpenPositionV2 或 OpenPositionWithToken22Nft 时发生,当任一底层保险库铸币的冻结权限与受限发行人列表匹配时。匹配的头寸无法转移或更改所有者,但仍可以管理流动性。其 ClosePosition 调用必须追加池,以便 CLMM 可以解冻、燃烧和原子关闭。现有头寸保持不变。阅读完整条目 →
CPMM:无许可创建者费用收集
附加的 CollectCreatorFeePermissionless 指令让任何支付者扫除所有累积的创建者费用,同时将受益人和两个代币目标限制为 PoolState.pool_creator 和创建者的规范 ATA。原始创建者签名路径保持不变。CreatePermissionPda 也接受专用授权权限,而 ClosePermissionPda 保持仅限管理员。阅读完整条目 →
CLMM:许可多池和限价单冻结账户保护
两个附加的、向后兼容的 CLMM 程序更新。CreatePermissionedPool 将客户端提供的非零 seed_index 折叠到池 PDA 种子中,让白名单操作者(持有 Permission PDA 的操作者)为每个 (config, mint0, mint1) 创建多个池——因此池 ID 不再是对的规范标识。新的管理员指令 CreatePermissionPda / ClosePermissionPda 管理这些授权,PoolState 获得 seed_index 字段(从填充中分割出来,大小不变)。另外,OpenLimitOrder 现在接受输出端账户,并拒绝其输入或输出代币账户被冻结的订单(NotApproved)。阅读完整条目 →
AMM v4:移除 OpenBook / Serum 依赖
AMM v4 移除了其长期休眠的 OpenBook/Serum 依赖、所有订单簿 CPI 和已死的做市指令。SwapBaseIn / SwapBaseOut、Deposit 和 Withdraw 保持其布局(已删除的市场账户现在被忽略,不验证);硬破坏 WithdrawPnl(17 → 10,无兼容性)和 SetParams(减少账户 + 重新编号 param);Initialize、PreInitialize、MonitorStep、MigrateToOpenBook、WithdrawSrm、SimulateInfo、AdminCancelOrders 不再可调用。链上账户布局和错误代码保持稳定;将交换迁移到 V2 入口点。阅读完整条目 →
稳定 AMM:移除已死的 OpenBook(市场)代码
稳定 AMM 移除了其长期休眠的 OpenBook 做市账户和代码。更小的 SwapBaseIn / SwapBaseOut(18 → 9)、Deposit(14 → 12)和 Withdraw(21/22 → 12)布局(旧布局仍兼容);硬破坏 WithdrawPnl 变化(16 → 10,无兼容性);推荐费用已停用;以及简化的仅保险库池资产公式。大多数其他稳定指令不再可调用。阅读完整条目 →
CLMM:限价单、单边费用、动态费用
三个可选的、向后兼容的 CLMM 功能:一流限价单(带 limit_order_admin 结算保管人)、单边费用收集(CollectFeeOn)和波动率跟踪动态费用。添加 CreateCustomizablePool、PoolState 重塑(索引器破坏性变更)、新的 TickState 字段、十一个新错误代码(带数字移位)和匹配的 SDK / API 添加。阅读完整条目 →
初始发布
Raydium 文档集的首次公开发布,针对实时 mainnet-beta 部署和 @raydium-io/raydium-sdk-v2@0.2.42-alpha 进行了验证。阅读完整条目 →

文档约定

  • 版本控制:本文档使用基于日历的版本控制(YYYY-MM-DD)。每个更新都在上面的时间线顶部添加一个新条目页面和新行。
  • 每个版本一个页面:每个版本摘要都位于 reference/changelog/ 下的自己的页面上,因此此索引保持简短,每个条目都可独立链接。
  • 验证日期:每个条目记录内容上次与链上 / API 状态和程序源代码交叉检查的时间。如果未说明,假设为条目的主要日期。
  • 破坏性变更:在受影响的页面上用方框警告标注,并在条目中标记。
  • 覆盖范围:此更新日志涵盖文档集本身。协议本身的历史时间线位于 introduction/history-and-milestones,是”Raydium 上何时发生 X”的真实来源。

更正

如果你在本文档中发现错误,请在文档存储库上打开问题或拉取请求。更正被记录为更新日志条目。

指针