Skip to content
  1. Jun 14, 2022
    • Bastian Köcher's avatar
      wasm-builder: Fix constant re-running of `build.rs` scripts. (#11624) · d70d5892
      Bastian Köcher authored
      Recently we added the wasm binaries to the `rerun-if-changed` list. The problem with that is that
      they have a later mtime than the `invoked.timestamp` file and this file's mtime is used to determine
      if the `build.rs` script needs to be re-run. The solution to this is that we copy the mtime of this
      `invoked.timestamp` file and add it to the wasm binaries. Then cargo/rustc doesn't constantly wants
      to rerun the `build.rs` script.
      d70d5892
  2. Jun 02, 2022
  3. Apr 30, 2022
  4. Feb 14, 2022
    • Bastian Köcher's avatar
      wasm-builder: Support latest nightly (#10837) · 47622d69
      Bastian Köcher authored
      * wasm-builder: Support latest nightly
      
      With latest nightly, aka rust version 1.60+ namespaced features are added. This changes the handling
      of optional dependencies. We currently have features that enable optional dependencies when `std` is
      enabled. This was before no problem, but now the wasm-builder detects them as enabled. To support
      the transition period until 1.60 is released as stable, this pr adds an heuristic to not enable these
      optional crates in the wasm build when they are enabled in the `std` feature. This heuristic fails
      when someones enables these optional dependencies from the outside as well as via the `std` feature,
      however we hope that no one is doing this at the moment. When namespaced features are enabled, these
      dependencies needs to be enabled using `dep:dependency-name` to solve this properly.
      
      https://doc.rust-lang.org/cargo/reference/unstable.html#namespaced-features
      
      * Remove accidentally added features
      47622d69
  5. Feb 02, 2022
  6. Jan 31, 2022
  7. Jan 22, 2022
  8. Jan 21, 2022
    • Bastian Köcher's avatar
      wasm-builder: Improve workspace handling (#10700) · f41ef340
      Bastian Köcher authored
      When building a wasm binary from a different repo inside a local workspace, we did not used the
      correct `Cargo.toml` to find the correct patches and features. The solution to this is to just walk
      up from the target directory until we find the workspace we are currently compiling. If this
      heuristic isn't working, we print a warning and let the user set an env variable
      `WASM_BUILD_WORKSPACE_HINT` to tell the `wasm-builder` where the actual workspace is.
      f41ef340
  9. Jan 03, 2022
  10. Nov 18, 2021
  11. Nov 10, 2021
    • zjb0807's avatar
      Upgrade wasm builder (#10226) · 617e2cc7
      zjb0807 authored
      * add TypeInfo for DispatchTime
      
      * upgrade wasm-builder to Rust 2021
      
      * remove resolver
      
      * revert resolver in virtual workspace
      617e2cc7
  12. Oct 04, 2021
  13. Sep 24, 2021
    • Bastian Köcher's avatar
      Prepare UI tests for rust 1.55 (#9637) · 62187b59
      Bastian Köcher authored
      
      
      * Prepare UI tests for rust 1.54
      
      * Delete wrong_page.stderr
      
      * CI: run with a staging CI image
      
      * Revert "CI: run with a staging CI image"
      
      This reverts commit 66f5b00d14b50fd9d8fbf773f7e884f380697591.
      
      * CI: debug, again
      
      * LOG_TARGET is only used in std
      
      * Remove unnecessary unsafe
      
      * Fixes
      
      * Use correct rustc locally
      
      * FMT
      
      * Compile with benchmarking
      
      * Review feedback
      
      * Some ui tests
      
      * I know...
      
      * Fix wasm tests
      
      Co-authored-by: default avatarDenis P <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      62187b59
  14. Aug 11, 2021
  15. Jul 22, 2021
  16. Jul 21, 2021
    • Bastian Köcher's avatar
      Run cargo fmt on the whole code base (#9394) · 7b56ab15
      Bastian Köcher authored
      * Run cargo fmt on the whole code base
      
      * Second run
      
      * Add CI check
      
      * Fix compilation
      
      * More unnecessary braces
      
      * Handle weights
      
      * Use --all
      
      * Use correct attributes...
      
      * Fix UI tests
      
      * AHHHHHHHHH
      
      * 🤦
      
      * Docs
      
      * Fix compilation
      
      * 🤷
      
      * Please stop
      
      * 🤦
      
       x 2
      
      * More
      
      * make rustfmt.toml consistent with polkadot
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      7b56ab15
  17. Jun 15, 2021
  18. Jun 07, 2021
    • cheme's avatar
      Compact proof utilities in sp_trie. (#8574) · f01c3966
      cheme authored
      * validation extension in sp_io
      
      * need paths
      
      * arc impl
      
      * missing host function in executor
      
      * io to pkdot
      
      * decode function.
      
      * encode primitive.
      
      * trailing tab
      
      * multiple patch
      
      * fix child trie logic
      
      * restore master versionning
      
      * bench compact proof size
      
      * trie-db 22.3 is needed
      
      * line width
      
      * split line
      
      * fixes for bench (additional root may not be needed as original issue was
      with empty proof).
      
      * revert compact from block size calculation.
      
      * New error type for compression.
      
      * Adding test (incomplete (failing)).
      Also lacking real proof checking (no good primitives in sp-trie crate).
      
      * There is currently no proof recording utility in sp_trie, removing
      test.
      
      * small test of child root in proof without a child proof.
      
      * remove empty test.
      
      * remove non compact proof size
      
      * Missing revert.
      
      * proof method to encode decode.
      f01c3966
  19. Apr 27, 2021
  20. Apr 12, 2021
  21. Apr 07, 2021
  22. Mar 01, 2021
    • Bastian Köcher's avatar
      Init `RuntimeLogger` automatically for each runtime api call (#8128) · 68390d40
      Bastian Köcher authored
      
      
      * Init `RuntimeLogger` automatically for each runtime api call
      
      This pr change the runtime api in such a way to always and automatically
      enable the `RuntimeLogger`. This enables the user to use `log` or
      `tracing` from inside the runtime to create log messages. As logging
      introduces some extra code and especially increases the size of the wasm
      blob. It is advised to disable all logging completely with
      `sp-api/disable-logging` when doing the wasm builds for the on-chain
      wasm runtime.
      
      Besides these changes, the pr also brings most of the logging found in
      frame to the same format "runtime::*".
      
      * Update frame/im-online/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update test-utils/runtime/Cargo.toml
      
      * Fix test
      
      * Don't use tracing in the runtime, as we don't support it :D
      
      * Fixes
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      68390d40
  23. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  24. Nov 24, 2020
    • Bastian Köcher's avatar
      Wasm-builder 3.0 (#7532) · 923cb8ee
      Bastian Köcher authored
      
      
      * Build every wasm crate in its own project with wasm-builder
      
      Building all wasm crates in one workspace was a nice idea, however it
      just introduced problems:
      
      1. We needed to prune old members, but this didn't worked for old git
      deps.
      2. We locked the whole wasm workspace while building one crate. This
      could lead to infinitely locking the workspace on a crash.
      
      Now we just build every crate in its own project, this means we will
      build the dependencies multiple times. While building the dependencies
      multiple times, we still decrease the build time by around 30 seconds
      for Polkadot and Substrate because of the new parallelism ;)
      
      * Remove the requirement on wasm-builder-runner
      
      This removes the requirement on wasm-builder-runner by using the new
      `build_dep` feature of cargo. We use nightly anyway and that enables us
      to use this feature. This solves the problem of not mixing
      build/proc-macro deps with normal deps. By doing this we get rid off
      this complicated project structure and can depend directly on
      `wasm-builder`. This also removes all the code from wasm-builder-runner
      and mentions that it is deprecated.
      
      * Copy the `Cargo.lock` to the correct folder
      
      * Remove wasm-builder-runner
      
      * Update docs
      
      * Fix deterministic check
      
      Modified-by: default avatarBastian Köcher <[email protected]>
      
      * Try to make the ui test happy
      
      * Switch to `SKIP_WASM_BUILD`
      
      * Rename `SKIP_WASM_BINARY` to the correct name...
      
      * Update utils/wasm-builder/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update utils/wasm-builder/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      923cb8ee
  25. Oct 19, 2020
    • Bastian Köcher's avatar
      Make `wasm-builder` print the rustc version (#7351) · 23382db1
      Bastian Köcher authored
      * Make `wasm-builder` print the rustc version
      
      This makes `wasm-builder` print the rustc version that is being used to
      compile the project. This is rather useful, because people can check
      faster if the used rustc version is maybe known for being broken with
      Substrate.
      
      * Apply suggestions from code review
      
      * Add some comments
      23382db1
  26. Oct 12, 2020
  27. Sep 15, 2020
    • Bastian Köcher's avatar
      Improve error output of wasm-builder when wasm ins't installed (#7105) · 9dd5812e
      Bastian Köcher authored
      This improves the error message of wasm-builder when the wasm toolchain
      isn't installed. Currently we print that the wasm toolchain is not
      installed, but the actual problem is that there is a bug in the
      packaging in rust. This will now be much easier to debug, by printing
      the full error message of the compiler.
      9dd5812e
  28. Sep 10, 2020
  29. Sep 08, 2020
  30. Jul 22, 2020
    • Wei Tang's avatar
      Better handling of stable-only build (#6569) · ac8de557
      Wei Tang authored
      
      
      * Better handling of stable-only build
      
      * Fix node template build
      
      * Fix wasm builder node-template version mismatch
      
      * Fix load_spec error
      
      * Add , in parameter
      
      * Add descrptive panic messages in tests
      
      * Add descriptive tests in node/executor benches
      
      * Fix missing compact_code_unwrap
      
      * Add missing wasm_binary_unwrap function for executor integration test
      
      * Only define import_sp_io in no_std
      
      * Small Cargo.toml styling fix
      
      * Bump wasm-builder to 2.0.0
      
      * Fix all `with_wasm_builder_from_crates` version in Substrate
      
      * Use `with_wasm_builder_from_crates` for node-template
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      ac8de557
  31. Jul 21, 2020
  32. May 28, 2020
    • Bastian Köcher's avatar
      Wasm-builder `runtime-wasm` feature (#6177) · c9cc46de
      Bastian Köcher authored
      * Enable the `runtime-wasm` for wasm builds
      
      This enables the `runtime-wasm` feature for wasm builds. The feature is
      not mandatory and will only be activated if it exists in the
      `Cargo.toml`.
      
      * Fix compilation
      
      * Update docs
      
      * Uprgade version
      
      * Apply suggestions from code review
      c9cc46de
  33. May 26, 2020
  34. May 15, 2020
  35. May 13, 2020
  36. Mar 10, 2020
  37. Mar 05, 2020
  38. Feb 25, 2020
  39. Feb 17, 2020
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · c7a14db7
      Shawn Tabrizi authored
      
      
      * meaningfull -> meaningful
      
      * initialise -> initialize
      
      * tokans -> tokens
      
      * incentivise -> incentivize
      
      * lenght -> length
      
      * incentivisation -> incentivization
      
      * doesnt't -> doesn't
      
      * overwriten -> overwritten
      
      * lifecycle -> life cycle
      
      * lifecycle -> life cycle
      
      * usefull -> useful
      
      * noone -> no one
      
      * spaming -> spamming
      
      * defered -> deferred
      
      * hieght -> height
      
      * sumation -> summation
      
      * ingore -> ignore
      
      * registed -> registered
      
      * Auxialary -> Auxiliary
      
      * loggin -> logging
      
      * independance -> independence
      
      * trailling -> trailing
      
      * responsability -> responsibility
      
      * trunkated -> truncated
      
      * Weither -> Whether
      
      * informations -> information
      
      * Runtume -> Runtime
      
      * choosen -> chosen
      
      * delcataion -> declaration
      
      * Unchekced -> Unchecked
      
      * defintion -> definition
      
      * scrach -> scratch
      
      * imput -> input
      
      * transfered -> transferred
      
      * endownment -> endowment
      
      * Determinator -> Determiner
      
      * relevent -> relevant
      
      * emited -> emitted
      
      * acocunt -> account
      
      * proprotional -> proportional
      
      * instantiaion -> instantiation
      
      * commited -> committed
      
      * tombstonedead -> tombstone
      
      * uwnrap -> unwrap
      
      * acount -> account
      
      * specialised -> specialized
      
      * existant -> existent
      
      * requried -> required
      
      * Anull -> Annul
      
      * AUTHORITES -> AUTHORITIES
      
      * underyling -> underlying
      
      * recognisable -> recognizable
      
      * Capitalise -> Capitalize
      
      * reportfor -> report for
      
      * hearbeat -> heartbeat
      
      * onlineness -> being online
      
      * creater -> creator
      
      * Bytearray -> Byte array
      
      * Despoit -> Deposit
      
      * substratced -> subtracted
      
      * Curent -> Current
      
      * imbalanes -> imbalances
      
      * countfown -> countdown
      
      * inexisting -> inexistent
      
      * additionaly -> additionally
      
      * substracted -> subtracted
      
      * auxilary -> auxiliary
      
      * parital -> partial
      
      * in't -> isn't
      
      * compatability -> compatibility
      
      * infomation -> information
      
      * etected -> detected
      
      * extrinsiscs -> extrinsics
      
      * reprensentation -> representation
      
      * coonfiguration -> configuration
      
      * primtives -> primitives
      
      * miscelanious -> miscellaneous
      
      * VERISON -> VERSION
      
      * endcoded -> encoded
      
      * Genrates -> Generates
      
      * miliseconds -> milliseconds
      
      * occured -> occurred
      
      * trully -> truely
      
      * truely -> truly
      
      * conjuction -> conjunction
      
      * encouters -> encounters
      
      * customised -> customized
      
      * deterministicly -> deterministically
      
      * finalisation -> finalization
      
      * pluggable -> plugable
      
      * wakeup -> wake-up
      
      * interemdiate -> intermediate
      
      * intepreting -> interpreting
      
      * finalzied -> finalized
      
      * throgh -> through
      
      * extinsic -> extrinsic
      
      * convient -> convenient
      
      * allocater -> allocator
      
      * propagateable -> propagatable
      
      * succesfuly -> successfully
      
      * finalising -> finalizing
      
      * publically -> publicly
      
      * phrasee -> phrase
      
      * substration -> substractions
      
      * substractions -> subtractions
      
      * neccessarily -> necessarily
      
      * Inlucde -> Include
      
      * unefficient -> inefficient
      
      * thay -> they
      
      * funtion -> function
      
      * datastructures -> data structures
      
      * infromation -> information
      
      * propagatable -> propagable
      
      * ecountered -> encountered
      
      * recognise -> recognize
      
      * intergration -> integration
      
      * lastet -> latest
      
      * datatypes -> data types
      
      * datatype -> data type
      
      * Strongarming -> Strong Arming
      
      * avaible -> available
      
      * Commiting -> Committing
      
      * Retreiving -> Retrieving
      
      * shoud -> should
      
      * canonicaliziation -> canonicalization
      
      * comitted -> committed
      
      * clonable -> cloneable
      
      * Uknown -> Unknown
      
      * reponse -> response
      
      * arbitary -> arbitrary
      
      * Capapbilities -> Capabilities
      
      * responsbile -> responsible
      
      * initialisation -> initialization
      
      * cames -> came
      
      * intemediate -> intermediate
      
      * reqeust -> request
      
      * intance -> instance
      
      * explcitly -> explicitly
      
      * neighor -> neighbor
      
      * reolving -> resolving
      
      * untill -> until
      
      * Validte -> Validate
      
      * deserailize -> deserialize
      
      * literaly -> literally
      
      * preceeding -> preceding
      
      * abpve -> above
      
      * chcecked -> checked
      
      * numbet -> number
      
      * Unknow -> Unknown
      
      * halfs -> halves
      
      * gossup -> gossip
      
      * givent -> given
      
      * immediatelly -> immediately
      
      * slicable -> sliceable
      
      * conensus -> consensus
      
      * Mimicks -> Mimics
      
      * acccept -> accept
      
      * serialise -> serialize
      
      * exstrinsics -> extrinsics
      
      * panicks -> panics
      
      * maintaince -> maintenance
      
      * repeatidely -> repeatedly
      
      * anecstor -> ancestor
      
      * becasue -> because
      
      * processer -> processor
      
      * Prunning -> Pruning
      
      * insterested -> interested
      
      * unuseful -> not useful
      
      * yeided -> yielded
      
      * descendfing -> descending
      
      * corresponts -> corresponds
      
      * survivew -> survive
      
      * keps -> keeps
      
      * ligh -> light
      
      * prerequisities -> prerequisites
      
      * positiion -> position
      
      * depedency -> dependency
      
      * extrinisic -> extrinsic
      
      * atomicaly -> atomically
      
      * staticly -> statically
      
      * resul -> result
      
      * timestamb -> timestamp
      
      * Utilites -> Utilities
      
      * ammount -> amount
      
      * pocess -> process
      
      * exteral -> external
      
      * Update client/finality-grandpa/src/tests.rs
      
      * Update primitives/io/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      c7a14db7