core: implement (*Blockchain).VerifyWitness

`ScriptFromWitness` is no longer useful, because we support
contract verification.
This commit is contained in:
Evgenii Stratonikov 2020-08-20 11:02:11 +03:00
parent 4e7a1f6c87
commit 7e34072519
8 changed files with 67 additions and 102 deletions

View file

@ -155,27 +155,6 @@ func TestAddBadBlock(t *testing.T) {
require.NoError(t, bc.AddBlock(b3))
}
func TestScriptFromWitness(t *testing.T) {
witness := &transaction.Witness{}
h := util.Uint160{1, 2, 3}
res, err := ScriptFromWitness(h, witness)
require.NoError(t, err)
require.NotNil(t, res)
witness.VerificationScript = []byte{4, 8, 15, 16, 23, 42}
h = hash.Hash160(witness.VerificationScript)
res, err = ScriptFromWitness(h, witness)
require.NoError(t, err)
require.NotNil(t, res)
h[0] = ^h[0]
res, err = ScriptFromWitness(h, witness)
require.Error(t, err)
require.Nil(t, res)
}
func TestGetHeader(t *testing.T) {
bc := newTestChain(t)
tx := transaction.New(netmode.UnitTestNet, []byte{byte(opcode.PUSH1)}, 0)