WJU 合约

WJU(Wrapped JU)是JuChain原生代币JU的ERC-20包装版本。作为JAMM DEX生态系统的重要组成部分,WJU使得JU代币能够无缝参与所有DeFi活动。WJU合约设计简洁、安全可靠,提供1:1的双向兑换功能。

合约基本信息

contract WJU is IWJU {
    string public constant override name = "Wrapped JU";
    string public constant override symbol = "WJU";
    uint8 public constant override decimals = 18;
    uint public override totalSupply;
    mapping(address => uint) public override balanceOf;
    mapping(address => mapping(address => uint)) public override allowance;
}

代币信息

  • 名称: "Wrapped JU"

  • 符号: "WJU"

  • 精度: 18位小数(与JU相同)

  • 兑换比例: 1 JU = 1 WJU

核心功能

包装功能(Deposit)

直接发送JU

用户可以直接向WJU合约地址发送JU代币,合约会自动调用deposit()函数进行包装。

主动调用包装

包装流程

  1. 接收用户发送的JU代币

  2. 增加用户的WJU余额

  3. 增加WJU总供应量

  4. 发射Deposit事件

特点

  • 1:1兑换比例

  • 即时生效

  • 无手续费

  • 无最小/最大限制

解包装功能(Withdraw)

解包装流程

  1. 检查用户WJU余额是否足够

  2. 减少用户的WJU余额

  3. 向用户转账相应数量的JU代币

  4. 发射Withdrawal事件

安全检查

  • 余额充足性检查

  • 使用Solidity 0.8.21的内置溢出保护

  • 安全的ETH转账

ERC-20标准实现

授权功能

转账功能

安全特性

  • 余额充足性检查

  • 自定义错误消息

  • 标准事件发射

授权转账功能

双重检查

  • 授权额度检查

  • 余额充足性检查

  • 自动减少授权额度

事件系统

Deposit事件

记录JU代币包装为WJU的操作,包含:

  • sender: 包装操作的发起者

  • amount: 包装的数量

Withdrawal事件

记录WJU代币解包装为JU的操作,包含:

  • sender: 解包装操作的发起者

  • amount: 解包装的数量

ERC-20标准事件

在JAMM DEX中的集成

Router集成

JAMMRouter合约深度集成了WJU功能:

自动包装/解包装

Router在处理JU相关交易时会自动进行包装/解包装:

交换中的自动包装

交换中的自动解包装

使用示例

基本包装/解包装操作

余额查询

ERC-20操作

事件监听

批量操作

Last updated