2019-02-25 22:44:14 +00:00
|
|
|
package transaction
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/hex"
|
|
|
|
"testing"
|
|
|
|
|
2020-03-26 14:43:24 +00:00
|
|
|
"github.com/nspcc-dev/neo-go/pkg/internal/testserdes"
|
2019-02-25 22:44:14 +00:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestEncodeDecodeMiner(t *testing.T) {
|
|
|
|
// transaction from mainnet a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264
|
|
|
|
rawtx := "0000fcd30e22000001e72d286979ee6cb1b7e65dfddfb2e384100b8d148e7758de42e4168b71792c60c8000000000000001f72e68b4e39602912106d53b229378a082784b200"
|
2019-08-30 15:53:26 +00:00
|
|
|
tx := decodeTransaction(rawtx, t)
|
|
|
|
assert.Equal(t, MinerType, tx.Type)
|
|
|
|
assert.IsType(t, tx.Data, &MinerTX{})
|
|
|
|
assert.Equal(t, 0, int(tx.Version))
|
2020-04-10 10:41:49 +00:00
|
|
|
assert.Equal(t, uint32(571397116), tx.Nonce)
|
2019-02-25 22:44:14 +00:00
|
|
|
|
2019-11-27 09:23:18 +00:00
|
|
|
assert.Equal(t, "a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264", tx.Hash().StringLE())
|
2019-02-25 22:44:14 +00:00
|
|
|
|
|
|
|
// Encode
|
2020-03-26 14:43:24 +00:00
|
|
|
data, err := testserdes.EncodeBinary(tx)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, rawtx, hex.EncodeToString(data))
|
2019-02-25 22:44:14 +00:00
|
|
|
}
|