pub struct Pallet<T>(_);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn withdraw_rewards(
origin: OriginFor<T>,
vault_id: VaultId<<T as Config>::AccountId, CurrencyId<T>>,
index: Option<T::Nonce>
) -> DispatchResultWithPostInfo
pub fn withdraw_rewards( origin: OriginFor<T>, vault_id: VaultId<<T as Config>::AccountId, CurrencyId<T>>, index: Option<T::Nonce> ) -> DispatchResultWithPostInfo
Withdraw all rewards from the origin
account in the vault_id
staking pool.
Arguments
origin
- signing account
sourcepub fn set_issue_fee(
origin: OriginFor<T>,
fee: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_issue_fee( origin: OriginFor<T>, fee: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
Changes the issue fee percentage (only executable by the Root account)
Arguments
origin
- signing accountfee
- the new fee
sourcepub fn set_issue_griefing_collateral(
origin: OriginFor<T>,
griefing_collateral: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_issue_griefing_collateral( origin: OriginFor<T>, griefing_collateral: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
Changes the issue griefing collateral percentage (only executable by the Root account)
Arguments
origin
- signing accountgriefing_collateral
- the new griefing collateral
sourcepub fn set_redeem_fee(
origin: OriginFor<T>,
fee: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_redeem_fee( origin: OriginFor<T>, fee: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
Changes the redeem fee percentage (only executable by the Root account)
Arguments
origin
- signing accountfee
- the new fee
Changes the premium redeem fee percentage (only executable by the Root account)
Arguments
origin
- signing accountfee
- the new fee
sourcepub fn set_punishment_fee(
origin: OriginFor<T>,
fee: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_punishment_fee( origin: OriginFor<T>, fee: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
Changes the punishment fee percentage (only executable by the Root account)
Arguments
origin
- signing accountfee
- the new fee
sourcepub fn set_replace_griefing_collateral(
origin: OriginFor<T>,
griefing_collateral: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_replace_griefing_collateral( origin: OriginFor<T>, griefing_collateral: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
Changes the replace griefing collateral percentage (only executable by the Root account)
Arguments
origin
- signing accountgriefing_collateral
- the new griefing collateral
sourcepub fn set_commission(
origin: OriginFor<T>,
currencies: VaultCurrencyPair<CurrencyId<T>>,
commission: UnsignedFixedPoint<T>
) -> DispatchResultWithPostInfo
pub fn set_commission( origin: OriginFor<T>, currencies: VaultCurrencyPair<CurrencyId<T>>, commission: UnsignedFixedPoint<T> ) -> DispatchResultWithPostInfo
todo: proper weight
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn issue_fee() -> UnsignedFixedPoint<T>
pub fn issue_fee() -> UnsignedFixedPoint<T>
An auto-generated getter for IssueFee
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn issue_griefing_collateral() -> UnsignedFixedPoint<T>
pub fn issue_griefing_collateral() -> UnsignedFixedPoint<T>
An auto-generated getter for IssueGriefingCollateral
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn redeem_fee() -> UnsignedFixedPoint<T>
pub fn redeem_fee() -> UnsignedFixedPoint<T>
An auto-generated getter for RedeemFee
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
An auto-generated getter for PremiumRedeemFee
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn punishment_fee() -> UnsignedFixedPoint<T>
pub fn punishment_fee() -> UnsignedFixedPoint<T>
An auto-generated getter for PunishmentFee
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn replace_griefing_collateral() -> UnsignedFixedPoint<T>
pub fn replace_griefing_collateral() -> UnsignedFixedPoint<T>
An auto-generated getter for ReplaceGriefingCollateral
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn storage_version() -> Version
pub fn storage_version() -> Version
“ Build storage at V1 (requires default 0).“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn fee_pool_account_id() -> T::AccountId
pub fn fee_pool_account_id() -> T::AccountId
The account ID of the fee pool.
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 get_max_expected_value() -> UnsignedFixedPoint<T>
sourcepub fn distribute_rewards(amount: &Amount<T>) -> DispatchResult
pub fn distribute_rewards(amount: &Amount<T>) -> DispatchResult
sourcepub fn get_issue_fee(amount: &Amount<T>) -> Result<Amount<T>, DispatchError>
pub fn get_issue_fee(amount: &Amount<T>) -> Result<Amount<T>, DispatchError>
sourcepub fn get_issue_griefing_collateral(
amount: &Amount<T>
) -> Result<Amount<T>, DispatchError>
pub fn get_issue_griefing_collateral( amount: &Amount<T> ) -> Result<Amount<T>, DispatchError>
Calculate the required issue griefing collateral.
Arguments
amount
- issue amount in collateral (at current exchange rate)
sourcepub fn get_redeem_fee(amount: &Amount<T>) -> Result<Amount<T>, DispatchError>
pub fn get_redeem_fee(amount: &Amount<T>) -> Result<Amount<T>, DispatchError>
Calculate the required redeem fee in tokens. Upon execution, the rewards should be forwarded to the fee pool instead of being burned.
Arguments
amount
- redeem amount in tokens
Calculate the premium redeem fee in collateral for a user to get if redeeming with a Vault below the premium redeem threshold.
Arguments
amount
- amount in collateral (at current exchange rate)
sourcepub fn get_redeem_fee_value() -> UnsignedFixedPoint<T>
pub fn get_redeem_fee_value() -> UnsignedFixedPoint<T>
sourcepub fn get_punishment_fee(
amount: &Amount<T>
) -> Result<Amount<T>, DispatchError>
pub fn get_punishment_fee( amount: &Amount<T> ) -> Result<Amount<T>, DispatchError>
Calculate punishment fee for a Vault that fails to execute a redeem request before the expiry.
Arguments
amount
- amount in collateral (at current exchange rate)
sourcepub fn get_replace_griefing_collateral(
amount: &Amount<T>
) -> Result<Amount<T>, DispatchError>
pub fn get_replace_griefing_collateral( amount: &Amount<T> ) -> Result<Amount<T>, DispatchError>
Calculate the required replace griefing collateral.
Arguments
amount
- replace amount in collateral (at current exchange rate)
pub fn compute_vault_rewards( vault_id: &VaultId<<T as Config>::AccountId, CurrencyId<T>>, nominator_id: &T::AccountId, currency_id: CurrencyId<T> ) -> Result<Amount<T>, DispatchError>
pub fn distribute_all_vault_rewards( vault_id: &VaultId<<T as Config>::AccountId, CurrencyId<T>> ) -> DispatchResult
pub fn distribute_vault_rewards( vault_id: &VaultId<<T as Config>::AccountId, CurrencyId<T>>, currency_id: CurrencyId<T> ) -> DispatchResult
Trait Implementations§
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
§type CurrentStorageVersion = NoStorageVersionSet
type CurrentStorageVersion = NoStorageVersionSet
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
on_finalize
). Read more§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§fn integrity_test()
fn integrity_test()
source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§impl<T: Config> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T> Eq for Pallet<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,
impl<T> Send for Pallet<T>where T: Send,
impl<T> Sync for Pallet<T>where T: Sync,
impl<T> Unpin for Pallet<T>where T: Unpin,
impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,
Blanket Implementations§
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> Conv for T
impl<T> Conv for T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
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) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
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) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
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) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.