package common

import (
	"github.com/nspcc-dev/neo-go/pkg/interop/storage"
	"github.com/nspcc-dev/neo-go/pkg/interop/util"
)

const (
	panicMsgForNotaryDisabledEnv = "contract not applicable for notary-disabled environment"
)

// BytesEqual compares two slices of bytes by wrapping them into strings,
// which is necessary with new util.Equals interop behaviour, see neo-go#1176.
func BytesEqual(a []byte, b []byte) bool {
	return util.Equals(string(a), string(b))
}

// RmAndCheckNotaryDisabledKey remove notary disabled key from storage and
// panic in notary disabled environment
func RmAndCheckNotaryDisabledKey(data interface{}, key interface{}) {
	//TODO(@acid-ant): #9 remove notaryDisabled from args in future version
	storage.Delete(storage.GetContext(), key)
	if data.([]interface{})[0].(bool) {
		panic(panicMsgForNotaryDisabledEnv)
	}
}