pub struct BaseGroupAvatar {
pub address: Address,
pub info: AvatarInfo,
pub core: Arc<Core>,
pub runner: Option<Arc<dyn ContractRunner>>,
pub common: CommonAvatar,
}Expand description
Top-level avatar enum variant: base group.
Fields§
§address: AddressAvatar address on-chain.
info: AvatarInfoRPC-derived avatar metadata.
core: Arc<Core>Shared contract bundle and configuration.
runner: Option<Arc<dyn ContractRunner>>Optional runner used for write-capable flows.
common: CommonAvatarShared read/write helper implementation.
Implementations§
Source§impl BaseGroupAvatar
impl BaseGroupAvatar
Sourcepub async fn balances(
&self,
as_time_circles: bool,
use_v2: bool,
) -> Result<Vec<TokenBalanceResponse>, SdkError>
pub async fn balances( &self, as_time_circles: bool, use_v2: bool, ) -> Result<Vec<TokenBalanceResponse>, SdkError>
Get detailed token balances (v1/v2 selectable).
Sourcepub async fn total_balance(
&self,
as_time_circles: bool,
use_v2: bool,
) -> Result<Balance, SdkError>
pub async fn total_balance( &self, as_time_circles: bool, use_v2: bool, ) -> Result<Balance, SdkError>
Get aggregate balance (v1/v2 selectable).
Sourcepub async fn total_supply(&self) -> Result<U256, SdkError>
pub async fn total_supply(&self) -> Result<U256, SdkError>
Get the total supply of this group’s token.
Sourcepub async fn trust_relations(&self) -> Result<Vec<TrustRelation>, SdkError>
pub async fn trust_relations(&self) -> Result<Vec<TrustRelation>, SdkError>
Get trust relations.
Sourcepub async fn aggregated_trust_relations(
&self,
) -> Result<Vec<AggregatedTrustRelation>, SdkError>
pub async fn aggregated_trust_relations( &self, ) -> Result<Vec<AggregatedTrustRelation>, SdkError>
Get aggregated trust relations.
Sourcepub async fn trusts(&self) -> Result<Vec<AggregatedTrustRelation>, SdkError>
pub async fn trusts(&self) -> Result<Vec<AggregatedTrustRelation>, SdkError>
Get outgoing trust relations only.
Sourcepub async fn trusted_by(&self) -> Result<Vec<AggregatedTrustRelation>, SdkError>
pub async fn trusted_by(&self) -> Result<Vec<AggregatedTrustRelation>, SdkError>
Get incoming trust relations only.
Sourcepub async fn mutual_trusts(
&self,
) -> Result<Vec<AggregatedTrustRelation>, SdkError>
pub async fn mutual_trusts( &self, ) -> Result<Vec<AggregatedTrustRelation>, SdkError>
Get mutual trust relations only.
Sourcepub async fn is_trusting(&self, other_avatar: Address) -> Result<bool, SdkError>
pub async fn is_trusting(&self, other_avatar: Address) -> Result<bool, SdkError>
Check whether this avatar trusts other_avatar.
Sourcepub async fn is_trusted_by(
&self,
other_avatar: Address,
) -> Result<bool, SdkError>
pub async fn is_trusted_by( &self, other_avatar: Address, ) -> Result<bool, SdkError>
Check whether other_avatar trusts this avatar.
Sourcepub async fn mint_handler(&self) -> Result<Address, SdkError>
pub async fn mint_handler(&self) -> Result<Address, SdkError>
Get the mint handler address.
Sourcepub async fn fee_collection(&self) -> Result<Address, SdkError>
pub async fn fee_collection(&self) -> Result<Address, SdkError>
Get the fee collection address.
Sourcepub async fn membership_conditions(&self) -> Result<Vec<Address>, SdkError>
pub async fn membership_conditions(&self) -> Result<Vec<Address>, SdkError>
Get all membership conditions.
Sourcepub async fn profile(&self) -> Result<Option<Profile>, SdkError>
pub async fn profile(&self) -> Result<Option<Profile>, SdkError>
Fetch profile (cached by CID in memory).
Sourcepub fn transaction_history(
&self,
limit: u32,
sort_order: SortOrder,
) -> PagedQuery<TransactionHistoryRow>
pub fn transaction_history( &self, limit: u32, sort_order: SortOrder, ) -> PagedQuery<TransactionHistoryRow>
Get transaction history for this avatar using cursor-based pagination.
Sourcepub async fn update_profile(
&self,
profile: &Profile,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn update_profile( &self, profile: &Profile, ) -> Result<Vec<SubmittedTx>, SdkError>
Update profile metadata digest on the base group (requires runner).
Sourcepub async fn update_profile_metadata(
&self,
cid: &str,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn update_profile_metadata( &self, cid: &str, ) -> Result<Vec<SubmittedTx>, SdkError>
Update the on-chain profile CID pointer through the BaseGroup contract (requires runner).
Sourcepub async fn register_short_name(
&self,
nonce: u64,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn register_short_name( &self, nonce: u64, ) -> Result<Vec<SubmittedTx>, SdkError>
Register a short name using a specific nonce (requires runner).
Sourcepub async fn trust_add(
&self,
avatars: &[Address],
expiry: u128,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn trust_add( &self, avatars: &[Address], expiry: u128, ) -> Result<Vec<SubmittedTx>, SdkError>
Trust one or more avatars via BaseGroup::trust (requires runner).
Sourcepub async fn trust_remove(
&self,
avatars: &[Address],
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn trust_remove( &self, avatars: &[Address], ) -> Result<Vec<SubmittedTx>, SdkError>
Remove trust (sets expiry to 0). Requires runner.
Sourcepub async fn trust_add_batch_with_conditions(
&self,
avatars: &[Address],
expiry: u128,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn trust_add_batch_with_conditions( &self, avatars: &[Address], expiry: u128, ) -> Result<Vec<SubmittedTx>, SdkError>
Trust a batch of members with membership condition checks (requires runner).
Sourcepub async fn set_owner(
&self,
owner: Address,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn set_owner( &self, owner: Address, ) -> Result<Vec<SubmittedTx>, SdkError>
Set a new owner for the group (requires runner).
Sourcepub async fn set_service(
&self,
service: Address,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn set_service( &self, service: Address, ) -> Result<Vec<SubmittedTx>, SdkError>
Set a new service address for the group (requires runner).
Sourcepub async fn set_fee_collection(
&self,
fee_collection: Address,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn set_fee_collection( &self, fee_collection: Address, ) -> Result<Vec<SubmittedTx>, SdkError>
Set a new fee collection address for the group (requires runner).
Sourcepub async fn set_membership_condition(
&self,
condition: Address,
enabled: bool,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn set_membership_condition( &self, condition: Address, enabled: bool, ) -> Result<Vec<SubmittedTx>, SdkError>
Enable or disable a membership condition (requires runner).
Sourcepub async fn plan_transfer(
&self,
to: Address,
amount: U256,
options: Option<AdvancedTransferOptions>,
) -> Result<Vec<PreparedTransaction>, SdkError>
pub async fn plan_transfer( &self, to: Address, amount: U256, options: Option<AdvancedTransferOptions>, ) -> Result<Vec<PreparedTransaction>, SdkError>
Plan a transfer without submitting.
Sourcepub async fn transfer(
&self,
to: Address,
amount: U256,
options: Option<AdvancedTransferOptions>,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn transfer( &self, to: Address, amount: U256, options: Option<AdvancedTransferOptions>, ) -> Result<Vec<SubmittedTx>, SdkError>
Execute a transfer using the runner (requires runner).
Sourcepub async fn plan_direct_transfer(
&self,
to: Address,
amount: U256,
token_address: Option<Address>,
tx_data: Option<Bytes>,
) -> Result<Vec<PreparedTransaction>, SdkError>
pub async fn plan_direct_transfer( &self, to: Address, amount: U256, token_address: Option<Address>, tx_data: Option<Bytes>, ) -> Result<Vec<PreparedTransaction>, SdkError>
Plan a direct transfer without pathfinding.
Sourcepub async fn direct_transfer(
&self,
to: Address,
amount: U256,
token_address: Option<Address>,
tx_data: Option<Bytes>,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn direct_transfer( &self, to: Address, amount: U256, token_address: Option<Address>, tx_data: Option<Bytes>, ) -> Result<Vec<SubmittedTx>, SdkError>
Execute a direct transfer using the runner (requires runner).
Sourcepub async fn plan_replenish(
&self,
token_id: Address,
amount: U256,
receiver: Option<Address>,
) -> Result<Vec<PreparedTransaction>, SdkError>
pub async fn plan_replenish( &self, token_id: Address, amount: U256, receiver: Option<Address>, ) -> Result<Vec<PreparedTransaction>, SdkError>
Plan a replenish flow without submitting.
Sourcepub async fn replenish(
&self,
token_id: Address,
amount: U256,
receiver: Option<Address>,
) -> Result<Vec<SubmittedTx>, SdkError>
pub async fn replenish( &self, token_id: Address, amount: U256, receiver: Option<Address>, ) -> Result<Vec<SubmittedTx>, SdkError>
Execute a replenish flow using the runner (requires runner).
Sourcepub async fn find_path(
&self,
to: Address,
target_flow: U256,
options: Option<AdvancedTransferOptions>,
) -> Result<PathfindingResult, SdkError>
pub async fn find_path( &self, to: Address, target_flow: U256, options: Option<AdvancedTransferOptions>, ) -> Result<PathfindingResult, SdkError>
Find a path between this avatar and to with a target flow.
Sourcepub async fn max_flow_to(
&self,
to: Address,
options: Option<AdvancedTransferOptions>,
) -> Result<PathfindingResult, SdkError>
pub async fn max_flow_to( &self, to: Address, options: Option<AdvancedTransferOptions>, ) -> Result<PathfindingResult, SdkError>
Max-flow helper: sets target_flow to U256::MAX.
Sourcepub fn new(
address: Address,
info: AvatarInfo,
core: Arc<Core>,
profiles: Profiles,
rpc: Arc<CirclesRpc>,
runner: Option<Arc<dyn ContractRunner>>,
) -> Self
pub fn new( address: Address, info: AvatarInfo, core: Arc<Core>, profiles: Profiles, rpc: Arc<CirclesRpc>, runner: Option<Arc<dyn ContractRunner>>, ) -> Self
Build a typed base-group avatar wrapper from already-fetched components.
Auto Trait Implementations§
impl Freeze for BaseGroupAvatar
impl !RefUnwindSafe for BaseGroupAvatar
impl Send for BaseGroupAvatar
impl Sync for BaseGroupAvatar
impl Unpin for BaseGroupAvatar
impl UnsafeUnpin for BaseGroupAvatar
impl !UnwindSafe for BaseGroupAvatar
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
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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 moreSource§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 moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§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.Source§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.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.