Add common/Leaf struct & parsers (bigint & byte arrays)

This commit is contained in:
arnaucube
2020-08-03 12:53:36 +02:00
parent dbbc3098e7
commit dd1901709c

View File

@@ -7,6 +7,7 @@ import (
"testing" "testing"
ethCommon "github.com/ethereum/go-ethereum/common" ethCommon "github.com/ethereum/go-ethereum/common"
ethCrypto "github.com/ethereum/go-ethereum/crypto"
cryptoConstants "github.com/iden3/go-iden3-crypto/constants" cryptoConstants "github.com/iden3/go-iden3-crypto/constants"
cryptoUtils "github.com/iden3/go-iden3-crypto/utils" cryptoUtils "github.com/iden3/go-iden3-crypto/utils"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@@ -45,40 +46,40 @@ func TestLeaf(t *testing.T) {
assert.Equal(t, l1, l2) assert.Equal(t, l1, l2)
} }
// func TestLeafLoop(t *testing.T) { func TestLeafLoop(t *testing.T) {
// // check that for different Address there is no problem // check that for different Address there is no problem
// for i := 0; i < 256; i++ { for i := 0; i < 256; i++ {
// key, err := ethCrypto.GenerateKey() key, err := ethCrypto.GenerateKey()
// assert.Nil(t, err) assert.Nil(t, err)
// address := ethCrypto.PubkeyToAddress(key.PublicKey) address := ethCrypto.PubkeyToAddress(key.PublicKey)
//
// leaf := &Leaf{ leaf := &Leaf{
// TokenID: TokenID(i), TokenID: TokenID(i),
// Nonce: uint64(i), Nonce: uint64(i),
// Balance: big.NewInt(1000), Balance: big.NewInt(1000),
// Ax: big.NewInt(9876), Ax: big.NewInt(9876),
// Ay: big.NewInt(6789), Ay: big.NewInt(6789),
// EthAddr: address, EthAddr: address,
// } }
// b, err := leaf.Bytes() b, err := leaf.Bytes()
// assert.Nil(t, err) assert.Nil(t, err)
// l1, err := LeafFromBytes(b) l1, err := LeafFromBytes(b)
// assert.Nil(t, err) assert.Nil(t, err)
// assert.Equal(t, leaf, l1) assert.Equal(t, leaf, l1)
//
// e, err := leaf.BigInts() e, err := leaf.BigInts()
// assert.Nil(t, err) assert.Nil(t, err)
// assert.True(t, cryptoUtils.CheckBigIntInField(e[0])) assert.True(t, cryptoUtils.CheckBigIntInField(e[0]))
// assert.True(t, cryptoUtils.CheckBigIntInField(e[1])) assert.True(t, cryptoUtils.CheckBigIntInField(e[1]))
// assert.True(t, cryptoUtils.CheckBigIntInField(e[2])) assert.True(t, cryptoUtils.CheckBigIntInField(e[2]))
// assert.True(t, cryptoUtils.CheckBigIntInField(e[3])) assert.True(t, cryptoUtils.CheckBigIntInField(e[3]))
// assert.True(t, cryptoUtils.CheckBigIntInField(e[4])) assert.True(t, cryptoUtils.CheckBigIntInField(e[4]))
//
// l2, err := LeafFromBigInts(e) l2, err := LeafFromBigInts(e)
// assert.Nil(t, err) assert.Nil(t, err)
// assert.Equal(t, leaf, l2) assert.Equal(t, leaf, l2)
// } }
// } }
func TestLeafErrNotInFF(t *testing.T) { func TestLeafErrNotInFF(t *testing.T) {
z := big.NewInt(0) z := big.NewInt(0)