Update Rent
Update the renter‑controlled custom rent‑information field for an active entity usership lease. Used to store renter‑side application metadata: service endpoints, display configuration, access hints etc. Only the current active renter is permitted to execute this instruction.
open-token entity update-rent --help
Synopsis
open-token entity update-rent <Name> <Rent Info>
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
<Name> | String | Yes | Target entity resource name (e.g. open://google.com, open://app.google.com). Must reference an existing on‑chain entity account with valid non‑expired active usership lease, supports multi‑level dot‑separated hierarchy. Corresponding human‑readable URI: open://google.com, open://app.google.com. |
<Rent Info> | JSON‑String | Yes | Raw JSON string payload for lease‑scoped rent information. Subject to program‑defined maximum byte‑length limit. Program stores verbatim string; does not parse or validate JSON semantics. |
Behaviour
- Transaction signer must match stored entity renter public key; returns
RenterMismatchon authorization failure. - Validates target entity exists and ownership is not expired (
NameExpired). - Validates parent Ecosystem namespace exists on‑chain (
ParentNotCreated). - Validates an active non‑expired usership lease exists (
RentExpired). - Overwrites lease‑scoped
rent_infofield with the supplied raw JSON string. - Core lease properties are immutable: lease expiry timestamp, renter public key, original daily rent price cannot be modified by this command.
- Does not modify entity owner,
meta,body, sale‑ask / rent‑ask owner‑side offer configurations. - Entity owner may read the
rent_infofield but cannot write it; write access is exclusive to the active renter. - JSON schema and syntax validation are responsibilities of off‑chain client applications.
- Logical resolution note: Even after updating rent‑info, the entity cannot be resolved via
open://scheme if its parent Ecosystem is expired.
Constraints & Validation Rules
RenterMismatch: Transaction signer is not the current renter of the entity.RentExpired: No active valid usership lease exists; update prohibited.NameExpired: Underlying entity ownership registration expired.ParentNotCreated: Parent Ecosystem namespace does not exist on‑chain.MaxEntityLevelIsFour: Entity name hierarchy depth exceeds program‑defined maximum level.NameTooLong/NameEmpty: Invalid entity name input.RentInfoTooLong: Supplied JSON string exceeds program maximum byte‑length limit.
Note: On‑chain program does not reject malformed JSON. Caller must supply properly serialized JSON string.
Usage Example
Update rent‑information for entity open://google.com, shell escaping double‑quotes:
open-token entity update-rent open://google.com "{\"accessEndpoint\":\"https://google.demo\",\"mode\":\"public\",\"note\":\"renter custom service config\"}"