Skip to content

Mutable Variables


In this section, we look at the mutable fields declared in the contract. The source code.

Declaring the Mutable Fields

The fields can be grouped into the following types based on their purpose.

Owner Fields

These fields can be modified by the owner of the contract. They dictate the behavior of the platform.

Field Description Type Initial value
owners_comission The commission collected by the platform owner on every rental Uint128 10
night_duration The change in BLOCKNUMBER that is understood to be a night Uint32 10
listing_id_generator A variable that is incremented to generate sequential IDs for new listings Uint128 zero

User Details Fields

These Map fields are dictionaries that are used to store details about the user accounts created on the platform. The key for each of them is the Wallet Address of the user.

Field Description Type Initial value
user_name The name of the user Map ByStr20 String Emp ByStr20 String
user_role The role of the user
(0: Renter, 1: Host)
Map ByStr20 Uint32 Emp ByStr20 Uint32

Listing Details Fields

These Map fields are dictionaries that are used to store details about each listing. The key for each of them is the ID as explained with the listing_id_generator in the Owner Fields. The value is the listing information corresponding to the field.

Field Value description Type Initial value
listing_host The wallet address of the host account that created the listing Map Uint128 ByStr20 Emp Uint128 ByStr20
listing_renter The wallet address of the current renter of the listing Map Uint128 ByStr20 Emp Uint128 ByStr20
listing_rented_till The BLOCKNUMBER until which the listing is rented Map Uint128 BNum Emp Uint128 BNum
listing_name The name of the listing Map Uint128 String Emp Uint128 String
listing_description The description of the listing Map Uint128 String Emp Uint128 String
listing_price The price of the listing Map Uint128 Uint128 Emp Uint128 Uint128
listing_rooms The number of rooms in the listing Map Uint128 Uint32 Emp Uint128 Uint32
listing_bathrooms The number of bathrooms in the listing Map Uint128 Uint32 Emp Uint128 Uint32
listing_image A URL to an image of the listing Map Uint128 String Emp Uint128 String
listing_location A Google Maps Plus Code for the location of the listing Map Uint128 String Emp Uint128 String
listing_wifi The availability of WiFi at the listing Map Uint128 String Emp Uint128 String
listing_laundry The availability of a Landry at the listing Map Uint128 String Emp Uint128 String
listing_hvac The availability of an HVAC at the listing Map Uint128 String Emp Uint128 String
listing_tv The availability of a TV at the listing Map Uint128 String Emp Uint128 String
listing_kitchen The availability of a Kitchen at the listing Map Uint128 String Emp Uint128 String
listing_accumulated_rent The rent accumulated for the listing Map Uint128 Uint128 Emp Uint128 Uint128