pub trait ShardsInterface {
// Required methods
fn member_online(id: &AccountId, network: NetworkId);
fn members_offline(members: Vec<AccountId>);
fn is_shard_online(shard_id: ShardId) -> bool;
fn is_shard_member(account: &AccountId) -> bool;
fn shard_members(shard_id: ShardId) -> Vec<AccountId>;
fn shard_network(shard_id: ShardId) -> Option<NetworkId>;
fn create_shard(
network: NetworkId,
members: Vec<AccountId>,
threshold: u16,
) -> Result<ShardId, DispatchError>;
fn tss_public_key(shard_id: ShardId) -> Option<TssPublicKey>;
fn num_sessions(shard_id: ShardId) -> Option<u16>;
fn force_shard_offline(shard: ShardId);
}
Required Methods§
fn member_online(id: &AccountId, network: NetworkId)
fn members_offline(members: Vec<AccountId>)
fn is_shard_online(shard_id: ShardId) -> bool
fn is_shard_member(account: &AccountId) -> bool
fn shard_members(shard_id: ShardId) -> Vec<AccountId>
fn shard_network(shard_id: ShardId) -> Option<NetworkId>
fn create_shard( network: NetworkId, members: Vec<AccountId>, threshold: u16, ) -> Result<ShardId, DispatchError>
fn tss_public_key(shard_id: ShardId) -> Option<TssPublicKey>
fn num_sessions(shard_id: ShardId) -> Option<u16>
fn force_shard_offline(shard: ShardId)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.