认购
首次 RWA 发行(IRO)是新资产募集资金的方式。Offering 合约托管认购资金,结果只有两种:要么向每位认购人交付份额并向发行方付款,要么全额退款给所有人。
生命周期
- 创建。 代币管理员调用
createOffering(token, unitPrice, softCap, hardCap, startTime, endTime)。结算货币为代币的结算币,且须在白名单内。 - 认购。 在
startTime与endTime之间,投资者授权稳定币后调用subscribe(id, amount)。金额必须是unitPrice的整数倍,总额不得超过硬顶。 - 关闭。 窗口结束或达到硬顶后,任何人都可以调用
closeOffering(id)(Keeper 调用processAll)。若raised ≥ softCap则成功,否则失败。 - 结算。
- 成功: 每位投资者调用
claimAllocation(id)铸造其份额;发行方调用一次withdrawProceeds(id)领取全部募资。 - 失败或取消: 每位投资者调用
claimRefund(id)取回自己支付的全部金额。
- 成功: 每位投资者调用
认购开放期间,发行方或治理方可以附原因取消认购,之后所有人都可以申请退款。
参数
| 参数 | 含义 |
|---|---|
unitPrice | 每一个最小单位代币对应的结算币最小单位数量。对 0 位小数的代币,就是一整份的价格;对 6 位小数的代币,则是 10⁻⁶ 个代币的价格 |
softCap | 成功所需的最低募资额(unitPrice 的整数倍) |
hardCap | 最高募资额(unitPrice 的整数倍);达到后可立即关闭 |
startTime、endTime | 认购窗口(Unix 秒) |
份额按先到先得分配至硬顶为止;没有超额认购,也没有按比例缩减。
资格校验
subscribe校验投资者未被制裁,以及(若代币要求)持有有效 KYC。- 份额在
claimAllocation时铸造,此时会执行代币的全部规则:合格投资者、辖区、冻结和持有上限。
通过了认购校验、但在领取时不满足代币规则的投资者——辖区不符、非合格投资者或超出持有上限——将无法收到份额;而认购一旦成功,就没有退款通道。因此本门户在允许你认购前会调用代币的 canReceive。如果你直接集成合约,请同样这样做。
募资与托管
- 认购资金在认购关闭前一直存放在
Offering合约中。 - 成功后发行方一次性提走全部资金——v1 不支持按里程碑或分阶段释放。此后投资者依赖发行方进行分红与赎回。
- 失败或取消时,退款来自同一托管,始终 1:1。
- 认购在合约层面不收取任何费用。
Keeper
processAll(max) 和 process(ids) 关闭到期的认购。每一项相互独立,一项失败不会阻塞其余各项。isDue(id) 告诉 Keeper 是否有待处理的工作。任何人都可以调用这些函数。
认购不做什么(v1)
- 不支持分级(优先 / 劣后),不支持分阶段释放资金。
- 没有收益注入或违约流程;运营收益以分红形式到达投资者。
- 关闭前不能转让认购份额。
- 领取不满足代币规则时不会自动退款(见上方警示)。
事件
OfferingCreated、Subscribed、OfferingClosed、AllocationClaimed、ProceedsWithdrawn、RefundClaimed、OfferingCancelled。