-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rln-relay): use batch operations API #617
Conversation
Jenkins BuildsClick to see older builds (28)
|
c7ac05a
to
9b6ee32
Compare
9b6ee32
to
7863549
Compare
7863549
to
b96c5b0
Compare
} | ||
indexes = append(indexes, event.Index.Uint64()) | ||
indexes = append(indexes, uint(event.Index.Uint64())) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't this cause truncation in future if someone uses a 32bit machine and membership set size grows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hm. indeed. I'm gonna change go-zerokit-rln to receive uint64 instead of only uints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nvm. Looking at the implementation in zerokit, the functions that accept indexes receive an uintptr_t
value which will depend on the platform architecture...
@rymnc - do you think we should change zerokit's FFI api to use u64 instead of usize for the indexes? what's the maximum number of leaves that a merkle tree can have?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by default, the tree_height is 20, so 1_048_576
I think we fixed the issue of serialization for usize's 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed, serialization should be fine, but i wonder if in this case (ffi), it would be a problem, as you'd be limited to a maximum index of 2^32-1 in a 32b machine, due to using usize 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe we'd cross 2^32 ~ since 2^20 is the max tree height
Also , looks like SHA has to be updated for the nix build to be successful. |
b96c5b0
to
2e2a76f
Compare
2e2a76f
to
2b71b1b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Replace inserting/removing members individually by using batch operations with zerokit's
atomic_write