if err != nil {
return err
}
- out := types.NewTxOutput(*assetAmount.AssetId, assetAmount.Amount, controlProgram.ControlProgram)
+ out := types.NewIntraChainOutput(*assetAmount.AssetId, assetAmount.Amount, controlProgram.ControlProgram)
return g.Builder.AddOutput(out)
}
return err
}
retirementProgram := []byte{byte(vm.OP_FAIL)}
- out := types.NewTxOutput(*assetAmount.AssetId, assetAmount.Amount, retirementProgram)
+ out := types.NewIntraChainOutput(*assetAmount.AssetId, assetAmount.Amount, retirementProgram)
return g.Builder.AddOutput(out)
}
}
for _, output := range tx.Outputs {
- if *output.AssetId == *consensus.BTMAssetID {
- outputSum += output.Amount
+ if *output.AssetAmount().AssetId == *consensus.BTMAssetID {
+ outputSum += output.AssetAmount().Amount
}
}
return inputSum - outputSum
// CreateSpendInput create SpendInput which spent the output from tx
func CreateSpendInput(tx *types.Tx, outputIndex uint64) (*types.SpendInput, error) {
outputID := tx.ResultIds[outputIndex]
- output, ok := tx.Entries[*outputID].(*bc.Output)
+ output, ok := tx.Entries[*outputID].(*bc.IntraChainOutput)
if !ok {
return nil, fmt.Errorf("retirement can't be spent")
}
if err := builder.AddInput(types.NewCoinbaseInput([]byte(string(height))), &txbuilder.SigningInstruction{}); err != nil {
return nil, err
}
- if err := builder.AddOutput(types.NewTxOutput(*consensus.BTMAssetID, coinbaseValue, controlProgram)); err != nil {
+ if err := builder.AddOutput(types.NewIntraChainOutput(*consensus.BTMAssetID, coinbaseValue, controlProgram)); err != nil {
return nil, err
}
AssetVersion: assetVersion,
TypedInput: spendInput,
}
- output := types.NewTxOutput(*consensus.BTMAssetID, outputAmount, ctrlProgram)
+ output := types.NewIntraChainOutput(*consensus.BTMAssetID, outputAmount, ctrlProgram)
builder := txbuilder.NewBuilder(time.Now())
if err := builder.AddInput(txInput, &txbuilder.SigningInstruction{}); err != nil {
return nil, err