27 lines
630 B
Go
27 lines
630 B
Go
//go:build go1.18
|
|
// +build go1.18
|
|
|
|
package transaction
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"testing"
|
|
|
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func FuzzNewTransactionFromBytes(f *testing.F) {
|
|
b, err := base64.StdEncoding.DecodeString(rawInvocationTX)
|
|
require.NoError(f, err)
|
|
f.Add(b)
|
|
tx := New([]byte{0x51}, 1)
|
|
tx.Signers = []Signer{{Account: util.Uint160{1, 2, 3}}}
|
|
tx.Scripts = []Witness{{InvocationScript: []byte{}, VerificationScript: []byte{}}}
|
|
f.Add(tx.Bytes())
|
|
f.Fuzz(func(t *testing.T, b []byte) {
|
|
require.NotPanics(t, func() {
|
|
_, _ = NewTransactionFromBytes(b)
|
|
})
|
|
})
|
|
}
|