The main repo for manta relay nodes and manta parachain nodes

Overview

Manta

License: GPL v3

Manta is a privacy preserving DeFi stack on Polkadot/Substrate. The code currently hasn't been properly security audited (work in progress), use it at your own risk.

Compile Manta

./scripts/init.sh
cargo build --release -p manta

Manta Developement

Currently, there are two developing branches:

  • manta: Manta Network's testnet/mainnet node
  • manta-pc: Manta Network's parachain node

Using Docker

You can run manta nodes using docker.

  • Pull latest image.
docker pull mantanetwork/manta:latest
  • Run one dev node locally.
docker run -it -p 9944:9944 mantanetwork/manta:latest --dev --tmp --alice
  • Run two nodes locally.
# Alice node
docker run \
-p 9944:9944 \
-p 30333:30333 \
--name=alice mantanetwork/manta:latest \
--chain=local \
--tmp \
--alice \
--node-key 0000000000000000000000000000000000000000000000000000000000000001 \
--validator

docker run \
-p 9945:9944 \
-p 30334:30333 \
--name=bob mantanetwork/manta:latest \
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp \
--chain=local \
--bob \
--validator

Normally, both nodes will produce and finalize blocks.

  • Connect to manta testnet.
docker run mantanetwork/manta:latest --chain manta-testnet --name "ILoveManta"

Contributing

  • use [Manta] as the prefix to submit a PR to manta branch, use [Manta-PC] as the prefix to submit a PR to manta-pc branch.
  • please submit your code through PR.
  • please run cargo +nightly fmt before pushing your code.
Comments
  • switch runtime to wasm only

    switch runtime to wasm only

    Signed-off-by: Yi [email protected]

    Description

    relates to PR closes: #469.

    This PR switch the runtime to wasm only, instead of NativeElseWasmExecutor. It means in compiled binary, it'll never contain a native runtime. You can get more relative issue on #469, but the brief benifit i think is:

    • since the existing of forkless upgrade, only some specific version can be speed up with native binary because it can be only compiled once.
    • eliminate the abstruction complexity to support two runtime
    • lower binary size and compiling time

    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Added one line describing your change in <branch>/CHANGELOG.md
    • [x] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functonality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    C-enhancement A-runtime P-medium L-changed 
    opened by flame4 17
  • Workflow to check for labels

    Workflow to check for labels

    Signed-off-by: Apokalip [email protected]

    Workflow/s to check for labels in branches and release branches

    closes: #742 relates: #661


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Added one label out of the L- group to this PR
    • [x] Added one or more labels out of A- and C- groups to this PR
    • [x] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functionality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    C-enhancement A-ci L-added 
    opened by Apokalip 12
  • Split all testing from `publish_draft_release` workflow and filter execution by labels on the PRs

    Split all testing from `publish_draft_release` workflow and filter execution by labels on the PRs

    Signed-off-by: Adam Reif [email protected]

    Description

    Refactors the publish_draft_release workflow so it does only what it's meant to do - publish a draft release.

    Changes in functionality:

    1. Only run dolphin integration test if the PR touches the dolphin RT ( A-dolphin on PR )
    2. Only run calamari with its long integration test if the PR touches calamari ( A-calamari on PR )
    3. Only run docker_image_test with calamari_integration_test
    4. only run runtime_upgrade_test on release branches and merge to manta
    5. we run everything and the kitchen sink when it's merged to manta

    All testing happens in a runtime-specific file and is triggered only when the PR touches the corresponding runtime as defined by the PR label.

    I think this saves

    • developer sanity maintaining the thing
    • aws compute usage
    • calamari and dolphin test workflows can be easily diffed against each other

    Please discuss and contribute!

    Also removes the manta runtime docker build from releases as these images are not currently used anywhere

    closes #608


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Added one label out of the L- group to this PR
    • [x] Added one or more labels out of A- and C- groups to this PR
    • [x] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functionality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    A-calamari A-ci A-dolphin C-cleanup L-changed 
    opened by Garandor 12
  • For Testing Only

    For Testing Only

    Description

    closes: #XXXX


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [ ] Targeted PR against correct branch (manta or manta-pc) with right title (start with [Manta] or [Manta-PC]),
    • [ ] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [ ] Wrote unit tests.
    • [ ] Updated relevant documentation in the code.
    • [ ] Re-reviewed Files changed in the Github PR explorer.
    • [ ] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. If this number is updated, then the spec_version must also be updated
    • [ ] If needed, notify the committer this is a draft-release and a tag is needed after merging the PR.
    • [ ] Verify benchmarks & weights have been updated for any modified runtime logics
    opened by ghzlatarev 12
  • [Manta-PC] Updrading dependencies to `v0.9.10`

    [Manta-PC] Updrading dependencies to `v0.9.10`

    Description

    closes: #196

    Polkadot Changes:

    • paritytech/polkadot#3763
    • https://github.com/paritytech/polkadot/pull/3865
    • paritytech/polkadot#3672
    • paritytech/polkadot#3676
    • paritytech/polkadot#3684
    • paritytech/polkadot#3761 Overview PR:
    • https://github.com/paritytech/polkadot/issues/3760

    Substrate Changes:

    • https://github.com/paritytech/substrate/pull/9692
    • https://github.com/paritytech/substrate/pull/9715
    • https://github.com/paritytech/substrate/pull/9704
    • https://github.com/paritytech/substrate/pull/9767
    • https://github.com/paritytech/substrate/pull/9845
    • No overview PR

    Cumulus Changes:

    • https://github.com/paritytech/cumulus/pull/561
    • https://github.com/paritytech/cumulus/pull/570
    • https://github.com/paritytech/cumulus/commit/fa116cfbfb470a8114fc02f9d2e3c0a5ab6c7193
    • No overview PR

    statemine diffs between:

    • fd80849dde5c209c20a996cfcc5aaacd4666dcbe -> 0.9.9
    • fa116cfbfb470a8114fc02f9d2e3c0a5ab6c7193 -> 0.9.10

    Performed tests with local calamari-local and calamari-testnet networks:

    • [x] Does key injection script work (only for calamari-testnet)
    • [x] Check block production
    • [x] Sudo system.setCode upgrade
    • [x] Force transfer balances
    • [x] Pass sudo to multi-sig account
    • [x] Upgrade with authorizeUpgrade + enactAuthorized
    • [x] Check average block time is ~12 seconds
    • [x] Check dropping and reconnecting a collator

    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Targeted PR against correct branch (manta or manta-pc) with right title (start with [Manta] or [Manta-PC]),
    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [ ] Wrote unit tests.
    • [x] Updated relevant documentation in the code.
    • [x] Re-reviewed Files changed in the Github PR explorer.
    • [x] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. If this number is updated, then the spec_version must also be updated
    • [x] If needed, notify the committer this is a draft-release and a tag is needed after merging the PR.
    opened by ghzlatarev 12
  • Release v3.2.0

    Release v3.2.0

    Signed-off-by: Dengjianping [email protected]

    Description

    closes: #553


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [ ] Wrote unit tests.
    • [x] Updated relevant documentation in the code.
    • [x] Added one line describing your change in <branch>/CHANGELOG.md
    • [x] Re-reviewed Files changed in the Github PR explorer.
    • [x] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • [x] Verify benchmarks & weights have been updated for any modified runtime logics
    • [x] If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • [x] If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • [x] If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    A-weights A-calamari A-runtime P-high A-xcm A-dolphin 
    opened by Dengjianping 11
  • [All] Split up manta_primitives lib.rs & [Manta&Calamari] Port parity's fast-runtime cargo feature

    [All] Split up manta_primitives lib.rs & [Manta&Calamari] Port parity's fast-runtime cargo feature

    Description

    Closes #357 Port of https://github.com/paritytech/polkadot/pull/4332

    Allows building Manta/Calamari runtimes with session and democracy times set to much shorter 2 or 5 minutes instead of their production values and for customizable timings using environment variables. Env variables are ignored unless the RT is built with --features=fast-runtime in which case they overwrite the (shortened) defaults.

    Build fast RTs with cargo build --release --features=fast-runtime

    or customize, to e.g. 1 minute period interval with env variable MANTA_PERIOD=5 cargo build --release --features=fast-runtime

    Variables are named as capitalized versions of their name in the parameter_types! macro prefixed with MANTA_ or CALAMARI_ respectively


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Targeted PR against correct branch (manta or dolphin) with right title (start with [Manta] or [Dolphin]),
    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] ~Wrote unit tests.~ N/A, buildtime changes only
    • [x] ~Updated relevant documentation in the code.~ N/A, buildtime changes only
    • [x] Re-reviewed Files changed in the Github PR explorer.
    • [x] ~If runtime changes, need to update the version numbers properly~ N/A, buildtime changes only
    • [x] ~If needed, notify the committer this is a draft-release and a tag is needed after merging the PR.~ N/A, is feature PR
    • [x] ~Verify benchmarks & weights have been updated for any modified runtime logics~ N/A, buildtime changes only
    • [x] ~If needed, bump version for every crate.~ N/A, buildtime changes only
    • [x] ~If import a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.~ N/A, buildtime changes only
    • [x] ~If needed, update our Javascript/Typescript APIs. These APIs are offcially used by exchanges or community developers.~ N/A, buildtime changes only
    • [x] ~If we're going to issue a new release, freeze the code one week early(it depends, but usually it's one week), ensure we have enough time for related testing.~ N/A, Is feature PR
    opened by Garandor 11
  • Bump deps to v0.9.18

    Bump deps to v0.9.18

    Signed-off-by: Dengjianping [email protected]

    Description

    v0.9.16 -> v0.9.17

    Polkadot:

    • Optimized weights: https://github.com/paritytech/substrate/pull/10692
    • Add a new host function for reporting fatal errors: https://github.com/paritytech/substrate/pull/10741
    • Revert connectivity fix 0.9.17: https://github.com/paritytech/polkadot/pull/4943
    • Allow two parachains to swap: https://github.com/paritytech/polkadot/pull/4772
    • Add proxy type Society for Kusama: https://github.com/paritytech/polkadot/pull/4851

    Substrate:

    • Optimized weights: https://github.com/paritytech/substrate/pull/10692
    • Add a new host function for reporting fatal errors: https://github.com/paritytech/substrate/pull/10741
    • Add maxencodelen to implement_per_thing!: https://github.com/paritytech/substrate/pull/10715
    • https://github.com/paritytech/substrate/pull/10775
    • Upgradable contracts using set_code function: https://github.com/paritytech/substrate/pull/10690

    Cumulus:

    • Repalce cli crate structopt with clap: https://github.com/paritytech/cumulus/pull/1035
    • Introduce rpc client for relay chain full node: https://github.com/paritytech/cumulus/pull/963.
    • Fix parachain block time degradation: https://github.com/paritytech/polkadot/pull/4943
    • Add the ability to suspend or resume XCM execution on the XCMP queue: https://github.com/paritytech/cumulus/pull/896

    v0.9.17 -> v0.9.18

    Polkadot:

    • Allow two parachains to swap: https://github.com/paritytech/polkadot/pull/4772
    • Add proxy type for kappa sigma mu: https://github.com/paritytech/polkadot/pull/4851
    • Add disputes pallet to polkadot: https://github.com/paritytech/polkadot/pull/4993
    • Revert "collator-protocol: short-term fixes for connectivity: https://github.com/paritytech/polkadot/pull/4914
    • Co #10897: storage benchmarking: https://github.com/paritytech/polkadot/pull/4982
    • Paritydb support for parachains db: https://github.com/paritytech/polkadot/pull/4838

    Substrate:

    • Mark sync_state_gensyncspec json-rpc as safe: https://github.com/paritytech/substrate/pull/10832
    • Storage benchmarking: https://github.com/paritytech/substrate/pull/10897
    • Refactored block body database scheme: https://github.com/paritytech/substrate/pull/10779
    • Deprecate "paritydb-experimental" cli in favour or "paritydb: https://github.com/paritytech/substrate/pull/10975
    • Upgrading parity-scale-codec to v3: https://github.com/paritytech/substrate/pull/10825
    • Bring back maxnominations as a metadata constant: https://github.com/paritytech/substrate/pull/10947
    • Fix reentrancy of frozenbalance::died hook: https://github.com/paritytech/substrate/pull/10473

    Cumulus:

    • Co #5064: Use runtime dependant weights: https://github.com/paritytech/cumulus/pull/1076
    • Revert "Co #5091: Runtime dependent weights for parachains: https://github.com/paritytech/cumulus/pull/1076
    • Revert "Companion for primitives consolidation into v2: https://github.com/paritytech/cumulus/pull/1071
    • collator-selection pallet tidy: https://github.com/paritytech/cumulus/pull/1093
    • Add babe randomness to relay state proof: https://github.com/paritytech/cumulus/pull/1083

    ORML:

    • Return earlier if the too many currencies: https://github.com/open-web3-stack/open-runtime-module-library/pull/714
    • Girazoki configurable reserve provider: https://github.com/open-web3-stack/open-runtime-module-library/pull/708
    • rm without storage info: https://github.com/open-web3-stack/open-runtime-module-library/pull/717
    • Changed the way values are updated: https://github.com/open-web3-stack/open-runtime-module-library/pull/720
    • Polkadot v0.9.18: https://github.com/open-web3-stack/open-runtime-module-library/pull/718

    Ours:

    • Type, ParentIsDefault -> ParentIsPreset
    • Cli tool, Replace structopt with clap
    • New extrinsic to asset-manager: set_min_xcm_fee.
    • codec from 2.0 to 3.0
    • scale-info from 1.0 to 2.0
    • pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective> -> pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 3, 4>
    • Re-benchmark calamari-runtime.
    • Improve xcm tests.

    closes: #497 closes: #456


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Wrote unit tests.
    • [x] Updated relevant documentation in the code.
    • [x] Added one line describing your change in <branch>/CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer.
    • [ ] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. If this number is updated, then the spec_version must also be updated
    • [x] Verify benchmarks & weights have been updated for any modified runtime logics
    • [ ] If import a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • [ ] If needed, update our Javascript/Typescript APIs. These APIs are offcially used by exchanges or community developers.
    • [ ] If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inhreited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    opened by Dengjianping 10
  • feat: add ledger sync protocol

    feat: add ledger sync protocol

    Description

    This PR adds the pull method for use by wallets to request the diff from the latest state.

    Unit Test Spec

    Use sudo to set the storage to random UTXO and void numbers: for each round add random number (1 to 2) of random (UTXO, EncryptedNote) pairs and a random number (0 to 2) of random VoidNumbers:

    • Shards: Add random (UTXO, EncryptedNote) pairs with a random first key and increasing second key
    • InsertionOrderedVoidNumbers: Add random VoidNumbers with increasing key

    Checkpoint Description:

    • receiver_index: [usize; 256]: Lengths of each first key in Shards
    • sender_index: usize: Length of InsertionOrderedVoidNumber

    Testing correctness of Normal Usage:

    1. Add random elements to ledger
    2. Select a random checkpoint that's below the current one
    3. Pull the latest state and check that it returns the data items (in order!) up to the checkpoint returned in the diff
    4. If should_continue == true then pull should be called again with the returned checkpoint (GOTO step 3)
    5. If it passes GOTO step 1

    Testing correctness of Abnormal Usage: Same as the previous test except try to get from a checkpoint later than the current one. The pull should return nothing.

    TODO

    • [x] Implement diffing algorithm
    • [x] Add RPC interface
    • [ ] Add Unit tests / Simulation testing

    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [ ] Wrote unit tests.
    • [x] Updated relevant documentation in the code.
    • [x] Added one line describing your change in <branch>/CHANGELOG.md
    • [x] Re-reviewed Files changed in the Github PR explorer.
    • [ ] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • [x] Verify benchmarks & weights have been updated for any modified runtime logics
    • [x] If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • [ ] If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • [ ] If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    opened by bhgomes 9
  • [Manta] Auto-evict low-performing collators each session

    [Manta] Auto-evict low-performing collators each session

    Description

    This PR modifies the manta-collator-selection pallet by adding three new storage items and corresponding setter extrinsics, that - if set to anything other than their default - automatically remove collators at the end of a session that significantly ( x% ) underperformed the y-th percentile of the total collator set over the current session.

    A good initial value (and we intend to set this on Dolphin) is

    • x = 10 ( default value on genesis: 100)
    • y = 80 ( default value on genesis: 0)

    Main changes in: pallets/collator-selection/src/lib.rs

    • Substitutes the kick_threshold and last_block_authored storage items with two new storage items, defining the percentile and the percentage above
    • Adds a setter extrinsic for each of the new items
    • Adds a storage map that records the number of blocks produced by each collator in the current session

    closes: #335


    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Targeted PR against correct branch (manta or dolphin) with right title (start with [Manta] or [Dolphin]),
    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Wrote unit tests.
    • [x] Updated relevant documentation in the code.
    • [ ] Re-reviewed Files changed in the Github PR explorer.
    • [ ] If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. If this number is updated, then the spec_version must also be updated
    • ~[ ] If needed, notify the committer this is a draft-release and a tag is needed after merging the PR.~
    • [ ] Verify benchmarks & weights have been updated for any modified runtime logics
    • ~[ ] If needed, bump version for every crate.~
    • [x] If import a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • ~[ ] If needed, update our Javascript/Typescript APIs. These APIs are offcially used by exchanges or community developers.~
    • ~[ ] If we're going to issue a new release, freeze the code one week early(it depends, but usually it's one week), ensure we have enough time for related testing.~
    opened by Garandor 9
  • Update deps from v0.9.22 to v0.9.26

    Update deps from v0.9.22 to v0.9.26

    Signed-off-by: Georgi Zlatarev [email protected]

    Description

    closes: #719 closes: #623 closes: #659

    Manta

    • Bumps dependencies from v0.9.22 -> v0.9.26
    • https://github.com/paritytech/cumulus/pull/1382 + https://github.com/paritytech/substrate/pull/11694 fixes the memory leak issue of v3.2.1
    • Switch ORML dependencies to use branch instead of a commit and to use the main fork instead of ours
    • For nimbus use our own fork's garandor/v0.9.26 branch as it is not in upstream yet
    • For storage deletions use new clear with limit and cursor instead of the deprecated remove_all. Call clear until there's nothing more to clear or the cursor is not progressing https://github.com/paritytech/substrate/pull/11490
    • Configure cumulus_pallet_parachain_system's new CheckAssociatedRelayNumber type, which is supposed to find associated relay blocks to a parachain block, with an implementation that strictly increases the relay block between para blocks
    • Removed ExportGenesisStateCommand and ExportGenesisWasmCommand as they are now defined in cumulus-client-cli https://github.com/paritytech/cumulus/pull/1325
    • Use New rpc api and implementation name https://github.com/paritytech/substrate/pull/11469
    • Use AccountIdConversion's renamed into_account to into_account_truncating function to explicitly refer to the fact that it will truncate larger types to fit into a smaller type https://github.com/paritytech/substrate/pull/10719
    • For min-xcm-fee we can now return option instead of u128::max for invalid value https://github.com/open-web3-stack/open-runtime-module-library/pull/753
    • Use EitherOfDiverse instead of deprecated EnsureOneOf. It can now distinguish between one or the other failing options https://github.com/paritytech/substrate/pull/11558
    • Add Event to pallet-transaction-payment https://github.com/paritytech/substrate/pull/11618
    • Configure the new SpendOrigin type of the Treasury to always fail. This would be used if we want to allow certain origins to spend configurable amounts directly from the treasury, without the approve procedure https://github.com/paritytech/substrate/pull/11124
    • Add placeholder weight for the new spend extrinsic of Treasury until it is properly benchmarked in the new release PR.

    Substrate:

    • Full diff beween v0.9.22 and v0.9.26 https://github.com/paritytech/substrate/compare/616d33e...e8a7d16
    • https://github.com/paritytech/substrate/pull/11347
    • https://github.com/paritytech/substrate/pull/11314
    • https://github.com/paritytech/substrate/pull/11404
    • https://github.com/paritytech/substrate/pull/11428
    • https://github.com/paritytech/substrate/pull/11408
    • https://github.com/paritytech/substrate/pull/11434
    • https://github.com/paritytech/substrate/pull/10719
    • https://github.com/paritytech/substrate/pull/11387
    • https://github.com/paritytech/substrate/pull/11429
    • https://github.com/paritytech/substrate/pull/11441
    • https://github.com/paritytech/substrate/pull/11457
    • https://github.com/paritytech/substrate/pull/11232
    • https://github.com/paritytech/substrate/pull/11357
    • https://github.com/paritytech/substrate/pull/11459
    • https://github.com/paritytech/substrate/pull/11488
    • https://github.com/paritytech/substrate/pull/11469
    • https://github.com/paritytech/substrate/pull/11461
    • https://github.com/paritytech/substrate/pull/11492
    • https://github.com/paritytech/substrate/pull/11487
    • https://github.com/paritytech/substrate/pull/11381
    • https://github.com/paritytech/substrate/pull/11482
    • https://github.com/paritytech/substrate/pull/11454
    • https://github.com/paritytech/substrate/pull/11500
    • https://github.com/paritytech/substrate/pull/11476
    • https://github.com/paritytech/substrate/pull/11431
    • https://github.com/paritytech/substrate/pull/11531
    • https://github.com/paritytech/substrate/pull/11490
    • https://github.com/paritytech/substrate/pull/11124
    • https://github.com/paritytech/substrate/pull/11558
    • https://github.com/paritytech/substrate/pull/11547
    • https://github.com/paritytech/substrate/pull/11548
    • https://github.com/paritytech/substrate/pull/11564
    • https://github.com/paritytech/substrate/pull/11567
    • https://github.com/paritytech/substrate/pull/11582
    • https://github.com/paritytech/substrate/pull/11588
    • https://github.com/paritytech/substrate/pull/11600
    • https://github.com/paritytech/substrate/pull/11593
    • https://github.com/paritytech/substrate/pull/11616
    • https://github.com/paritytech/substrate/pull/11525
    • https://github.com/paritytech/substrate/pull/11112
    • https://github.com/paritytech/substrate/pull/11645
    • https://github.com/paritytech/substrate/pull/11655
    • https://github.com/paritytech/substrate/pull/11426
    • https://github.com/paritytech/substrate/pull/11659
    • https://github.com/paritytech/substrate/pull/11660
    • https://github.com/paritytech/substrate/pull/11302
    • https://github.com/paritytech/substrate/pull/11537
    • https://github.com/paritytech/substrate/pull/11694
    • https://github.com/paritytech/substrate/pull/11719
    • https://github.com/paritytech/substrate/pull/11735
    • https://github.com/paritytech/substrate/pull/11406
    • https://github.com/paritytech/substrate/pull/11094

    Polkadot:

    • Full diff beween v0.9.22 and v0.9.26 https://github.com/paritytech/polkadot/compare/17c7b95...d878597
    • https://github.com/paritytech/polkadot/pull/5600
    • https://github.com/paritytech/polkadot/pull/5568
    • https://github.com/paritytech/polkadot/pull/5463
    • https://github.com/paritytech/polkadot/pull/5337
    • https://github.com/paritytech/polkadot/pull/5520
    • https://github.com/paritytech/polkadot/pull/5423
    • https://github.com/paritytech/polkadot/pull/5314
    • https://github.com/paritytech/polkadot/pull/5438
    • https://github.com/paritytech/polkadot/pull/5752
    • https://github.com/paritytech/polkadot/pull/5744
    • https://github.com/paritytech/polkadot/pull/5712
    • https://github.com/paritytech/polkadot/pull/5722
    • https://github.com/paritytech/polkadot/pull/5605
    • https://github.com/paritytech/polkadot/pull/5597

    Cumuls:

    • Full diff beween v0.9.22 and v0.9.26 https://github.com/paritytech/cumulus/compare/ebdfbea...e43b8b8
    • https://github.com/paritytech/cumulus/pull/1426
    • https://github.com/paritytech/cumulus/pull/1378
    • https://github.com/paritytech/cumulus/pull/1286
    • https://github.com/paritytech/cumulus/pull/1286
    • https://github.com/paritytech/cumulus/pull/1325
    • https://github.com/paritytech/cumulus/pull/1382
    • https://github.com/paritytech/cumulus/pull/1332
    • https://github.com/paritytech/cumulus/pull/1280
    • https://github.com/paritytech/cumulus/pull/1318
    • https://github.com/paritytech/cumulus/pull/1306

    Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [ ] Added one line describing your change in <branch>/CHANGELOG.md
    • [x] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functionality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    C-enhancement A-runtime L-changed 
    opened by ghzlatarev 8
  • Retire Dolphin Runtime

    Retire Dolphin Runtime

    Our testnet is now using calamari RT and Dolphin does not represent the state of the chain due to e.g. missing staking

    Can we retire this RT codebase altogether or do we need to keep it around? Benefits of eliminating the code should be obvious, drawbacks not so much.

    We'd need to merge dolphin and calamari integration tests

    A-dolphin C-discussion C-cleanup 
    opened by Garandor 0
  • Regenerate manta RT genesis

    Regenerate manta RT genesis

    This actually means we can only generate the config after bumping spec versions, otherwise it'll report as manta/4000

    Originally posted by @Garandor in https://github.com/Manta-Network/Manta/pull/952#discussion_r1059041475

    C-enhancement A-manta 
    opened by Garandor 0
  • Reduce running time for CI tests

    Reduce running time for CI tests

    Description

    closes: #852

    • Use second job in check_tests.yml for the benchmark test
    • Use all threads for unit tests in check_tests.yml
    • Use only calamari-local and dolphin-local chain-specs, skipping the -dev chain-specs
    • Overall we're back below 2 hours total.

    Before we can approve this PR for merge, please make sure that all the following items have been checked off:

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Added one label out of the L- group to this PR
    • [x] Added one or more labels from the A- and C- groups to this PR
    • [x] Explicitly labelled A-calamari, A-dolphin and/or A-manta if your changes are meant for/impact either of these (CI depends on it)
    • [x] This PR is targeted against the current Milestone ( otherwise discuss if it can be added in time)
    • [x] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functionality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    C-enhancement A-calamari A-ci A-dolphin L-changed 
    opened by ghzlatarev 0
  • Release v4.0.0-rc1

    Release v4.0.0-rc1

    Signed-off-by: Dengjianping [email protected]

    Description

    relates to OR closes: #929


    Before we can approve this PR for merge, please make sure that all the following items have been checked off:

    • [x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    • [x] Added one label out of the L- group to this PR
    • [x] Added one or more labels from the A- and C- groups to this PR
    • [x] Explicitly labelled A-calamari, A-dolphin and/or A-manta if your changes are meant for/impact either of these (CI depends on it)
    • [x] This PR is targeted against the current Milestone ( otherwise discuss if it can be added in time)
    • [ ] Re-reviewed Files changed in the Github PR explorer.

    Situational Notes:

    • If adding functionality, write unit tests!
    • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
    • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
    • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
    • If runtime changes, need to update the version numbers properly:
      • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
      • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
      • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
      • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
    • Verify benchmarks & weights have been updated for any modified runtime logics
    A-manta A-calamari A-dolphin C-experiment A-manta-pay L-skip 
    opened by Dengjianping 0
  • Trigger tx-pause freeze of chain state on `InternalLedgerError`

    Trigger tx-pause freeze of chain state on `InternalLedgerError`

        OK so if I get this correctly, the extrinsic will simply fail if we encounter an `InternalLedgerError`.
    

    We need a followup topic to this: Trigger tx-pause freeze of chain state on InternalLedgerError

    Originally posted by @Garandor in https://github.com/Manta-Network/Manta/pull/949#pullrequestreview-1231219623

    opened by Garandor 0
  • Bump clap from 3.2.23 to 4.0.32

    Bump clap from 3.2.23 to 4.0.32

    Bumps clap from 3.2.23 to 4.0.32.

    Release notes

    Sourced from clap's releases.

    v4.0.32

    [4.0.32] - 2022-12-22

    Fixes

    • (parser) When overriding required(true), consider args that conflict with its group

    v4.0.31

    [4.0.31] - 2022-12-22

    Performance

    • Speed up parsing when a lot of different flags are present (100 unique flags)

    v4.0.30

    [4.0.30] - 2022-12-21

    Fixes

    • (error) Improve error for args_conflicts_with_subcommand

    v4.0.29

    [4.0.29] - 2022-11-29

    v4.0.28

    [4.0.28] - 2022-11-29

    Fixes

    • Fix wasm support which was broken in 4.0.27

    v4.0.26

    [4.0.26] - 2022-11-16

    Fixes

    • (error) Fix typos in ContextKind::as_str

    v4.0.25

    [4.0.25] - 2022-11-15

    Features

    • (error) Report available subcommands when required subcommand is missing

    v4.0.24

    [4.0.24] - 2022-11-14

    Fixes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [4.0.32] - 2022-12-22

    Fixes

    • (parser) When overriding required(true), consider args that conflict with its group

    [4.0.31] - 2022-12-22

    Performance

    • Speed up parsing when a lot of different flags are present (100 unique flags)

    [4.0.30] - 2022-12-21

    Fixes

    • (error) Improve error for args_conflicts_with_subcommand

    [4.0.29] - 2022-11-29

    [4.0.28] - 2022-11-29

    Fixes

    • Fix wasm support which was broken in 4.0.27

    [4.0.27] - 2022-11-24

    Features

    • Have Arg::value_parser accept Vec<impl Into<PossibleValue>>
    • Implement Display and FromStr for ColorChoice

    Fixes

    • Remove soundness issue by switching from atty to is-terminal

    [4.0.26] - 2022-11-16

    Fixes

    • (error) Fix typos in ContextKind::as_str

    [4.0.25] - 2022-11-15

    Features

    • (error) Report available subcommands when required subcommand is missing

    [4.0.24] - 2022-11-14

    ... (truncated)

    Commits
    • ec4ccf0 chore: Release
    • 13fdb83 docs: Update changelog
    • b877345 Merge pull request #4573 from epage/conflict
    • 85ecb3e fix(parser): Override required when parent group has conflict
    • d145b8b test(parser): Demonstrate required-overload bug
    • 0eccd55 chore: Release
    • 1e37c25 docs: Update changelog
    • dcd5fec Merge pull request #4572 from epage/group
    • dde22e7 style: Update for latest clippy
    • dd8435d perf(parser): Reduce duplicate lookups
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    P-medium 
    opened by dependabot[bot] 0
Releases(v3.4.3-Dolphin-v3)
Owner
Manta Network
Plug and Play Privacy
Manta Network
Rust implementation for Thippy -- a Substrate parachain for smart contracts.

Thippy ‒- A Smart Contracts Parachain This is a node implementation of Thippy, a Substrate parachain for smart contracts. Developing Smart Contracts f

Arthur·Thomas 15 Mar 16, 2022
A substrate pallet that enables Manta's decentialized anynonymous payment (DAP) protocol.

This is a pallet that enables decentialized anynonymous payment (DAP) protocol. The best way to use this repo is to invoke it with a manta-runtime, available from either manta-node or cumulus.

Manta Network 27 Nov 23, 2022
The underlying cryptographic primitives for Manta Ecosystem

manta crypto The underlying cryptography that manta ecosystem relies on. It comes with the following traits: checksum: definitions for message digest.

Manta Network 10 Nov 10, 2021
A Rust client for Flashbots Relay.

flashbots-relay-rs Rust client for interacting directly with the Flashbots Relays. How does it work ? Using a client from the reqwest crate, you can u

Luca G.F. 16 Jun 22, 2022
This crate reimplements Gelato's Relay SDK in Rust

Gelato Relay SDK This crate reimplements Gelato's Relay SDK in Rust. It simply wraps Gelato Relay requests and responses to/from Gelato endpoints with

Nomad 30 Oct 20, 2022
Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer. Main motivation: EIP4844blobs.

stress4844 Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer. Main motivation: EIP4844 blobs. ca

Paradigm 50 Jan 4, 2023
Narrowlink securely connects devices and services together, even when both nodes are behind separate NAT

Narrowlink Narrowlink is a self-hosted platform that allows you to establish secure remote connections between devices within a network that may be hi

Narrowlink 355 Aug 17, 2023
A temporary repo for ETH connector to be used by EVM

ETH connector for Rainbow bridge Definitions bridgedETH - NEP-141 fungible-token representation of ETH inside Near. nETH - native ETH inside Near EVM.

Project Aurora 36 Jul 26, 2022
Manage secret values in-repo via public key cryptography

amber Manage secret values in-repo via public key cryptography. See the announcement blog post for more motivation. Amber provides the ability to secu

FP Complete 82 Nov 10, 2022
This is the Repo used to learn blockchain development in conjusction with the CyberGen NFT Project.

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

null 1 Nov 3, 2021
IBC modules and relayer - Formal specifications and Rust implementation

ibc-rs Rust implementation of the Inter-Blockchain Communication (IBC) protocol. This project comprises primarily four crates: The ibc crate defines t

Informal Systems 296 Dec 31, 2022
Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.

Note to readers: On December 1, 2020, the Libra Association was renamed to Diem Association. The project repos are in the process of being migrated. A

Diem 16.7k Jan 8, 2023
Fast and efficient ed25519 signing and verification in Rust.

ed25519-dalek Fast and efficient Rust implementation of ed25519 key generation, signing, and verification in Rust. Documentation Documentation is avai

dalek cryptography 563 Dec 26, 2022
A safe implementation of the secure remote password authentication and key-exchange protocol (SRP), SRP6a and legacy are as features available.

Secure Remote Password (SRP 6 / 6a) A safe implementation of the secure remote password authentication and key-exchange protocol (SRP version 6a). Ver

Sven Assmann 10 Nov 3, 2022
Retrieving SSH and GPS keys from GitHub and GitLab

Dormarch Retrieving SSH and GPS keys from GitHub and GitLab Usage After having installed Dormarch, you can see all the options with dormarch -h. To re

Riccardo Padovani 2 Dec 24, 2021
Terabethia - A Bridge and Messaging Protocol between Ethereum and the Internet Computer.

Terabethia - A Bridge Between Ethereum & the Internet Computer Terabethia is a bridge between Ethereum & the Internet Computer that contracts in both

Psychedelic 36 Dec 26, 2022
A guide for Mozilla's developers and data scientists to analyze and interpret the data gathered by our data collection systems.

Mozilla Data Documentation This documentation was written to help Mozillians analyze and interpret data collected by our products, such as Firefox and

Mozilla 75 Dec 1, 2022
Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.

Note to readers: On December 1, 2020, the Libra Association was renamed to Diem Association. The project repos are in the process of being migrated. A

Diem 16.7k Jan 9, 2023
Complete Ethereum and Celo wallet implementation and utilities in Rust

ethers.rs Complete Ethereum and Celo wallet implementation and utilities in Rust Documentation Extensive documentation and examples are available here

Georgios Konstantopoulos 1.5k Jan 8, 2023