Estate¶
Calls¶
accept_lease_offer¶
Accept lease offer for estate that is not leased
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
- estate_id
: the ID of the estate that will be leased
- recipient
: the account that made the lease offer
Emits EstateLeaseOfferAccepted
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
recipient | T::AccountId |
Python¶
call = substrate.compose_call(
'Estate', 'accept_lease_offer', {
'estate_id': 'u64',
'recipient': 'AccountId',
}
)
add_land_unit_to_estate¶
Add more land units to existing estate that is not in auction
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
They must also own the land units.
- estate_id
: the ID of the estate that the land units will be added to
- land_units
: list of land unit coordinates that will be added to estate
Emits LandUnitAdded
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
land_units | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'add_land_unit_to_estate', {
'estate_id': 'u64',
'land_units': [('i32', 'i32')],
}
)
approve_undeployed_land_blocks¶
Approve existing undeployed land block which is not frozen.
The dispatch origin for this call must be Singed.
Only the undeployed land block owner can make this call.
- to
: the account for which the undeployed land block will be approved
- undeployed_land_block_id
: the ID of the undeployed land block that will be burned
Emits UndeployedLandBlockApproved
if successful
Attributes¶
Name | Type |
---|---|
to | T::AccountId |
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'approve_undeployed_land_blocks', {
'to': 'AccountId',
'undeployed_land_block_id': 'u128',
}
)
burn_undeployed_land_blocks¶
Burn raw land block that will reduce total supply
The dispatch origin for this call must be Singed.
Only the undeployed land block owner can make this call.
- undeployed_land_block_id
: the ID of the undeployed land block that will be burned
Emits UndeployedLandBlockBurnt
if successful.
Attributes¶
Name | Type |
---|---|
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'burn_undeployed_land_blocks', {'undeployed_land_block_id': 'u128'}
)
cancel_lease¶
Cancels existing lease
The dispatch origin for this call must be Root.
- estate_id
: the ID of the estate that will be leased
- leasor
: the account that is leasing the estate
Emits EstateLeaseContractCancelled
if successful
Attributes¶
Name | Type |
---|---|
estate_owner | T::AccountId |
estate_id | EstateId |
leasor | T::AccountId |
Python¶
call = substrate.compose_call(
'Estate', 'cancel_lease', {
'estate_id': 'u64',
'estate_owner': 'AccountId',
'leasor': 'AccountId',
}
)
collect_rent¶
Collect rent for a leased estate
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
- estate_id
: the ID of the estate that will be leased
Emits EstateRentCollected
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
leasor | T::AccountId |
Python¶
call = substrate.compose_call(
'Estate', 'collect_rent', {
'estate_id': 'u64',
'leasor': 'AccountId',
}
)
create_estate¶
Create new estate from existing land units
The dispatch origin for this call must be Signed.
- metaverse_id
: the metaverse id that the land units will be minted on
- coordinates
: list of land units coordinates
Emits NewEstateMinted
if successful.
Attributes¶
Name | Type |
---|---|
metaverse_id | MetaverseId |
coordinates | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'create_estate', {
'coordinates': [('i32', 'i32')],
'metaverse_id': 'u64',
}
)
create_lease_offer¶
Create a lease offer for estate that is not leased
The dispatch origin for this call must be Singed.
Only origin that is not the estate owner can make this call.
- estate_id
: the ID of the estate that will be leased
- price_per_block
: lease price per block
- duration
: lease duration (in number of blocks)
Emits EstateLeaseOfferCreated
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
price_per_block | BalanceOf<T> |
duration | u32 |
Python¶
call = substrate.compose_call(
'Estate', 'create_lease_offer', {
'duration': 'u32',
'estate_id': 'u64',
'price_per_block': 'u128',
}
)
deploy_land_block¶
Deploy raw land block to metaverse and turn raw land block to land unit with given coordinates
The dispatch origin for this call must be Signed.
Only the undeployed land block owner can make this call.
- undeployed_land_block_id
: the undeployed land block ID
- metaverse_id
: the metaverse ID that the land block will be deployed on
- land_block_coordinates
: the coordinates of the land block
- coordinates
: list of land units coordinates
Emits LandBlockDeployed
if successful.
Attributes¶
Name | Type |
---|---|
undeployed_land_block_id | UndeployedLandBlockId |
metaverse_id | MetaverseId |
land_block_coordinate | (i32, i32) |
coordinates | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'deploy_land_block', {
'coordinates': [('i32', 'i32')],
'land_block_coordinate': (
'i32',
'i32',
),
'metaverse_id': 'u64',
'undeployed_land_block_id': 'u128',
}
)
dissolve_estate¶
Dissolve estate to land units if it is not in auction.
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
- estate_id
: the ID of the estate that will be dissolved
Emits EstateDestroyed
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
Python¶
call = substrate.compose_call(
'Estate', 'dissolve_estate', {'estate_id': 'u64'}
)
freeze_undeployed_land_blocks¶
Freezes undeployed land block which is not already frozen
The dispatch origin for this call must be Root.
- undeployed_land_block_id
: the ID of the undeployed land block that will be freezed
Emits UndeployedLandBlockFreezed
if successful.
Attributes¶
Name | Type |
---|---|
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'freeze_undeployed_land_blocks', {'undeployed_land_block_id': 'u128'}
)
issue_undeployed_land_blocks¶
Issues new undeployed land block(s)
The dispatch origin for this call must be Root.
- beneficiary
: the account which will be the owner of the undeployed land block(s)
- number_of_land_block
: the number of undeployed land block(s) that will be created
- number_land_units_per_land_block
: the number of land units in each undeployed land
block
- land_block_coordinates
: the coordinates of the undeployed land block
Emits UndeployedLandBlockIssued
if successful.
Attributes¶
Name | Type |
---|---|
beneficiary | T::AccountId |
number_of_land_block | u32 |
number_land_units_per_land_block | u32 |
undeployed_land_block_type | UndeployedLandBlockType |
Python¶
call = substrate.compose_call(
'Estate', 'issue_undeployed_land_blocks', {
'beneficiary': 'AccountId',
'number_land_units_per_land_block': 'u32',
'number_of_land_block': 'u32',
'undeployed_land_block_type': (
'Transferable',
'BoundToAddress',
),
}
)
mint_estate¶
Mint new estate with no existing land units, only used for council to manually mint estate for beneficiary
The dispatch origin for this call must be Root.
- beneficiary
: the account which will be the owner of the land units
- metaverse_id
: the metaverse id that the land units will be minted on
- coordinates
: list of land units coordinates
Emits NewEstateMinted
if successful.
Attributes¶
Name | Type |
---|---|
beneficiary | T::AccountId |
metaverse_id | MetaverseId |
coordinates | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'mint_estate', {
'beneficiary': 'AccountId',
'coordinates': [('i32', 'i32')],
'metaverse_id': 'u64',
}
)
mint_land¶
Minting of a land unit, only used by council to manually mint single land for beneficiary
The dispatch origin for this call must be Root.
- beneficiary
: the account which will be the owner of the land unit
- metaverse_id
: the metaverse id that the land united will be minted on
- coordinate
: coordinate of the land unit
Emits NewLandsMinted
if successful.
Attributes¶
Name | Type |
---|---|
beneficiary | T::AccountId |
metaverse_id | MetaverseId |
coordinate | (i32, i32) |
Python¶
call = substrate.compose_call(
'Estate', 'mint_land', {
'beneficiary': 'AccountId',
'coordinate': ('i32', 'i32'),
'metaverse_id': 'u64',
}
)
mint_lands¶
Minting of a land units, only used by council to manually mint number of lands for beneficiary
The dispatch origin for this call must be Root.
- beneficiary
: the account which will be the owner of the land units
- metaverse_id
: the metaverse id that the land units will be minted on
- coordinates
: list of land units coordinates
Emits NewLandsMinted
if successful.
Attributes¶
Name | Type |
---|---|
beneficiary | T::AccountId |
metaverse_id | MetaverseId |
coordinates | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'mint_lands', {
'beneficiary': 'AccountId',
'coordinates': [('i32', 'i32')],
'metaverse_id': 'u64',
}
)
remove_expired_lease¶
Removes expired lease
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
- estate_id
: the ID of the estate that will be leased
- leasor
: the account that is leasing the estate
Emits EstateLeaseContractEnded
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
leasor | T::AccountId |
Python¶
call = substrate.compose_call(
'Estate', 'remove_expired_lease', {
'estate_id': 'u64',
'leasor': 'AccountId',
}
)
remove_land_unit_from_estate¶
Remove land units from existing estate if it is not in auction.
The dispatch origin for this call must be Singed.
Only the estate owner can make this call.
- estate_id
: the ID of the estate that the land units will be removed from
- land_units
: list of land unit coordinates that will be added to estate
Emits LandUnitsRemoved
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
land_units | Vec<(i32, i32)> |
Python¶
call = substrate.compose_call(
'Estate', 'remove_land_unit_from_estate', {
'estate_id': 'u64',
'land_units': [('i32', 'i32')],
}
)
remove_lease_offer¶
Removes lease offer
The dispatch origin for this call must be Singed.
Only the account made the lease offer can make this call.
- estate_id
: the ID of the estate that will be leased
Emits EstateLeaseOfferRemoved
if successful
Attributes¶
Name | Type |
---|---|
estate_id | EstateId |
Python¶
call = substrate.compose_call(
'Estate', 'remove_lease_offer', {'estate_id': 'u64'}
)
transfer_estate¶
Transfer estate ownership if it is not in auction.
The dispatch origin for this call must be Signed.
Only the owner of an estate can make this call.
- to
: the account which will be the owner of the estate
- estate_id
: the estate ID of the the estate that will be transferred
Emits TransferredEstate
if successful.
Attributes¶
Name | Type |
---|---|
to | T::AccountId |
estate_id | EstateId |
Python¶
call = substrate.compose_call(
'Estate', 'transfer_estate', {
'estate_id': 'u64',
'to': 'AccountId',
}
)
transfer_land¶
Transferring a land unit if it is not already in auction
The dispatch origin for this call must be Signed.
Only the owner of a land can make this call.
- to
: the account which will be the owner of the land units
- metaverse_id
: the metaverse id of the land unit
- coordinate
: the coordinate of the land unit
Emits TransferredLandUnit
if successful.
Attributes¶
Name | Type |
---|---|
to | T::AccountId |
metaverse_id | MetaverseId |
coordinate | (i32, i32) |
Python¶
call = substrate.compose_call(
'Estate', 'transfer_land', {
'coordinate': ('i32', 'i32'),
'metaverse_id': 'u64',
'to': 'AccountId',
}
)
transfer_undeployed_land_blocks¶
Transfer undeployed land block owner if it is not in auction.
The dispatch origin for this call must be Singed.
Only the undeployed land block owner can make this call.
- to
: the account that will receive the undeployed land block
- undeployed_land_block_id
: the ID of the land block that will be transferred
Emits UndeployedLandBlockTransferred
if successful.
Attributes¶
Name | Type |
---|---|
to | T::AccountId |
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'transfer_undeployed_land_blocks', {
'to': 'AccountId',
'undeployed_land_block_id': 'u128',
}
)
unapprove_undeployed_land_blocks¶
Unapprove existing undeployed land block which is not frozen.
The dispatch origin for this call must be Singed.
Only the undeployed land block owner can make this call.
- undeployed_land_block_id
: the ID of the undeployed land block that will be
unapproved
Emits UndeployedLandBlockUnapproved
if successful
Attributes¶
Name | Type |
---|---|
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'unapprove_undeployed_land_blocks', {'undeployed_land_block_id': 'u128'}
)
unfreeze_undeployed_land_blocks¶
Unfreezes undeployed land block which is frozen.
The dispatch origin for this call must be Root.
- undeployed_land_block_id
: the ID of the undeployed land block that will be unfreezed
Emits UndeployedLandBlockUnfreezed
if successful.
Attributes¶
Name | Type |
---|---|
undeployed_land_block_id | UndeployedLandBlockId |
Python¶
call = substrate.compose_call(
'Estate', 'unfreeze_undeployed_land_blocks', {'undeployed_land_block_id': 'u128'}
)
Events¶
EstateDestroyed¶
Estate is destroyed [Estate Id, Owner Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
EstateLeaseContractCancelled¶
Estate lease contract was cancelled [Estate Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
EstateLeaseContractEnded¶
Estate lease contract ended [Estate Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
EstateLeaseOfferAccepted¶
Estate lease offer is accepted [Estate Id, Leasor account Id, Lease End Block]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | T::AccountId |
AccountId |
None | T::BlockNumber |
u32 |
EstateLeaseOfferCreated¶
Estate lease offer is created [AccountId, Estate Id, Total rent]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | EstateId |
u64 |
None | BalanceOf<T> |
u128 |
EstateLeaseOfferRemoved¶
Estate lease offer is removed [AccountId, Estate Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | EstateId |
u64 |
EstateRentCollected¶
Estate rent collected [EstateId, Balance]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | BalanceOf<T> |
u128 |
EstateUpdated¶
Estate is updated [Estate Id, Owner Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
LandBlockDeployed¶
Land block is deployed [From Account Id, Metaverse Id, Undeployed Land Block Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | MetaverseId |
u64 |
None | UndeployedLandBlockId |
u128 |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
LandUnitAdded¶
Land unit is added to an estate [Estate Id, Owner Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
LandUnitsRemoved¶
Land unit is removed from an estate [Estate Id, Owner Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
MaxBoundSet¶
Max bound is set for a metaverse [Metaverse Id, Min and Max Coordinate]
Attributes¶
Name | Type | Composition |
---|---|---|
None | MetaverseId |
u64 |
None | (i32, i32) |
('i32', 'i32') |
NewEstateMinted¶
New estate is minted [Estate Id, OwnerId, Metaverse Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
None | MetaverseId |
u64 |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
NewLandUnitMinted¶
New land is minted [Beneficial Account Id, Metaverse Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | OwnerId<T::AccountId, ClassId, TokenId> |
{'Account': 'AccountId', 'Token': ('u32', 'u64')} |
None | MetaverseId |
u64 |
None | (i32, i32) |
('i32', 'i32') |
NewLandsMinted¶
New lands are minted [Beneficial Account Id, Metaverse Id, Coordinates]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | MetaverseId |
u64 |
None | Vec<(i32, i32)> |
[('i32', 'i32')] |
NewRound¶
New staking round started [Starting Block, Round, Total Land Unit]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::BlockNumber |
u32 |
None | RoundIndex |
u32 |
None | u64 |
u64 |
TransferredEstate¶
Estate unit is transferred [Estate Id, From Account Id, To Account Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | EstateId |
u64 |
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
TransferredLandUnit¶
Land unit is transferred [Metaverse Id, Coordinates, From Account Id, To Account Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | MetaverseId |
u64 |
None | (i32, i32) |
('i32', 'i32') |
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
UndeployedLandBlockApproved¶
Undeployed land block is approved [Owner Account Id, Approved Account Id, Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockBurnt¶
Undeployed land block is burnt [Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockFreezed¶
Undeployed land block is freezed [Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockIssued¶
Undeployed land block is issued [Beneficial Account Id, Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockTransferred¶
Undeployed land block is transferred [From Account Id, To Account Id, Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockUnapproved¶
Undeployed land block is unapproved [Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | UndeployedLandBlockId |
u128 |
UndeployedLandBlockUnfreezed¶
Undeployed land block is unfreezed [Undeployed Land Block Id]
Attributes¶
Name | Type | Composition |
---|---|---|
None | UndeployedLandBlockId |
u128 |
Storage functions¶
AllEstatesCount¶
Track the total of estates
Python¶
result = substrate.query(
'Estate', 'AllEstatesCount', []
)
Return value¶
'u64'
AllLandUnitsCount¶
Track the total number of land units
Python¶
result = substrate.query(
'Estate', 'AllLandUnitsCount', []
)
Return value¶
'u64'
EstateLeaseOffers¶
Current estate lease offers
Python¶
result = substrate.query(
'Estate', 'EstateLeaseOffers', ['u64', 'AccountId']
)
Return value¶
{
'duration': 'u32',
'end_block': 'u32',
'price_per_block': 'u128',
'start_block': 'u32',
'unclaimed_rent': 'u128',
}
EstateLeases¶
Current active estate leases
Python¶
result = substrate.query(
'Estate', 'EstateLeases', ['u64']
)
Return value¶
{
'duration': 'u32',
'end_block': 'u32',
'price_per_block': 'u128',
'start_block': 'u32',
'unclaimed_rent': 'u128',
}
EstateLeasors¶
Current estate leasors
Python¶
result = substrate.query(
'Estate', 'EstateLeasors', ['AccountId', 'u64']
)
Return value¶
()
EstateOwner¶
Track estate owners
Python¶
result = substrate.query(
'Estate', 'EstateOwner', ['u64']
)
Return value¶
{'Account': 'AccountId', 'Token': ('u32', 'u64')}
Estates¶
Store estate information
Python¶
result = substrate.query(
'Estate', 'Estates', ['u64']
)
Return value¶
{'land_units': [('i32', 'i32')], 'metaverse_id': 'u64'}
LandUnits¶
Index land owners by metaverse ID and coordinate
Python¶
result = substrate.query(
'Estate', 'LandUnits', ['u64', ('i32', 'i32')]
)
Return value¶
{'Account': 'AccountId', 'Token': ('u32', 'u64')}
MintingRateConfig¶
Minting rate configuration
Python¶
result = substrate.query(
'Estate', 'MintingRateConfig', []
)
Return value¶
{'annual': 'u64', 'expect': {'ideal': 'u64', 'max': 'u64', 'min': 'u64'}, 'max': 'u64'}
NextEstateId¶
Track the next estate ID
Python¶
result = substrate.query(
'Estate', 'NextEstateId', []
)
Return value¶
'u64'
NextUndeployedLandBlockId¶
Track the next undeployed land ID
Python¶
result = substrate.query(
'Estate', 'NextUndeployedLandBlockId', []
)
Return value¶
'u128'
Round¶
Current round index and next round scheduled transition
Python¶
result = substrate.query(
'Estate', 'Round', []
)
Return value¶
{'current': 'u32', 'first': 'u32', 'length': 'u32'}
TotalUndeployedLandUnit¶
Track the total of undeployed land units
Python¶
result = substrate.query(
'Estate', 'TotalUndeployedLandUnit', []
)
Return value¶
'u64'
UndeployedLandBlocks¶
Store undeployed land blocks
Python¶
result = substrate.query(
'Estate', 'UndeployedLandBlocks', ['u128']
)
Return value¶
{
'approved': (None, 'AccountId'),
'id': 'u128',
'is_locked': 'bool',
'number_land_units': 'u32',
'owner': 'AccountId',
'undeployed_land_block_type': ('Transferable', 'BoundToAddress'),
}
UndeployedLandBlocksOwner¶
Index undeployed land blocks by account ID
Python¶
result = substrate.query(
'Estate', 'UndeployedLandBlocksOwner', ['AccountId', 'u128']
)
Return value¶
()
Constants¶
LandTreasury¶
Land treasury source
Value¶
'0x6269742f6c616e64'
Python¶
constant = substrate.get_constant('Estate', 'LandTreasury')
LeaseOfferExpiryPeriod¶
The period for each lease offer will be available for acceptance (in number of blocks)
Value¶
10000
Python¶
constant = substrate.get_constant('Estate', 'LeaseOfferExpiryPeriod')
MaxLeasePeriod¶
Maximum lease period duration (in number of blocks)
Value¶
1000000
Python¶
constant = substrate.get_constant('Estate', 'MaxLeasePeriod')
MaxOffersPerEstate¶
Maximum lease offers for an estate
Value¶
100
Python¶
constant = substrate.get_constant('Estate', 'MaxOffersPerEstate')
MinBlocksPerRound¶
Minimum number of blocks per round
Value¶
20
Python¶
constant = substrate.get_constant('Estate', 'MinBlocksPerRound')
MinLeasePricePerBlock¶
Minimum lease price per block
Value¶
10000000000000000
Python¶
constant = substrate.get_constant('Estate', 'MinLeasePricePerBlock')
MinimumStake¶
Minimum staking balance
Value¶
100000000000000000000
Python¶
constant = substrate.get_constant('Estate', 'MinimumStake')
NetworkFee¶
Network fee charged when deploying a land block or creating an estate
Value¶
10000000000000000000
Python¶
constant = substrate.get_constant('Estate', 'NetworkFee')
RewardPaymentDelay¶
Delay of staking reward payment (in number of rounds)
Value¶
2
Python¶
constant = substrate.get_constant('Estate', 'RewardPaymentDelay')
Errors¶
AccountHasNoStake¶
Account has not staked anything
AlreadyOwnTheEstate¶
Already owning the estate
AlreadyOwnTheLandUnit¶
Already owning the land unit
AlreadyOwnTheUndeployedLandBlock¶
Already own the undeployed land block
BelowMinimumStake¶
Below minimum staking amount
CoordinatesForEstateIsNotValid¶
Coordinate for estate is not valid
EstateAlreadyInAuction¶
Estate is already in auction
EstateDoesNotExist¶
Estate is does not exist
EstateIdAlreadyExist¶
Estate ID already exist
EstateIsAlreadyLeased¶
Estate is already leased
EstateLeaseOffersQueueLimitIsReached¶
Estate lease offer limit is reached
EstateNotInAuction¶
Estate is not in auction
EstateStakeAlreadyLeft¶
Estate stake is already left
InsufficientBalanceForDeployingLandOrCreatingEstate¶
Insufficient balance for deploying land blocks or creating estates
InsufficientFund¶
Insufficient fund
InvalidOwnerValue¶
Invalid owner value
LandUnitAlreadyInAuction¶
Land unit is already in auction
LandUnitAlreadyInEstate¶
LandUnitDoesNotExist¶
Land unit does not exist
LandUnitIsNotAvailable¶
Land unit is not available
LandUnitIsOutOfBound¶
Land unit is out of bound
LandUnitNotInAuction¶
Land unit is not in auction
LeaseDoesNotExist¶
Lease does not exist
LeaseIsExpired¶
Lease is expired
LeaseIsNotExpired¶
Lease is not expired
LeaseOfferAlreadyExists¶
Lease offer already exists
LeaseOfferDoesNotExist¶
Lease offer does not exist
LeaseOfferDurationAboveMaximum¶
Lease duration beyond max duration
LeaseOfferIsNotExpired¶
Lease offer is not expired
LeaseOfferPriceBelowMinimum¶
Lease offer price per block is below the minimum
NoAvailableEstateId¶
No available estate ID
NoPermission¶
No permission
NoUnclaimedRentLeft¶
No unclaimed rent balance
OnlyFrozenUndeployedLandBlockCanBeDestroyed¶
Only frozen undeployed land block can be destroyed
Overflow¶
Value overflow
UndeployedLandBlockAlreadyFreezed¶
Undeployed land block is already freezed
UndeployedLandBlockAlreadyInAuction¶
Undeployed land block is already in auction
UndeployedLandBlockDoesNotHaveEnoughLandUnits¶
Undeployed land block does not hae enough land units
UndeployedLandBlockFreezed¶
Undeployed land block is freezed
UndeployedLandBlockIsNotTransferable¶
Undeployed land block is not transferable
UndeployedLandBlockNotFound¶
Undeployed land block is not found
UndeployedLandBlockNotFrozen¶
Undeployed land block is not frozen
UndeployedLandBlockNotOwned¶
Account is not the owner of a given undeployed land block
UndeployedLandBlockUnitAndInputDoesNotMatch¶
Number of land block credit and land unit does not match