Skip to content
Snippets Groups Projects
  1. May 29, 2021
  2. May 28, 2021
    • Shawn Tabrizi's avatar
      Simple `MaxBoundedLen` Implementations (#8793) · 444d4e20
      Shawn Tabrizi authored
      
      * implement max_values + storages info
      
      * some formatting + doc
      
      * sudo sanity check
      
      * timestamp
      
      * assets (not working)
      
      * fix assets
      
      * impl for proxy
      
      * update balances
      
      * rename StoragesInfo -> PalletStorageInfo
      
      * merge both StorageInfoTrait and PalletStorageInfo
      
      I think it is more future proof. In the future some storage could make
      use of multiple prefix. Like one to store how much value has been
      inserted, etc...
      
      * Update frame/support/procedural/src/storage/parse.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * Update frame/support/procedural/src/storage/storage_struct.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * Fix max_size using hasher information
      
      hasher now expose `max_len` which allows to computes their maximum len.
      For hasher without concatenation, it is the size of the hash part,
      for hasher with concatenation, it is the size of the hash part + max
      encoded len of the key.
      
      * fix tests
      
      * fix ui tests
      
      * Move `MaxBoundedLen` into its own crate (#8814)
      
      * move MaxEncodedLen into its own crate
      
      * remove MaxEncodedLen impl from frame-support
      
      * add to assets and balances
      
      * try more fixes
      
      * fix compile
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * nits
      
      * fix compile
      
      * line width
      
      * fix max-values-macro merge
      
      * Add some derive, needed for test and other purpose
      
      * use weak bounded vec in some cases
      
      * Update lib.rs
      
      * move max-encoded-len crate
      
      * fix
      
      * remove app crypto for now
      
      * width
      
      * Revert "remove app crypto for now"
      
      This reverts commit 73623e9933d50648e0e7fe90b6171a8e45d7f5a2.
      
      * unused variable
      
      * more unused variables
      
      * more fixes
      
      * Add #[max_encoded_len_crate(...)] helper attribute
      
      The purpose of this attribute is to reduce the surface area of
      max_encoded_len changes. Crates deriving `MaxEncodedLen` do not
      need to add it to `Cargo.toml`; they can instead just do
      
      ```rust
      \#[derive(Encode, MaxEncodedLen)]
      \#[max_encoded_len_crate(frame_support::max_encoded_len)]
      struct Example;
      ```
      
      * fix a ui test
      
      * use #[max_encoded_len_crate(...)] helper in app_crypto
      
      * remove max_encoded_len import where not necessary
      
      * update lockfile
      
      * fix ui test
      
      * ui
      
      * newline
      
      * fix merge
      
      * try fix ui again
      
      * Update max-encoded-len/derive/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * extract generate_crate_access_2018
      
      * Update lib.rs
      
      * compiler isnt smart enough
      
      Co-authored-by: default avatarthiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <peter.r.goodspeedniklaus@gmail.com>
      444d4e20
    • Alexander Theißen's avatar
  3. May 27, 2021
    • Roman Proskuryakov's avatar
      Remove: (#8748) · 8dfb8cd9
      Roman Proskuryakov authored
      * `NetworkStatusSinks`
      * `sc_service::SpawnTasksParams::network_status_sinks`
      
      Also:
      * `sc_service::build_network()` does not return `network_status_sinks`
      8dfb8cd9
  4. May 26, 2021
    • Jon Häggblad's avatar
      Migrate pallet-grandpa to attribute macros (#8724) · acef22bb
      Jon Häggblad authored
      * frame/grandpa: migrate Config
      
      * frame/grandpa: migrate decl_module
      
      * frame/grandpa: migrate decl_event
      
      * frame/grandpa: migrate decl_error
      
      * frame/grandpa: migrate decl_storage
      
      * frame/grandpa: make report_equivocation_unsigned pub(super)
      
      * frame/grandpa: remove unused imports
      
      * frame/grandpa: replace deprecated Module with Pallet
      
      * frame/grandpa: add RawEvent for compatibility
      
      * frame/grandpa: create migration to new storage prefix
      
      * frame/grandpa: bump version to 4.0.0
      
      * frame/grandpa: address review comments
      
      * Try using version 3.1 instead
      
      * frame/grandpa: tweak log text to say cancelled
      acef22bb
    • André Silva's avatar
      grandpa: enable light clients to participate in gossip (#8796) · 61507e1b
      André Silva authored
      
      * network: allow gossiping to light clients
      
      * grandpa: gossip global messages to light clients
      
      * grandpa: don't send neighbor packets to light clients
      
      * grandpa: fix tests
      
      * grandpa: export run_grandpa_observer
      
      * node: run grandpa observer on light client
      
      * node: start network at end
      
      * Use wasm_timer in finality-grandpa
      
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      61507e1b
  5. May 25, 2021
  6. May 12, 2021
    • Sergey Pepyakin's avatar
      Embed runtime version as a custom section (#8688) · 0849bcce
      Sergey Pepyakin authored
      
      * emit a custom section from impl_runtime_apis!
      
      This change emits a custom section from the impl_runtime_apis! proc macro.
      
      Each implemented API will result to emitting a link section `runtime_apis`.
      During linking all sections with this name will be concatenated and
      placed into the final wasm binary under the same name.
      
      * Introduce `runtime_version` proc macro
      
      This macro takes an existing `RuntimeVersion` const declaration, parses
      it and emits the version information in form of a linking section.
      Ultimately such a linking section will result into a custom wasm
      section.
      
      * Parse custom wasm section for runtime version
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      * Fix sc-executor integration tests
      
      * Nits
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Refactor apis section deserialization
      
      * Fix version decoding
      
      * Reuse uncompressed value for CallInWasm
      
      * Log on decompression error
      
      * Simplify if
      
      * Reexport proc-macro from sp_version
      
      * Merge ReadRuntimeVersionExt
      
      * Export `read_embedded_version`
      
      * Fix test
      
      * Simplify searching for custom section
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      0849bcce
    • Nikolay Volf's avatar
      update environmental (#8789) · 31c5ddc1
      Nikolay Volf authored
      31c5ddc1
  7. May 07, 2021
    • Alexander Theißen's avatar
      contracts: Refactor the exec module (#8604) · 9e894ce1
      Alexander Theißen authored
      
      * contracts: Add default implementation for Executable::occupied_storage()
      
      * contracts: Refactor the exec module
      
      * Let runtime specify the backing type of the call stack
      
      This removes the need for a runtime check of the specified
      `MaxDepth`. We can now garantuee that we don't need to
      allocate when a new call frame is pushed.
      
      * Fix doc typo
      
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Review nits
      
      * Fix defect in contract info caching behaviour
      
      * Add more docs
      
      * Fix wording and typos
      
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarParity Benchmarking Bot <admin@parity.io>
      9e894ce1
  8. May 05, 2021
    • mattrutherford's avatar
      RPC to trace execution of specified block (#7780) · 6e8957b0
      mattrutherford authored
      
      * Add filter reload handle
      
      * add RPC, move logging module from cli to tracing
      
      * remove dup fn
      
      * working example
      
      * Update client/rpc-api/src/system/mod.rs
      
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      
      * Prefer "set" to "reload"
      
      * Re-enable the commented out features of the logger
      
      * Remove duplicate code
      
      * cleanup
      
      * unneeded lvar
      
      * Bump to latest patch release
      
      * Add new CLI option to disable log filter reloading,
      
      Move profiling CLI options to SharedParams
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Applied suggestions from reviews
      
      * Fix calls to init_logger()
      
      * Handle errors when parsing logging directives
      
      * Deny `system_setLogFilter` RPC by default
      
      * One more time
      
      * Don't ignore parse errors for log directives set via CLI or RPC
      
      * Improve docs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * fix merge errors
      
      * include default directives with system_setLogFilter RPC,
      
      implement system_rawSetLogFilter RPC to exclude defaults
      
      * docs etc...
      
      * update test
      
      * refactor: rename fn
      
      * Add a test for system_set_log_filter – NOTE: the code should likely change to return an error when bad directives are passed
      
      * Update client/cli/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Address review grumbles
      
      * Add doc note on panicking behaviour
      
      * print all invalid directives before panic
      
      * change RPCs to: addLogFilter and resetLogFilter
      
      * make CLI log directives default
      
      * add comments
      
      * restore previous behaviour to panic when hard-coded directives are invalid
      
      * change/refactor directive parsing
      
      * fix line width
      
      * add test for log filter reloading
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * finish up suggestions from code review
      
      * improve test
      
      * change expect message
      
      * change fn name
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * add docs, remove unused fn
      
      * propagate Err on invalid log directive
      
      * Update tracing-subscriber version
      
      * Improve docs for `disable_log_reloading` CLI param
      
      * WIP implementation: RPC and trace capturing
      
      * WIP
      
      * fix incorrect number of digest items
      
      * return errors
      
      * add From impl for Values, rename structs
      
      * fixes
      
      * implement option to choose targets for traces
      
      * rename fn
      
      * fix EnvFilter and add root span
      
      * fix root span
      
      * add docs, remove unnecessary traits
      
      * fix regression on parent_id introduced in a9c73113
      
      
      
      * fix line width
      
      * remove unused
      
      * include block hash, parent hash & targets in response
      
      * move types from sp-tracing into sp-rpc
      
      move block and parent hash into root of BlockTrace
      
      * switch from log::trace to tracing::trace in state-machine
      
      * use unsigned integer type to represent Ext::id in traces
      
      * ensure id is unique by implementing Subscriber
      
      tracing_subscriber::FmtSubscriber does not guarantee
      unique ids
      
      * indentation
      
      * fix typo
      
      * update types
      
      * add sp_io::storage events
      
      * Change response format
      
      - update types
      - record distinct timestamps
      - sort spans by first entered
      
      * convert to HexDisplay, refactor
      
      * Sort out fallout from merge
      
      * Update client/rpc-api/src/state/mod.rs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Exit early unless the node runs with --rpc-methods=Unsafe
      
      * Better error handling
      
      * Use wasm-timer
      
      * revert trace alteration in `state-machine` and remove events in `sp_io::storage`
      
      Resolve in follow-up PR
      
      * Review feedback: less collects
      
      * Without Arcs
      
      * Fix span exit
      
      * typo
      
      * cleanup
      
      * Add a few debug messages to tracing module
      
      * Structure traces state-machine/ext; Dispatchable extrinsics spans not working
      
      * Correctly encode Option storage values
      
      * Remove test field for Put and Get
      
      * Try out some changes to dispatch macro
      
      * Add various log messages in dispatch
      
      * Add span dispatch span to new proc macro
      
      * Remove debug messages in dispatch
      
      * Trivial clean up
      
      * Structure remaining state-machine traces (ChangesRoot*)
      
      * Removed unnesecary tracing targets
      
      * Remove log
      
      * New cargo.lock post merge
      
      * Add logging for wasm_overrides
      
      * remove temp logs
      
      * remove temp logs
      
      * remove unused dep
      
      * remove temp logs
      
      * add logging to wasm_overrides
      
      * add logging to state_tracing
      
      * add logging for spans to substrate (includes timings)
      
      * Skip serializing some event fields; Remove most storage traces
      
      * Bring back all ext.rs traces
      
      * Do not skip bool values in events
      
      * Skip serializing span values
      
      * Serialize span values; remove some trace events in ext
      
      * Remove more trace events
      
      * Delete commented out traces
      
      * Remove all unused traces
      
      * Add event filtering
      
      * Fix typo
      
      * wip - change response types to be more efficient
      
      missing import
      
      type
      
      * Serialize struct fields as camelCase
      
      * Add back in event filtering
      
      * Remove name field from event
      
      * Sort spans by time entered
      
      * Sort spans in ASCending order
      
      * Add storage keys target param to rpc
      
      * Limit payload size; improve hash fields; include storage keys
      
      - cleanup event_key_filter
      - better block hash representation
      - limit payload size
      - cleanup based on andrews comments
      
      * Error when serialized payload is to big
      
      * Import MAX_PAYLOAD from rpc-servers
      
      * Clean up ext.rs
      
      * Misc. cleaning and comments
      
      * Strict ordering span Id; no span sort; adjust for rpc base payload
      
      * Add RPC docs to rpc-api/src/state/mod
      
      * Make params bullet points
      
      * Update primitives/rpc/src/tracing.rs
      
      * Put all tracing logic within trace
      
      * Remove attr.record in new_span
      
      * Add back value record in new_span
      
      * restore result collection in ext
      
      * Revert "Add back value record in new_span"
      
      This reverts commit baf1a735f23e5eef1bf6264adfabb788910fa661.
      
      * :face_palm:
      
      * more :face_palm:
      
      
      
      * Update docs; Try fix line width issues
      
      * Improve docs
      
      * Improve docs
      
      * Remove default key filters + add key recs to docs
      
      * Try restore old traces
      
      * Add back doc comment
      
      * Clean up newlines in ext.rs
      
      * More new line remova;
      l
      
      * Use FxHashMap
      
      * Try use EnvFilter directives for event filtering
      
      * Remove directive, filter events by fields
      
      * Use trace metadata correctly
      
      * Try EnvFilter directive with all default targets
      
      * Revert "Try EnvFilter directive with all default targets"
      
      This reverts commit 4cc6ebc721d207c3b846444174f89d45038525ac.
      
      * Clean up clippy warning
      
      * Incorporate Niklas feedback
      
      * Update trace/log macro calls to have better syntx
      
      * Use Ordering::Relaxed
      
      * Improve patch and filter doc comment
      
      * Clean up `BlockSubscriber::new`
      
      * Try optimize `BlockSubscriber::enabled`
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      * Use contains_key
      
      * use heuristic for payload size
      
      * Add error tupe for client::tracing::block
      
      * Minor tweaks
      
      * Make a note about `--features with-tracing`
      
      * Add CURL example to RPC docs
      
      * Link to substrate-archibe wasm
      
      * Trivial doc clean up based on David feedback
      
      * Explicit result type name
      
      * Respect line length
      
      * Use the error
      
      * Don't print timings when spans close
      
      * Fix failing sc-rpc-api
      
      * Update  sp-tracing inner-line doc
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/service/src/client/call_executor.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/service/src/client/call_executor.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Address some review grumbles
      
      * Update primitives/state-machine/src/ext.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Use result_encoded structure fields in ext.rs
      
      * Use value key for ext put
      
      * Add notes about tracing key names matter
      
      Co-authored-by: default avatarMatt <mattrutherford@users.noreply.github.com>
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      Co-authored-by: default avataremostov <32168567+emostov@users.noreply.github.com>
      6e8957b0
  9. May 03, 2021
    • Bastian Köcher's avatar
      Rework inherent data client side (#8526) · 2675741a
      Bastian Köcher authored
      
      * Lol
      
      * Yeah
      
      * Moare
      
      * adaasda
      
      * Convert AURA to new pallet macro
      
      * AURA: Switch to `CurrentSlot` instead of `LastTimestamp`
      
      This switches AURA to use `CurrentSlot` instead of `LastTimestamp`.
      
      * Add missing file
      
      * Update frame/aura/src/migrations.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Remove the runtime side provide inherent code
      
      * Use correct weight
      
      * Add TODO
      
      * Remove the Inherent from AURA
      
      * :face_palm:
      
      * Remove unused stuff
      
      * Update primitives authorship
      
      * Fix babe inherent data provider
      
      * Fix consensus-uncles
      
      * Fix BABE
      
      * Do some further changes to authorship primitives... :D
      
      * More work
      
      * Make it compile the happy path
      
      * Make it async!
      
      * Take hash
      
      * More stuff
      
      * Hacks
      
      * Revert "Hacks"
      
      This reverts commit cfffad88668cfdebf632a59c4fbfada001ef8251.
      
      * Fix
      
      * Make `execute_block` return the final block header
      
      * Move Aura digest stuff
      
      * Make it possible to disable equivocation checking
      
      * Fix fix...
      2675741a
  10. Apr 29, 2021
  11. Apr 28, 2021
  12. Apr 27, 2021
  13. Apr 23, 2021
  14. Apr 22, 2021
  15. Apr 21, 2021
  16. Apr 20, 2021
  17. Apr 19, 2021
  18. Apr 18, 2021
  19. Apr 16, 2021
    • Bastian Köcher's avatar
      Remove `serde` requirement from FRAME macros (#8628) · c8136bd1
      Bastian Köcher authored
      
      * Remove `serde` requirement from FRAME macros
      
      Currently there is some implicit requirement on `serde` being present in
      the `Cargo.toml` of a pallet when `GenesisConfig` is used. This pr
      removes this requirement by using the serde attribute `serde(crate = "..")`.
      
      * build a unique reexport of serde in impl_opaque_keys, by abusing paste doc concatenation
      
      * Optimize
      
      Co-authored-by: default avatarthiolliere <gui.thiolliere@gmail.com>
      c8136bd1
  20. Apr 13, 2021
  21. Apr 09, 2021
  22. Apr 07, 2021
  23. Apr 06, 2021
  24. Apr 03, 2021
  25. Apr 02, 2021
  26. Mar 30, 2021
  27. Mar 29, 2021
  28. Mar 28, 2021
    • Gavin Wood's avatar
      Implement `fungible::*` for Balances (#8454) · d0eee4f1
      Gavin Wood authored
      
      * Reservable, Transferrable Fungible(s), plus adapters.
      
      * Repot into new dir
      
      * Imbalances for Fungibles
      
      * Repot and balanced fungible.
      
      * Clean up names and bridge-over Imbalanced.
      
      * Repot frame_support::trait. Finally.
      
      * Make build.
      
      * Docs
      
      * Good errors
      
      * Fix tests. Implement fungible::Inspect for Balances.
      
      * Implement additional traits for Balances.
      
      * Revert UI test "fixes"
      
      * Fix UI error
      
      * Fix UI test
      
      * More work on fungibles
      
      * Fixes
      
      * More work.
      
      * Update lock
      
      * Make fungible::reserved work for Balances
      
      * Introduce Freezer to Assets, ready for a reserve & locks pallet. Some renaming/refactoring.
      
      * Cleanup errors
      
      * Imbalances working with Assets
      
      * Test for freezer.
      
      * Grumbles
      
      * Grumbles
      
      * Fixes
      
      * Extra "side-car" data for a user's asset balance.
      
      * Fix
      
      * Fix test
      
      * Fixes
      
      * Line lengths
      
      * Comments
      
      * Update frame/assets/src/tests.rs
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update frame/support/src/traits/tokens/fungibles.rs
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update frame/support/src/traits/tokens/fungible.rs
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Introduce `transfer_reserved`
      
      * Rename fungible Reserve -> Hold, add flag structs
      
      * Avoid the `melted` API - its too complex and gives little help
      
      * Repot Assets pallet
      
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      d0eee4f1
    • Peter Goodspeed-Niklaus's avatar
      make types within `generate_solution_type` macro explicit (#8447) · c2dd5e21
      Peter Goodspeed-Niklaus authored
      * make types within `generate_solution_type` macro explicit
      
      Closes #8444.
      
      Just changes the parsing logic for that macro; does not change any
      emitted code. The associated types associated with the macro now
      require explicit, keyword-style declaration.
      
      **Old**:
      
      ```rust
      sp_npos_elections::generate_solution_type!(
      	#[compact]
      	pub struct TestCompact::<VoterIndex, TargetIndex, PerU16>(16)
      );
      ```
      
      **New**:
      
      ```rust
      sp_npos_elections::generate_solution_type!(
      	#[compact]
      	pub struct TestCompact::<VoterIndex = VoterIndex, CandidateIndex = TargetIndex, Accuracy = PerU16>(16)
      );
      ```
      
      * un-ignore doc-tests
      
      * use new form in bin/node/runtime/
      
      * rename CandidateIndex -> TargetIndex
      
      * add tests demonstrating some potential compile failures
      c2dd5e21