pub struct ShardLayoutV1 {
pub boundary_accounts: Vec<AccountId>,
pub shards_split_map: Option<Vec<Vec<ShardId>>>,
pub to_parent_shard_map: Option<Vec<ShardId>>,
pub version: u32,
}Expand description
ShardLayoutV1
JSON schema
{
"type": "object",
"required": [
"boundary_accounts",
"version"
],
"properties": {
"boundary_accounts": {
"description": "The boundary accounts are the accounts on boundaries between shards.\n Each shard contains a range of accounts from one boundary account to\n another - or the smallest or largest account possible. The total\n number of shards is equal to the number of boundary accounts plus 1.",
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountId"
}
},
"shards_split_map": {
"description": "Maps shards from the last shard layout to shards that it splits to in this shard layout,\n Useful for constructing states for the shards.\n None for the genesis shard layout",
"type": [
"array",
"null"
],
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ShardId"
}
}
},
"to_parent_shard_map": {
"description": "Maps shard in this shard layout to their parent shard\n Since shard_ids always range from 0 to num_shards - 1, we use vec instead of a hashmap",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/components/schemas/ShardId"
}
},
"version": {
"description": "Version of the shard layout, this is useful for uniquely identify the shard layout",
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
}Fields§
§boundary_accounts: Vec<AccountId>The boundary accounts are the accounts on boundaries between shards. Each shard contains a range of accounts from one boundary account to another - or the smallest or largest account possible. The total number of shards is equal to the number of boundary accounts plus 1.
shards_split_map: Option<Vec<Vec<ShardId>>>Maps shards from the last shard layout to shards that it splits to in this shard layout, Useful for constructing states for the shards. None for the genesis shard layout
to_parent_shard_map: Option<Vec<ShardId>>Maps shard in this shard layout to their parent shard Since shard_ids always range from 0 to num_shards - 1, we use vec instead of a hashmap
version: u32Version of the shard layout, this is useful for uniquely identify the shard layout
Trait Implementations§
Source§impl Clone for ShardLayoutV1
impl Clone for ShardLayoutV1
Source§fn clone(&self) -> ShardLayoutV1
fn clone(&self) -> ShardLayoutV1
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ShardLayoutV1
impl Debug for ShardLayoutV1
Source§impl<'de> Deserialize<'de> for ShardLayoutV1
impl<'de> Deserialize<'de> for ShardLayoutV1
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ShardLayoutV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ShardLayoutV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&ShardLayoutV1> for ShardLayoutV1
impl From<&ShardLayoutV1> for ShardLayoutV1
Source§fn from(value: &ShardLayoutV1) -> ShardLayoutV1
fn from(value: &ShardLayoutV1) -> ShardLayoutV1
Converts to this type from the input type.
Source§impl From<ShardLayoutV1> for ShardLayout
impl From<ShardLayoutV1> for ShardLayout
Source§fn from(value: ShardLayoutV1) -> ShardLayout
fn from(value: ShardLayoutV1) -> ShardLayout
Converts to this type from the input type.
Source§impl Serialize for ShardLayoutV1
impl Serialize for ShardLayoutV1
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ShardLayoutV1
impl RefUnwindSafe for ShardLayoutV1
impl Send for ShardLayoutV1
impl Sync for ShardLayoutV1
impl Unpin for ShardLayoutV1
impl UnwindSafe for ShardLayoutV1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more