pub struct Sdk { /* private fields */ }Expand description
Top-level SDK orchestrator.
Construct this once per config/runner pair and reuse it across read and write flows.
Implementations§
Source§impl Sdk
impl Sdk
Sourcepub fn new(
config: CirclesConfig,
runner: Option<Arc<dyn ContractRunner>>,
) -> Result<Self, SdkError>
pub fn new( config: CirclesConfig, runner: Option<Arc<dyn ContractRunner>>, ) -> Result<Self, SdkError>
Create a new SDK instance. Provide a runner for write operations; omit for read-only.
Sourcepub fn rpc(&self) -> &CirclesRpc
pub fn rpc(&self) -> &CirclesRpc
Access the underlying RPC client.
Sourcepub fn config(&self) -> &CirclesConfig
pub fn config(&self) -> &CirclesConfig
Access the loaded configuration.
Sourcepub fn referrals(&self) -> Option<&Referrals>
pub fn referrals(&self) -> Option<&Referrals>
Optional referrals client when referrals_service_url is configured.
Sourcepub fn runner(&self) -> Option<&Arc<dyn ContractRunner>>
pub fn runner(&self) -> Option<&Arc<dyn ContractRunner>>
Optional runner.
Sourcepub fn sender_address(&self) -> Option<Address>
pub fn sender_address(&self) -> Option<Address>
Sender address derived from the runner.
Sourcepub async fn create_profile(
&self,
profile: &Profile,
) -> Result<String, SdkError>
pub async fn create_profile( &self, profile: &Profile, ) -> Result<String, SdkError>
Create and pin a profile via the profile service.
This only talks to the profile service and does not submit any on-chain transaction.
Sourcepub async fn get_profile(&self, cid: &str) -> Result<Option<Profile>, SdkError>
pub async fn get_profile(&self, cid: &str) -> Result<Option<Profile>, SdkError>
Fetch a profile by CID (returns Ok(None) if missing or unparsable).
Sourcepub async fn data_avatar(&self, avatar: Address) -> Result<AvatarInfo, SdkError>
pub async fn data_avatar(&self, avatar: Address) -> Result<AvatarInfo, SdkError>
Read avatar metadata directly from the RPC service.
Sourcepub async fn data_trust(
&self,
avatar: Address,
) -> Result<Vec<TrustRelation>, SdkError>
pub async fn data_trust( &self, avatar: Address, ) -> Result<Vec<TrustRelation>, SdkError>
Read trust relations for an avatar directly from the RPC service.
Sourcepub async fn data_trust_aggregated(
&self,
avatar: Address,
) -> Result<Vec<AggregatedTrustRelation>, SdkError>
pub async fn data_trust_aggregated( &self, avatar: Address, ) -> Result<Vec<AggregatedTrustRelation>, SdkError>
Read aggregated trust relations for an avatar directly from the RPC service.
Sourcepub async fn data_balances(
&self,
avatar: Address,
as_time_circles: bool,
use_v2: bool,
) -> Result<Vec<TokenBalanceResponse>, SdkError>
pub async fn data_balances( &self, avatar: Address, as_time_circles: bool, use_v2: bool, ) -> Result<Vec<TokenBalanceResponse>, SdkError>
Read token balances for an avatar directly from the RPC service.
Set as_time_circles to request balances in time-Circles units and use_v2
to scope the query to v2 balances.
Sourcepub fn group_members(
&self,
group: Address,
limit: u32,
sort_order: SortOrder,
) -> PagedQuery<GroupMembershipRow>
pub fn group_members( &self, group: Address, limit: u32, sort_order: SortOrder, ) -> PagedQuery<GroupMembershipRow>
Get all members of a specific group via the shared paged query helper.
Sourcepub async fn group_collateral(
&self,
group: Address,
) -> Result<Vec<TokenBalanceResponse>, SdkError>
pub async fn group_collateral( &self, group: Address, ) -> Result<Vec<TokenBalanceResponse>, SdkError>
Get collateral balances held in a group’s treasury.
Sourcepub fn group_holders(
&self,
group: Address,
limit: u32,
) -> PagedQuery<GroupTokenHolderRow>
pub fn group_holders( &self, group: Address, limit: u32, ) -> PagedQuery<GroupTokenHolderRow>
Get holders of a group token ordered like the TypeScript helper.
Sourcepub async fn avatar_info(&self, avatar: Address) -> Result<AvatarInfo, SdkError>
pub async fn avatar_info(&self, avatar: Address) -> Result<AvatarInfo, SdkError>
Convenience accessor for avatar info (read-only).
Sourcepub async fn get_avatar(&self, avatar: Address) -> Result<Avatar, SdkError>
pub async fn get_avatar(&self, avatar: Address) -> Result<Avatar, SdkError>
Fetch avatar info and return the matching typed avatar wrapper.
Unknown or personal avatar types are treated as Avatar::Human to match the
current SDK behavior.
Sourcepub async fn register_human(
&self,
inviter: Address,
profile: &Profile,
) -> Result<RegistrationResult<HumanAvatar>, SdkError>
pub async fn register_human( &self, inviter: Address, profile: &Profile, ) -> Result<RegistrationResult<HumanAvatar>, SdkError>
Register a human avatar (profile is pinned before submission). Requires a runner.
Sourcepub async fn register_organisation(
&self,
name: &str,
profile: &Profile,
) -> Result<RegistrationResult<OrganisationAvatar>, SdkError>
pub async fn register_organisation( &self, name: &str, profile: &Profile, ) -> Result<RegistrationResult<OrganisationAvatar>, SdkError>
Register an organisation avatar. Requires a runner.
Sourcepub async fn register_group(
&self,
owner: Address,
service: Address,
fee_collection: Address,
initial_conditions: &[Address],
name: &str,
symbol: &str,
profile: &Profile,
) -> Result<RegistrationResult<BaseGroupAvatar>, SdkError>
pub async fn register_group( &self, owner: Address, service: Address, fee_collection: Address, initial_conditions: &[Address], name: &str, symbol: &str, profile: &Profile, ) -> Result<RegistrationResult<BaseGroupAvatar>, SdkError>
Register a base group via the factory. Returns submitted txs and best-effort avatar.
Auto Trait Implementations§
impl Freeze for Sdk
impl !RefUnwindSafe for Sdk
impl Send for Sdk
impl Sync for Sdk
impl Unpin for Sdk
impl UnsafeUnpin for Sdk
impl !UnwindSafe for Sdk
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.