Skip to main content

Renew Usership

Renew the active rental usership (tenant lease) period of an Entity resource. Extends the renter’s temporary usage right; does not modify entity ownership. Only the current entity renter (tenant) is authorized to execute this instruction.

open-token entity renew-usership --help

Synopsis

open-token entity renew-usership <Name> <Days>

Arguments

ArgumentTypeRequiredDescription
<Name>StringYesTarget entity resource name (e.g. open://google.com, open://app.google.com). Must be an existing on‑chain entity account, may contain dot separators for multi‑level hierarchy. Must hold an active non‑expired rent/usership lease.
<Days>u32YesAdditional days to extend the entity rental usership. Subject to on‑chain minimum and maximum rent duration constraints.

Behaviour

  • Transaction signer must match stored entity renter public key; returns RenterMismatch if authorization check fails.
  • Validates an active non‑expired rent lease exists for this entity; fails when no rent is active or rent already expired (RentExpired).
  • Extends rent expiry timestamp by adding provided <Days> converted to seconds (days * 86400).
  • Deducts rent renewal payment according to on‑chain treasury rent‑rate configuration.
  • Does not change entity ownership, meta, body content, or ownership expiry timestamp.
  • Only extends temporary tenant usership window; entity legal owner remains unchanged throughout the lease.
  • When rent expires, usership privileges are automatically revoked; full usage rights revert back to entity owner.
  • Logical resolution note: Even if entity usership is valid, the entity is unresolvable via open:// scheme if its parent Ecosystem has expired.

Constraints & Validation Rules

  1. RenterMismatch: Signer is not the current renter of this entity.
  2. RentExpired: Existing rent lease has expired; cannot renew expired usership.
  3. DaysTooSmall: Supplied days value is below program‑enforced minimum rent duration.
  4. RentTooLong: Requested extension exceeds program maximum allowed rent duration.
  5. NameTooLong / NameEmpty: Invalid entity name input.
  6. NameExpired: Underlying entity ownership registration is expired; rent operations are unavailable.
  7. ParentNotCreated: Parent Ecosystem namespace does not exist on‑chain.
  8. MaxEntityLevelIsFour: Entity name hierarchy depth exceeds program‑defined maximum level.

Usage Example

Renew multi‑level entity open://app.google.com usership for 7 days:

open-token entity renew-usership open://app.google.com 7