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

Merkle arkworks support #145

Merged
merged 18 commits into from
Jun 7, 2021
Merged

Merkle arkworks support #145

merged 18 commits into from
Jun 7, 2021

Conversation

lazovicff
Copy link
Contributor

No description provided.

@lazovicff lazovicff changed the base branch from master to develop May 17, 2021 13:53
@lazovicff lazovicff marked this pull request as ready for review May 28, 2021 13:01
@lazovicff lazovicff requested a review from shekohex May 28, 2021 13:11
Copy link
Collaborator

@drewstone drewstone left a comment

Choose a reason for hiding this comment

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

Great work @filiplazovic ! Tentatively support merging but think we can clean this up, lint the code, improve documentation, and clarify some items, namely.

  1. Why are proving keys / proving data on-chain? We should only have parameters necessary for verifying on-chain as proving data gets quite large for preprocessing SNARKs.
  2. Can we establish process for tracking TODOs? Linking a notion tasks and/or creating one and adding to backlog.
  3. Handling verifying keys for multiple different trees? This seems like someone we may want to have an idea around moving forward. Right now our circuits are all the same but since we have this general merkle tree it's possible we can begin extending to support different leaf gadgets that have different rules/constraints. Maybe this means verifying keys are best appended to the MerkleTree structs as a tree likely defines its circuit (and vice versa).

pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
zero_tree[0..depth].iter().map(|x| x.to_vec()).collect(),
zero_tree[depth].to_vec(),
)
pub fn get_default_proving_key<C: Config>(&self) -> Result<&ProvingKey<Bls12_381>, Error<C>> {
Copy link
Collaborator

Choose a reason for hiding this comment

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

This might not be good practice since proving keys are circuit specific not curve/snark necessarily. Also why are we adding the proving key on-chain? Maybe you're looking for default verifying key instead?

How do you think we will plan to support different trees with the same curve/snark having different verifying keys? Is this something you've specced out or thought of more?

Copy link
Contributor Author

@lazovicff lazovicff Jun 2, 2021

Choose a reason for hiding this comment

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

This was for testing purposes, but I agree it shouldn't be there.

I think the only way to do this is with storage if we want to add verifying keys on the fly. Lazy static won't work since its not persistent storage, so we could have a map(Backend, Vec<u8>) where Vec<u8> is bytes representation of verifier key since we can't implement Encode and Decode

Copy link
Collaborator

Choose a reason for hiding this comment

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

We could also consider storing a hash of the proving key on-chain. I could see it being useful for a trustless experience. If a website serves you a proving key, you'd be able to ensure it's correct using the on-chain hash identifier.

pallets/merkle/src/utils/hasher.rs Outdated Show resolved Hide resolved
pallets/merkle/src/lib.rs Show resolved Hide resolved
pallets/merkle/src/lib.rs Show resolved Hide resolved
@drewstone drewstone self-requested a review June 4, 2021 04:56
Copy link
Collaborator

@drewstone drewstone left a comment

Choose a reason for hiding this comment

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

I support merging this.

@lazovicff
Copy link
Contributor Author

@drewstone One thing left is to guard the creation of the trees if the verifying key is not present

@drewstone
Copy link
Collaborator

drewstone commented Jun 4, 2021 via email

@lazovicff
Copy link
Contributor Author

Sure, I don't see any problem with it

@drewstone drewstone merged commit 035eb65 into develop Jun 7, 2021
@drewstone drewstone deleted the merkle-arkworks-support branch June 7, 2021 01:11
drewstone added a commit that referenced this pull request Jul 5, 2021
* Add EVM webb anchor contracts w/ CHAIN_ID (#123)

* Adds merkle extension directory (#124)

* Add EVM webb anchor contracts w/ CHAIN_ID

* zkutil script

* Add old evm files and wasm project for merkle extension

* update toml

* Add yarn lock

* Upload to crates (#120)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Updated deps, remove wasm-utils

* Using merkle from crates

* Return back to local merkle dep

* Improve events (#122)

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Multiasset integration (#119)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Making create_new non-dispatchable

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Remove chain id

* Renames group to tree (#126)

* Renames group to tree

* Rename more

* Fix naming err

* Update pallets/mixer/src/lib.rs

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Update rust

* Give basic weight to create_new

* Add RPC `merkle.treeLeaves` to `Merkle` pallet (#129)

* remove yarn.lock

* add rpc crate

* add merkle rpc impl

* fix some tests

* Update runtime/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/rpc/src/lib.rs

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Chain id removal

* New Github actions and Dockerfile (#131)

* github actions and Dockerfile

* dockerignore

* fmt

* cache lints

* disable clippy for now

* add build to the CI

* remove old actions

* no-override

* Fix docker build (#132)

* fix image name

* New token pallet (#134)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Adds frontier back (#135)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

* Toml updates

* Adds frontier, mocks orml for as new local packages

* Add all rpc methods back, fix service

* Change to webb node from template

* Organising

* Optional rpc in toml

* Fix conflict

* Update tests and mocks

* Reverts

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* fix failing tests

* Update contracts, add mocks

* Add ts-tests from edgeware/frontier for local anon testing

* Tsconfig,  package.json update

* ups

* Add edgeware types back

* Add truffle config

* Update to master substrate (#137)

* Update to master substrate

* Fix benchmarks and tests

* Formatting/lint

* switch to ubuntu as base docker image

* Add anchor (#140)

* Update README.md

* Update README.md (#125)

* Update build.sh

* Develop to master merge (#136)

* Add EVM webb anchor contracts w/ CHAIN_ID (#123)

* Adds merkle extension directory (#124)

* Add EVM webb anchor contracts w/ CHAIN_ID

* zkutil script

* Add old evm files and wasm project for merkle extension

* update toml

* Add yarn lock

* Upload to crates (#120)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Updated deps, remove wasm-utils

* Using merkle from crates

* Return back to local merkle dep

* Improve events (#122)

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Multiasset integration (#119)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Making create_new non-dispatchable

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Remove chain id

* Renames group to tree (#126)

* Renames group to tree

* Rename more

* Fix naming err

* Update pallets/mixer/src/lib.rs

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Update rust

* Give basic weight to create_new

* Add RPC `merkle.treeLeaves` to `Merkle` pallet (#129)

* remove yarn.lock

* add rpc crate

* add merkle rpc impl

* fix some tests

* Update runtime/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/rpc/src/lib.rs

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Chain id removal

* New Github actions and Dockerfile (#131)

* github actions and Dockerfile

* dockerignore

* fmt

* cache lints

* disable clippy for now

* add build to the CI

* remove old actions

* no-override

* Fix docker build (#132)

* fix image name

* New token pallet (#134)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Adds frontier back (#135)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

* Toml updates

* Adds frontier, mocks orml for as new local packages

* Add all rpc methods back, fix service

* Change to webb node from template

* Organising

* Optional rpc in toml

* Fix conflict

* Update tests and mocks

* Reverts

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* fix failing tests

* Update contracts, add mocks

* Add ts-tests from edgeware/frontier for local anon testing

* Tsconfig,  package.json update

* ups

* Add edgeware types back

* Add truffle config

* Update to master substrate (#137)

* Update to master substrate

* Fix benchmarks and tests

* Formatting/lint

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Update README.md

* Update README.md

* Add anchor

* Remove old anchor, replace with new submodule

* Update submodule

* Attempting to pass test for circom on locally generated keys

* Get evm tests passing with solidity 0.7.6 on ganache

* Change evm contracts readme

* Link git submodule for anchor contracts and types to anon repo branch add-anchor

* Add contract ABIs for a locally generated circuit

* Update contracts ABI from build folder, still ignore build/circuits

* Remove random seed

* Update README.md

* Update README.md (#125)

* Update build.sh

* Update README.md

* Update README.md

* Add anchor

* Remove old anchor, replace with new submodule

* Update submodule

* Attempting to pass test for circom on locally generated keys

* Get evm tests passing with solidity 0.7.6 on ganache

* Change evm contracts readme

* Link git submodule for anchor contracts and types to anon repo branch add-anchor

* Add contract ABIs for a locally generated circuit

* Update contracts ABI from build folder, still ignore build/circuits

* Remove random seed

* Fix service

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>
Co-authored-by: Nathan Barnavon <nepoche@yahoo.com>

* Update

* Update toml/lock

* Ups frontier

* Up lock

* Fix readme

* rename scripts to use webb-node (#141)

* Merkle bytes interface (#144)

* Moving zk logic outside the pallet

* Moving bulletproofs verification outside the pallet

* Using bytes vec for inputs

* Updated mixer with new types

* Fixed tests

* Updated job hooks, ran cargo fmt

* Fix compile errors

* Removed unused hasher

* Bring back hooks

* Merkle arkworks support (#145)

* Updated job hooks, ran cargo fmt

* Bring back hooks

* Compiling to no_std

* Added arkworks hashing

* Error handling improvements

* Cargo fmt

* Updated cryoto-primitives

* Compiled

* Update zero tree gen, types

* Updated verify function

* Passing test

* Fixed mixer

* Moved to mixer gadget

* Using pallet Error enum

* Updates after review part 1

* Update after review part 2

* Rename args, hasher.rs -> setup.rs

* Added more tests

* Remove ts-tests

* Bridge pallet stubbed implementation (#138)

* Update traits for bridge, add bridge wrap fn

* stub deposit

* Unwrap fn for webb wrapped assets on bridge

* More updates

* Stub out more functions

* Tidy up mock

* Change mixer to anchor in bridge docs

* Update branch in bridge toml

* use webb-tools/substrate fork

* Updates frontier dependency (#146)

* Update and add new inherent

* Update

* Update lock

* Ups

* Merge develop

* Updates

* Fixes

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Verify guard (#147)

* Added verification guard

* Updated verifying key storage

* Update verification key storage (#149)

* Fix bridge mock

* Update verification key flow

* Add pallet functions

* Function comment update

* Key storage - Storing verifying key data in runtime using 2-step initialization. (#157)

* Storing keys in runtime storage, [wip]

* Fix tests, get_mixer requires initialized trees

* Update initialization with new pallet function

* Updates to key storage - master merge (#159)

* Merge master

* Remove contracts

* Ups

* Upds

* Fmt

* Remove warnings for bridge until implemented

* Remove options

* Fmt

* Bulletproofs precompiles (#148)

* Added precompiles

* Using chacha

* cargo fmt

* Added tests for invalid casees

* Add precompile test

* Added verify directly test

* Fix comments

* Update frontier fork, substrate deps, rebuild/receive same error

* Toml updates

* More attempts

* Compiles

* Merge dev

* fmt

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Fixes to the CI / benchmarking & cleanup of unused params (#162)

* Fix compile issues

* Ups

* Build benchmarks works

* Build mixer benchmarks

* Fmt

* Fix test script

* Add pallet-assets support for a mixer (#163)

* Add pallet-assets support for a mixer

* Add pallet

* Fmt

* Fix

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>
Co-authored-by: Nathan Barnavon <nepoche@yahoo.com>
Co-authored-by: nepoche <barna0308@gmail.com>
drewstone added a commit that referenced this pull request Jul 8, 2021
* Add EVM webb anchor contracts w/ CHAIN_ID (#123)

* Adds merkle extension directory (#124)

* Add EVM webb anchor contracts w/ CHAIN_ID

* zkutil script

* Add old evm files and wasm project for merkle extension

* update toml

* Add yarn lock

* Upload to crates (#120)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Updated deps, remove wasm-utils

* Using merkle from crates

* Return back to local merkle dep

* Improve events (#122)

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Multiasset integration (#119)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Making create_new non-dispatchable

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Remove chain id

* Renames group to tree (#126)

* Renames group to tree

* Rename more

* Fix naming err

* Update pallets/mixer/src/lib.rs

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Update rust

* Give basic weight to create_new

* Add RPC `merkle.treeLeaves` to `Merkle` pallet (#129)

* remove yarn.lock

* add rpc crate

* add merkle rpc impl

* fix some tests

* Update runtime/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/rpc/src/lib.rs

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Chain id removal

* New Github actions and Dockerfile (#131)

* github actions and Dockerfile

* dockerignore

* fmt

* cache lints

* disable clippy for now

* add build to the CI

* remove old actions

* no-override

* Fix docker build (#132)

* fix image name

* New token pallet (#134)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Adds frontier back (#135)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

* Toml updates

* Adds frontier, mocks orml for as new local packages

* Add all rpc methods back, fix service

* Change to webb node from template

* Organising

* Optional rpc in toml

* Fix conflict

* Update tests and mocks

* Reverts

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* fix failing tests

* Update contracts, add mocks

* Add ts-tests from edgeware/frontier for local anon testing

* Tsconfig,  package.json update

* ups

* Add edgeware types back

* Add truffle config

* Update to master substrate (#137)

* Update to master substrate

* Fix benchmarks and tests

* Formatting/lint

* switch to ubuntu as base docker image

* Add anchor (#140)

* Update README.md

* Update README.md (#125)

* Update build.sh

* Develop to master merge (#136)

* Add EVM webb anchor contracts w/ CHAIN_ID (#123)

* Adds merkle extension directory (#124)

* Add EVM webb anchor contracts w/ CHAIN_ID

* zkutil script

* Add old evm files and wasm project for merkle extension

* update toml

* Add yarn lock

* Upload to crates (#120)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Updated deps, remove wasm-utils

* Using merkle from crates

* Return back to local merkle dep

* Improve events (#122)

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Multiasset integration (#119)

* Added orml pallets

* Update config and types

* Added native currency id to config

* Runtime config, benchmark errors

* Testing mixer with non-native currency

* Making create_new non-dispatchable

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Remove chain id

* Renames group to tree (#126)

* Renames group to tree

* Rename more

* Fix naming err

* Update pallets/mixer/src/lib.rs

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Update rust

* Give basic weight to create_new

* Add RPC `merkle.treeLeaves` to `Merkle` pallet (#129)

* remove yarn.lock

* add rpc crate

* add merkle rpc impl

* fix some tests

* Update runtime/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/src/lib.rs

* Update pallets/merkle/rpc/src/lib.rs

Co-authored-by: Drew Stone <drewstone329@gmail.com>

* Chain id removal

* New Github actions and Dockerfile (#131)

* github actions and Dockerfile

* dockerignore

* fmt

* cache lints

* disable clippy for now

* add build to the CI

* remove old actions

* no-override

* Fix docker build (#132)

* fix image name

* New token pallet (#134)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Adds frontier back (#135)

* Updates

* Updates

* Merge pallet_assets w/ orml_tokens

* Pallets compile, node doesn't

* [wip] comment out frontier for now

* Comment out EVM/Frontier, get node compiling

* remove frontier service file from git

* Newlines

* ups (#133)

* Test updates

* Fix merge account

* Fix no_op test

* Updates, dust test not working

* Fix all tests

* Toml updates

* Adds frontier, mocks orml for as new local packages

* Add all rpc methods back, fix service

* Change to webb node from template

* Organising

* Optional rpc in toml

* Fix conflict

* Update tests and mocks

* Reverts

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* fix failing tests

* Update contracts, add mocks

* Add ts-tests from edgeware/frontier for local anon testing

* Tsconfig,  package.json update

* ups

* Add edgeware types back

* Add truffle config

* Update to master substrate (#137)

* Update to master substrate

* Fix benchmarks and tests

* Formatting/lint

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Update README.md

* Update README.md

* Add anchor

* Remove old anchor, replace with new submodule

* Update submodule

* Attempting to pass test for circom on locally generated keys

* Get evm tests passing with solidity 0.7.6 on ganache

* Change evm contracts readme

* Link git submodule for anchor contracts and types to anon repo branch add-anchor

* Add contract ABIs for a locally generated circuit

* Update contracts ABI from build folder, still ignore build/circuits

* Remove random seed

* Update README.md

* Update README.md (#125)

* Update build.sh

* Update README.md

* Update README.md

* Add anchor

* Remove old anchor, replace with new submodule

* Update submodule

* Attempting to pass test for circom on locally generated keys

* Get evm tests passing with solidity 0.7.6 on ganache

* Change evm contracts readme

* Link git submodule for anchor contracts and types to anon repo branch add-anchor

* Add contract ABIs for a locally generated circuit

* Update contracts ABI from build folder, still ignore build/circuits

* Remove random seed

* Fix service

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>
Co-authored-by: Nathan Barnavon <nepoche@yahoo.com>

* Update

* Update toml/lock

* Ups frontier

* Up lock

* Fix readme

* rename scripts to use webb-node (#141)

* Merkle bytes interface (#144)

* Moving zk logic outside the pallet

* Moving bulletproofs verification outside the pallet

* Using bytes vec for inputs

* Updated mixer with new types

* Fixed tests

* Updated job hooks, ran cargo fmt

* Fix compile errors

* Removed unused hasher

* Bring back hooks

* Merkle arkworks support (#145)

* Updated job hooks, ran cargo fmt

* Bring back hooks

* Compiling to no_std

* Added arkworks hashing

* Error handling improvements

* Cargo fmt

* Updated cryoto-primitives

* Compiled

* Update zero tree gen, types

* Updated verify function

* Passing test

* Fixed mixer

* Moved to mixer gadget

* Using pallet Error enum

* Updates after review part 1

* Update after review part 2

* Rename args, hasher.rs -> setup.rs

* Added more tests

* Remove ts-tests

* Bridge pallet stubbed implementation (#138)

* Update traits for bridge, add bridge wrap fn

* stub deposit

* Unwrap fn for webb wrapped assets on bridge

* More updates

* Stub out more functions

* Tidy up mock

* Change mixer to anchor in bridge docs

* Update branch in bridge toml

* use webb-tools/substrate fork

* Updates frontier dependency (#146)

* Update and add new inherent

* Update

* Update lock

* Ups

* Merge develop

* Updates

* Fixes

Co-authored-by: Shady Khalifa <shekohex@gmail.com>

* Verify guard (#147)

* Added verification guard

* Updated verifying key storage

* Update verification key storage (#149)

* Fix bridge mock

* Update verification key flow

* Add pallet functions

* Function comment update

* Key storage - Storing verifying key data in runtime using 2-step initialization. (#157)

* Storing keys in runtime storage, [wip]

* Fix tests, get_mixer requires initialized trees

* Update initialization with new pallet function

* Updates to key storage - master merge (#159)

* Merge master

* Remove contracts

* Ups

* Upds

* Fmt

* Remove warnings for bridge until implemented

* Remove options

* Fmt

* Bulletproofs precompiles (#148)

* Added precompiles

* Using chacha

* cargo fmt

* Added tests for invalid casees

* Add precompile test

* Added verify directly test

* Fix comments

* Update frontier fork, substrate deps, rebuild/receive same error

* Toml updates

* More attempts

* Compiles

* Merge dev

* fmt

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>

* Fixes to the CI / benchmarking & cleanup of unused params (#162)

* Fix compile issues

* Ups

* Build benchmarks works

* Build mixer benchmarks

* Fmt

* Fix test script

* Add pallet-assets support for a mixer (#163)

* Add pallet-assets support for a mixer

* Add pallet

* Fmt

* Fix

* Add bn254 support (#165)

* Add bn254

* fmt

* fix tests

* Fmt

* lock update

Co-authored-by: Filip Lazovic <lazoviccorp@gmail.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>
Co-authored-by: Nathan Barnavon <nepoche@yahoo.com>
Co-authored-by: nepoche <barna0308@gmail.com>
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.

None yet

2 participants