# How to send a array of custom tokens as an argument when calling a contract function

**URL:** <https://forums.sui.io/t/how-to-send-a-array-of-custom-tokens-as-an-argument-when-calling-a-contract-function/45806>\
**Category:** Technical Support\
**Tags:** sdk\
**Created:** [July 12, 2024, 12:09pm UTC](https://forums.sui.io/t/how-to-send-a-array-of-custom-tokens-as-an-argument-when-calling-a-contract-function/45806 "2024-07-12T12:09:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tahlil](https://dub1.discourse-cdn.com/sui/user_avatar/forums.sui.io/tahlil/32/30688_2.png) [@tahlil](https://forums.sui.io/u/tahlil)\
**Post date:** [July 12, 2024, 12:09pm UTC](https://forums.sui.io/t/how-to-send-a-array-of-custom-tokens-as-an-argument-when-calling-a-contract-function/45806/1 "2024-07-12T12:09:38Z")

</div>

I have two functions that do the same thing:

```auto
public fun send_dummy_token(
        user_nft: &mut NFT,
        recipient_nft: address,
        user_coin: Receiving<Coin<DUMMY>>,
        ctx: &mut TxContext
    ) {
        let self_coin = transfer::public_receive(&mut user_nft.id, user_coin);
    transfer::public_transfer(self_coin, recipient_nft);
}

```

```auto
public fun send_dummy_tokens(
        user_nft: &mut NFT,
        recipient_nft: address,
         user_coins: vector<Receiving<Coin<DUMMY>>>,
        ctx: &mut TxContext
    ) {
        let self_coin = transfer::public_receive(&mut user_nft.id, user_coin);
    transfer::public_transfer(self_coin, recipient_nft);

```

Here, `DUMMY` is a custom token, what I am trying to do I have some dummy token to my NFT I want to sent it to a another NFT.  
I call from the frontend in the same way:

```auto
trx.moveCall({
      target: `${PACKAGE_ADDRESS}::protocol::send_dummy_token`,
      arguments: [
        trx.object(NFTId + ""),
        trx.pure(sentAddress, "address"), trx.object(allDummyCoins[0].coinObjectId)
    });

```

```auto
trx.moveCall({
      target: `${PACKAGE_ADDRESS}::protocol::send_dummy_tokens`,
      arguments: [
        trx.object(NFTId + ""),
        trx.pure(sentAddress, "address"),
   trx.makeMoveVec({objects: [allDummyCoins[0].coinObjectId]}),
    });

```

The first call with `send_dummy_token` is working but for the second call with `send_dummy_tokens` is giving the error `Error: Error checking transaction input objects: IncorrectUserSignature`…so should I use something other than `makeMoveVec`?
