OSDN Git Service

modify crossin transaction (#416)
[bytom/vapor.git] / protocol / validation / tx.go
index 6053270..392c46e 100644 (file)
@@ -5,6 +5,7 @@ import (
        "math"
        "sync"
 
+       "github.com/vapor/common"
        "github.com/vapor/config"
        "github.com/vapor/consensus"
        "github.com/vapor/errors"
@@ -277,9 +278,10 @@ func checkValid(vs *validationState, e bc.Entry) (err error) {
                        return errors.New("incorrect asset_id while checking CrossChainInput")
                }
 
-               prog := &bc.Program{
-                       VmVersion: e.ControlProgram.VmVersion,
-                       Code:      config.FederationWScript(config.CommonConfig),
+               prog := e.ControlProgram
+
+               if !common.IsOpenFederationIssueAsset(e.RawDefinitionByte) {
+                       prog.Code = config.FederationWScript(config.CommonConfig)
                }
 
                if _, err := vm.Verify(NewTxVMContext(vs, e, prog, e.WitnessArguments), consensus.ActiveNetParams.DefaultGasCredit); err != nil {