4.1.1 List Property
List Property Step-by-Step test guide
Developer lists a property. Creates tokens, ensures deposit, validates input, stores listing, updates IDs, emits ObjectListed.
Pre-checks (polkadot.js):
Developer → Chain State
Query
marketplace→ongoingObjectListing

Query
marketplace→NextListingId.

Query
T::ListingDepositconstant.Validate
regionexists inregions → regionDetails(u16)
Check
Charliehasfree >= ListingDepositandreserved == 0(Accounts page).
Action (polkadot.js):
Developer → Extrinsics → pallet
marketplace→listPropertyorigin: Charlie (sign). This needs to be real estate developer.
region:
1. This is the region where the object is located.location:
E1 7DB. This require to be the same as the location created in Regions pallet . This is the location where the object is located.token price: example
1_000_000_000. The is the price of a single token.token amount:
100. The amount of tokens for an object.data:
1. The metadata of the nft.tax paid by developer:
YesorNo(choose)

Submit & sign.

Post-checks:
Developer → Chain State
marketplace→listingDeposits. The screenshot is illustrative and may not reflect the exact state following the described attempts.

marketplace→NextListingIdincremented by 1. The screenshot is illustrative and may not reflect the exact state following the described attempts.

marketplace→OngoingObjectListingexists and contains:real_estate_developer == Charlietoken_price == valuetoken_amount == 100listed_token_amount == 100listing_expiry == current_block + listing_duration(query block number + constant)collected_fundsmaps all accepted assets to 0

The expanded result from screenshot above:
{ realEstateDeveloper: 14Gjs1TD93gnwEBfDMHoCgsuf1s2TVKUP6Z1qKmAZnZ8cW5q tokenPrice: 10,000,000,000 collectedFunds: { 1337: 0 1984: 0 } collectedTax: { 1337: 0 1984: 0 } collectedFees: { 1337: 0 1984: 0 } assetId: 0 itemId: 0 collectionId: 0 tokenAmount: 100 listedTokenAmount: 100 taxPaidByDeveloper: false tax: 0.02% listingExpiry: 1,691 investorFunds: {} claimExpiry: null relistCount: 0 unclaimedTokenAmount: 0 }
Last updated