Struct provwasm_std::ProvenanceQuerier [−][src]
pub struct ProvenanceQuerier<'a> { /* fields omitted */ }Expand description
A type for simplifying provenance custom queries.
Implementations
Creates a new provenance querier
Resolve the address for a name.
Example
// Imports required use cosmwasm_std::{Deps, QueryResponse, StdResult}; use provwasm_std::{Name, ProvenanceQuerier}; // Resolve the address for a name. fn query_resolve_name(deps: Deps, name: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let name: Name = querier.resolve_name(&name)?; // Do something with name.address ... todo!() }
Lookup all names bound to the given address.
Example
// Imports required use cosmwasm_std::{Addr, Deps, QueryResponse, StdResult}; use provwasm_std::{Names, ProvenanceQuerier}; // Lookup all names bound to an address. fn query_lookup_names(deps: Deps, address: Addr) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let names: Names = querier.lookup_names(address)?; // Do something with names.records ... todo!() }
pub fn get_attributes<H: Into<Addr>, S: Into<String>>(
&self,
address: H,
name: Option<S>
) -> StdResult<Attributes>
pub fn get_attributes<H: Into<Addr>, S: Into<String>>(
&self,
address: H,
name: Option<S>
) -> StdResult<Attributes>
Get attributes for an account. If the name parameter is None, all attributes are returned.
Example
// Imports required use cosmwasm_std::{Addr, Deps, QueryResponse, StdResult}; use provwasm_std::{Attributes, ProvenanceQuerier}; // Query all attributes added to an account. pub fn try_query_attributes(deps: Deps, address: Addr) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let none: Option<String> = None; let res: Attributes = querier.get_attributes(address, none)?; // Do something with res.attributes ... todo!() }
pub fn get_json_attributes<H: Into<Addr>, S: Into<String>, T: DeserializeOwned>(
&self,
address: H,
name: S
) -> StdResult<Vec<T>>
pub fn get_json_attributes<H: Into<Addr>, S: Into<String>, T: DeserializeOwned>(
&self,
address: H,
name: S
) -> StdResult<Vec<T>>
Get named JSON attributes from an account and deserialize the values. Attribute values with the same name must be able to be deserialized to the same type.
Example
// Imports required use cosmwasm_std::{Addr, Deps, QueryResponse, StdResult}; use provwasm_std::ProvenanceQuerier; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; // Query all label attributes added to an account. pub fn query_labels(deps: Deps, address: Addr) -> StdResult<QueryResponse> { let attr_name = String::from("label.my-contract.sc.pb"); let querier = ProvenanceQuerier::new(&deps.querier); let labels: Vec<Label> = querier.get_json_attributes(address, &attr_name)?; // Do something with labels... todo!() } // Text with timestamp. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct Label { pub text: String, pub timestamp: u64, }
Get a marker by address.
Example
// Imports required use provwasm_std::{ProvenanceQuerier, Marker}; use cosmwasm_std::{Addr, Deps, QueryResponse, StdResult}; // Query a marker by address. fn try_get_marker_by_address(deps: Deps, address: Addr) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let marker: Marker = querier.get_marker_by_address(address)?; // Do something with marker ... todo!() }
Get a marker by denomination.
Example
// Imports required use cosmwasm_std::{Deps, QueryResponse, StdResult}; use provwasm_std::{ProvenanceQuerier, Marker}; // Query a marker by denom. fn try_get_marker_by_denom(deps: Deps, denom: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let marker: Marker = querier.get_marker_by_denom(&denom)?; // Do something with marker ... todo!() }
Get a scope by metadata ID (bech32 address string).
Example
// Imports required use provwasm_std::{ProvenanceQuerier, Scope}; use cosmwasm_std::{Deps, QueryResponse, StdResult}; // Query a scope by id. fn try_get_scope(deps: Deps, scope_id: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let scope: Scope = querier.get_scope(scope_id)?; // Do something with scope ... todo!() }
Get all scope sessions.
Example
// Imports required use provwasm_std::{ProvenanceQuerier, Sessions}; use cosmwasm_std::{Deps, QueryResponse, StdResult}; // Query all sessions for a scope. fn try_get_sessions(deps: Deps, scope_id: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let res: Sessions = querier.get_sessions(scope_id)?; // Do something with res.sessions ... todo!() }
Get all scope records.
Example
// Imports required use provwasm_std::{ProvenanceQuerier, Records}; use cosmwasm_std::{Deps, QueryResponse, StdResult}; // Query all records for a scope. fn try_get_records(deps: Deps, scope_id: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let res: Records = querier.get_records(scope_id)?; // Do something with res.records ... todo!() }
Get a scope record with the given name.
Example
// Imports required use provwasm_std::{ProvenanceQuerier, Record}; use cosmwasm_std::{Deps, QueryResponse, StdResult}; // Query a loan record for a scope. fn try_get_loan_record(deps: Deps, scope_id: String) -> StdResult<QueryResponse> { let querier = ProvenanceQuerier::new(&deps.querier); let record: Record = querier.get_record_by_name(scope_id, "loan")?; // Do something with record ... todo!() }
Auto Trait Implementations
impl<'a> !RefUnwindSafe for ProvenanceQuerier<'a>
impl<'a> !Send for ProvenanceQuerier<'a>
impl<'a> !Sync for ProvenanceQuerier<'a>
impl<'a> Unpin for ProvenanceQuerier<'a>
impl<'a> !UnwindSafe for ProvenanceQuerier<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
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,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self to use its Display implementation when
Debug-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self to use its LowerExp implementation when
Debug-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self to use its LowerHex implementation when
Debug-formatted. Read more
Causes 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,
Causes self to use its Pointer implementation when
Debug-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self to use its UpperExp implementation when
Debug-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self to use its UpperHex implementation when
Debug-formatted. Read more
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_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable 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_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable 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
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
Pipes a mutable 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
type Output = T
type Output = T
Should always be Self
Provides immutable access for inspection. Read more
Calls tap in debug builds, and does nothing in release builds.
Provides mutable access for modification. Read more
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Calls tap_mut in debug builds, and does nothing in release builds.
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
Provides immutable access to the reference for inspection.
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Calls tap_ref in debug builds, and does nothing in release builds.
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the reference for modification.
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_ref_mut in debug builds, and does nothing in release builds.
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the borrow for inspection. Read more
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
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.
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_borrow_mut in debug builds, and does nothing in release
builds. Read more
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.
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Calls tap_deref_mut in debug builds, and does nothing in release
builds. Read more