func (e *Exchange) Trade(o *Order, t *Trade) (*types.Transaction, error) {
	e.SetDefaultTxOptions()

	orderValues := [8]*big.Int{o.AmountBuy, o.AmountSell, o.Expires, o.Nonce, o.FeeMake, o.FeeTake, t.Amount, t.TradeNonce}
	orderAddresses := [4]Address{o.TokenBuy, o.TokenSell, o.Maker, t.Taker}
	vValues := [2]uint8{o.Signature.V, t.Signature.V}
	rsValues := [4][32]byte{o.Signature.R, o.Signature.S, t.Signature.R, t.Signature.S}

	tx, err := e.Contract.ExecuteTrade(e.TxOptions, orderValues, orderAddresses, vValues, rsValues)
	if err != nil {
		return nil, err
	}

	return tx, nil
}
// Trade executes a settlements transaction. The order and trade payloads need to be signed respectively
// by the Maker and the Taker of the trade. Only the operator account can send a Trade function to the
// Exchange smart contract.
Trade executes a settlements transaction. The order and trade payloads need to be signed respectively
by the Maker and the Taker of the trade. Only the operator account can send a Trade function to the
Exchange smart contract.
// Trade executes a settlements transaction . The order and trade payloads need to be signed respectively // by the Maker and the Taker of the trade . Only the operator account can send a Trade function to the // Exchange smart contract .
func (e *Exchange) Trade(o *Order, t *Trade) (*types.Transaction, error) {
	e.SetDefaultTxOptions()
	orderValues := [8]*big.Int{o.AmountBuy, o.AmountSell, o.Expires, o.Nonce, o.FeeMake, o.FeeTake, t.Amount, t.TradeNonce}
	orderAddresses := [4]Address{o.TokenBuy, o.TokenSell, o.Maker, t.Taker}
	vValues := [2]uint8{o.Signature.V, t.Signature.V}
	rsValues := [4][32]byte{o.Signature.R, o.Signature.S, t.Signature.R, t.Signature.S}
	tx, err := e.Contract.ExecuteTrade(e.TxOptions, orderValues, orderAddresses, vValues, rsValues)
	if err != nil {
		return nil, err
	}
	return tx, nil
}
func ( e * Exchange ) Trade ( o * Order , t * Trade ) ( * types . Transaction , error ) { e . SetDefaultTxOptions ( ) orderValues := [ 8 ] * big . Int { o . AmountBuy , o . AmountSell , o . Expires , o . Nonce , o . FeeMake , o . FeeTake , t . Amount , t . TradeNonce } orderAddresses := [ 4 ] Address { o . TokenBuy , o . TokenSell , o . Maker , t . Taker } vValues := [ 2 ] uint8 { o . Signature . V , t . Signature . V } rsValues := [ 4 ] [ 32 ] byte { o . Signature . R , o . Signature . S , t . Signature . R , t . Signature . S } tx , err := e . Contract . ExecuteTrade ( e . TxOptions , orderValues , orderAddresses , vValues , rsValues ) if err != nil { return nil , err } return tx , nil }
Trade executes a settlements transaction.
Trade executes a settlements transaction .