* grandpa: stricter gossip message filtering
* gossip: remove filtered message on send_message
* gossip: add test for tracking of broadcast attempts
* grandpa: only restrict gossip if we're connected to more than 5 authorities
* grandpa: add test for progressive gossip
* grandpa: add test for gossip filtering on local non-authority node
* grandpa: fix doc
* gossip, grandpa: tabify
* grandpa: relax filtering logic for global messages
* Remove dependency on hyper-tls
This removes one of the dependencies on native-tls, and thus on OpenSSL.
I will remove the other in a separate commit.
* Remove the `HttpClient` enum
It only had one variant.
* Apply suggestions from code review
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Correctly serialize code in chain spec as hex.
Due to a bug, the runtime code was previously serialized as a JSON
array of numbers, pretty printed one byte per line.
* Remove panic in macro and whitelist attribute types for storage
genesis config lines.
* Use syn::Error to enforce whitelisted attributes on genesis config.
* Blacklist genesis extra config line attributes instead of whitelist.
* Added a public transfer_some function and a private transfer_inner fn
* Move transfer_some to the end of the module impl to fix failing contracts test
* Change whitespace
* Remove needless change to transfer logic
* Fix error
* Update srml/balances/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Improve documentation and add test
* Update srml/balances/src/lib.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Switch to changing Currency trait instead
* Apply breaking changes of new libp2p versions
* Oops, forgot to update version
* Fix tests
* Fix imports with WASM
* Fix WASM for real
* Update core/network/src/debug_info.rs
Co-Authored-By: Roman Borschel <romanb@users.noreply.github.com>
* Fix compilation
- Add new crate `substrate-build-script-utils` to unify the code of
`node`, `node-template` and `polkadot-node`.
- The `node-cli` build script needs to search upwards for the
`.git/HEAD` file to find it.
* introduced "with_crypto" feature and applied switches like in substrate-api-client fork
* introduced "with_crypto" feature and applied switches like in substraTEE-worker fork
* distinguishing core::hash vs std::hash
* @bkchr's review requests fulfilled
* fixes
* revert dependency upgrade ed25519-dalek
* added full_crypto features to all crates using app_crypto! macro
* fixing CI complaints.
* fix again
* adding CI test for with_crypto feature
* added full_crypto for ecdsa. now builds wit h--no-deafault-features --features with_crypto
* remove --release from CI test
* @bkchr requested changes. moved full_crypto CI test to build stage
* fixing no_std issue
* CI fresh copy from srml-staking
* gitlab CI with +nightly
* solved no-feature-in-macro dilemma
* cosmetics
* Update core/application-crypto/src/sr25519.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/application-crypto/src/ed25519.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* even more simple
* undo line delete
* refactoring app_crypto macro. splitting functionalities based on full_crypto feature
* whitespace cosmetics
* srml-evm: init the basic structures
* srml-evm: finish executor implementation
* srml-evm: implement balance deposit and withdraw
* srml-evm: implement the actuall call/create
* srml-evm: use crates.io version of evm
* srml-evm: fix no-std compile
* Remove dependency patch
* Update to evm 0.14
* Use double map for account storage
* Add precompiles support
* Add some basic docs
* Use runtime_io::chain_id()
* Update srml/evm/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com>
* Update srml/evm/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com>
* Fix WithdrawReason
* Unique saturate balance to u128
* Unique saturate withdraw to u128
* Remove extern crate alloc
* Move account code to a separate storage and use ref for convert_account_id
* More match cause for error message
* Fix potential interger overflow
* Use decode_len for fetching code length
* Add serde to phragmen
* Update lock file
* and bump a version
* and bump a version again
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* revert impl-tarit for tuple update
* revert session.
* Revert "revert session."
This reverts commit 98086c9db56677068db85f74320868b2c10d1c00.
* Revert "revert impl-tarit for tuple update"
This reverts commit 28a7fddee2e09c5785b19883f743065e0be8f331.
* Move config path generation into the service config for reusability
* Make NoCostum Default and fix tests
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* remove function not used anymore
* Make path into an option
* remove database_path function and call it directly
* remove helper functions, use consts
* executor: Move runtime caching out of WasmRuntime interface.
The runtime version is now fetched and cached at a higher level, not
within the WasmRuntime trait implementations.
* executor: Require successful querying of runtime version.
* Implement Debug for some structures
`NetworkConfiguration`, `TransportConfig`, `NodeKeyConfig` and `Secret`.
Needs a new release of the `rust-libp2p` crate. This PR is just a
reminder.
* Explicitly separate `std` and `core`
* Add manual implementation for Secret
* executor: Use non wasmi-specific execution in tests.
* executor: Move all runtime execution tests into tests file.
* executor: Use test_case macro to easily execute tests with different
Wasm execution methods.
* executor: Convert errors to strings with Display, not Debug.
* node-executor: Rewrite benchmarks with criterion.
They were not passing compilation before and criterion seems to be more
widely used in Substrate.
* executor: Begin implementation of Wasm runtime.
The implementation demonstrates the outline of the execution, but does
not link against the external host functions.
* executor: Define and implement basic FunctionExecutor.
The SandboxCapabilities::invoke is still left unimplemented.
* executor: Implement host function trampoline generation.
* executor: Instantiate and link runtime module to env module.
* executor: Provide input data during wasmtime execution.
* executor: Implement SandboxCapabilites::invoke for wasmtime executor.
* executor: Integrate and test wasmtime execution method.
* executor: Improve FunctionExecution error messages.
* Scope the unsafe blocks to be smaller.
* Rename TrampolineState to EnvState.
* Let EnvState own its own compiler instead of unsafe lifetime cast.
* Refactor out some common wasmi/wasmtime logic.
* Typos and cosmetic changes.
* More trampoline comments.
* Cargo.lock update.
* cli: CLI option for running Substrate with compiled Wasm execution.
* executor: Switch dependency from fork to official wasmtime repo.
* Quiet down cranelift logs.
* Explicitly catch panics during host calls.
We do this to ensure that panics do not cross language boundaries.
* Additional checks and clarifications in make_trampoline.
* Fixes after merge from master and panic safety for wasmtime
instantiation.