Users:
Users purchase shares of real estate properties using RWAIMMO tokens.
Users can stake their tokens to earn additional rewards.
Smart Contract:
Manages the purchase of shares, staking, and distribution of rental income and staking rewards.
Records every transaction on the blockchain to ensure transparency and security.
Operations:
Buying Shares: Users send tokens to the smart contract to buy shares of real estate properties.
Earning Rent: Users earn rental income proportional to their ownership percentage.
Staking: Users can stake their tokens to earn additional rewards.
Claiming: Users can claim their rental income and staking rewards.
Transferring: Tokens can be transferred between users for various operations.
Functions:
_balances(address)
: Returns the balance of a given address.
agencyActivate(uint256, bool)
: Activates a home in the agency.
agencyAddHome(string, uint256, uint256, uint256, uint256)
: Adds a new home to the agency.
agencyBuy(uint256, uint256, uint256)
: Allows users to buy shares in a home.
agencyClaim(uint256)
: Allows users to claim their earnings.
agencyCountInvestors()
: Returns the number of investors.
agencyGetCountHomes()
: Returns the number of homes.
agencyGetHomes()
: Returns details of homes.
agencyGetOwnerParts(address)
: Returns the parts owned by an address.
agencyInvestOf(address)
: Returns the total investment of an address.
agencyInvestOfByHome(address, uint256)
: Returns the investment of an address in a specific home.
agencyInvested()
: Returns details of investments.
agencyInvestorsByPeriods()
: Returns the number of investors by periods.
agencyIsActive(uint256)
: Checks if a home is active.
agencyRewards()
: Returns the total rewards.
agencySell(uint256)
: Allows users to sell their shares.
agencyTotalInvesting()
: Returns the total amount invested.
allowance(address, address)
: Returns the allowance of a spender.
approve(address, uint256)
: Approves a spender.
availableForStakingRewards()
: Returns the available staking rewards.
balanceOf(address)
: Returns the balance of an address.
burn(uint256)
: Burns a specific amount of tokens.
burned()
: Returns the total amount burned.
changeOwner(address)
: Changes the owner of the contract.
circulatingSupply()
: Returns the circulating supply of tokens.
decimals()
: Returns the number of decimals used.
getAgencyContract()
: Returns the address of the agency contract.
getOwner()
: Returns the address of the owner.
getStakingAddress()
: Returns the address of the staking contract.
name()
: Returns the name of the token.
payClaim(address, uint256)
: Pays a claim to an address.
payPenality(address, uint256)
: Pays a penalty.
setAgencyContract(address)
: Sets the agency contract.
setStakingContract(address)
: Sets the staking contract.
stakingClaim(uint256)
: Claims staking rewards.
stakingCountStakers()
: Returns the count of stakers.
stakingMaxStakeTotal()
: Returns the maximum total staking.
stakingMaxStakingPerAddress()
: Returns the maximum staking per address.
stakingMinStakingPerAddress()
: Returns the minimum staking per address.
stakingRewards()
: Returns the staking rewards.
stakingStake(uint256, uint256)
: Stakes tokens for a specific period.
stakingStakeOf(address)
: Returns the staking of an address.
stakingStaked()
: Returns details of all stakes.
stakingStakesByPeriods()
: Returns staking details by periods.
stakingTotalStaking()
: Returns the total amount staked.
stakingUnstake(uint256)
: Unstakes tokens.
symbol()
: Returns the symbol of the token.
totalAgencyLocked()
: Returns the total agency locked.
totalStaked()
: Returns the total staked amount.
totalSupply()
: Returns the total supply of tokens.
transfer(address, uint256)
: Transfers tokens to an address.
transferBuy(address, uint256)
: Transfers tokens for buying.
transferFrom(address, address, uint256)
: Transfers tokens from one address to another.
transferSell(address, uint256)
: Transfers tokens for selling.
transferStake(address, uint256)
: Transfers tokens for staking.
transferUnstake(address, uint256)
: Transfers tokens for unstaking.