func NewTrade(o *Order, amount *big.Int, taker Address) *Trade {
	return &Trade{
		OrderHash:  o.Hash,
		PairID:     o.PairID,
		Amount:     amount,
		TradeNonce: big.NewInt(0),
		Taker:      taker,
		Signature:  &Signature{},
		Hash:       Hash{},
	}
}
// NewTrade returns a new unsigned trade corresponding to an Order, amount and taker address
NewTrade returns a new unsigned trade corresponding to an Order, amount and taker address
// NewTrade returns a new unsigned trade corresponding to an Order amount and taker address
func NewTrade(o *Order, amount *big.Int, taker Address) *Trade {
	return &Trade{
		OrderHash:  o.Hash,
		PairID:     o.PairID,
		Amount:     amount,
		TradeNonce: big.NewInt(0),
		Taker:      taker,
		Signature:  &Signature{},
		Hash:       Hash{},
	}
}
func NewTrade ( o * Order , amount * big . Int , taker Address ) * Trade { return & Trade { OrderHash : o . Hash , PairID : o . PairID , Amount : amount , TradeNonce : big . NewInt ( 0 ) , Taker : taker , Signature : & Signature { } , Hash : Hash { } , } }
NewTrade returns a new unsigned trade corresponding to an Order, amount and taker address
NewTrade returns a new unsigned trade corresponding to an Order amount and taker address