OSDN Git Service

merge with dev
[bytom/bytom.git] / blockchain / txbuilder / actions.go
index 066ceef..996c01e 100644 (file)
@@ -9,7 +9,7 @@ import (
        "github.com/bytom/consensus"
        "github.com/bytom/encoding/json"
        "github.com/bytom/protocol/bc"
-       "github.com/bytom/protocol/bc/legacy"
+       "github.com/bytom/protocol/bc/types"
        "github.com/bytom/protocol/vm"
        "github.com/bytom/protocol/vm/vmutil"
 )
@@ -25,8 +25,7 @@ func DecodeControlReceiverAction(data []byte) (Action, error) {
 
 type controlReceiverAction struct {
        bc.AssetAmount
-       Receiver      *Receiver `json:"receiver"`
-       ReferenceData json.Map  `json:"reference_data"`
+       Receiver *Receiver `json:"receiver"`
 }
 
 func (a *controlReceiverAction) Build(ctx context.Context, b *TemplateBuilder) error {
@@ -45,7 +44,7 @@ func (a *controlReceiverAction) Build(ctx context.Context, b *TemplateBuilder) e
                return MissingFieldsError(missing...)
        }
 
-       out := legacy.NewTxOutput(*a.AssetId, a.Amount, a.Receiver.ControlProgram, a.ReferenceData)
+       out := types.NewTxOutput(*a.AssetId, a.Amount, a.Receiver.ControlProgram)
        return b.AddOutput(out)
 }
 
@@ -58,8 +57,7 @@ func DecodeControlAddressAction(data []byte) (Action, error) {
 
 type controlAddressAction struct {
        bc.AssetAmount
-       Address       string   `json:"address"`
-       ReferenceData json.Map `json:"reference_data"`
+       Address string `json:"address"`
 }
 
 func (a *controlAddressAction) Build(ctx context.Context, b *TemplateBuilder) error {
@@ -74,7 +72,7 @@ func (a *controlAddressAction) Build(ctx context.Context, b *TemplateBuilder) er
                return MissingFieldsError(missing...)
        }
 
-       address, err := common.DecodeAddress(a.Address, &consensus.MainNetParams)
+       address, err := common.DecodeAddress(a.Address, &consensus.ActiveNetParams)
        if err != nil {
                return err
        }
@@ -93,7 +91,7 @@ func (a *controlAddressAction) Build(ctx context.Context, b *TemplateBuilder) er
                return err
        }
 
-       out := legacy.NewTxOutput(*a.AssetId, a.Amount, program, a.ReferenceData)
+       out := types.NewTxOutput(*a.AssetId, a.Amount, program)
        return b.AddOutput(out)
 }
 
@@ -106,8 +104,7 @@ func DecodeControlProgramAction(data []byte) (Action, error) {
 
 type controlProgramAction struct {
        bc.AssetAmount
-       Program       json.HexBytes `json:"control_program"`
-       ReferenceData json.Map      `json:"reference_data"`
+       Program json.HexBytes `json:"control_program"`
 }
 
 func (a *controlProgramAction) Build(ctx context.Context, b *TemplateBuilder) error {
@@ -122,28 +119,10 @@ func (a *controlProgramAction) Build(ctx context.Context, b *TemplateBuilder) er
                return MissingFieldsError(missing...)
        }
 
-       out := legacy.NewTxOutput(*a.AssetId, a.Amount, a.Program, a.ReferenceData)
+       out := types.NewTxOutput(*a.AssetId, a.Amount, a.Program)
        return b.AddOutput(out)
 }
 
-// DecodeSetTxRefDataAction convert input data to action struct
-func DecodeSetTxRefDataAction(data []byte) (Action, error) {
-       a := new(setTxRefDataAction)
-       err := stdjson.Unmarshal(data, a)
-       return a, err
-}
-
-type setTxRefDataAction struct {
-       Data json.Map `json:"reference_data"`
-}
-
-func (a *setTxRefDataAction) Build(ctx context.Context, b *TemplateBuilder) error {
-       if len(a.Data) == 0 {
-               return MissingFieldsError("reference_data")
-       }
-       return b.setReferenceData(a.Data)
-}
-
 // DecodeRetireAction convert input data to action struct
 func DecodeRetireAction(data []byte) (Action, error) {
        a := new(retireAction)
@@ -153,7 +132,6 @@ func DecodeRetireAction(data []byte) (Action, error) {
 
 type retireAction struct {
        bc.AssetAmount
-       ReferenceData json.Map `json:"reference_data"`
 }
 
 func (a *retireAction) Build(ctx context.Context, b *TemplateBuilder) error {
@@ -168,6 +146,6 @@ func (a *retireAction) Build(ctx context.Context, b *TemplateBuilder) error {
                return MissingFieldsError(missing...)
        }
 
-       out := legacy.NewTxOutput(*a.AssetId, a.Amount, retirementProgram, a.ReferenceData)
+       out := types.NewTxOutput(*a.AssetId, a.Amount, retirementProgram)
        return b.AddOutput(out)
 }