Skip to content

hello-xone/Distribution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Distribution 合约使用文档

一、合约概述

Distribution 合约用于集中管理和分发 ETH 或 ERC20 Token 给用户,支持多种分发类型(空投、治理、奖励、工资、赏金)。
特点包括:

  • 可分发单个或多个不同金额的 Token/ETH。
  • 支持角色权限管理(Operator 和 Admin)。
  • 可安全提现 Token/ETH。
  • 使用 EIP712 支持签名验证(可扩展)。
  • 防止重入攻击 (ReentrancyGuard)。

二、分发类型常量

类型名 说明
TYPE_AIRDROP 0 空投
TYPE_GOVERNANCE 1 治理
TYPE_REWARDS 2 奖励
TYPE_SALARY 3 工资
TYPE_BOUNTY 4 赏金

三、角色权限

角色 权限说明
DEFAULT_ADMIN_ROLE 管理员,可提现资产、管理 Operator 角色
OPERATOR_ROLE 分发操作员,可调用分发方法进行空投、奖励等

初始化时,部署者地址将同时拥有 Admin 和 Operator 权限。


四、初始化方法

function initialize(address admin);

五、分发接口

function airdrop(address token, address[] calldata users, uint256[] calldata amount);

token: ERC20 token 地址,若为 address(0) 则表示分发 ETH。

users: 用户地址列表。

amount: 对应用户的分发数量列表。

事件

event DistributionEvent(
    address indexed operator,
    address indexed token,
    address indexed user,
    uint256 amount,
    uint8 distType
);


说明

distType 默认为 TYPE_AIRDROP。

若 token 为 ETH,使用 _distributionETH;否则使用 _distributionToken。

About

Community Governance Allocation Contract

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published