From eed6c087b35b3ad1dd322a2c8649fcbd36bd2023 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Thu, 10 Aug 2023 18:25:06 -0400 Subject: [PATCH] refactor: only expose tree config --- rln/rln.go | 26 ++++++++++++++------------ rln/rln_test.go | 6 +----- rln/types.go | 4 ++-- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/rln/rln.go b/rln/rln.go index d25a2ef..8efaa63 100644 --- a/rln/rln.go +++ b/rln/rln.go @@ -15,17 +15,19 @@ type RLN struct { w *link.RLNWrapper } +func getResourcesFolder(depth TreeDepth) string { + return fmt.Sprintf("tree_height_%d", depth) +} + // NewRLN generates an instance of RLN. An instance supports both zkSNARKs logics // and Merkle tree data structure and operations. It uses a depth of 20 by default func NewRLN() (*RLN, error) { - return NewWithConfig(DefaultTreeDepth, &Config{ - ResourcesFolder: "tree_height_20", - }) + return NewWithConfig(DefaultTreeDepth, nil) } // NewRLNWithParams generates an instance of RLN. An instance supports both zkSNARKs logics // and Merkle tree data structure and operations. The parameter `depth“ indicates the depth of Merkle tree -func NewRLNWithParams(depth TreeDepth, wasm []byte, zkey []byte, verifKey []byte, treeConfig *TreeConfig) (*RLN, error) { +func NewRLNWithParams(depth int, wasm []byte, zkey []byte, verifKey []byte, treeConfig *TreeConfig) (*RLN, error) { r := &RLN{} var err error @@ -47,19 +49,19 @@ func NewRLNWithParams(depth TreeDepth, wasm []byte, zkey []byte, verifKey []byte // NewWithConfig generates an instance of RLN. An instance supports both zkSNARKs logics // and Merkle tree data structure and operations. The parameter `depth` indicates the depth of Merkle tree -func NewWithConfig(depth TreeDepth, config *Config) (*RLN, error) { +func NewWithConfig(depth TreeDepth, treeConfig *TreeConfig) (*RLN, error) { r := &RLN{} var err error - configBytes := []byte{} - if config != nil { - configBytes, err = json.Marshal(config) - if err != nil { - return nil, err - } + configBytes, err := json.Marshal(config{ + ResourcesFolder: getResourcesFolder(depth), + TreeConfig: treeConfig, + }) + if err != nil { + return nil, err } - r.w, err = link.New(depth, configBytes) + r.w, err = link.New(int(depth), configBytes) if err != nil { return nil, err } diff --git a/rln/rln_test.go b/rln/rln_test.go index be9b96b..6aff84a 100644 --- a/rln/rln_test.go +++ b/rln/rln_test.go @@ -25,11 +25,7 @@ func (s *RLNSuite) TestNew() { s.NoError(err) s.Len(root1, 32) - config := &Config{ - ResourcesFolder: "tree_height_20", - } - - rln2, err := NewWithConfig(20, config) + rln2, err := NewWithConfig(DefaultTreeDepth, nil) s.NoError(err) root2, err := rln2.GetMerkleRoot() diff --git a/rln/types.go b/rln/types.go index 205a79d..8d4d7c6 100644 --- a/rln/types.go +++ b/rln/types.go @@ -62,7 +62,7 @@ type RateLimitProof struct { RLNIdentifier RLNIdentifier `json:"rlnIdentifier"` } -type TreeDepth = int +type TreeDepth int const ( TreeDepth20 TreeDepth = 20 @@ -87,7 +87,7 @@ type TreeConfig struct { Path string `json:"path"` } -type Config struct { +type config struct { ResourcesFolder string `json:"resources_folder"` TreeConfig *TreeConfig `json:"tree_config,omitempty"` }