The Rust SDK exposes address-book reads, entry and tag mutations, and invalidation streaming. A wrapper exists for each call below; server authorization still applies to each one.
Methods
| Method | Summary |
|---|---|
list_books | List address books. |
list_entries | List saved entries. |
list_transfer_counterparties / list_transfer_destinations | Read transfer allowlist views. |
list_internal_transfer_whitelist_entries | Read internal-transfer entries. |
get_withdraw_whitelist_view / get_view | Read withdrawal allowlist view. |
subscribe / subscribe_view_invalidations | Stream view invalidations. |
create_entry / update_entry / delete_entry / copy_entry | Change saved entries. |
create_tag / update_tag / delete_tag | Change tags. |
use polyester::proto::auth::v1::ListAddressBookEntriesRequest;
let page = client
.address_book
.list_entries(ListAddressBookEntriesRequest {
limit: 50,
..Default::default()
})
.await?;
for entry in page.entries {
println!("{} {} {}", entry.address_book_entry_id, entry.label, entry.kind);
}Whitelists are enforced allowlists: a saved destination does not itself authorize a withdrawal. Re-fetch the relevant view after an invalidation; the event is not a full snapshot.
create_entry and update_entry accept atomic new_tags: new tags are created and attached in the
same protected request. get_view returns a raw ApiData; set minimum_view_revision on the
request.
All calls are authenticated. The invalidation stream additionally requires Account ID and the address-book read permission. The method returns only after the private token and Centrifugo handshake succeed. An HTTP 403 from a test fixture that lacks that permission is an expected policy/configuration denial, not an SDK streaming defect; grant address-book read access before reconnecting.