"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"
)
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 {
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)
}
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 {
return MissingFieldsError(missing...)
}
- address, err := common.DecodeAddress(a.Address, &consensus.MainNetParams)
+ address, err := common.DecodeAddress(a.Address, &consensus.ActiveNetParams)
if err != nil {
return err
}
return err
}
- out := legacy.NewTxOutput(*a.AssetId, a.Amount, program, a.ReferenceData)
+ out := types.NewTxOutput(*a.AssetId, a.Amount, program)
return b.AddOutput(out)
}
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 {
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)
type retireAction struct {
bc.AssetAmount
- ReferenceData json.Map `json:"reference_data"`
}
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)
}