#[repr(C)]pub struct NativeToken;Implementations§
Source§impl NativeToken
impl NativeToken
Sourcepub fn initialize(
env: &mut Env<'_>,
(own_address, own_balance): (&Address, &mut MaybeData<'_, Slot>),
max_issuance: &Balance,
) -> Result<Self, ContractError>
pub fn initialize( env: &mut Env<'_>, (own_address, own_balance): (&Address, &mut MaybeData<'_, Slot>), max_issuance: &Balance, ) -> Result<Self, ContractError>
Initialize native token on a shard with max issuance allowed by this shard.
Block rewards will be implemented using transfers from native token’s balance.
pub fn balance(target: &MaybeData<'_, Slot>) -> Balance
pub fn transfer( env: &mut Env<'_>, (from_address, from): (&Address, &mut MaybeData<'_, Slot>), to: &mut MaybeData<'_, Slot>, amount: &Balance, ) -> Result<(), ContractError>
Trait Implementations§
impl AnyBitPatternMarker for NativeToken
Source§impl Clone for NativeToken
impl Clone for NativeToken
Source§impl Contract for NativeToken
impl Contract for NativeToken
Source§const MAIN_CONTRACT_METADATA: &[u8]
const MAIN_CONTRACT_METADATA: &[u8]
Main contract metadata, see
ContractMetadataKind for encoding details. Read moreimpl ContractTrait<dyn Fungible> for NativeToken
impl Copy for NativeToken
Source§impl Debug for NativeToken
impl Debug for NativeToken
Source§impl Fungible for NativeToken
impl Fungible for NativeToken
Source§impl TrivialType for NativeToken
impl TrivialType for NativeToken
Source§const METADATA: &[u8]
const METADATA: &[u8]
Data structure metadata in binary form, describing shape and types of the contents, see
[
IoTypeMetadataKind] for encoding details.const SIZE: u32
§final fn try_from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>
final fn try_from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>
Parse the beginning of aligned
bytes, returns the value and the remaining bytes. Read more§final fn try_from_bytes_exact(bytes: &[u8]) -> Option<&Self>
final fn try_from_bytes_exact(bytes: &[u8]) -> Option<&Self>
Like [
Self::try_from_bytes()], but returns None if there are more bytes than the value§final fn try_from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>
final fn try_from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>
Like [
Self::try_from_bytes()], but returns an exclusive reference. Read more§final fn try_from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>
final fn try_from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>
Like [
Self::try_from_bytes_mut()], but returns None if there are more bytes than the
value§final fn from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>where
Self: AnyBitPattern,
final fn from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>where
Self: AnyBitPattern,
Create a reference to a value at the beginning of aligned
bytes, returns the value and
the remaining bytes. Read more§final fn from_bytes_exact(bytes: &[u8]) -> Option<&Self>where
Self: AnyBitPattern,
final fn from_bytes_exact(bytes: &[u8]) -> Option<&Self>where
Self: AnyBitPattern,
Like [
Self::from_bytes()], but returns None if there are more bytes than the value§final unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
final unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
Similar to [
Self::from_bytes()], but for any type and without any checks Read more§final fn from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>where
Self: AnyBitPattern,
final fn from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>where
Self: AnyBitPattern,
Like [
Self::from_bytes()], but returns an exclusive reference§final fn from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>where
Self: AnyBitPattern,
final fn from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>where
Self: AnyBitPattern,
Like [
Self::from_bytes_mut()], but returns None if there are more bytes than the value§final unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
final unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
Similar to [
Self::from_bytes_mut()], but for any type and without any checks Read more§final fn slice_from_bytes(
bytes: &[u8],
count: usize,
) -> Option<(&[Self], &[u8])>where
Self: AnyBitPattern,
final fn slice_from_bytes(
bytes: &[u8],
count: usize,
) -> Option<(&[Self], &[u8])>where
Self: AnyBitPattern,
Create a slice of
count values at the beginning of aligned bytes, returns the values and
the remaining bytes. Read more§final fn slice_from_bytes_mut(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: AnyBitPattern,
final fn slice_from_bytes_mut(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: AnyBitPattern,
Like [
Self::slice_from_bytes()], but returns an exclusive reference§final fn as_bytes(&self) -> &[u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
final fn as_bytes(&self) -> &[u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
Access the underlying byte representation of a data structure
§final fn slice_as_bytes(values: &[Self]) -> &[u8] ⓘ
final fn slice_as_bytes(values: &[Self]) -> &[u8] ⓘ
Access the underlying byte representation of a slice of values
§final fn as_bytes_mut(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]where
Self: AnyBitPattern,
final fn as_bytes_mut(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]where
Self: AnyBitPattern,
Access the underlying mutable byte representation of a data structure
§final unsafe fn as_bytes_mut_unchecked(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
final unsafe fn as_bytes_mut_unchecked( &mut self, ) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
Similar to [
Self::as_bytes_mut()], but for any type. Read moreAuto Trait Implementations§
impl Forget for NativeToken
impl Freeze for NativeToken
impl RefUnwindSafe for NativeToken
impl Send for NativeToken
impl Sync for NativeToken
impl Unpin for NativeToken
impl UnsafeUnpin for NativeToken
impl UnwindSafe for NativeToken
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: TrivialType + AnyBitPatternMarker,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
Converts
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> ⓘ
Converts
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 more§impl<T> IoType for Twhere
T: TrivialType,
impl<T> IoType for Twhere
T: TrivialType,
§const METADATA: &'static [u8] = T::METADATA
const METADATA: &'static [u8] = T::METADATA
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind for encoding details§type PointerType = T
type PointerType = T
Pointer with a trivial type that this
IoType represents§type WithLifetime<'b> = T
type WithLifetime<'b> = T
The same type, viewing memory borrowed for
'b. Read more§type Reborrowed<'b> = &'b mut T
type Reborrowed<'b> = &'b mut T
§unsafe fn from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a
unsafe fn from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a
Create a reference to a type, which is represented by provided memory. Read more
§unsafe fn from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
_size: &'a mut u32,
capacity: u32,
) -> impl DerefMut + 'a
unsafe fn from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, _size: &'a mut u32, capacity: u32, ) -> impl DerefMut + 'a
Create a mutable reference to a type, which is represented by provided memory. Read more
§unsafe fn try_from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> Option<impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a>
unsafe fn try_from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> Option<impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a>
Create a reference to a type, which is represented by provided memory, if the memory holds a
valid value. Read more
§unsafe fn try_from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
size: &'a mut u32,
capacity: u32,
) -> Option<impl DerefMut + 'a>
unsafe fn try_from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, size: &'a mut u32, capacity: u32, ) -> Option<impl DerefMut + 'a>
Like [
Self::try_from_ptr()], but returns an exclusive reference. Read more§fn as_ptr(&self) -> NonNull<<T as IoType>::PointerType>
fn as_ptr(&self) -> NonNull<<T as IoType>::PointerType>
Get a raw pointer to the underlying data. Read more
§fn as_mut_ptr(&mut self) -> NonNull<<T as IoType>::PointerType>
fn as_mut_ptr(&mut self) -> NonNull<<T as IoType>::PointerType>
Get an exclusive raw pointer to the underlying data. Read more
§fn reborrow_mut(&mut self) -> <T as IoType>::Reborrowed<'_>
fn reborrow_mut(&mut self) -> <T as IoType>::Reborrowed<'_>
Exclusive access to this value for the duration of the borrow. Read more
§impl<T> OutputArg<T> for Twhere
T: IoType,
<T as IoType>::PointerType: AnyBitPattern,
impl<T> OutputArg<T> for Twhere
T: IoType,
<T as IoType>::PointerType: AnyBitPattern,
§fn as_raw_output(&mut self) -> (NonNull<<T as IoType>::PointerType>, u32, u32)
fn as_raw_output(&mut self) -> (NonNull<<T as IoType>::PointerType>, u32, u32)
Pointer to the contents, size and capacity to give to a call
§unsafe fn set_output_size(&mut self, size: u32)
unsafe fn set_output_size(&mut self, size: u32)
Set the size that a successful call reported. Read more