Alert Source Discuss
🚧 Stagnant Standards Track: ERC

ERC-1080: 可恢复的代币

Authors Bradley Leatherwood <bradleat@inkibra.com>
Created 2018-05-02
Discussion Link https://ethereum-magicians.org/t/erc-1080-recoverabletoken-standard/364

简单总结

一种支持退款、防止盗窃以及失物招领解决方案的代币的标准接口。

摘要

以下标准允许为扩展 ERC-20 或 ERC-791 的代币实现标准 API。此标准提供基本功能来恢复被盗或丢失的账户,以及提供代币的退款。

动机

为了减轻合理可证明的代币或资产损失或盗窃的影响,并帮助解决其他冲突。以太坊的协议不应因损失、盗窃或冲突而修改,但可以在智能合约层中解决这些问题。

规范

RecoverableToken

方法

claimLost

报告 lostAccount 地址已丢失。必须触发 AccountClaimedLost 事件。

getLostAccountRecoveryTimeInMinutes 中配置的时间之后,实现者必须提供一种机制来确定所持代币的正确所有者并将代币转移到新帐户。

帐户恢复必须触发 AccountRecovered 事件。

function claimLost(address lostAccount) returns (bool success)

cancelLostClaim

报告 msg.sender 的帐户未丢失。必须触发 AccountClaimedLostCanceled 事件。

如果帐户恢复过程已经开始,则必须失败。

否则,此方法必须停止启动争议以恢复资金。

function claimLost() returns (bool success)

reportStolen

报告当前地址已被盗。必须触发 AccountFrozen 事件。 成功的调用必须导致 msg.sender 的代币被冻结。

实现者必须提供一种机制来确定所持代币的正确所有者并将代币转移到新帐户。

帐户恢复必须触发 AccountRecovered 事件。

function reportStolen() returns (bool success)

chargeback

代表 msg.sender 请求反转转账。

实现者必须提供一种机制来确定有争议的代币的正确所有者并将代币转移到正确的帐户。

必须遵守发件人的退款窗口,其值由 setPendingTransferTimeInMinutes 配置。

function chargeback(uint256 pendingTransferNumber) returns (bool success)

getPendingTransferTimeInMinutes

获取帐户必须退款转账的时间。

function getPendingTransferTime(address account) view returns (uint256 minutes)

setPendingTransferTimeInMinutes

设置 msg.sender 的帐户必须退款转账的时间。

如果帐户有任何待处理的转账,则不得更改时间。

function setPendingTransferTime(uint256 minutes) returns (bool success)

getLostAccountRecoveryTimeInMinutes

获取帐户在丢失帐户争议开始之前必须等待的时间。

function getLostAccountRecoveryTimeInMinutes(address account) view returns (uint256 minutes)

setLostAccountRecoveryTimeInMinutes

设置 msg.sender 的帐户在丢失帐户争议开始之前必须等待的时间。

如果帐户有未解决的争议,则不得更改时间。

function setLostAccountRecoveryTimeInMinutes(uint256 minutes) returns (bool success)

事件

AccountRecovered

恢复丢失或被盗的帐户。

event AccountClaimedLost(address indexed account, address indexed newAccount)

AccountClaimedLostCanceled

一个帐户声称已丢失。

event AccountClaimedLost(address indexed account)

AccountClaimedLost

一个帐户声称已丢失。

event AccountClaimedLost(address indexed account)

PendingTransfer

待处理转账的记录。

event PendingTransfer(address indexed from, address indexed to, uint256 value, uint256 pendingTransferNumber)

ChargebackRequested

请求退款的记录。

event ChargebackRequested(address indexed from, address indexed to, uint256 value, uint256 pendingTransferNumber)

Chargeback

转账被撤销的记录。

event Chargeback(address indexed from, address indexed to, uint256 value, uint256 indexed pendingTransferNumber)

AccountFrozen

帐户被冻结的记录。当帐户被冻结时必须触发。

event AccountFrozen(address indexed reported)

理由

  • 可恢复的代币标准可以为希望获得这种安全性的用户或合约提供可配置的安全性。
  • 此标准的实现将使用户能够选择自愿参与的争议解决流程,并通过减少考虑代币恢复行动的必要性来使社区受益。

实现

待定。

版权

版权及相关权利通过 CC0 放弃。

Citation

Please cite this document as:

Bradley Leatherwood <bradleat@inkibra.com>, "ERC-1080: 可恢复的代币 [DRAFT]," Ethereum Improvement Proposals, no. 1080, May 2018. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-1080.