# composeTradeBySourceTransaction

This function creates an unsigned transaction to trade by source amount.&#x20;

```
public async composeTradeBySourceTransaction(
    sourceToken: string,
    targetToken: string,
    tradeActions: TradeActionStruct[],
    deadline: BigNumberish,
    minReturn: string,
    overrides?: PayableOverrides
  )
```

| Name         | Type                  | Description                                                                                                                                                                                              |
| ------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sourceToken  | token address         | The token being sent.                                                                                                                                                                                    |
| targetToken  | token address         | The token received.                                                                                                                                                                                      |
| tradeActions | list                  | The list of trade actions to be performed.                                                                                                                                                               |
| deadline     | number                | The timestamp at which point the trade will no longer be valid.                                                                                                                                          |
| minReturn    | string                | The minimum amount of target tokens that must be received for the trade to execute.                                                                                                                      |
| overrides    | object (**optional**) | This optional object contains transaction parameters, such as gas price, Eth value, etc. See **overrides** in the [Ethers documentation](https://docs.ethers.org/v5/api/contract/contract/) for details. |

### Returns

This function returns an unsigned transaction that is ready to be signed and submitted to the blockchain.
