use 0x2::account;
use 0x2::object;
use 0x3::account;
use 0x3::account_coin_store;
use 0x3::address_mapping;
use 0x3::multichain_address;
Transfer amount of coins CoinType from from to to.
This public entry function requires the CoinType to have key and store abilities.
public entry fun transfer_coin<CoinType: store, key>(from: &signer, to: address, amount: u256)
Transfer amount of coins CoinType from from to a MultiChainAddress.
The MultiChainAddress is represented by multichain_id and raw_address.
This public entry function requires the CoinType to have key and store abilities.
public entry fun transfer_coin_to_multichain_address<CoinType: store, key>(from: &signer, multichain_id: u64, raw_address: vector<u8>, amount: u256)
Transfer from owned Object<T> to to account.
TODO: Currently, we can not pass the Object<T> argument by value, so, we use ObjectID instead.
After the Object<T> argument can be passed by value, we should change the argument type to Object<T>.
public entry fun transfer_object<T: store, key>(from: &signer, to: address, object_id: object::ObjectID)