Struct polkadot_runtime_common::crowdloan::pallet::Pallet [−][src]
pub struct Pallet<T>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
pub fn create(
origin: OriginFor<T>,
index: ParaId,
cap: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
first_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
last_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
end: T::BlockNumber,
verifier: Option<MultiSigner>
) -> DispatchResult
pub fn create(
origin: OriginFor<T>,
index: ParaId,
cap: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
first_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
last_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
end: T::BlockNumber,
verifier: Option<MultiSigner>
) -> DispatchResult
Create a new crowdloaning campaign for a parachain slot with the given lease period range.
This applies a lock to your parachain configuration, ensuring that it cannot be changed by the parachain manager.
pub fn contribute(
origin: OriginFor<T>,
index: ParaId,
value: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
signature: Option<MultiSignature>
) -> DispatchResult
pub fn contribute(
origin: OriginFor<T>,
index: ParaId,
value: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
signature: Option<MultiSignature>
) -> DispatchResult
Contribute to a crowd sale. This will transfer some balance over to fund a parachain slot. It will be withdrawable when the crowdloan has ended and the funds are unused.
Withdraw full balance of a specific contributor.
Origin must be signed, but can come from anyone.
The fund must be either in, or ready for, retirement. For a fund to be in retirement, then the retirement flag must be set. For a fund to be ready for retirement, then:
- it must not already be in retirement;
- the amount of raised funds must be bigger than the free balance of the account;
- and either:
- the block number must be at least
end
; or - the current lease period must be greater than the fund’s
last_period
.
- the block number must be at least
In this case, the fund’s retirement flag is set and its end
is reset to the current block
number.
who
: The account whose contribution should be withdrawn.index
: The parachain to whose crowdloan the contribution was made.
Automatically refund contributors of an ended crowdloan.
Due to weight restrictions, this function may need to be called multiple
times to fully refund all users. We will refund RemoveKeysLimit
users at a time.
Origin must be signed, but can come from anyone.
Remove a fund after the retirement period has ended and all funds have been returned.
pub fn edit(
origin: OriginFor<T>,
index: ParaId,
cap: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
first_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
last_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
end: T::BlockNumber,
verifier: Option<MultiSigner>
) -> DispatchResult
pub fn edit(
origin: OriginFor<T>,
index: ParaId,
cap: <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
first_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
last_period: <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod,
end: T::BlockNumber,
verifier: Option<MultiSigner>
) -> DispatchResult
Edit the configuration for an in-progress crowdloan.
Can only be called by Root origin.
Add an optional memo to an existing crowdloan contribution.
Origin must be Signed, and the user must have contributed to the crowdloan.
Poke the fund into NewRaise
Origin must be Signed, and the fund has non-zero raise.
pub fn funds<KArg>(
k: KArg
) -> Option<FundInfo<T::AccountId, <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber, <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod>> where
KArg: EncodeLike<ParaId>,
pub fn funds<KArg>(
k: KArg
) -> Option<FundInfo<T::AccountId, <<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::BlockNumber, <<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::LeasePeriod>> where
KArg: EncodeLike<ParaId>,
Info on all of the funds.
The number of auctions that have entered into their ending period so far.
Tracker for the next available trie index
The account ID of the fund pot.
This actually does computation. If you need to keep using it, then make sure you cache the value and only call this once.
pub fn contribution_put(
index: u32,
who: &T::AccountId,
balance: &<<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance,
memo: &[u8]
)
pub fn contribution_get(
index: u32,
who: &T::AccountId
) -> (<<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance, Vec<u8>)
pub fn contribution_iterator(
index: u32
) -> ChildTriePrefixIterator<(T::AccountId, (<<<T as Config>::Auctioneer as Auctioneer<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance, Vec<u8>))>
Trait Implementations
Get the benchmarks available for this pallet. Generally there is one benchmark per extrinsic, so these are sometimes just called “extrinsics”. Read more
fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32
) -> Result<Vec<BenchmarkResult>, BenchmarkError>
fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32
) -> Result<Vec<BenchmarkResult>, BenchmarkError>
Run the benchmarks for this pallet.
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
The block is being initialized. Implement to have something happen. Read more
The block is being finalized. Implement to have something happen.
This will be run when the block is being finalized (before on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read more
Perform a module upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being finalized.
Implement to have something happen in case there is leftover weight.
Check the passed remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Name of the Rust module containing the pallet.
Version of the crate containing the pallet.
Extend the given vector by all of the pallets’ information that this type represents. Read more
All of the pallets’ information that this type represents.
Auto Trait Implementations
impl<T> RefUnwindSafe for Pallet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Pallet<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Compare self to key
and return true
if they are equal.
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
Causes self
to use its Octal
implementation when Debug
-formatted.
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
Pipes by value. This is generally the method you want to use. Read more
Borrows self
and passes that borrow into the pipe function. Read more
Mutably borrows self
and passes that borrow into the pipe function. Read more
Borrows self
, then passes self.borrow()
into the pipe function. Read more
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
Borrows self
, then passes self.as_ref()
into the pipe function.
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
Borrows self
, then passes self.deref()
into the pipe function.
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.
Immutable access to the Borrow<B>
of a value. Read more
Mutable access to the BorrowMut<B>
of a value. Read more
Immutable access to the AsRef<R>
view of a value. Read more
Mutable access to the AsMut<R>
view of a value. Read more
Immutable access to the Deref::Target
of a value. Read more
Mutable access to the Deref::Target
of a value. Read more
Calls .tap()
only in debug builds, and is erased in release builds.
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_deref()
only in debug builds, and is erased in release
builds. Read more
Provides immutable access to the reference for inspection.
Calls tap_ref
in debug builds, and does nothing in release builds.
Provides mutable access to the reference for modification.
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
Provides immutable access to the borrow for inspection. Read more
Calls tap_borrow
in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
Immutably dereferences self
for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref
in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self
for modification.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more