Rentible.io
  • πŸ‘‹Welcome to Rentible
  • πŸ€“For The Curious Minds
  • Technological Foundations
    • πŸ‘¨β€πŸ’ΌOverview
    • πŸ”—Building on Ethereum
    • πŸ’§Building on Sui
  • Real World Assets Tokenization
    • πŸ€”Problem & Opportunity
    • πŸ–₯️RWA Platform Overview
    • πŸ’°Fundraising Contract
    • πŸ’ΈDeposit & Rental Contract
    • πŸ€‘Yield Distributor Contract
    • πŸͺ™Become a Real Estate Tycoon By Staking RNB
    • βš™οΈTechnical Documentation
      • βš™οΈ[Documentation] Fundraising Smart Contract
      • βš™οΈ[Documentation] Deposit & Rental Smart Contract
      • βš™οΈ[Documentation] Yield Distributor Smart Contract
  • The Travel Portal
    • 🀩Opportunity
    • πŸ’»Product
    • πŸ€‘Tokenomics Impact
  • Tokenomics
    • πŸ“Token Specification
    • πŸŒ‰Multichain Bridge
    • βš™οΈToken Use Cases
  • Building the Future
    • πŸ—ΊοΈRoadmap
    • πŸ§‘β€πŸš€The RWA Collective
    • ℹ️Disclaimer
Powered by GitBook
On this page
  1. Real World Assets Tokenization
  2. Technical Documentation

[Documentation] Deposit & Rental Smart Contract

Previous[Documentation] Fundraising Smart ContractNext[Documentation] Yield Distributor Smart Contract

Last updated 1 year ago

In the evolving landscape of digital real estate transactions, the introduction of a Solidity smart contract for managing security deposits in escrow represents a groundbreaking approach to eliminate rental scams. Solidity, the programming language for Ethereum blockchain, enables the creation of self-executing contracts with the terms directly written into code. In this system, a smart contract acts as a neutral, automated escrow agent, securely holding the tenant's security deposit in a digital wallet until both parties agree to release.

This level of transparency and security in the handling of security deposits could significantly increase trust in online real estate transactions, making the process safer and more reliable for both tenants and landlords. By leveraging the power of blockchain and smart contracts, the real estate rental market can take a significant step towards eliminating scams and fostering a more secure and trustworthy environment for online transactions.

The contract comprises the following key components:

  1. State Variables:

    • erc20Rnb: acts as a flat fee ERC20 token, just like ETH for Ethereum transactions.

    • feeReceiverAddress: Rentible's address designated to receive transaction fees.

    • arbitratorAddress: Rentible's arbitrator address responsible for dispute resolution.

    • rentDepositReleaseTimeDuration: Duration until rental deposits are released to landlords.

    • rentDepositTransferRnbFee: Fee charged for transferring rental deposits.

    • rentTransferRnbFee: Fee charged for monthly rent transactions.

  2. Structs:

    • RentDepositData: Struct to store rental deposit details.

  3. Mappings:

    • rentDepositMapping: Mapping to track rental deposit data for each tenant-landlord pair.

  4. Events:

    • PayRentDeposit: deposit payment initiated by a Tenant to a Landlord beneficiary.

    • ArbitrationRequested: Event emitted when arbitration is requested.

    • ArbitrationResolved: Event emitted when arbitration is resolved.

    • RenteeConsentForEarlyRelease: Event emitted when a Tenant consents to early deposit release.

    • RentDepositReleasedEarly: Event emitted upon early release of rental deposit.

    • DepositClaimed: Event emitted when a rental deposit is claimed by the Landlord.

    • MonthlyRentPaid: Event emitted when monthly rent is paid.

    • FeeUpdated: Event emitted when transaction fees are updated.

  5. Constructor:

    • Initializes the contract with essential parameters including ERC20 token, fee receiver, arbitrator, and fee amounts.

  6. Public Functions:

    • payRentDeposit: Allows tenants to pay rental deposits to landlords.

    • setConsentForEarlyRelease: Enables tenants to consent to early release of rental deposits.

    • requestArbitration: Allows tenants to request arbitration in case of disputes.

    • resolveArbitration: Permits the arbitrator to resolve arbitration disputes.

    • claimDeposit: Allows landlords to claim rental deposits.

    • payMonthlyRent: Enables tenants to pay monthly rent to landlords.

    • setRentDepositTransferRnbFee: Updates the service fee for transferring rental deposits.

    • setRentTransferRnbFee: Updates the service fee for monthly rent transactions.

Usage

Rental Deposit Management

Tenants can pay rental deposits to landlords using the payRentDeposit function. Deposits are released to landlords after a specified duration unless the tenant consents to early release.

Monthly Rent Payments

Tenants pay monthly rent to landlords using the payMonthlyRent function. Transaction fees are deducted from the rent amount.

Dispute Resolution

In case of disputes, tenants can request arbitration using the requestArbitration function. The arbitrator resolves disputes and distributes rental deposits accordingly.

βš™οΈ
βš™οΈ