pub struct IcpFeatures {
pub registry: Option<IcpFeaturesConfig>,
pub cycles_minting: Option<IcpFeaturesConfig>,
pub icp_token: Option<IcpFeaturesConfig>,
pub cycles_token: Option<IcpFeaturesConfig>,
pub nns_governance: Option<IcpFeaturesConfig>,
pub sns: Option<IcpFeaturesConfig>,
pub ii: Option<IcpFeaturesConfig>,
pub nns_ui: Option<IcpFeaturesConfig>,
pub bitcoin: Option<IcpFeaturesConfig>,
pub dogecoin: Option<IcpFeaturesConfig>,
pub canister_migration: Option<IcpFeaturesConfig>,
}Expand description
Specifies ICP features enabled by deploying their corresponding system canisters
when creating a PocketIC instance and keeping them up to date
during the PocketIC instance lifetime.
The subnets to which the corresponding system canisters are deployed must be empty,
i.e., their corresponding field in ExtendedSubnetConfigSet must be None
or Some(config) with config.state_config = SubnetStateConfig::New.
An ICP feature is enabled if its IcpFeaturesConfig is provided, i.e.,
if the corresponding field is not None.
Fields§
§registry: Option<IcpFeaturesConfig>Deploys the NNS registry canister and keeps its content in sync with registry used internally by PocketIC. Subnets: NNS.
cycles_minting: Option<IcpFeaturesConfig>Deploys the NNS cycles minting canister, sets ICP/XDR conversion rate, and keeps its subnet lists in sync with PocketIC topology.
If the cycles_minting feature is enabled, then the default timestamp of a PocketIC instance is set to 10 May 2021 10:00:01 AM CEST (the smallest value that is strictly larger than the default timestamp hard-coded in the CMC state).
Subnets: NNS.
icp_token: Option<IcpFeaturesConfig>Deploys the ICP ledger and index canisters and initializes the ICP account of the anonymous principal with 1,000,000,000 ICP. Subnets: NNS.
cycles_token: Option<IcpFeaturesConfig>Deploys the cycles ledger and index canisters and initializes the cycles account of the anonymous principal with 2^127 cycles. Subnets: II.
nns_governance: Option<IcpFeaturesConfig>Deploys the NNS governance and root canisters and sets up an initial NNS neuron with 1 ICP stake. The initial NNS neuron is controlled by the anonymous principal. Subnets: NNS.
sns: Option<IcpFeaturesConfig>Deploys the SNS-W and aggregator canisters, sets up the SNS subnet list in the SNS-W canister according to PocketIC topology, and uploads the SNS canister WASMs to the SNS-W canister. Subnets: NNS, SNS.
ii: Option<IcpFeaturesConfig>Deploys the Internet Identity canister. Subnets: II.
nns_ui: Option<IcpFeaturesConfig>Deploys the NNS frontend dapp. The HTTP gateway must be specified via http_gateway_config in InstanceConfig
and the ICP features cycles_minting, icp_token, nns_governance, sns, ii must all be enabled.
Subnets: NNS.
bitcoin: Option<IcpFeaturesConfig>Deploys the Bitcoin canister under the testnet canister ID g4xu7-jiaaa-aaaan-aaaaq-cai and configured for the regtest network.
Subnets: Bitcoin.
dogecoin: Option<IcpFeaturesConfig>Deploys the Dogecoin canister under the mainnet canister ID gordg-fyaaa-aaaan-aaadq-cai and configured for the regtest network.
Subnets: Bitcoin.
canister_migration: Option<IcpFeaturesConfig>Deploys the canister migration orchestrator canister. Subnets: NNS.
Trait Implementations§
Source§impl Clone for IcpFeatures
impl Clone for IcpFeatures
Source§fn clone(&self) -> IcpFeatures
fn clone(&self) -> IcpFeatures
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IcpFeatures
impl Debug for IcpFeatures
Source§impl Default for IcpFeatures
impl Default for IcpFeatures
Source§fn default() -> IcpFeatures
fn default() -> IcpFeatures
Source§impl<'de> Deserialize<'de> for IcpFeatures
impl<'de> Deserialize<'de> for IcpFeatures
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<IcpFeatures, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<IcpFeatures, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for IcpFeatures
Source§impl Hash for IcpFeatures
impl Hash for IcpFeatures
Source§impl JsonSchema for IcpFeatures
impl JsonSchema for IcpFeatures
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for IcpFeatures
impl PartialEq for IcpFeatures
Source§impl Serialize for IcpFeatures
impl Serialize for IcpFeatures
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,
impl StructuralPartialEq for IcpFeatures
Auto Trait Implementations§
impl Freeze for IcpFeatures
impl RefUnwindSafe for IcpFeatures
impl Send for IcpFeatures
impl Sync for IcpFeatures
impl Unpin for IcpFeatures
impl UnsafeUnpin for IcpFeatures
impl UnwindSafe for IcpFeatures
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.