| 12345678910111213141516171819202122232425262728293031 |
- package vm
- import (
- "encoding/binary"
- "encoding/hex"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- "testing"
- )
- func TestGetMinerAndMerkleProofValidate(t *testing.T) {
- data, _ := hex.DecodeString("00000030b1af0585bd9ecb320ef85a42debb3ef2d0ccfb535b2075e28d58dc3e8959955dd38002be969899cf593e3b8a69d8b23c2d8d9e8420646829f4f818dcda288c8f9e68ba62ffff7f2001000000020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff050222010101ffffffff0200f90295000000001976a914210fcf4212bdb75c8692863ddb8cf481d613532c88ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9012000000000000000000000000000000000000000000000000000000000000000000000000000")
- totalLengthPrefix := make([]byte, 32)
- binary.BigEndian.PutUint64(totalLengthPrefix[0:8], 0)
- binary.BigEndian.PutUint64(totalLengthPrefix[8:16], 0)
- binary.BigEndian.PutUint64(totalLengthPrefix[16:24], 0)
- binary.BigEndian.PutUint64(totalLengthPrefix[24:], uint64(len(data)))
- input := append(totalLengthPrefix, data...)
- c := btcValidate{}
- output, err := c.Run(input)
- require.NoError(t, err)
- typ := binary.BigEndian.Uint32(output[60:])
- assert.Equal(t, typ, uint32(2), "type error")
- addr := hex.EncodeToString((output[:20]))
- assert.Equal(t, addr, "210fcf4212bdb75c8692863ddb8cf481d613532c", "address error")
- }
|