Skip to content
Snippets Groups Projects
Select Git revision
  • cadb07530ec282181e6140f95883b7fc72608310
  • master default protected
  • fix_picked_up_file_in_runtime_release
  • network/gtest-1000 protected
  • upgradable-multisig
  • runtime/gtest-1000
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • tuxmain/anonymous-tx
  • debug/podman
  • hugo/195-doc
  • gtest-1000-0.11.1 protected
  • gtest-1000-0.11.0 protected
  • gtest-1000 protected
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
41 results

runtime-calls.md

Blame
    • Hugo Trentesaux's avatar
      5a3f0654
      refac membership renewal (nodes/rust/duniter-v2s!166) · 5a3f0654
      Hugo Trentesaux authored and Pascal Engélibert's avatar Pascal Engélibert committed
      * review tuxmain
      
      * fix rebase
      
      * rename force_add_cert to do_add_cert_checked
      
      * remove origin from force_add_cert
      
      * remove duplicate UD handling
      
      * claim membership - validating identity
      
      ensure claim membership does not prevent validating identity
      
      * clippy
      
      * add acquired membership handler
      
      and new integration test scenario
      
      * run benchmarks
      
      * refactor claim_membership
      
      and expire membership instead of revoking
      when too few certs
      
      * re-enable claim_membership
      
      * membership expiry no identity removal
      
      membership expiry no more triggers identity removal
      
      * control by test
      
      * at membership expiry : back to pending membership
      
      * reveal identity removal on membership expiry
      
      * refac test
      
      * refac membership renewal
      
      add expiry unscheduling
      do not verify expiration block expiring memberships
      add and refac tests
      add integration test
      
      * wip
      5a3f0654
      History
      refac membership renewal (nodes/rust/duniter-v2s!166)
      Hugo Trentesaux authored and Pascal Engélibert's avatar Pascal Engélibert committed
      * review tuxmain
      
      * fix rebase
      
      * rename force_add_cert to do_add_cert_checked
      
      * remove origin from force_add_cert
      
      * remove duplicate UD handling
      
      * claim membership - validating identity
      
      ensure claim membership does not prevent validating identity
      
      * clippy
      
      * add acquired membership handler
      
      and new integration test scenario
      
      * run benchmarks
      
      * refactor claim_membership
      
      and expire membership instead of revoking
      when too few certs
      
      * re-enable claim_membership
      
      * membership expiry no identity removal
      
      membership expiry no more triggers identity removal
      
      * control by test
      
      * at membership expiry : back to pending membership
      
      * reveal identity removal on membership expiry
      
      * refac test
      
      * refac membership renewal
      
      add expiry unscheduling
      do not verify expiration block expiring memberships
      add and refac tests
      add integration test
      
      * wip

    Upgrade Substrate

    We need to keep up to date with Substrate. Here is an empirical guide.

    Let's say for the example that we want to upgrade from v0.9.26 to v0.9.32.

    Upgrade Substrate fork

    1. Checkout the latest Substrate Polkadot branch polkadot-v0.9.xy in our Substrate
    2. Create a new branch duniter-substrate-v0.9.xy
    3. Cherry-pick 3ad5e1a1fdac5398d4911272a34e1f16c1bdd8f0, 87ef489034ca2b15c4f30da387e06b1f6716d9a2 and c36ab4f32454318a47777b24b6533c44121fc10b
    4. Run cargo check to check the cherry-picking

    Upgrade Subxt fork

    1. Checkout the currently used branch in our Subxt fork, e.g. duniter-substrate-v0.9.26
    2. Create a new branch duniter-substrate-v0.9.32
    3. Fetch the upstream repository
    4. Rebase on an upstream stable branch matching the wanted version

    Upgrade Duniter

    1. Replace duniter-substrate-v0.9.26 with duniter-substrate-v0.9.32 in Cargo.toml
    2. Update the rust-toolchain file according to Polkadot release notes
      • Tip: To save storage space on your machine, do rm target -r after changing the rust toolchain version and before re-building the project with the new version.
    3. While needed, iterate cargo check, cargo update and upgrading dependencies to match substrate's dependencies
    4. Fix errors in Duniter code
      • You may need to check how Polkadot is doing by searching in their repo. Luckily, the project structure and Substrate patterns are close enough to ours.
      • Some errors may happen due to two semver-incompatible versions of a same crate being used. To check this, use cargo tree -i <crate>. Update the dependency accordingly, then do cargo update.
    5. As always, don't forget to clippy once you're done with the errors.
    6. Test benchmarking:
      cargo run --features runtime-benchmarks -- benchmark overhead --chain=dev --execution=wasm --wasm-execution=interpreted-i-know-what-i-do --weight-path=. --warmup=10 --repeat=100