pub struct AccountId(_);
Expand description
Account identifier. This is the human readable utf8 string which is used internally to index accounts on the network and their respective state.
Because these IDs have to be validated, they have to be converted from a string
with FromStr
or TryFrom
a compatible type. To skip validation on initialization,
AccountId::new_unchecked
can be used.
Examples
use near_sdk::AccountId;
use std::convert::{TryFrom, TryInto};
// `FromStr` conversion
let alice: AccountId = "alice.near".parse().unwrap();
assert!("invalid.".parse::<AccountId>().is_err());
let alice_string = "alice".to_string();
// From string with validation
let alice = AccountId::try_from(alice_string.clone()).unwrap();
let alice: AccountId = alice_string.try_into().unwrap();
// Initialize without validating
let alice_unchecked = AccountId::new_unchecked("alice".to_string());
assert_eq!(alice, alice_unchecked);
Implementations
sourceimpl AccountId
impl AccountId
sourcepub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
Returns reference to the account ID bytes.
sourcepub fn new_unchecked(id: String) -> Self
pub fn new_unchecked(id: String) -> Self
Caller must ensure that the account id is valid.
For more information, read: https://docs.near.org/docs/concepts/account#account-id-rules
Trait Implementations
sourceimpl BorshDeserialize for AccountId
impl BorshDeserialize for AccountId
sourcefn deserialize(buf: &mut &[u8]) -> Result<Self>
fn deserialize(buf: &mut &[u8]) -> Result<Self>
Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more
sourcefn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
sourceimpl BorshSchema for AccountId where
String: BorshSchema,
impl BorshSchema for AccountId where
String: BorshSchema,
sourcefn declaration() -> Declaration
fn declaration() -> Declaration
Get the name of the type without brackets.
sourcefn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
Recursively, using DFS, add type definitions required for this type. For primitive types this is an empty map. Type definition explains how to serialize/deserialize a type. Read more
sourcefn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
Helper method to add a single type definition to the map.
fn schema_container() -> BorshSchemaContainer
sourceimpl BorshSerialize for AccountId
impl BorshSerialize for AccountId
sourceimpl<'de> Deserialize<'de> for AccountId
impl<'de> Deserialize<'de> for AccountId
sourcefn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for AccountId
impl Ord for AccountId
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<AccountId> for AccountId
impl PartialEq<AccountId> for AccountId
sourceimpl PartialOrd<AccountId> for AccountId
impl PartialOrd<AccountId> for AccountId
sourcefn partial_cmp(&self, other: &AccountId) -> Option<Ordering>
fn partial_cmp(&self, other: &AccountId) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Eq for AccountId
impl StructuralEq for AccountId
impl StructuralPartialEq for AccountId
Auto Trait Implementations
impl RefUnwindSafe for AccountId
impl Send for AccountId
impl Sync for AccountId
impl Unpin for AccountId
impl UnwindSafe for AccountId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more