SendToBuilder

Struct SendToBuilder 

Source
pub struct SendToBuilder {
    from: AccountId,
    receiver_id: AccountId,
}

Fields§

§from: AccountId§receiver_id: AccountId

Implementations§

Source§

impl SendToBuilder

Source

pub fn near(self, amount: NearToken) -> ConstructTransaction

Prepares a new transaction for sending NEAR tokens to another account.

Source

pub fn ft( self, ft_contract: AccountId, amount: FTBalance, ) -> Result<TransactionWithSign<FTTransactionable>, BuilderError>

Prepares a new transaction contract call (ft_transfer, ft_metadata, storage_balance_of, storage_deposit) for sending FT tokens to another account.

Please note that if the receiver does not have enough storage, we will automatically deposit 100 milliNEAR for storage from the sender.

The provided function depends that the contract implements NEP-141

For transferring tokens and calling a receiver contract method in a single transaction, see ft_call.

Source

pub fn nft( self, nft_contract: AccountId, token_id: String, ) -> Result<ConstructTransaction, BuilderError>

Prepares a new transaction contract call (nft_transfer) for sending NFT tokens to another account.

The provided function depends that the contract implements NEP-171

For transferring an NFT and calling a receiver contract method in a single transaction, see nft_call.

Source

pub fn ft_call( self, ft_contract: AccountId, amount: FTBalance, msg: String, ) -> Result<TransactionWithSign<FTTransactionable>, BuilderError>

Prepares a new transaction contract call (ft_transfer_call, ft_metadata, storage_balance_of, storage_deposit) for transferring FT tokens and calling a receiver contract method.

This method enables transferring tokens and invoking a receiver contract method in a single transaction. The receiver contract must implement ft_on_transfer according to NEP-141.

Please note that if the receiver does not have enough storage, we will automatically deposit 100 milliNEAR for storage from the sender.

The provided function depends that the contract implements NEP-141

§Example
use near_api::*;

let alice_tokens = Tokens::account("alice.near".parse()?);

let result = alice_tokens.send_to("contract.near".parse()?)
    .ft_call(
        "usdt.tether-token.near".parse()?,
        USDT_BALANCE.with_whole_amount(100),
        "deposit".to_string(),
    )?
    .with_signer(Signer::new(Signer::from_ledger())?)
    .send_to_mainnet()
    .await?;
Source

pub fn nft_call( self, nft_contract: AccountId, token_id: String, msg: String, ) -> Result<ConstructTransaction, BuilderError>

Prepares a new transaction contract call (nft_transfer_call) for transferring an NFT and calling a receiver contract method.

This method enables “transfer and call” functionality, allowing a user to attach an NFT to a function call on a separate contract in a single transaction. The receiver contract must implement nft_on_transfer according to NEP-171.

The provided function depends that the contract implements NEP-171

§Example
use near_api::*;

let alice_tokens = Tokens::account("alice.near".parse()?);

let result = alice_tokens.send_to("marketplace.near".parse()?)
    .nft_call(
        "nft-contract.testnet".parse()?,
        "token-123".to_string(),
        "list_for_sale".to_string(),
    )?
    .with_signer(Signer::new(Signer::from_ledger())?)
    .send_to_testnet()
    .await?;

Trait Implementations§

Source§

impl Clone for SendToBuilder

Source§

fn clone(&self) -> SendToBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SendToBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more