mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-26 15:22:15 +00:00
39 lines
876 B
Go
39 lines
876 B
Go
|
package nano
|
||
|
|
||
|
import (
|
||
|
"encoding/hex"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestLedgerKeys(t *testing.T) {
|
||
|
assert, require := assert.New(t), require.New(t)
|
||
|
|
||
|
// cryptoCase from sign_test
|
||
|
cases := []struct {
|
||
|
msg, pubkey, sig string
|
||
|
valid bool
|
||
|
}{
|
||
|
{
|
||
|
msg: "F00D",
|
||
|
pubkey: "8E8754F012C2FDB492183D41437FD837CB81D8BBE731924E2E0DAF43FD3F2C93",
|
||
|
sig: "787DC03E9E4EE05983E30BAE0DEFB8DB0671DBC2F5874AC93F8D8CA4018F7A42D6F9A9BCEADB422AC8E27CEE9CA205A0B88D22CD686F0A43EB806E8190A3C400",
|
||
|
valid: true,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
for i, tc := range cases {
|
||
|
bmsg, err := hex.DecodeString(tc.msg)
|
||
|
require.NoError(err, "%d", i)
|
||
|
|
||
|
priv := NewMockKey(tc.msg, tc.pubkey, tc.sig)
|
||
|
pub := priv.PubKey()
|
||
|
sig := priv.Sign(bmsg)
|
||
|
|
||
|
valid := pub.VerifyBytes(bmsg, sig)
|
||
|
assert.Equal(tc.valid, valid, "%d", i)
|
||
|
}
|
||
|
}
|