storj/private/blockchain/types_test.go
Yaroslav Vorobiov 7b13af1184 private/blockchain: address checksum hex
Updates blockchain.Address.Hex to return mixedcase
checksum hash.

Change-Id: I74c830b49eceb30876c8ef20d3adc4816de51a64
2022-11-08 18:19:07 +00:00

57 lines
1.4 KiB
Go

// Copyright (C) 2021 Storj Labs, Inc.
// See LICENSE for copying information.
package blockchain_test
import (
"encoding/hex"
"testing"
"github.com/stretchr/testify/require"
"storj.io/storj/private/blockchain"
)
func TestBytesToAddress(t *testing.T) {
a := blockchain.Address{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 10}
gotA, err := blockchain.BytesToAddress(a.Bytes())
require.NoError(t, err)
require.Equal(t, a, gotA)
_, err = blockchain.BytesToAddress([]byte{1, 2, 3})
require.Error(t, err)
}
func TestAddressHex(t *testing.T) {
addresses := []string{
"0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5",
"0xd24400ae8BfEBb18cA49Be86258a3C749cf46853",
"0x4E58657CD8b3401B6f7Db9Cd0408f06582c458b5",
}
for _, address := range addresses {
decoded, err := hex.DecodeString(address[2:])
require.NoError(t, err)
a, err := blockchain.BytesToAddress(decoded)
require.NoError(t, err)
require.Equal(t, address, a.Hex())
}
}
func TestHashHex(t *testing.T) {
hashes := []string{
"0xdea1082dbea119c822dfe804264f5b880d4208ef51e8c5a8995eff10a5094de8",
"0xd1a78f16158b550945dd39182d188c3fb7285b431223c8b0fe38f4181e9ac197",
"0x47a5b3fae0bad45631a65324001f75dea311898e26ee10597a66953b57dfe332",
}
for _, hash := range hashes {
decoded, err := hex.DecodeString(hash[2:])
require.NoError(t, err)
h, err := blockchain.BytesToHash(decoded)
require.NoError(t, err)
require.Equal(t, hash, h.Hex())
}
}