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) } }