Utxo *MovUtxo
RatioNumerator int64
RatioDenominator int64
+ SellerProgram []byte
+ BlockHeight uint64
+ TxIndex uint64
}
// Rate return the exchange represented by float64
}
// NewOrderFromOutput convert txinput to order
-func NewOrderFromOutput(tx *types.Tx, outputIndex int) (*Order, error) {
+func NewOrderFromOutput(tx *types.Tx, outputIndex int, blockHeight, txIndex uint64) (*Order, error) {
outputID := tx.OutputID(outputIndex)
output, err := tx.IntraChainOutput(*outputID)
if err != nil {
ToAssetID: &contractArgs.RequestedAsset,
RatioNumerator: contractArgs.RatioNumerator,
RatioDenominator: contractArgs.RatioDenominator,
+ SellerProgram: contractArgs.SellerProgram,
+ BlockHeight: blockHeight,
+ TxIndex: txIndex,
Utxo: &MovUtxo{
SourceID: output.Source.Ref,
Amount: assetAmount.Amount,
ToAssetID: &contractArgs.RequestedAsset,
RatioNumerator: contractArgs.RatioNumerator,
RatioDenominator: contractArgs.RatioDenominator,
+ SellerProgram: contractArgs.SellerProgram,
Utxo: &MovUtxo{
SourceID: &input.SourceID,
Amount: input.Amount,