github.com/line/ostracon@v1.0.10-0.20230328032236-7f20145f065d/crypto/vrf/vrf_libsodium_test.go (about) 1 //go:build libsodium 2 // +build libsodium 3 4 package vrf 5 6 import ( 7 "crypto/ed25519" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 12 libsodium "github.com/line/ostracon/crypto/vrf/internal/vrf" 13 ) 14 15 func TestProveAndVerifyLibsodiumByCryptoEd25519(t *testing.T) { 16 secret := [SEEDBYTES]byte{} 17 privateKey := ed25519.NewKeyFromSeed(secret[:]) 18 publicKey := privateKey.Public().(ed25519.PublicKey) 19 20 verified, err := proveAndVerify(t, privateKey, publicKey) 21 // 22 // verified when using crypto ed25519 23 // 24 require.NoError(t, err) 25 require.True(t, verified) 26 } 27 28 func TestProveAndVerifyLibsodiumByLibsodiumEd25519(t *testing.T) { 29 secret := [SEEDBYTES]byte{} 30 publicKey, privateKey := libsodium.KeyPairFromSeed(&secret) 31 32 verified, err := proveAndVerify(t, privateKey[:], publicKey[:]) 33 // 34 // verified when using libsodium ed25519 35 // 36 require.NoError(t, err) 37 require.True(t, verified) 38 }