Iyamura/RemitBridge-contracts
GitHub: Iyamura/RemitBridge-contracts
RemitBridge 是基于 Stellar 区块链的 Soroban 智能合约套件,通过稳定币和链上审计解决跨境薪资与援助发放的高成本、慢速度及合规透明度问题。
Stars: 0 | Forks: 1
# RemitBridge Contracts
**用于 Stellar 上跨境薪资和援助发放的 Soroban 智能合约。**
[](LICENSE)
[](https://opentrust.dev)
[](https://stellar.org)
## 合约
| 合约 | 路径 | 描述 |
|---|---|---|
| **Compliance** | `contracts/compliance` | 具备 48 小时撤回窗口的链上发放审计日志 |
| **Payroll** | `contracts/payroll` | 定期薪资调度 —— 跟踪下一次支付的时间戳 |
| **Multisig** | `contracts/multisig` | 用于大额发放提案的 N-of-M 审批门 |
## 前置条件
- [Rust](https://rustup.rs/) 及 `wasm32-unknown-unknown` 目标
- [Stellar CLI](https://developers.stellar.org/docs/tools/developer-tools/stellar-cli) (`stellar`)
```
rustup target add wasm32-unknown-unknown
cargo install --locked stellar-cli --features opt
```
## 构建
```
# 构建所有 contracts
cargo build --target wasm32-unknown-unknown --release
# 或构建单个 contract
cargo build -p remitbridge-compliance --target wasm32-unknown-unknown --release
```
编译后的 `.wasm` 文件将写入 `target/wasm32-unknown-unknown/release/`。
## 测试
```
cargo test
```
## 部署 (Stellar Testnet)
```
stellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/remitbridge_compliance.wasm \
--source \
--network testnet
```
对 `remitbridge_payroll.wasm` 和 `remitbridge_multisig.wasm` 重复此操作。
## 合约接口
### Compliance
| 函数 | 描述 |
|---|---|
| `init(admin)` | 设置 admin 地址(仅一次) |
| `log_disbursement(org_id, recipient, amount, currency)` | 记录一次发放;返回索引 |
| `clawback(caller, index)` | 在 48 小时内撤销一次发放(仅限 admin) |
| `get_record(index)` | 读取发放记录 |
| `record_count()` | 存储的记录总数 |
### Payroll
| 函数 | 描述 |
|---|---|
| `init(admin)` | 设置 admin 地址(仅一次) |
| `schedule(caller, org_id, recipient, amount, currency, interval_secs)` | 创建一个定期条目 |
| `cancel(caller, index)` | 停用一个 payroll 条目 |
| `mark_paid(caller, index)` | 在结算后将 next_payout 时间戳向后推移 |
| `get_entry(index)` / `entry_count()` | 读取调度状态 |
### Multisig
| 函数 | 描述 |
|---|---|
| `init(signers, threshold)` | 配置签名者集合和审批阈值 |
| `propose(proposer, description, amount, recipient)` | 提交发放提案 |
| `vote(signer, proposal_id, approve)` | 批准或拒绝提案 |
| `execute(signer, proposal_id)` | 将已批准的提案标记为已执行 |
| `get_proposal(id)` / `proposal_count()` | 读取提案状态 |
## 生态系统
RemitBridge 合约被以下项目使用:
- **[RemitBridge API](https://github.com/richardiyamura/remitbridge-api)** — 调用这些合约并与 TrustFlow / FlowIndexer 集成的 Node.js 后端
- **TrustFlow** — 在 multisig 层强制执行的信任分数门槛资金分配
- **FlowIndexer** — 读取合约事件以用于分析的链下 indexer
## 许可证
MIT
标签:Rust, Stellar, Web3, 区块链, 可视化界面, 智能合约, 网络流量审计, 跨境支付, 通知系统