import (
"context"
+ // TODO: stdjson?
"encoding/json"
"github.com/vapor/blockchain/signers"
)
// DecodeCrossInAction convert input data to action struct
-func (m *Manager) DecodeCrossInAction(data []byte) (Action, error) {
+func (m *Manager) DecodeCrossInAction(data []byte) (txbuilder.Action, error) {
a := new(crossInAction)
- err := stdjson.Unmarshal(data, a)
+ err := json.Unmarshal(data, a)
return a, err
}
// Address string `json:"address"`
}
-func (a *crossInAction) Build(ctx context.Context, b *TemplateBuilder) error {
+func (a *crossInAction) Build(ctx context.Context, b *txbuilder.TemplateBuilder) error {
var missing []string
// if a.Address == "" {
// missing = append(missing, "address")
missing = append(missing, "amount")
}
if len(missing) > 0 {
- return MissingFieldsError(missing...)
+ return txbuilder.MissingFieldsError(missing...)
}
// address, err := common.DecodeAddress(a.Address, &consensus.MainNetParams)
// out := types.NewCrossChainOutput(*a.AssetId, a.Amount, program)
// in := types.NewCrossChainInput(arguments [][]byte, sourceID bc.Hash, assetID bc.AssetID, amount, sourcePos uint64, controlProgram, assetDefinition []byte)
in := types.NewCrossChainInput(nil, bc.Hash{}, bc.AssetID{}, 0, 0, nil, nil)
- return b.AddInput(in)
+ return b.AddInput(in, nil)
}
func (a *crossInAction) ActionType() string {