Enum pallet_bitcoin_vaults::pallet::Call
source · pub enum Call<T: Config> {
Show 17 variants
set_xpub {
xpub: BoundedVec<u8, T::XPubLen>,
},
remove_xpub {},
create_vault {
threshold: u32,
description: BoundedVec<u8, T::VaultDescriptionMaxLen>,
include_owner_as_cosigner: bool,
cosigners: BoundedVec<T::AccountId, T::MaxCosignersPerVault>,
},
remove_vault {
vault_id: [u8; 32],
},
propose {
vault_id: [u8; 32],
recipient_address: BoundedVec<u8, T::XPubLen>,
amount_in_sats: u64,
description: BoundedVec<u8, T::VaultDescriptionMaxLen>,
},
remove_proposal {
proposal_id: [u8; 32],
},
set_bdk_url {
new_url: BoundedVec<u8, ConstU32<32>>,
},
save_psbt {
proposal_id: [u8; 32],
signature_payload: BoundedVec<u8, T::PSBTMaxLen>,
},
finalize_psbt {
proposal_id: [u8; 32],
broadcast: bool,
},
broadcast_psbt {
proposal_id: [u8; 32],
},
create_proof {
vault_id: [u8; 32],
message: Description<T>,
psbt: PSBT<T>,
},
save_proof_psbt {
vault_id: [u8; 32],
psbt: PSBT<T>,
},
finalize_proof {
vault_id: [u8; 32],
psbt: PSBT<T>,
},
kill_storage {},
ocw_insert_descriptors {
payload: VaultsPayload<T::Public>,
signature: T::Signature,
},
ocw_insert_psbts {
payload: ProposalsPayload<T::Public>,
signature: T::Signature,
},
ocw_finalize_psbts {
payload: ProposalsPayload<T::Public>,
signature: T::Signature,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
set_xpub
XPub insertion
This extrinsic inserts a user-defined xpub as well as in the pallet storage.
Parameters:
xpub
: Extended public key, it can be sent with or without fingerprint/derivation path
Considerations
- The origin must be Signed and the sender must have sufficient funds free for the transaction fee.
- This extrinsic cannot handle a xpub update (yet). if it needs to be updated, remove it first and insert a new one.
remove_xpub
Fields
Xpub removal
Removes the linked xpub from the account which signs the transaction. The xpub will be removed from both the pallet storage and identity registration.
This tx does not takes any parameters.
create_vault
Fields
description: BoundedVec<u8, T::VaultDescriptionMaxLen>
cosigners: BoundedVec<T::AccountId, T::MaxCosignersPerVault>
Vault insertion
Inserts the vault on chain. Meant to be used by an offchain worker.
Parameters:
threshold
: The number of signatures needed for a proposal to be approved/finalizeddescription
: A small definition. What will the vault be used for?include_owner_as_cosigner
: Add automatically the owner as cosignercosigners
: The other accounts that will participate in vault proposals.
Considerations
- Do not include the vault owner on the
cosigners
list.
remove_vault
Vault removal
Tries to remove vault and all its proposals, only the owner can call this extrinsic.
Parameters:
vault_id
: the vault to be removed with all its proposals
Considerations:
- Only the vault owner can perform this extrinsic
propose
Fields
description: BoundedVec<u8, T::VaultDescriptionMaxLen>
Vault transaction proposal
Inserts a proposal on the specified vault.
Parameters:
vault_id
: the vault identifier in which the proposal will be insertedrecipient_address
: Mainnet address to which the funds will be sendamount_in_sats
: Amount to send in satoshis.description
: The reason for the proposal, why do you are proposing this?.
Considerations
- Please ensure the recipient address is a valid mainnet address.
remove_proposal
Proposal removal
Tries to remove a specified proposal. Only the user who created the proposal can remove it.
Parameters:
proposal_id
: the proposal identifier
set_bdk_url
BDK URL insertion
Changes the BDK-services endpoint, useful for pointing to the btc mainnet or testnet
Parameters:
new_url
: The new endpoint to which all the bdk related requests will be sent.
Considerations
- Ensure the new url is valid.
- The url has a maximum length of 32 bytes
save_psbt
PSBT signature insertion
Stores the signature for a PSBT proposal
Parameters:
proposal_id
: the proposal identifiersignature_payload
: a blob of psbt bytes, resulting from a external wallet
Considerations
- If successful, this process cannot be undone
- A user can only sign a proposal once
finalize_psbt
Finalize PSBT
Queries a proposal to be finalized generating a tx_id in the process, it can also be broadcasted if specified.
Parameters:
proposal_id
: the proposal identifierbroadcast
: A boolean flag
Considerations
- If successful, this process cannot be undone
- The proposal must have a valid PSBT
- Any vault member can perform this extrinsic
broadcast_psbt
Broadcast PSBT
Queries a proposal to be broadcasted in case it wasn’t on the finalization step.
Parameters:
proposal_id
: the vault identifier in which the proposal will be inserted
Considerations
- If successful, this process cannot be undone
- The proposal must be finalized already
- Any vault member can perform this extrinsic
create_proof
Create Proof of Reserve
Stores a PoR for a defined vault.
Parameters:
vault_id
: the vault identifier in which the proof will be insertedmessage
: the message to be taken into account to generate the PoR PSBTpsbt
: the psbt generated from bdk
Considerations:
- Any vault member can perform this extrinsic
- A vault can only have a PoR at a time.
save_proof_psbt
Save Proof of reserve PSBT
Updates the PoR with a new PSBT
Parameters
vault_id
: the vault identifier in which the proof ispsbt
: the new psbt to insert, the signer will be linked to it.
Considerations:
- Any vault member can perform this extrinsic
- A vault signer can only sabe its PSBT once.
finalize_proof
Finalize proof of reserve
Updates the PoR with the final PSBT
Parameters
vault_id
: the vault identifier in which the proof ispsbt
: the new psbt to insert, the signer will be linked to it.
Considerations:
- Any vault member can perform this extrinsic
- A vault signer can only sabe its PSBT once.
kill_storage
Fields
Kill almost all storage
Use with caution!
Can only be called by root and removes All vaults and proposals
ocw_insert_descriptors
Extrinsic to insert a valid vault descriptor
Meant to be unsigned with signed payload and used by an offchain worker
ocw_insert_psbts
Extrinsic to insert a valid proposal PSBT
Meant to be unsigned with signed payload and used by an offchain worker
ocw_finalize_psbts
Extrinsic to insert a valid proposal TX_ID
Meant to be unsigned with signed payload and used by an offchain worker
Implementations§
source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
sourcepub fn new_call_variant_set_xpub(xpub: BoundedVec<u8, T::XPubLen>) -> Self
pub fn new_call_variant_set_xpub(xpub: BoundedVec<u8, T::XPubLen>) -> Self
Create a call with the variant set_xpub
.
sourcepub fn new_call_variant_remove_xpub() -> Self
pub fn new_call_variant_remove_xpub() -> Self
Create a call with the variant remove_xpub
.
sourcepub fn new_call_variant_create_vault(
threshold: u32,
description: BoundedVec<u8, T::VaultDescriptionMaxLen>,
include_owner_as_cosigner: bool,
cosigners: BoundedVec<T::AccountId, T::MaxCosignersPerVault>
) -> Self
pub fn new_call_variant_create_vault( threshold: u32, description: BoundedVec<u8, T::VaultDescriptionMaxLen>, include_owner_as_cosigner: bool, cosigners: BoundedVec<T::AccountId, T::MaxCosignersPerVault> ) -> Self
Create a call with the variant create_vault
.
sourcepub fn new_call_variant_remove_vault(vault_id: [u8; 32]) -> Self
pub fn new_call_variant_remove_vault(vault_id: [u8; 32]) -> Self
Create a call with the variant remove_vault
.
sourcepub fn new_call_variant_propose(
vault_id: [u8; 32],
recipient_address: BoundedVec<u8, T::XPubLen>,
amount_in_sats: u64,
description: BoundedVec<u8, T::VaultDescriptionMaxLen>
) -> Self
pub fn new_call_variant_propose( vault_id: [u8; 32], recipient_address: BoundedVec<u8, T::XPubLen>, amount_in_sats: u64, description: BoundedVec<u8, T::VaultDescriptionMaxLen> ) -> Self
Create a call with the variant propose
.
sourcepub fn new_call_variant_remove_proposal(proposal_id: [u8; 32]) -> Self
pub fn new_call_variant_remove_proposal(proposal_id: [u8; 32]) -> Self
Create a call with the variant remove_proposal
.
sourcepub fn new_call_variant_set_bdk_url(
new_url: BoundedVec<u8, ConstU32<32>>
) -> Self
pub fn new_call_variant_set_bdk_url( new_url: BoundedVec<u8, ConstU32<32>> ) -> Self
Create a call with the variant set_bdk_url
.
sourcepub fn new_call_variant_save_psbt(
proposal_id: [u8; 32],
signature_payload: BoundedVec<u8, T::PSBTMaxLen>
) -> Self
pub fn new_call_variant_save_psbt( proposal_id: [u8; 32], signature_payload: BoundedVec<u8, T::PSBTMaxLen> ) -> Self
Create a call with the variant save_psbt
.
sourcepub fn new_call_variant_finalize_psbt(
proposal_id: [u8; 32],
broadcast: bool
) -> Self
pub fn new_call_variant_finalize_psbt( proposal_id: [u8; 32], broadcast: bool ) -> Self
Create a call with the variant finalize_psbt
.
sourcepub fn new_call_variant_broadcast_psbt(proposal_id: [u8; 32]) -> Self
pub fn new_call_variant_broadcast_psbt(proposal_id: [u8; 32]) -> Self
Create a call with the variant broadcast_psbt
.
sourcepub fn new_call_variant_create_proof(
vault_id: [u8; 32],
message: Description<T>,
psbt: PSBT<T>
) -> Self
pub fn new_call_variant_create_proof( vault_id: [u8; 32], message: Description<T>, psbt: PSBT<T> ) -> Self
Create a call with the variant create_proof
.
sourcepub fn new_call_variant_save_proof_psbt(
vault_id: [u8; 32],
psbt: PSBT<T>
) -> Self
pub fn new_call_variant_save_proof_psbt( vault_id: [u8; 32], psbt: PSBT<T> ) -> Self
Create a call with the variant save_proof_psbt
.
sourcepub fn new_call_variant_finalize_proof(
vault_id: [u8; 32],
psbt: PSBT<T>
) -> Self
pub fn new_call_variant_finalize_proof( vault_id: [u8; 32], psbt: PSBT<T> ) -> Self
Create a call with the variant finalize_proof
.
sourcepub fn new_call_variant_kill_storage() -> Self
pub fn new_call_variant_kill_storage() -> Self
Create a call with the variant kill_storage
.
sourcepub fn new_call_variant_ocw_insert_descriptors(
payload: VaultsPayload<T::Public>,
signature: T::Signature
) -> Self
pub fn new_call_variant_ocw_insert_descriptors( payload: VaultsPayload<T::Public>, signature: T::Signature ) -> Self
Create a call with the variant ocw_insert_descriptors
.
sourcepub fn new_call_variant_ocw_insert_psbts(
payload: ProposalsPayload<T::Public>,
signature: T::Signature
) -> Self
pub fn new_call_variant_ocw_insert_psbts( payload: ProposalsPayload<T::Public>, signature: T::Signature ) -> Self
Create a call with the variant ocw_insert_psbts
.
sourcepub fn new_call_variant_ocw_finalize_psbts(
payload: ProposalsPayload<T::Public>,
signature: T::Signature
) -> Self
pub fn new_call_variant_ocw_finalize_psbts( payload: ProposalsPayload<T::Public>, signature: T::Signature ) -> Self
Create a call with the variant ocw_finalize_psbts
.
Trait Implementations§
source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
frame_support::dispatch
source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read moresource§impl<T: Config> PartialEq<Call<T>> for Call<T>
impl<T: Config> PartialEq<Call<T>> for Call<T>
source§impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
BoundedVec<u8, T::XPubLen>: TypeInfo + 'static,
BoundedVec<u8, T::VaultDescriptionMaxLen>: TypeInfo + 'static,
BoundedVec<T::AccountId, T::MaxCosignersPerVault>: TypeInfo + 'static,
BoundedVec<u8, T::PSBTMaxLen>: TypeInfo + 'static,
Description<T>: TypeInfo + 'static,
PSBT<T>: TypeInfo + 'static,
VaultsPayload<T::Public>: TypeInfo + 'static,
T::Signature: TypeInfo + 'static,
ProposalsPayload<T::Public>: TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for Call<T>where PhantomData<(T,)>: TypeInfo + 'static, BoundedVec<u8, T::XPubLen>: TypeInfo + 'static, BoundedVec<u8, T::VaultDescriptionMaxLen>: TypeInfo + 'static, BoundedVec<T::AccountId, T::MaxCosignersPerVault>: TypeInfo + 'static, BoundedVec<u8, T::PSBTMaxLen>: TypeInfo + 'static, Description<T>: TypeInfo + 'static, PSBT<T>: TypeInfo + 'static, VaultsPayload<T::Public>: TypeInfo + 'static, T::Signature: TypeInfo + 'static, ProposalsPayload<T::Public>: TypeInfo + 'static, T: Config + 'static,
source§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
§type RuntimeOrigin = <T as Config>::RuntimeOrigin
type RuntimeOrigin = <T as Config>::RuntimeOrigin
frame_system::Config::RuntimeOrigin
).source§fn dispatch_bypass_filter(
self,
origin: Self::RuntimeOrigin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin ) -> DispatchResultWithPostInfo
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where T: RefUnwindSafe, <T as Config>::AccountId: RefUnwindSafe, <T as Config>::MaxCosignersPerVault: RefUnwindSafe, <T as Config>::PSBTMaxLen: RefUnwindSafe, <T as SigningTypes>::Public: RefUnwindSafe, <T as SigningTypes>::Signature: RefUnwindSafe, <T as Config>::VaultDescriptionMaxLen: RefUnwindSafe, <T as Config>::XPubLen: RefUnwindSafe,
impl<T> Send for Call<T>where T: Send, <T as Config>::MaxCosignersPerVault: Send, <T as Config>::PSBTMaxLen: Send, <T as SigningTypes>::Public: Send, <T as SigningTypes>::Signature: Send, <T as Config>::VaultDescriptionMaxLen: Send, <T as Config>::XPubLen: Send,
impl<T> Sync for Call<T>where T: Sync, <T as Config>::MaxCosignersPerVault: Sync, <T as Config>::PSBTMaxLen: Sync, <T as SigningTypes>::Public: Sync, <T as SigningTypes>::Signature: Sync, <T as Config>::VaultDescriptionMaxLen: Sync, <T as Config>::XPubLen: Sync,
impl<T> Unpin for Call<T>where T: Unpin, <T as Config>::AccountId: Unpin, <T as Config>::MaxCosignersPerVault: Unpin, <T as Config>::PSBTMaxLen: Unpin, <T as SigningTypes>::Public: Unpin, <T as SigningTypes>::Signature: Unpin, <T as Config>::VaultDescriptionMaxLen: Unpin, <T as Config>::XPubLen: Unpin,
impl<T> UnwindSafe for Call<T>where T: UnwindSafe, <T as Config>::AccountId: UnwindSafe, <T as Config>::MaxCosignersPerVault: UnwindSafe, <T as Config>::PSBTMaxLen: UnwindSafe, <T as SigningTypes>::Public: UnwindSafe, <T as SigningTypes>::Signature: UnwindSafe, <T as Config>::VaultDescriptionMaxLen: UnwindSafe, <T as Config>::XPubLen: UnwindSafe,
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
§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
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.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,
§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
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> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§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
.