IDotnsNameEscrowRevocation

Git Source

Title: dotNS Name Escrow revocation

The escrow's part in revoking a name: settling and removing the name's position.

Kept apart from @custom:contract IDotnsNameEscrow so the interface id that one reports through ERC-165 stays the same. The escrow reports both.

Note: security-contact: admin@parity.io

Functions

revoke

Settles and removes the position of a name being revoked.

Callable only by the registrar, otherwise @custom:reverts IDotnsNameEscrow.NotRegistrar. Any deposit the position still holds is credited to the position recipient's pull-payment balance, emitting

Notes:

  • emits: IDotnsNameEscrow.RefundWithdrawn, and is claimable at once through

  • function: IDotnsNameEscrow.claimWithdrawal. The credit is written under the Root origin the revocation runs in, which carries the storage-deposit caveat of KNOWN_ISSUES.md issue 4. The position is then deleted and the token leaves the released set, so a released name loses its redeem window and a later registration of the name can seed a fresh position. A name with no position returns the zero address and changes nothing. Emits @custom:emits PositionRevoked when a position was removed.

function revoke(uint256 tokenId) external returns (address recipient);

Parameters

NameTypeDescription
tokenIduint256The token being revoked.

Returns

NameTypeDescription
recipientaddressThe position recipient, or the zero address when there was no position.

Events

PositionRevoked

Emitted when a revoked name's position is removed.

event PositionRevoked(uint256 indexed tokenId, address indexed recipient);

Parameters

NameTypeDescription
tokenIduint256The revoked token.
recipientaddressThe position recipient, credited with any deposit still held.