AxiaDigitalSolutions/SmartContractsAudit
GitHub: AxiaDigitalSolutions/SmartContractsAudit
一个面向受监管资产代币化场景的智能合约审计代码库,整合了 Axia 定制合约与第三方已审计依赖以便外部安全审查。
Stars: 0 | Forks: 0
# Axia — 智能合约(审计)
本代码库包含了 **Axia Digital Solutions** 提交以进行外部审计的智能合约源代码,背景为受监管的代币化项目(包括 **Fractur** 计划 — 迪拜真实世界资产/房地产的白标代币化)。
此代码库的目的是以独立且可复现的方式,仅汇集合约和安全审查所需的材料。审计报告在交付后将被添加至 [`audit/`](audit/) 中。
## 审计范围
核心的 **ERC-3643 (T-REX / Tokeny)** 和 **ONCHAINID** 已经由 Tokeny 进行过审计,并作为依赖项被使用 — **我们不重写此核心代码**。Axia 的定制审查范围是以下合约:
| 合约 | 标准 | solc | 范围 | 描述 |
|---|---|---|---|---|
| [`AxiaCompliantERC721.sol`](token-controller/contracts/src/AxiaCompliantERC721.sol) | 受监管的 ERC-721 | ^0.8.27 (OZ v5) | **审计中(定制)** | 受监管的 NFT,将 ERC-3643 的身份/合规层注入 `_update` 钩子中:mint/transfer/burn、按地址和按 token 冻结、`forcedTransfer`/`recover`(代理)、pause。 |
| [`WhitelabelNFTBurnable.sol`](token-controller/contracts/src/WhitelabelNFTBurnable.sol) | ERC-721 + Burnable | ^0.8.27 (OZ v5) | **审计中(定制)** | 具有由 role 控制的销毁功能的白标 NFT。 |
| [`ERC20TrancheToken.sol`](credit-core/contracts/ERC20TrancheToken.sol) | ERC-20 | ^0.8.0 | **审计中(定制)** | 信贷 tranches/deals 中的投资者头寸。由 role 控制的 mint/burn、可暂停、whitelist 以及转让限制。 |
| [`ERC1155ReceivableToken.sol`](credit-core/contracts/ERC1155ReceivableToken.sol) | ERC-1155 | ^0.8.0 | **审计中(定制)** | 每项应收账款/托收一个 token(`tokenId` = 应收账款 ID)。由 role 控制的 mint/burn、可暂停、IPFS metadata、whitelist。 |
| [`Imports.sol`](token-controller/contracts-trex/src/Imports.sol) | ERC-3643 (T-REX) | 0.8.17 (OZ v4) | **范围外 — 复用 Tokeny** | 仅强制 Hardhat 为集成测试编译参考套件。3643/ONCHAINID 的核心**不是** Axia 的代码。 |
| [`legacy-sol/whitelabel.sol`](token-controller/legacy-sol/whitelabel.sol) | ERC-721(旧版) | 0.5.1 | 历史参考 | 生产环境中的旧版 NFT 合约。包含以供参考;不是本次新审计的主要目标。 |
接口(`IIdentityRegistry`、`IModularCompliance`)是 T-REX 接口的子集;`mocks/` **仅用于测试**,不会投入生产环境。
### 为什么 ERC-3643 源代码不在此处进行版本控制
ERC-3643(T-REX + ONCHAINID)核心**被刻意不包含**在本代码库中。
它是第三方代码,**已通过 Tokeny 审计**,并以**完全锁定的确切版本**作为 npm 依赖项被使用:
| 包 | 版本 | 编译器 |
|---|---|---|
| `@tokenysolutions/t-rex` | `4.1.6` | solc 0.8.17 |
| `@onchain-id/solidity` | `2.2.1` | solc 0.8.17 |
| `@openzeppelin/contracts` | `4.9.6` | — |
| `@openzeppelin/contracts-upgradeable` | `4.9.6` | — |
[`Imports.sol`](token-controller/contracts-trex/src/Imports.sol) 仅引用这些包,以强制 Hardhat 生成 artifacts。由于版本被锁定在 [`package-lock.json`](token-controller/contracts-trex/package-lock.json) 中,执行 `npm install` 可**完全复现**在生产环境中运行的相同 bytecode — 没有歧义,也无需重新审计第三方代码。
## 代码库结构
```
.
├── token-controller/ # Projeto principal (Fractur / ERC-3643)
│ ├── contracts/ # ← EM AUDITORIA: AxiaCompliantERC721 + WhitelabelNFTBurnable (OZ v5, solc 0.8.28)
│ │ ├── src/
│ │ │ ├── AxiaCompliantERC721.sol
│ │ │ ├── WhitelabelNFTBurnable.sol
│ │ │ ├── interfaces/ # subsets das interfaces T-REX
│ │ │ └── mocks/ # apenas para teste
│ │ ├── test/ # testes unitários (Hardhat + TS)
│ │ ├── hardhat.config.ts
│ │ └── .solhint.json
│ ├── contracts-trex/ # Suíte ERC-3643 de referência (Tokeny) — integração/reuso (solc 0.8.17)
│ │ ├── src/Imports.sol
│ │ ├── scripts/ # deploy-suite / verify-suite / register-wallets
│ │ ├── test/ # teste de integração ponta a ponta
│ │ └── DEPLOY.md
│ └── legacy-sol/whitelabel.sol # NFT legado (solc 0.5.1)
├── credit-core/ # Tokenização de crédito/recebíveis (CreditCore)
│ └── contracts/ # ERC20TrancheToken + ERC1155ReceivableToken
└── audit/ # Relatório de auditoria (a ser adicionado)
```
## 如何编译和测试
每个 Hardhat 项目都是独立的。在每个文件夹中:
```
npm install
npm run compile
npm test
```
- **`token-controller/contracts`** — `npm run compile`、`npm test`、`npm run coverage`、`npm run lint` (solhint)。参见[模块 README](token-controller/contracts/README.md)。
- **`token-controller/contracts-trex`** — `npm run compile`、`npm test`(端到端 ERC-3643 集成)。部署:参见 [DEPLOY.md](token-controller/contracts-trex/DEPLOY.md)。
- **`credit-core`** — 参见[模块 README](credit-core/README.md)。
## 审计报告
审计报告一经审计员交付,即会发布在 [`audit/`](audit/) 中。
© 2026 Axia Digital Solutions — 许可证 [MIT](LICENSE)。
标签:ERC-20, ERC-721, Solidity, Web3, 区块链, 智能合约, 暗色界面, 自动化攻击, 资产代币化