Add scanner/valuer interface to signature

This commit is contained in:
a_bennassar
2020-08-11 16:51:42 +02:00
parent 327a8175d6
commit d91a4261f1
4 changed files with 44 additions and 5 deletions

View File

@@ -6,6 +6,9 @@ import (
"math/big"
"testing"
"database/sql"
"database/sql/driver"
"github.com/iden3/go-iden3-crypto/constants"
"github.com/iden3/go-iden3-crypto/utils"
"github.com/stretchr/testify/assert"
@@ -132,6 +135,18 @@ func TestCompressDecompress(t *testing.T) {
}
}
func TestScannerValuer(t *testing.T) {
privK := NewRandPrivKey()
var value driver.Valuer
var scan sql.Scanner
value = privK.SignPoseidon(big.NewInt(674238462))
scan = privK.SignPoseidon(big.NewInt(1))
fromDB, err := value.Value()
assert.NoError(t, err)
assert.NoError(t, scan.Scan(fromDB))
assert.Equal(t, value, scan)
}
func BenchmarkBabyjubEddsa(b *testing.B) {
var k PrivateKey
_, err := hex.Decode(k[:], []byte("0001020304050607080900010203040506070809000102030405060708090001"))