DappLink Bridge-contracts 智能合约学习总结

项目说明

DappLink Bridge-contracts主要实现的是支持跨链的,快速的进行资金转账。

Github

https://github.com/eniac-x-labs/bridge-contracts

资产的跨链桥转账

项目的详细说明

创建质押池

代码:src/core/L1/L1PoolManager.sol:338

说明

PoolIndex 是 一期二期...N期的概念

pools

mapping(address => Pool[]) public Pools

mapping的key是token地址,eth地址,usdc地址等等。

struct Pool {
    uint32 startTimestamp;
    uint32 endTimestamp;
    address token;
    uint256 TotalAmount;
    uint256 TotalFee;
    uint256 TotalFeeClaimed;
    bool IsCompleted;
}
  • startTimestamp和endTimestamp,是每一期存在的时间,一般是14天
  • token就是mapping的key
  • TotalAmount
  • TotalFee
  • TotalFeeClaimed
  • IsCompleted 是否可以取出

users

mapping(address => User[]) public Users;

mapping的key是用户钱包地址。

struct User {
    bool isWithdrawed;
    address token;
    uint256 StartPoolId;
    uint256 EndPoolId;
    uint256 Amount;
}
  • isWithdrawed,是否可以取出
  • token就是eth,usdc,等等地址
  • StartPoolId 起始池子id
  • EndPoolId 结束池子id
  • Amount 金额

质押池

逻辑说明

提现

src/core/L1/L1PoolManager.sol:191 src/core/L1/L1PoolManager.sol:197

说明

管理员提现,用户提现。

逻辑说明

充值与质押

src/core/L1/L1PoolManager.sol:100

说明

用户充值

逻辑说明

跨链转账

说明

从链1转账到链2

逻辑说明

全部评论(0)