Skip to main content

ParachainConfigBuilder

Struct ParachainConfigBuilder 

Source
pub struct ParachainConfigBuilder<S, C> { /* private fields */ }
Expand description

A parachain configuration builder, used to build a ParachainConfig declaratively with fields validation.

Implementations§

Source§

impl<A, C> ParachainConfigBuilder<A, C>

Source

pub fn with_post_process_script(self, script: impl Into<String>) -> Self

Set an optional post-process script to run after chain-spec generation for this parachain.

Source§

impl ParachainConfigBuilder<Initial, Bootstrap>

Source

pub fn new( validation_context: Rc<RefCell<ValidationContext>>, ) -> ParachainConfigBuilder<Initial, Bootstrap>

Instantiate a new builder that can be used to build a ParachainConfig during the bootstrap phase.

Source§

impl ParachainConfigBuilder<WithId, Bootstrap>

Source

pub fn with_registration_strategy(self, strategy: RegistrationStrategy) -> Self

Set the registration strategy for the parachain, could be Manual (no registered by zombienet) or automatic using an extrinsic or in genesis.

Source§

impl ParachainConfigBuilder<WithId, Running>

Source

pub fn with_registration_strategy(self, strategy: RegistrationStrategy) -> Self

Set the registration strategy for the parachain, could be Manual (no registered by zombienet) or automatic Using an extrinsic. Genesis option is not allowed in Running context.

Source§

impl ParachainConfigBuilder<Initial, Running>

Source

pub fn new_with_running( validation_context: Rc<RefCell<ValidationContext>>, ) -> ParachainConfigBuilder<Initial, Running>

Start a new builder in the context of a running network

Source§

impl<C: Context> ParachainConfigBuilder<Initial, C>

Source

pub fn with_id(self, id: u32) -> ParachainConfigBuilder<WithId, C>

Set the parachain ID and the unique_id (with the suffix <para_id>-x if the id is already used)

Source§

impl<C: Context> ParachainConfigBuilder<WithId, C>

Source

pub fn with_chain<T>(self, chain: T) -> Self
where T: TryInto<Chain>, T::Error: Error + Send + Sync + 'static,

Set the chain name (e.g. rococo-local). Use None, if you are running adder-collator or undying-collator).

Source

pub fn onboard_as_parachain(self, choice: bool) -> Self

Set whether the parachain should be onboarded or stay a parathread. Default is true.

Source

pub fn with_num_cores(self, cores: u32) -> Self

Set the number of cores to assign at genesis NOTE: 1 is the default

Source

pub fn with_initial_balance(self, initial_balance: u128) -> Self

Set the initial balance of the parachain account.

Source

pub fn with_default_command<T>(self, command: T) -> Self
where T: TryInto<Command>, T::Error: Error + Send + Sync + 'static,

Set the default command used for collators. Can be overridden.

Source

pub fn with_default_image<T>(self, image: T) -> Self
where T: TryInto<Image>, T::Error: Error + Send + Sync + 'static,

Set the default container image used for collators. Can be overridden.

Source

pub fn with_default_resources( self, f: impl FnOnce(ResourcesBuilder) -> ResourcesBuilder, ) -> Self

Set the default resources limits used for collators. Can be overridden.

Source

pub fn with_default_db_snapshot( self, location: impl Into<AssetLocation>, ) -> Self

Set the default database snapshot location that will be used for state. Can be overridden.

Source

pub fn with_default_args(self, args: Vec<Arg>) -> Self

Set the default arguments that will be used to execute the collator command. Can be overridden.

Source

pub fn with_genesis_wasm_path(self, location: impl Into<AssetLocation>) -> Self

Set the location of a pre-existing genesis WASM runtime blob of the parachain.

Source

pub fn with_genesis_wasm_generator<T>(self, command: T) -> Self
where T: TryInto<Command>, T::Error: Error + Send + Sync + 'static,

Set the generator command used to create the genesis WASM runtime blob of the parachain.

Source

pub fn with_genesis_state_path(self, location: impl Into<AssetLocation>) -> Self

Set the location of a pre-existing genesis state of the parachain.

Source

pub fn with_genesis_state_generator<T>(self, command: T) -> Self
where T: TryInto<CommandWithCustomArgs>, T::Error: Error + Send + Sync + 'static,

Set the generator command used to create the genesis state of the parachain.

Source

pub fn with_genesis_overrides(self, genesis_overrides: impl Into<Value>) -> Self

Set the genesis overrides as a JSON object.

Source

pub fn with_chain_spec_path(self, location: impl Into<AssetLocation>) -> Self

Set the location of a pre-existing chain specification for the parachain.

Source

pub fn with_chain_spec_command(self, cmd_template: impl Into<String>) -> Self

Set the chain-spec command template for the relay chain.

Source

pub fn with_chain_spec_runtime( self, location: impl Into<AssetLocation>, preset: Option<&str>, ) -> Self

Set the runtime path to use for generating the chain-spec and an optiona preset. If the preset is not set, we will try to match [local_testnet, development, dev] with the available ones and fallback to the default configuration as last option.

Source

pub fn with_wasm_override(self, location: impl Into<AssetLocation>) -> Self

Set the location of a wasm to override the chain-spec.

Source

pub fn chain_spec_command_is_local(self, choice: bool) -> Self

Set if the chain-spec command needs to be run locally or not (false by default)

Source

pub fn with_chain_spec_command_output_path(self, output_path: &str) -> Self

Set the output path for the chain-spec command.

Source

pub fn cumulus_based(self, choice: bool) -> Self

Set whether the parachain is based on cumulus (true in a majority of case, except adder or undying collators).

Source

pub fn evm_based(self, choice: bool) -> Self

Set whether the parachain is evm based (e.g frontier /evm template)

Source

pub fn with_raw_bootnodes_addresses<T>( self, bootnodes_addresses: Vec<T>, ) -> Self
where T: TryInto<Multiaddr> + Display + Copy, T::Error: Error + Send + Sync + 'static,

Set the bootnodes addresses the collators will connect to.

Note: Bootnode address replacements are NOT supported here. Only arguments (args) support dynamic replacements. Bootnode addresses must be a valid address.

Source

pub fn without_default_bootnodes(self) -> Self

Do not assign a bootnode role automatically if no nodes are marked as bootnodes.

Source

pub fn with_collator( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> ParachainConfigBuilder<WithAtLeastOneCollator, C>

Add a new collator using a nested NodeConfigBuilder.

Source

pub fn with_fullnode( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> ParachainConfigBuilder<WithAtLeastOneCollator, C>

Add a new full node using a nested NodeConfigBuilder. The node will be configured as a full node (non-validator).

Source

pub fn with_node( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> ParachainConfigBuilder<WithAtLeastOneCollator, C>

👎Deprecated since 0.4.0: Use with_collator() for collator nodes or with_fullnode() for full nodes instead

Add a new node using a nested NodeConfigBuilder.

Deprecated: Use [with_collator] for collator nodes or [with_fullnode] for full nodes instead.

Source

pub fn with_collator_group( self, f: impl FnOnce(GroupNodeConfigBuilder<Initial>) -> GroupNodeConfigBuilder<Buildable>, ) -> ParachainConfigBuilder<WithAtLeastOneCollator, C>

Add a new collator group using a nested GroupNodeConfigBuilder.

Source

pub fn with_raw_spec_override(self, overrides: impl Into<JsonOverrides>) -> Self

Set the location or inline value of json to override the raw chain-spec.

Source§

impl<C: Context> ParachainConfigBuilder<WithAtLeastOneCollator, C>

Source

pub fn with_collator( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> Self

Add a new collator using a nested NodeConfigBuilder.

Source

pub fn with_fullnode( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> Self

Add a new full node using a nested NodeConfigBuilder. The node will be configured as a full node (non-validator).

Source

pub fn with_node( self, f: impl FnOnce(NodeConfigBuilder<Initial>) -> NodeConfigBuilder<Buildable>, ) -> Self

👎Deprecated since 0.4.0: Use with_collator() for collator nodes or with_fullnode() for full nodes instead

Add a new node using a nested NodeConfigBuilder.

Deprecated: Use [with_collator] for collator nodes or [with_fullnode] for full nodes instead.

Source

pub fn with_collator_group( self, f: impl FnOnce(GroupNodeConfigBuilder<Initial>) -> GroupNodeConfigBuilder<Buildable>, ) -> Self

Add a new collator group using a nested GroupNodeConfigBuilder.

Source

pub fn build(self) -> Result<ParachainConfig, Vec<Error>>

Seals the builder and returns a ParachainConfig if there are no validation errors, else returns errors.

Trait Implementations§

Source§

impl<C: Context> Default for ParachainConfigBuilder<Initial, C>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<S, C> Freeze for ParachainConfigBuilder<S, C>

§

impl<S, C> !RefUnwindSafe for ParachainConfigBuilder<S, C>

§

impl<S, C> !Send for ParachainConfigBuilder<S, C>

§

impl<S, C> !Sync for ParachainConfigBuilder<S, C>

§

impl<S, C> Unpin for ParachainConfigBuilder<S, C>
where S: Unpin, C: Unpin,

§

impl<S, C> UnsafeUnpin for ParachainConfigBuilder<S, C>

§

impl<S, C> !UnwindSafe for ParachainConfigBuilder<S, C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> JsonSchemaMaybe for T