Removing shielded address prefixes map #77
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Shielded addresses almost always contain a prefix that indicates the destination pool or generic address type (
zkbob:
prefix). The Rust library is fully responsible for generating, parsing, and validating addresses. To introduce a new pool, changes must be made to the hardcoded map located in the libzkbob-rs library. However, this approach is not very convenient.For the simplicity of deploying a new pool, the hardcoded map should be removed from the libzkbob-rs library, moved to a higher level (zkbob-client-js), and made customizable from the application side. The Rust library will no longer have knowledge of address prefixes; it will only deal with the base58 block of the address.
The following changes are introduced by this pull request:
generate_universal_address_for_seed
,validate_universal_address
, andassemble_universal_address
are added to work with generic addresses. Associated methods without the universal keyword work with pool-specific addresses only.Wasm libraries were published as a beta on npm.js (st, mt)
This PR closes #75
Associated PRs: