OSDN Git Service

fix recursive order (#458)
[bytom/vapor.git] / consensus / segwit / segwit.go
index 1477fdd..f1e0117 100644 (file)
@@ -86,6 +86,11 @@ func IsP2WMCScript(prog []byte) bool {
        if _, err = vm.AsInt64(insts[3].Data); err != nil {
                return false
        }
+
+       if !IsP2WScript(insts[4].Data) {
+               return false
+       }
+
        return insts[5].Op == vm.OP_DATA_32 && len(insts[5].Data) == 32
 }
 
@@ -148,6 +153,7 @@ func DecodeP2WMCProgram(prog []byte) (*vmutil.MagneticContractArgs, error) {
        if magneticContractArgs.RatioDenominator, err = vm.AsInt64(insts[3].Data); err != nil {
                return nil, err
        }
+
        return magneticContractArgs, nil
 }