refactor: remove embedded resource and add depth and mode enums
This commit is contained in:
parent
655973b243
commit
fd3fa1222b
File diff suppressed because one or more lines are too long
|
@ -1,3 +0,0 @@
|
|||
package resources
|
||||
|
||||
//go:generate go-bindata -pkg resources -o ./bindata.go ./...
|
Binary file not shown.
Binary file not shown.
|
@ -1,119 +0,0 @@
|
|||
{
|
||||
"protocol": "groth16",
|
||||
"curve": "bn128",
|
||||
"nPublic": 6,
|
||||
"vk_alpha_1": [
|
||||
"20124996762962216725442980738609010303800849578410091356605067053491763969391",
|
||||
"9118593021526896828671519912099489027245924097793322973632351264852174143923",
|
||||
"1"
|
||||
],
|
||||
"vk_beta_2": [
|
||||
[
|
||||
"4693952934005375501364248788849686435240706020501681709396105298107971354382",
|
||||
"14346958885444710485362620645446987998958218205939139994511461437152241966681"
|
||||
],
|
||||
[
|
||||
"16851772916911573982706166384196538392731905827088356034885868448550849804972",
|
||||
"823612331030938060799959717749043047845343400798220427319188951998582076532"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"0"
|
||||
]
|
||||
],
|
||||
"vk_gamma_2": [
|
||||
[
|
||||
"10857046999023057135944570762232829481370756359578518086990519993285655852781",
|
||||
"11559732032986387107991004021392285783925812861821192530917403151452391805634"
|
||||
],
|
||||
[
|
||||
"8495653923123431417604973247489272438418190587263600148770280649306958101930",
|
||||
"4082367875863433681332203403145435568316851327593401208105741076214120093531"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"0"
|
||||
]
|
||||
],
|
||||
"vk_delta_2": [
|
||||
[
|
||||
"8353516066399360694538747105302262515182301251524941126222712285088022964076",
|
||||
"9329524012539638256356482961742014315122377605267454801030953882967973561832"
|
||||
],
|
||||
[
|
||||
"16805391589556134376869247619848130874761233086443465978238468412168162326401",
|
||||
"10111259694977636294287802909665108497237922060047080343914303287629927847739"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"0"
|
||||
]
|
||||
],
|
||||
"vk_alphabeta_12": [
|
||||
[
|
||||
[
|
||||
"12608968655665301215455851857466367636344427685631271961542642719683786103711",
|
||||
"9849575605876329747382930567422916152871921500826003490242628251047652318086"
|
||||
],
|
||||
[
|
||||
"6322029441245076030714726551623552073612922718416871603535535085523083939021",
|
||||
"8700115492541474338049149013125102281865518624059015445617546140629435818912"
|
||||
],
|
||||
[
|
||||
"10674973475340072635573101639867487770811074181475255667220644196793546640210",
|
||||
"2926286967251299230490668407790788696102889214647256022788211245826267484824"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"9660441540778523475944706619139394922744328902833875392144658911530830074820",
|
||||
"19548113127774514328631808547691096362144426239827206966690021428110281506546"
|
||||
],
|
||||
[
|
||||
"1870837942477655969123169532603615788122896469891695773961478956740992497097",
|
||||
"12536105729661705698805725105036536744930776470051238187456307227425796690780"
|
||||
],
|
||||
[
|
||||
"21811903352654147452884857281720047789720483752548991551595462057142824037334",
|
||||
"19021616763967199151052893283384285352200445499680068407023236283004353578353"
|
||||
]
|
||||
]
|
||||
],
|
||||
"IC": [
|
||||
[
|
||||
"11992897507809711711025355300535923222599547639134311050809253678876341466909",
|
||||
"17181525095924075896332561978747020491074338784673526378866503154966799128110",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"17018665030246167677911144513385572506766200776123272044534328594850561667818",
|
||||
"18601114175490465275436712413925513066546725461375425769709566180981674884464",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"18799470100699658367834559797874857804183288553462108031963980039244731716542",
|
||||
"13064227487174191981628537974951887429496059857753101852163607049188825592007",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"17432501889058124609368103715904104425610382063762621017593209214189134571156",
|
||||
"13406815149699834788256141097399354592751313348962590382887503595131085938635",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"10320964835612716439094703312987075811498239445882526576970512041988148264481",
|
||||
"9024164961646353611176283204118089412001502110138072989569118393359029324867",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"718355081067365548229685160476620267257521491773976402837645005858953849298",
|
||||
"14635482993933988261008156660773180150752190597753512086153001683711587601974",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"11777720285956632126519898515392071627539405001940313098390150593689568177535",
|
||||
"8483603647274280691250972408211651407952870456587066148445913156086740744515",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
}
|
33
rln/rln.go
33
rln/rln.go
|
@ -8,7 +8,6 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/waku-org/go-zerokit-rln/rln/link"
|
||||
"github.com/waku-org/go-zerokit-rln/rln/resources"
|
||||
)
|
||||
|
||||
// RLN represents the context used for rln.
|
||||
|
@ -19,36 +18,14 @@ type RLN struct {
|
|||
// 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) {
|
||||
wasm, err := resources.Asset("tree_height_20/rln.wasm")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
zkey, err := resources.Asset("tree_height_20/rln_final.zkey")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
verifKey, err := resources.Asset("tree_height_20/verification_key.json")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
r := &RLN{}
|
||||
|
||||
depth := 20
|
||||
|
||||
r.w, err = link.NewWithParams(depth, wasm, zkey, verifKey, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return r, nil
|
||||
return NewWithConfig(DefaultTreeDepth, &Config{
|
||||
ResourcesFolder: "tree_height_20",
|
||||
})
|
||||
}
|
||||
|
||||
// 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 int, wasm []byte, zkey []byte, verifKey []byte, treeConfig *TreeConfig) (*RLN, error) {
|
||||
func NewRLNWithParams(depth TreeDepth, wasm []byte, zkey []byte, verifKey []byte, treeConfig *TreeConfig) (*RLN, error) {
|
||||
r := &RLN{}
|
||||
var err error
|
||||
|
||||
|
@ -70,7 +47,7 @@ func NewRLNWithParams(depth int, wasm []byte, zkey []byte, verifKey []byte, tree
|
|||
|
||||
// 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 int, config *Config) (*RLN, error) {
|
||||
func NewWithConfig(depth TreeDepth, config *Config) (*RLN, error) {
|
||||
r := &RLN{}
|
||||
var err error
|
||||
|
||||
|
|
27
rln/types.go
27
rln/types.go
|
@ -62,12 +62,29 @@ type RateLimitProof struct {
|
|||
RLNIdentifier RLNIdentifier `json:"rlnIdentifier"`
|
||||
}
|
||||
|
||||
type TreeDepth = int
|
||||
|
||||
const (
|
||||
TreeDepth20 TreeDepth = 20
|
||||
TreeDepth15 TreeDepth = 15
|
||||
TreeDepth19 TreeDepth = 19
|
||||
)
|
||||
|
||||
const DefaultTreeDepth = TreeDepth20
|
||||
|
||||
type TreeMode string
|
||||
|
||||
const (
|
||||
HighThroughput TreeMode = "HighThroughput"
|
||||
LowSpace TreeMode = "LowSpace"
|
||||
)
|
||||
|
||||
type TreeConfig struct {
|
||||
CacheCapacity int `json:"cache_capacity"`
|
||||
Mode string `json:"mode"`
|
||||
Compression bool `json:"compression"`
|
||||
FlushInterval int `json:"flush_interval"`
|
||||
Path string `json:"path"`
|
||||
CacheCapacity int `json:"cache_capacity"`
|
||||
Mode TreeMode `json:"mode"`
|
||||
Compression bool `json:"compression"`
|
||||
FlushInterval int `json:"flush_interval"`
|
||||
Path string `json:"path"`
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
|
|
Loading…
Reference in New Issue