Skip to content
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

Next #210

Merged
merged 23 commits into from
Sep 4, 2023
Merged

Next #210

merged 23 commits into from
Sep 4, 2023

Conversation

mariari
Copy link
Member

@mariari mariari commented Aug 28, 2023

DO NOT MERGE

This shows an example of integrating some of the topics open currently into main.

If @XuyangSong approves of the suggested branch, we can simply fast-forward head to it.

We include:

  • 208
  • 207
  • 201
  • 197

Note we include a variant of

The changes included to #209 are as follows:

  1. remove the fmt commit (this was done by rerolling the topic with passing -x cargo fmt to git
  2. the topic rebased on Remove Merkle tree impl, add serialization for MerklePath, Node, Nullifier #200 as it relies upon that work and not any other work that is in main

If changes are requested on #209 I can do the changes required to keep it up to date

XuyangSong and others added 17 commits August 18, 2023 19:16
We setup the depedency for rustler, for future changes
Previously the topics specified a version, however it would be more
correct to specify the same version that is found in the
patch.crates-io, instead of just having them implicitly being the
same.

Ideally we can remove the patch.crates-io in time
This changes the pasta types to have the proper Encode and Decode
fucntion available
A couple of strategies were chosen to encode terms.

Structs are often given for Taiga terms, these correspond to maps in
BEAM languages.

Further any struct that is just a struct over an Array got a tuple
specification as they are just wrapper types

This commit Tries to minimze the amount of manual derived terms,
however they do appear in trying to derive some other terms. For these
types, tuples ewre used to make easy implemenattions of serialize and
desearlize
Here we create a proxy that lets us derive the encoder and decoder
traits.

This proxy type is not meant to be used, and thus it's not exported,
however it is useful for setting up the correct instance

Hopefully this doesn't add too much noise to the affected areas in the
codebase
This required abusing the borsh encoding. Since Borsh works, we can
just derive the data we don't care about (currently trsansparetn and
the signature). Later work should be done to make these transparent to
ourco de as well.
Instead of always building with NIF integration, we instead hide it
behind a feature flag. This means that the dependency has no effect if
it is note wanted
After running cargo update, the following change was added

updating clap_lex v0.5.0 -> v0.5.1

This made it so that the project failed to build with the following
error

error: package `clap_builder v4.4.0` cannot be built because it
requires rustc 1.70.0 or newer, while the currently active rustc
version is 1.67.1
Either upgrade to rustc 1.70.0 or newer, or use
cargo update -p [email protected] --precise ver
where `ver` is the latest version of `clap_builder` supporting rustc 1.67.1

So I've bumped the version to the latest stable version
@mariari mariari force-pushed the next branch 5 times, most recently from ba88b0a to cc04b0c Compare August 30, 2023 14:28
Copy link
Collaborator

@XuyangSong XuyangSong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good. I'll fast-forward to it.

@XuyangSong XuyangSong merged commit 1dc8911 into main Sep 4, 2023
7 checks passed
@bazzilic bazzilic deleted the next branch September 4, 2023 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants