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):

  1. Developer → Chain State

  • Query marketplaceongoingObjectListing

  • Query marketplaceNextListingId .

  • Query T::ListingDeposit constant.

  • Validate region exists in regions → regionDetails(u16)

  1. Check Charlie has free >= ListingDeposit and reserved == 0 (Accounts page).

Action (polkadot.js):

  1. Developer → Extrinsics → pallet marketplacelistProperty

    • origin: 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 2.5.1 Create Location . 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: Yes or No (choose)

  2. Submit & sign.

Post-checks:

Developer → Chain State

  • marketplacelistingDeposits . The screenshot is illustrative and may not reflect the exact state following the described attempts.

  • marketplaceNextListingId incremented by 1. The screenshot is illustrative and may not reflect the exact state following the described attempts.

  • marketplaceOngoingObjectListing exists and contains:

    • real_estate_developer == Charlie

    • token_price == value

    • token_amount == 100

    • listed_token_amount == 100

    • listing_expiry == current_block + listing_duration (query block number + constant)

    • collected_funds maps 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