Skip to main content

Renew Ownership

Renew ownership registration term for an existing Entity resource. Only the current Entity owner can execute this instruction. Extends the entity’s independent expiry timestamp.

open-token entity renew-ownership --help

Synopsis

open-token entity renew-ownership <Name> <Years>

Arguments

ArgumentTypeRequiredDescription
<Name>StringYesFully‑qualified entity resource name (e.g. tom.com, app.tom.com). Must reference an existing on‑chain entity account. May contain dot characters for multi‑level resource hierarchy.
<Years>u8YesAdditional full years to extend the Entity registration duration. Enforced minimum value by on‑chain program logic.

Behaviour

  • Transaction signer must equal the stored Entity owner public key; fails with OwnerMismatch if signer is not owner.
  • Target entity account must exist and not already expired.
  • Extends entity expiry timestamp: add Years * 365 * 86400 seconds to current expiry time (Openverse Clock::get().unix_timestamp base).
  • Deducts entity renewal fee according to on‑chain treasury configuration.
  • Does not modify entity Meta / Body data, ownership, rent or sale status.
  • Does not affect parent Ecosystem expiry; entity maintains its own independent lifecycle.
  • ⚠️ Logical resolution note: Even if entity is renewed and active, it becomes unresolvable via open:// URI scheme if its parent Ecosystem is expired.

Constraints & Validation Rules

  1. OwnerMismatch: Transaction signer is not the entity owner.
  2. NameExpired: Cannot renew an already‑expired entity account.
  3. NameTooLong / NameEmpty: Invalid entity name input.
  4. YearsTooSmall: Input years value below program‑defined minimum threshold.
  5. ParentNotCreated: Parent Ecosystem namespace does not exist on‑chain.
  6. MaxEntityLevelIsFour: Entity name hierarchy depth exceeds program maximum limit.

Usage Example

Renew multi‑level entity open://app.tom.com for 1 year:

open-token entity renew-ownership open://app.tom.com 1