Skip to content
  1. Aug 09, 2023
    • Davide Galassi's avatar
      Bandersnatch VRF (#14412) · 314109d8
      Davide Galassi authored
      
      
      * Introduce bandersnatch vrf
      
      * Some documentation
      
      * Fix tests
      
      * Fix docs refs
      
      * Some more docs
      
      * Comments about key derivation
      
      * Make clippy happy
      
      * Fix ring context enc/dec test
      
      * Fix docs
      
      * Switch to upstream ring-vrf
      
      * Use sub-domains to construct VrfInput
      
      * Bandersnatch VRF experimental feature
      
      * Restore upstream dep
      
      * Fix feature flags
      
      * Apply typo fix
      
      Co-authored-by: default avatarAnton <[email protected]>
      
      * Bump bandersnatch-vrfs
      
      * Weiestrass form has been selected
      
      * Rename bandersnatch testing app crypto id
      
      * Support for seed recovery
      
      * Clarified domain size <-> key size relationship
      
      * cargo fmt
      
      * Trigger CI
      
      * Some required tweaks to crypto types
      
      * Remove leftovers from Cargo.toml
      
      * Remove some TODO notes
      
      * Simplification of structs construction
      
      * Trigger CI
      
      * Apply review suggestion
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Docs typo
      
      * Fix keystore tests
      
      * Consistence
      
      * Add ref to git rependency
      
      * Static check of MAX_VRF_IOS value
      
      * Clarify behavior for out of ring keys signatures
      
      * Add test for ring-vrf to the keystore
      
      * Fix docs
      
      ---------
      
      Co-authored-by: default avatarAnton <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      314109d8
  2. Aug 02, 2023
    • drskalman's avatar
      Support for multiple signature scheme for BEEFY primitves (#14373) · 3fef703e
      drskalman authored
      
      
      * Merged BEEFY primitives with generic signature and keyset commitment support from old pull to current code
      
      * - Add bls-experimental feature to application-crypto and beefy primitives
      - Fix remaining crypto -> ecdsa_crypto
      - code build but not tests
      
      * Make beefy primitive tests compile
      
      * move bls related beefy primitives code and test behind bls-experimental flag
      
      * Make BEEFY clients complies with BEEFY API depending on AuthorityId
      
      * - Rename `BeefyAuthoritySet.root` → `BeefyAuthoritySet.keyset_commitment`.
      - Remove apk proof keyset_commitment from `BeefyAuthoritySet`.
      - Fix failing signed commitment and signature to witness test.
      - Make client compatible with BeefyAPI generic on AuthorityId.
      - `crypto` → `ecdsa_crypto` in BEEFY client and frame.
      
      * Commit Cargo lock remove ark-serialize from BEEFY primitives
      
      * Use Codec instead of Encode + Decode in primitives/consensus/beefy/src/lib.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * - Make `BeefyApi` generic over Signature type.
      - Make new `BeeyApi` functinos also generic over AuthorityId and Signature
      
      * Unmake BeefyAPI generic over Signature. Recover Signature type from AuthId.
      
      * - dont use hex or hex-literal use array-bytes instead in beefy primitives and bls crypto.
      - CamelCase ECDSA and BLS everywhere.
      
      * Move the definition of BEEFY key type from `primitives/beefy` to `crypto.rs` according to new convention.
      
      * - Add bls377_generate_new to `sp-io` and `application_crypto::bls`.
      - Add `bls-experimental` to `sp-io`
      
      Does not compile because PassByCodec can not derive PassBy using customly implemented PassByIner.
      
      * Implement PassBy for `bls::Public` manually
      
      * fix Beefy `KEY_TYPE` in `frame/beefy` tests to come from `sp-core::key_types` enum
      
      * specify both generic for `hex2array_unchecked` in `sp-core/bls.rs`
      
      * Rename `crypto`→`ecdsa_crypto` in `primitives/consensus/beefy/src/test_utils.rs` docs
      
      * remove commented-out code in `primitives/consensus/beefy/src/commitment.rs`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Fix inconsistency in panic message in  `primitives/io/src/lib.rs`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Remove redundant feature activation in `primitives/io/Cargo.toml`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * - make `w3f-bls` a dev-dependancy only for beefy primitives.
      
      - clean up comments.
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * export BEEFY KEY_TYPE from primitives/consensus/beefy
      make `frame/consensus/beefy` in dependent of sp_crypto_app
      use consistent naming in the beefy primitive tests.
      
      * - implement `BeefyAuthorityId` for `bls_crypto::AuthorityId`.
      - implement `bls_verify_works` test for BEEFY `bls_crypto`.
      
      * Remove BEEFY `ecdsa_n_bls_crypto` for now for later re-introduction
      
      * Make commitment and witness BEEFY tests not use Keystore.
      
      * put `bls_beefy_verify_works` test under `bls-experimental` flag.
      
      * bump up Runtime `BeefyAPI` to version 3 due to introducing generic AuthorityId.
      
      * reuse code and encapsulate w3f-bls backend in sp-core as most as possible
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Make comments in primities BEEFY `commitment.rs` and `witness.rs``tests convention conforming
      
      * Use master dep versions
      
      * Trivial change. Mostly to trigger CI
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Fix Cargo.toml
      
      * Trigger CI with cumulus companion
      
      * Trigger CI after polkadot companion change
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      3fef703e
  3. Aug 01, 2023
  4. Jul 19, 2023
    • Kian Paimani's avatar
      add doc-only `substrate` entry point crate (#14581) · 817c97d6
      Kian Paimani authored
      
      
      * add doc-only substrate entry point crate
      
      * document a few more things
      
      * add more
      
      * fix width
      
      * Update primitives/io/src/lib.rs
      
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      
      * add link
      
      * update cargo toml file
      
      * fix sp-io docs
      
      * improve
      
      * small update
      
      * add license
      
      * satisfy license job
      
      * add a line about FRAME
      
      * CI happy now
      
      * make CI more happy
      
      * Let the check run for the whole workspace
      
      * Forward the substrate node again as default run
      
      * update binary names
      
      * upate verison test
      
      * Fix fix fix
      
      * Fix
      
      * rename to substrate-node in more places
      
      * Revert "rename to substrate-node in more places"
      
      This reverts commit 66960f84a1b6f1f7c638b4040e28e9fbabb8adf5.
      
      * fix
      
      * Fix build pipeline
      
      * Fix properly plus add some docs
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      817c97d6
  5. Jul 17, 2023
  6. Jun 27, 2023
  7. Jun 21, 2023
  8. May 31, 2023
  9. May 29, 2023
  10. Apr 04, 2023
    • Bastian Köcher's avatar
      Remove deprecated batch verification (#13799) · 846ec8cd
      Bastian Köcher authored
      This removes the deprecated batch verification. This was actually never really activated.
      Nevertheless, we need to keep the host functions around to support old runtimes which may import
      these host functions. However, we do not give access to these functions anymore. This means that any new
      runtime can not call them anymore. The host function implementations we keep will not do batch verification and will
      instead fall back to the always existing option of directly verifying the passed signature.
      `finish_batch_verification` will return the combined result of all the batch verify calls.
      
      This removes the `TaskExecutorExt` which only existed to support the batch verification. So, any
      code that used this extension can just remove the registration of them. It also removes
      `SignatureBatching` that was used by `frame-executive` to control the batch verification.
      However, there wasn't any `Verify` implementation that called the batch verification functions.
      846ec8cd
  11. Mar 29, 2023
    • Bastian Köcher's avatar
      Support stable rust for compiling the runtime (#13580) · d338e9a1
      Bastian Köcher authored
      * Support stable rust for compiling the runtime
      
      This pull request brings support for compiling the runtime with stable Rust. This requires at least
      rust 1.68.0 to work on stable. The code is written in a way that it is backwards compatible and
      should automatically work when someone compiles with 1.68.0+ stable.
      
      * We always support nightlies!
      
      * 🤦
      
      
      
      * Sort by version
      
      * Review feedback
      
      * Review feedback
      
      * Fix version parsing
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      d338e9a1
  12. Mar 24, 2023
    • Davide Galassi's avatar
      Keystore overhaul (final) (#13683) · 40e1704e
      Davide Galassi authored
      
      
      * Introduce keystore specialized sign methods
      
      * Get rid of 'AppKey::UntypedGeneric' associated type.
      
      Untyped generics are accessible using associated types 'Generic' associated type.
      I.e. <T as AppKey>::Public::Generic
      
      * Get rid of 'CryptoTypePublicPair'
      
      * Trivial fix
      
      * Small refactory of local keystore implementations
      
      * Remove 'crypto_id' method from 'Public'
      
      * Trivial rename of 'AppKey' to 'AppCrypto'
      
      * Remove unused import
      
      * Improve docs
      
      * Better signature related errors for authority-discovery
      
      * Apply review suggestion
      
      * Apply review suggestions
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Authority discoverty signing error revisited
      
      * Signing error revisited for babe and aura as well
      
      * Further cleanup
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      40e1704e
  13. Mar 20, 2023
    • Davide Galassi's avatar
      Keystore overhaul (iter 2) (#13634) · 480396fe
      Davide Galassi authored
      * Remove bloat about remote keystore
      
      * Update docs and remove unused 'KeystoreRef' trait
      
      * Use wherever possible, MemoryKeystore for testing
      
      * Remove unrequired fully qualified method syntax for Keystore
      480396fe
  14. Mar 17, 2023
    • Davide Galassi's avatar
      Keystore overhaul (#13615) · f110941b
      Davide Galassi authored
      * Remove 'supported_keys' 'sign_with_any' and 'sign_with_all' from keystore trait
      
      * Remove the aync keystore
      
      * Renaming:
      - SyncCryptoStore -> Keystore
      - SyncCryptoStorePtr -> KeystorePtr
      - KeyStore -> MemoryKeystore
      
      * Fix authority discovery worker and tests
      
      * Rename 'insert_unknown' to 'insert'
      
      * Remove leftover
      f110941b
  15. Feb 21, 2023
    • Vivek Pandya's avatar
      Remove years from copyright notes. (#13415) · bc53b9a0
      Vivek Pandya authored
      * Change copyright year to 2023 from 2022
      
      * Fix incorrect update of copyright year
      
      * Remove years from copy right header
      
      * Fix remaining files
      
      * Fix typo in a header and remove update-copyright.sh
      bc53b9a0
  16. Jan 19, 2023
  17. Dec 19, 2022
  18. Dec 07, 2022
  19. Nov 27, 2022
    • Bastian Köcher's avatar
      ed25519_verify: Support using dalek for historical blocks (#12661) · 0c934a93
      Bastian Köcher authored
      
      
      * ed25519_verify: Support using dalek for historical blocks
      
      The switch from `ed25519-dalek` to `ed25519-zebra` was actually a breaking change. `ed25519-zebra`
      is more permissive. To support historical blocks when syncing a chain this pull request introduces
      an externalities extension `UseDalekExt`. This extension is just used as a signaling mechanism to
      `ed25519_verify` to use `ed25519-dalek` when it is present. Together with `ExtensionBeforeBlock` it
      can be used to setup a node in way to sync historical blocks that require `ed25519-dalek`, because
      they included a transaction that verified differently as when using `ed25519-zebra`.
      
      This feature can be enabled in the following way. In the chain service file, directly after the
      client is created, the following code should be added:
      
      ```
      use sc_client_api::ExecutorProvider;
      client.execution_extensions().set_extensions_factory(
      	sc_client_api::execution_extensions::ExtensionBeforeBlock::<Block, sp_io::UseDalekExt>::new(BLOCK_NUMBER_UNTIL_DALEK_SHOULD_BE_USED)
      );
      ```
      
      * Fix doc
      
      * More fixes
      
      * Update client/api/src/execution_extensions.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Fix merge and warning
      
      * Fix docs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      0c934a93
  20. Nov 15, 2022
  21. Nov 10, 2022
  22. Sep 14, 2022
  23. Aug 25, 2022
  24. Aug 15, 2022
  25. Jul 29, 2022
  26. Jul 25, 2022
  27. Jul 18, 2022
  28. Jun 01, 2022
  29. May 30, 2022
  30. May 29, 2022
    • Gavin Wood's avatar
      Safe and sane multi-item storage removal (#11490) · ecbd65fb
      Gavin Wood authored
      * Fix overlay prefix removal result
      
      * Second part of the overlay prefix removal fix.
      
      * Report only items deleted from storage in clear_prefix
      
      * Fix kill_prefix
      
      * Formatting
      
      * Remove unused code
      
      * Fixes
      
      * Fixes
      
      * Introduce clear_prefix host function v3
      
      * Formatting
      
      * Use v2 for now
      
      * Fixes
      
      * Formatting
      
      * Docs
      
      * Child prefix removal should also hide v3 for now
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * Cursor API; force limits
      
      * Use unsafe deprecated functions
      
      * Formatting
      
      * Fixes
      
      * Grumbles
      
      * Fixes
      
      * Docs
      
      * Some nitpicks 🙈
      
      
      
      * Update primitives/externalities/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Formatting
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Update primitives/io/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      ecbd65fb
  31. May 16, 2022
  32. Apr 30, 2022
  33. Apr 22, 2022
  34. Apr 20, 2022
  35. Apr 07, 2022
  36. Apr 03, 2022
  37. Mar 01, 2022
    • Andrew Jones's avatar
      Release primitive crates (#10937) · a3a7fe90
      Andrew Jones authored
      * cargo set-version --bump major -p pallet-contracts-primitives
      
      * cargo set-version --bump major -p sp-core
      
      * cargo set-version --bump major -p sp-runtime-interface
      
      * cargo set-version --bump major -p sp-wasm-interface
      
      * cargo set-version --bump major -p sp-runtime
      
      * cargo set-version --bump major -p sp-storage
      
      * cargo set-version --bump major -p sp-rpc
      
      * cargo set-version --bump major -p sp-io
      
      * cargo set-version --bump major -p sp-trie
      
      * cargo set-version -p sp-state-machine  -- 0.12.0
      
      * cargo set-version -p sp-externalities  -- 0.12.0
      
      * cargo set-version -p sp-keystore -- 0.12.0
      
      * cargo set-version --bump major -p sp-keyring
      
      * cargo set-version --bump major -p sp-version
      
      * cargo set-version --bump major -p sp-tracing
      
      * cargo set-version --bump major -p sp-application-crypto
      
      * cargo set-version --bump major -p sp-arithmetic
      
      * cargo unleash version bump-major -p sp-runtime-interface-proc-macro
      
      * Add codec max-encoded-len feature to sp-arithmetic
      
      * cargo unleash version bump-major -p sp-core-hashing-proc-macro
      a3a7fe90
    • dependabot[bot]'s avatar
      Bump futures from 0.3.16 to 0.3.19 (#10930) · e3377ddc
      dependabot[bot] authored
      
      
      Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.16 to 0.3.19.
      - [Release notes](https://github.com/rust-lang/futures-rs/releases)
      - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.16...0.3.19)
      
      ---
      updated-dependencies:
      - dependency-name: futures
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      e3377ddc
  38. Feb 26, 2022
    • Davide Galassi's avatar
      Replace libsecp256k1 with secp256k1 (#10798) · 4aab84cc
      Davide Galassi authored
      * Replace libsecp256k1 with secp256k1
      
      * Wipe ecdsa secret key from memory on drop
      
      * Some comments for a known issue
      
      * Safer core crypto primitives `from_slice` constructor
      
      Previous version panics if slice lenght is not the expected one.
      
      * Unit test fix
      
      * Enable use of global secp256k1 context
      
      * Better comments for ecdsa `Pair` drop
      
      * Replace `libsecp256k1` with `seco256k1` in `beefy-mmr`
      
      Used to convert ecdsa public key to ETH address
      
      * Replace `libsecp256k1` with `secp256k1` in FRAME `contracts`benchmarks
      
      * Temporary rollback of `beefy-mmr` to libsecp256k1
      
      Check for detected build issues
      
      * Cargo fmt
      
      * Rollback of FRAME `contracts` benchmarks to `libsecp256k1`
      
      * Rollback for unrelated changes
      
      * Typo fix
      
      * Add comments for deprecated `ecdsa_verify` and `secp256k1_ecdsa_recover`
      4aab84cc