Skip to content

Library


We start with the library for RentOnZilliqa. We declare the one_msg helper function. The source code can be found here.

Message Codes

Then we get to creating a handful of message codes we will use to communicate with the frontend. The codes are of type Int32.

The codes are grouped into three categories:

Account Codes

These codes are general codes that apply to all users that communicate with the contract (the source code).

Name Code Description Type
user_created 01 Successfully created user Int32
user_exists 02 User already exists Int32
user_does_not_exist 03 User does not exist Int32
user_is_not_owner 04 Cannot update/claim commission as user is not owner Int32
commission_claimed 05 Commission claimed by owner Int32
commission_updated 06 Commission updated by owner Int32
night_duration_updated 07 Night Duration updated by owner Int32

Host Account Codes

These codes are codes specifically used to communicate after actions relating to host accounts (the source code).

Name Code Description Type
listing_created 11 Successfully created listing Int32
listing_updated 12 Successfully updated listing Int32
listing_deleted 13 Successfully deleted listing Int32
rent_claimed 14 Successfully claimed rent from listing Int32
rent_empty 15 No accumulated rent for listing being claimed Int32
rent_not_empty 16 Cannot delete listing as it has accumulated rent Int32
user_is_host 17 Cannot book listing because user is host Int32
user_is_not_host 18 Cannot manage listing because sender is not host Int32

Renter Account Codes

These codes are codes specifically used to communicate after actions relating to renter accounts (the source code).

Name Code Description Type
listing_booked 21 Successfully booked listing Int32
listing_unavailable 22 Cannot book listing because it is rented Int32
user_is_renter 23 Cannot create listing as user is a renter account Int32
wrong_amount_sent 24 Cannot book listing as amount is wrong Int32
listing_does_not_exist 25 Cannot book listing because it does not exist Int32
listing_details_missing 26 Listing details are missing Int32

Additional Constants

We define a few more additional constants for use within the contract. We create constants for storing the account roles. As well as some constants for ease of use. (the source code).

Name Code Type
user_role_renter 0 Uint32
user_role_host 1 Uint32
one 1 Uint128
zero 0 Uint128
true True Bool
false False Bool