OSDN Git Service

merge
authorHAOYUatHZ <haoyu@protonmail.com>
Wed, 19 Jun 2019 05:53:51 +0000 (13:53 +0800)
committerHAOYUatHZ <haoyu@protonmail.com>
Wed, 19 Jun 2019 05:53:51 +0000 (13:53 +0800)
blockchain/txbuilder/actions.go
federation/warder.go
protocol/validation/tx.go

index f06c3ed..93305ac 100644 (file)
@@ -306,7 +306,7 @@ func (c *crossInAction) checkAssetID() error {
        assetID := bc.ComputeAssetID(c.IssuanceProgram, c.VMVersion, &defHash)
 
        if *c.AssetId == *consensus.BTMAssetID && assetID != *c.AssetAmount.AssetId {
-               return errors.New("incorrect asset_idincorrect asset_id")
+               return errors.New("incorrect asset_id")
        }
 
        return nil
index 92fef40..5758f94 100644 (file)
@@ -196,7 +196,12 @@ func (w *warder) buildSidechainTx(ormTx *orm.CrossTransaction) (*vaporTypes.Tx,
                        return nil, "", errors.Wrap(err, "decode rawDefinitionByte")
                }
 
-               input := vaporTypes.NewCrossChainInput(nil, *muxID, *assetID, req.AssetAmount, req.SourcePos, w.fedProg, rawDefinitionByte)
+               issuanceProgramByte, err := hex.DecodeString(asset.IssuanceProgram)
+               if err != nil {
+                       return nil, "", errors.Wrap(err, "decode issuanceProgramByte")
+               }
+
+               input := vaporTypes.NewCrossChainInput(nil, *muxID, *assetID, req.AssetAmount, req.SourcePos, 1, rawDefinitionByte, issuanceProgramByte)
                destTxData.Inputs = append(destTxData.Inputs, input)
 
                controlProgram, err := hex.DecodeString(req.Script)
index 0768d88..b736cf6 100644 (file)
@@ -251,8 +251,9 @@ func checkValid(vs *validationState, e bc.Entry) (err error) {
                // check assetID
                assetID := e.AssetDefinition.ComputeAssetID()
                if *e.Value.AssetId != *consensus.BTMAssetID && *e.Value.AssetId != assetID {
-                       return errors.New("incorrect asset_id while check CrossChainInput")
+                       return errors.New("incorrect asset_id while checking CrossChainInput")
                }
+
                code := config.FederationProgrom(config.CommonConfig)
                prog := &bc.Program{
                        VmVersion: e.ControlProgram.VmVersion,