atlas-system-labs/atlas-smart-cycle-v1

GitHub: atlas-system-labs/atlas-smart-cycle-v1

一套基于 PancakeSwap V3 的单边流动性质押智能合约,支持定期锁定和每日累计两种奖励产品,用户存入 USDT 即可参与共享流动性并按等级获取收益。

Stars: 0 | Forks: 0

# Atlas Smart Cycle v1 **构建于 PancakeSwap V3 — BNB Smart Chain 之上的单边流动性质押合约** [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/atlas-system-labs/atlas-smart-cycle-v1/actions/workflows/ci.yml) [![Solidity](https://img.shields.io/badge/Solidity-0.8.20-363636?logo=solidity&logoColor=white)](https://docs.soliditylang.org/) [![BNB Chain](https://img.shields.io/badge/BNB%20Chain-Mainnet-F0B90B?logo=bnbchain&logoColor=black)](https://www.bnbchain.org/) [![Foundry](https://img.shields.io/badge/Built%20with-Foundry-2C2C2C)](https://getfoundry.sh/) [![OpenZeppelin](https://img.shields.io/badge/OpenZeppelin-v4.9.6-4E5EE4?logo=openzeppelin&logoColor=white)](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v4.9.6) [![审计](https://img.shields.io/badge/Audited%20by-Cyberscope%20%26%20Beosin-16A34A)](#security-audits) [![License](https://img.shields.io/badge/License-Proprietary-B91C1C)](./LICENSE) [白皮书](./docs/atlas-system-white-paper.pdf) · [宣言](./docs/atlas-system-manifesto.pdf) · [安全审计](#security-audits) · [atlas-system.io](https://atlas-system.io)
用户将单一的 ERC-20 代币(USDT)存入共享的 PancakeSwap V3 流动性仓位中。合约在链上记录每个用户的订单,并根据所选的产品和等级支付奖励。所有与 PancakeSwap 的交互都隔离在一个基础合约中,因此每个产品都共享相同的、经过审计的流动性逻辑。 ## 目录 - [运作方式](#how-it-works) - [架构](#architecture) - [合约](#contracts) - [奖励计划](#reward-schedule) - [部署参数](#deployment-parameters) - [安全审计](#security-audits) - [构建](#build) - [仓库结构](#repository-layout) - [文档](#documentation) - [License](#license) ## 运作方式 1. **存款。** 用户通过其中一个产品(`LockupFlow`、`DailyFlowV2`)存入 USDT。该金额会通过基础 `PositionHandler`(`increaseLiquidity`)作为流动性添加到共享的单边 PancakeSwap V3 仓位中。系统会在链上记录每个用户的订单。 2. **累计。** 每个订单都会累计由其等级定义的奖励: - `LockupFlow` — **固定奖励**,在等级锁定期结束后即可领取。 - `DailyFlow` / `DailyFlowV2` — **每日奖励**,在固定的 200 天计划内每天累计。 3. **领取。** 用户调用 `claim`: - `LockupFlow.claim(orderId)` — 锁定期结束后,通过从仓位中移除相应的流动性,返还本金 + 奖励(扣除平台费用)。 - `DailyFlow.claim(orderId)` — 支付自上次领取以来累计的奖励。可以在 200 天的计划期内反复调用。 4. **费用。** 每次领取奖励时都会收取可配置的 `platformFee`,并发送至 `treasury` 地址。在 `DailyFlowV2` 中,该费用仅适用于每日奖励的利润部分 —— 返还本金的部分免收费用。 最低存款额为 `10` USDT。金额和时间均以代币自身的小数位为单位。 ## 架构 每个面向用户的合约都继承自共同的基础合约 `PositionHandler`,这是唯一与 PancakeSwap V3 交互的组件。 ``` graph TD PH["PositionHandler
PancakeSwap V3 liquidity"] PH --> LF["LockupFlow
fixed-term lock + reward"] PH --> DF["DailyFlow
200-day daily accrual"] PH --> DF2["DailyFlowV2
200-day, split payout"] PH --> TR["Transport
operator payouts"] TR -->|funds, 0% fee| DI["Distrib
payouts from own balance"] ``` ## 合约 | 合约 | 用途 | |---|---| | [`PositionHandler`](./src/PositionHandler.sol) | 基础合约。封装了 PancakeSwap V3 托管仓位的添加/移除流动性操作。 | | [`LockupFlow`](./src/LockupFlow.sol) | 定期产品:用户将 USDT 锁定一段由等级定义的期限,并在到期后领取本金 + 固定奖励。 | | [`DailyFlow`](./src/DailyFlow.sol) | 每日累计产品:用户锁定 USDT,并在固定的 200 天计划内领取每日奖励。等级(Core/Elite)会根据存款规模自动选择。 | | [`DailyFlowV2`](./src/DailyFlowV2.sol) | 当前的每日累计实现。具有相同的等级和计划,但每日奖励被拆分为本金返还部分(0.50%/天,免收费用)和利润部分,并且 `platformFee` 仅对利润部分收取。如果仓位无法覆盖全部请求的金额,领取操作将会回退。 | | [`Transport`](./src/Transport.sol) | 用于从共享仓位中提取推荐付款的 Operator 合约。 | | [`Distrib`](./src/Distrib.sol) | 使用其自身代币余额进行支付的 Operator 合约,不与仓位交互。由 `Transport` 提供资金(0% 费用);在每次 `distribute` 时收取 `platformFee`。 | 可部署合约的 ABI 已发布在 [`abi/`](./abi) 目录下。 ## 奖励计划 奖励系数以 `PRECISION = 1e25` 和 `BP = 1e21` 存储,因此系数 `N` 对应于本金的 `N / 10_000`(`N = 10_000` → 100%)。 ### `LockupFlow` — 每个期限的固定奖励 | 等级 | 锁定期 | 本金奖励 | |---|---|---| | ContractTest | 10 分钟 | 0% | | Launch | 1 天 | 0.30% | | Momentum | 5 天 | 2.00% | | Premiere | 10 天 | 5.00% | | President | 20 天 | 12.00% | | Imperium | 30 天 | 22.50% | ### `DailyFlow` / `DailyFlowV2` — 200 天内的每日累计 | 等级 | 存款规模 | 每日奖励 | 200 天总计 | |---|---|---|---| | Core | `< 2,000` USDT | 1.10%/天 | 220% | | Elite | `≥ 2,000` USDT | 1.30%/天 | 260% | 在 `DailyFlowV2` 中,每日奖励被拆分为本金返还部分和利润部分: | 等级 | 每日奖励 | 本金返还(免收费用) | 利润(受 `platformFee` 约束) | |---|---|---|---| | Core | 1.10%/天 | 0.50%/天 | 0.60%/天 | | Elite | 1.30%/天 | 0.50%/天 | 0.80%/天 | ## 部署参数 每个有仓位支持的合约均使用 `(treasury, platformFee, token, tokenId)` 构建,其中 `tokenId` 是合约管理的 PancakeSwap V3 仓位。`Distrib` 不持有仓位,使用 `(treasury, platformFee, token)` 构建。 ### 外部依赖(BNB Smart Chain 主网) | 组件 | 地址 / 版本 | |---|---| | PancakeSwap V3 Factory | [`0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865`](https://bscscan.com/address/0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865) | | PancakeSwap V3 NonfungiblePositionManager | [`0x46A15B0b27311cedF172AB29E4f4766fbE7F4364`](https://bscscan.com/address/0x46A15B0b27311cedF172AB29E4f4766fbE7F4364) | | OpenZeppelin Contracts | `v4.9.6` | | Solidity | `^0.8.20` | ## 安全审计 合约已由两家独立的安全公司进行了审查。两份报告均以其作者发布时的原样存储在此仓库中,因此可以根据审计机构自己的副本验证其校验和。 | 审计机构 | 日期 | 报告 | 审计机构发布链接 | |---|---|---|---| | **Cyberscope** | 2026 年 6 月(最初为 6 月 15 日,更正后的第二阶段为 6 月 30 日) | [`audits/cyberscope-audit-2026-06.pdf`](./audits/cyberscope-audit-2026-06.pdf) | [cyberscope-io/audits](https://github.com/cyberscope-io/audits/blob/main/atlas-system/v1/audit.pdf) | | **Beosin** | 2026 年 6 月(审计窗口期为 6 月 15-17 日,报告编号 202606171520) | [`audits/beosin-audit-2026-06.pdf`](./audits/beosin-audit-2026-06.pdf) | [beosin.com](https://beosin.com/audits/atlas_202606171520.pdf) | 请参阅报告以了解完整的发现、严重程度及其当前状态,并参阅 [`audits/README.md`](./audits/README.md) 获取文件校验和。 关于源代码哈希的说明:Cyberscope 报告列出了提交审查的文件的 SHA-256 校验和,其中 OpenZeppelin 通过绝对 URL 导入。在此仓库中,这些导入被重写为固定的 `@openzeppelin/contracts` submodule,因此导入 OpenZeppelin 的文件校验和会有所不同,但代码本身没有改变。没有导入 OpenZeppelin 的文件(`ITransport.sol`、`ILockupFlow.sol`、`IDailyFlow.sol`、`IDistrib.sol`)与报告逐字节匹配。 要报告漏洞,请参阅 [`SECURITY.md`](./SECURITY.md)。 ## 构建 需要 [Foundry](https://getfoundry.sh)。OpenZeppelin `v4.9.6` 作为 git submodule 被固定。 ``` git clone --recurse-submodules https://github.com/atlas-system-labs/atlas-smart-cycle-v1.git cd atlas-smart-cycle-v1 forge build ``` 如果你克隆时没有包含 submodule: ``` forge install OpenZeppelin/openzeppelin-contracts@v4.9.6 ``` 使用 `solc 0.8.20` 编译,启用 optimizer(200 runs)— 请参阅 [`foundry.toml`](./foundry.toml)。 ## 测试 ``` forge test ``` [`test/`](./test) 中的套件涵盖了每个产品的奖励和费用核算 —— `LockupFlow` 等级、`DailyFlow` 每日累计、`DailyFlowV2` 本金/利润费用拆分以及 `Distrib` 付款 —— 以及访问控制和回退路径。测试是确定性的,不需要网络:PancakeSwap V3 Factory 和 Position Manager 的小型 mock 被放置在 `PositionHandler` 中硬编码的地址处,因此产品逻辑无需主网 fork 即可运行。`src/` 中经过审计的源代码完全按照提交审计时的原样保留,未进行重新格式化;`forge fmt` 仅适用于 `test/`。 ## 仓库结构 ``` src/ Solidity sources and interfaces abi/ Contract ABIs audits/ Third-party security audit reports docs/ White paper and manifesto lib/ Pinned dependencies (OpenZeppelin v4.9.6) ``` ## 文档 - [白皮书](./docs/atlas-system-white-paper.pdf) - [宣言](./docs/atlas-system-manifesto.pdf) ## License 专有 — 保留所有权利。请参阅 [`LICENSE`](./LICENSE)。 此源代码仅为了透明度和审查而发布。未经事先书面许可,严禁复制、重用、修改或分发。
标签:BNB Chain, DeFi, PancakeSwap, Solidity, 区块链, 智能合约, 流动性质押