Function ic_ledger_types::transfer

source ·
pub async fn transfer(
    ledger_canister_id: Principal,
    args: TransferArgs
) -> CallResult<TransferResult>
Expand description

Calls the “transfer” method on the specified canister.

§Example

use ic_cdk::api::{caller, call::call};
use ic_ledger_types::{AccountIdentifier, BlockIndex, Memo, TransferArgs, Tokens, DEFAULT_SUBACCOUNT, DEFAULT_FEE, MAINNET_LEDGER_CANISTER_ID, transfer};

async fn transfer_to_caller() -> BlockIndex {
  transfer(
    MAINNET_LEDGER_CANISTER_ID,
    TransferArgs {
      memo: Memo(0),
      amount: Tokens::from_e8s(1_000_000),
      fee: DEFAULT_FEE,
      from_subaccount: None,
      to: AccountIdentifier::new(&caller(), &DEFAULT_SUBACCOUNT),
      created_at_time: None,
    }
  ).await.expect("call to ledger failed").expect("transfer failed")
}