Primcast
EN

认购

首次 RWA 发行(IRO)是新资产募集资金的方式。Offering 合约托管认购资金,结果只有两种:要么向每位认购人交付份额并向发行方付款,要么全额退款给所有人。

生命周期

  1. 创建。 代币管理员调用 createOffering(token, unitPrice, softCap, hardCap, startTime, endTime)。结算货币为代币的结算币,且须在白名单内。
  2. 认购。 在 startTime 与 endTime 之间,投资者授权稳定币后调用 subscribe(id, amount)。金额必须是 unitPrice 的整数倍,总额不得超过硬顶。
  3. 关闭。 窗口结束或达到硬顶后,任何人都可以调用 closeOffering(id)(Keeper 调用 processAll)。若 raised ≥ softCap 则成功,否则失败。
  4. 结算。
    • 成功: 每位投资者调用 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。