@@ -24,29 +24,31 @@ import (
2424 "github.com/hyperledger-labs/zeto/go-sdk/internal/crypto/hash"
2525 "github.com/hyperledger-labs/zeto/go-sdk/internal/sparse-merkle-tree/utils"
2626 "github.com/hyperledger-labs/zeto/go-sdk/pkg/sparse-merkle-tree/core"
27+ apicore "github.com/hyperledger-labs/zeto/go-sdk/pkg/utxo/core"
2728 "github.com/iden3/go-iden3-crypto/poseidon"
2829 "github.com/stretchr/testify/assert"
2930)
3031
3132func TestNodeIndex (t * testing.T ) {
32- idx0 , _ := NewNodeIndexFromBigInt (big .NewInt (0 ), & hash.PoseidonHasher {})
33+ hasher := & hash.PoseidonHasher {}
34+ idx0 , _ := NewNodeIndexFromBigInt (big .NewInt (0 ), hasher )
3335 assert .Equal (t , "0000000000000000000000000000000000000000000000000000000000000000" , idx0 .Hex ())
34- idx1 , _ := NewNodeIndexFromBigInt (big .NewInt (1 ), & hash. PoseidonHasher {} )
36+ idx1 , _ := NewNodeIndexFromBigInt (big .NewInt (1 ), hasher )
3537 assert .Equal (t , "0100000000000000000000000000000000000000000000000000000000000000" , idx1 .Hex ())
36- idx2 , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), & hash. PoseidonHasher {} )
38+ idx2 , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), hasher )
3739 assert .Equal (t , "0a00000000000000000000000000000000000000000000000000000000000000" , idx2 .Hex ())
3840
39- idx3 , _ := NewNodeIndexFromBigInt (big .NewInt (12345678 ), & hash. PoseidonHasher {} )
41+ idx3 , _ := NewNodeIndexFromBigInt (big .NewInt (12345678 ), hasher )
4042 assert .Equal (t , "4e61bc0000000000000000000000000000000000000000000000000000000000" , idx3 .Hex ())
4143
4244 v4 , _ := new (big.Int ).SetString ("4932297968297298434239270129193057052722409868268166443802652458940273154854" , 10 )
43- idx4 , _ := NewNodeIndexFromBigInt (v4 , & hash. PoseidonHasher {} )
45+ idx4 , _ := NewNodeIndexFromBigInt (v4 , hasher )
4446 assert .Equal (t , "265baaf161e875c372d08e50f52abddc01d32efc93e90290bb8b3d9ceb94e70a" , idx4 .Hex ())
4547 expectedBytes4 := []byte {38 , 91 , 170 , 241 , 97 , 232 , 117 , 195 , 114 , 208 , 142 , 80 , 245 , 42 , 189 , 220 , 1 , 211 , 46 , 252 , 147 , 233 , 2 , 144 , 187 , 139 , 61 , 156 , 235 , 148 , 231 , 10 }
4648 rawIndex4 := idx4 .(* nodeIndex )
47- assert .Equal (t , expectedBytes4 , rawIndex4 [:])
49+ assert .Equal (t , expectedBytes4 , rawIndex4 . index [:])
4850
49- idx5 , err := NewNodeIndexFromHex ("265baaf161e875c372d08e50f52abddc01d32efc93e90290bb8b3d9ceb94e70a" )
51+ idx5 , err := NewNodeIndexFromHex ("265baaf161e875c372d08e50f52abddc01d32efc93e90290bb8b3d9ceb94e70a" , hasher )
5052 assert .NoError (t , err )
5153 assert .Equal (t , 0 , v4 .Cmp (idx5 .BigInt ()))
5254}
@@ -63,7 +65,7 @@ func TestNewEmptyNode(t *testing.T) {
6365func TestNewLeafNode (t * testing.T ) {
6466 idx , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), & hash.PoseidonHasher {})
6567 i := utils .NewIndexOnly (idx )
66- node , err := NewLeafNode (i , nil , & hash. PoseidonHasher {} )
68+ node , err := NewLeafNode (i , nil )
6769 assert .NoError (t , err )
6870 assert .Equal (t , node .Type (), core .NodeTypeLeaf )
6971 assert .Equal (t , node .Index (), idx )
@@ -76,9 +78,9 @@ func TestNewLeafNode(t *testing.T) {
7678}
7779
7880func TestNewLeafNodeKeccak256 (t * testing.T ) {
79- idx , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), & hash.PoseidonHasher {})
81+ idx , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), & hash.Keccak256Hasher {})
8082 i := utils .NewIndexOnly (idx )
81- node , err := NewLeafNode (i , nil , & hash. Keccak256Hasher {} )
83+ node , err := NewLeafNode (i , nil )
8284 assert .NoError (t , err )
8385 assert .Equal (t , node .Type (), core .NodeTypeLeaf )
8486 assert .Equal (t , node .Index (), idx )
@@ -93,7 +95,7 @@ func TestNewLeafNodeKeccak256(t *testing.T) {
9395func TestNewLeafNodeWithValue (t * testing.T ) {
9496 idx , _ := NewNodeIndexFromBigInt (big .NewInt (10 ), & hash.PoseidonHasher {})
9597 i := utils .NewIndexOnly (idx )
96- node , err := NewLeafNode (i , big .NewInt (12345 ), & hash. PoseidonHasher {} )
98+ node , err := NewLeafNode (i , big .NewInt (12345 ))
9799 assert .NoError (t , err )
98100 assert .Equal (t , node .Type (), core .NodeTypeLeaf )
99101 assert .Equal (t , node .Index (), idx )
@@ -125,8 +127,11 @@ type badIndex struct{}
125127func (f * badIndex ) CalculateIndex () (core.NodeIndex , error ) {
126128 return nil , errors .New ("Bang!" )
127129}
130+ func (f * badIndex ) GetHasher () apicore.Hasher {
131+ return & hash.PoseidonHasher {}
132+ }
128133
129134func TestNewLeafNodeFail (t * testing.T ) {
130- _ , err := NewLeafNode (& badIndex {}, nil , & hash. PoseidonHasher {} )
135+ _ , err := NewLeafNode (& badIndex {}, nil )
131136 assert .EqualError (t , err , "Bang!" )
132137}
0 commit comments