* cleanup of rob's patch
* depend on feature disputes, both lag and query
* typo
* make it work
TODO move the fallback into selection
* option
* Update node/service/src/relay_chain_selection.rs
* remove trait implementation and fix errors
* hotfix: tests
* fmt
* remove unused trait
* make pub(crate) for test
* disable tests with disputed blocks
* Fix warnings
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Lldenaurois <Ljdenaurois@gmail.com>
* Add comments and refactor Sandbox module
* Adds some comments
* Add wasmtime instance to the sandbox and delegate calls
* Adds module imports stub
* WIP state holder via *mut
* My take at the problem
* Brings back invoke and instantiate implementation details
* Removes redundant bound
* Code cleanup
* Fixes invoke closure
* Refactors FunctionExecutor to eliminate lifetime
* Wraps `FunctionExecutor::sandbox_store` in `RefCell`
* Renames `FunctionExecutor::heap` to `allocator`
* Wraps `FunctionExecutor::allocator` in `RefCell`
* Refactors FunctionExecutor to `Rc<Inner>` pattern
* Implements scoped TLS for FunctionExecutor
* Fixes wasmi instancing
* Fixes sandbox asserts
* Makes sandbox compile after wasmtime API change
* Uses Vurich/wasmtime for the Lightbeam backend
* Uses wasmtime instead of wasmi for sandbox API results
* Refactors sandbox to use one of the execution backends at a time
* Fixes wasmtime module instantiation
* TEMP vurich branch stuff
* Adds wasmer impl stub
* Adds get global
* Fixes warnings
* Adds wasmer invoke impl
* Implements host function interface for wasmer
* Fixes wasmer instantiation result
* Adds workaround to remove debug_assert
* Fixes import object generation for wasmer
* Attempt to propagate wasmer::Store through sandbox::Store
* Wraps `sandbox::Store::memories` in `RefCell`
* Moves `sandbox::instantiate` to `sandbox::Store`
* Eliminate `RefCell<memories>`
* Implements `HostState::memory_get/set`, removes accidental `borrow_mut`
* Fixes sandbox memory handling for wasmi
* Fix memory allocation
* Resets Cargo.lock to match master
* Fixes compilation
* Refactors sandbox to use TLS for dispatch_thunk propagation to wasmer
* Pass dispatch thunk to the sandbox as a TLS
* Initialize dispatch thunk holder in `SandboxInstance`
* Comment out Wasmtime/Lightbeam sandbox backend
* Revert wasmtime back to mainstream
* Adds SandboxExecutionMethod enum for cli param
* Cleanup sandbox code
* Allow wasmi to access wasmer memory regions
* More cleanup
* Remove debug logging, replace asserts with runtime errors
* Revert "Adds SandboxExecutionMethod enum for cli param"
This reverts commit dcb2b1d3b54145ab51ad2e3fef0d980ba215b596.
* Fixes warnings
* Fixes indentation and line width
* Fix return types condition
* Puts everything related under the `wasmer-sandbox` feature flag
* Fixes warnings
* Address grumbles
* Split instantiate per backend
* More splits
* Refacmemory allocation
* Nitpicks
* Attempt to wrap wasmer memory in protoco enforcing type
* Revert renaming
* WIP wasm buffer proxy API
* Reimplement util::wasmer::MemoryRef to use buffers instead of memory slices
* Adds WasmiMemoryWrapper and MemoryTransfer trait
* Refactor naming
* Perform all memory transfers using MemoryTransfer
* Adds allocating `read`
* Adds comments
* Removes unused imports
* Removes now unused function
* Pulls Cargo.lock from origin/master
* Fix rustdoc
* Removes unused `TransferError`
* Update Cargo.lock
* Removes unused import
* cargo fmt
* Fix feature dependency graph
* Feature should flow from the top level crate
* We should not assume a specific workspace structure
* sc-executor-wasmi does not use the feature
* sc-executor-wasmtime should not know about the feature
* Fix doc typo
* Enable wasmer-sandbox by default (for now)
It will be removed before merge. It is so that the benchbot
uses the wasmer sandbox.
* cargo run --quiet --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
* Revert "cargo run --quiet --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"
This reverts commit d713590ba45387c4204b2ad97c8bd6f6ebabda4e.
* cargo fmt
* Add ci-check to prevent wasmer sandbox build breaking
* Run tests with wasmer-sandbox enabled
* Revert "Run tests with wasmer-sandbox enabled"
This reverts commit cff63156a162f9ffdab23e7cb94a30f44e320f8a.
Co-authored-by: Sergei Shulepov <s.pepyakin@gmail.com>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
* Use proc macros to generate conversion functions for MultiLocation
* Add compile test and missing conversion cases
* Add common derives for Parent and Ancestor
* Generate conversion functions for MultiLocation v0 via proc macro
* Add type conversion test and fix a bug
* cargo fmt
* Do not hardcode 8 as the number of max parents
* Use map instead of for loops when generating code fragments
* Spelling
* cargo fmt
* More mapping, less for-looping
* Companion PR
* Update a few files
* Run cargo fmt
* Do better at renaming things
* More renamings
* More fixes
* oops
* Fix simnet problems
* fix compilation
* Update substrate
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
* Split native executor stuff from wasm executor stuff
* Remove `native_runtime_version` in places
* Fix warning
* Fix test warning
* Remove redundant NativeRuntimeInfo trait
* Add a warning for use_native
* Run cargo fmt
* Revert "Add a warning for use_native"
This reverts commit 9494f765a06037e991dd60524f2ed1b14649bfd6.
* Make choosing an executor (native/wasm) an explicit part of service construction
* Add Cargo.lock
* Rename Executor to ExecutorDispatch
* Update bin/node/executor/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com>
* Fix tests
* Fix minor node-executor error
* Fix node cli command thing
Co-authored-by: Squirrel <gilescope@gmail.com>
* Impl WeightTrader for tuple.
* fmt
* Renaming.
* add tracing for buy_weight
* Add comment clarifying the default behavior of a WeightTrader tuple
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* add integration tests to xcm-builder
* add an integration test for reserve_transfer_assets
* add query holding and teleport tests
* formatting
* add to barrier doc comments and fix doc tests warnings
* use more realistic barrier for integration tests
* improve imports
* adjust base xcm weight and existential deposit to be in line with Kusama
* remove AnyNetwork
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
* add more comments and remove unnecessary code
* move mock into separate file
* reduce imports
* update cargo.lock
* remove reserve transfer test from xcm builder integration tests
* reword barrier doc comment
* elaborate on QueryHolding test scenario
* add an integration test for reserve based transfers from parachain to parachain
* add teleport tests
* fix failing teleport filter tests
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Move integration tests to tests/ directory
* Fix merge
* Replace All wildcard with a concrete seed amount
* Rename SEED_AMOUNT to REGISTER_AMOUNT
* Fix compilation error
* Check for teleport destination first before checking out assets
* Fix unit test
* Do not run tests in integration mock
* Add a permissive assets filter for teleportation
* Remove check for teleport location in InitiateTeleport XCM
* Remove defunct test
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Reword comment
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* Comment out browser stuff
* Remove browser stuff
* Remove more wasm transport code
* Remove ExtTransport and rework how telemetry initialises.
* Change (most) wasm-timer using code to use std::time
* Rename CI-job
* Aura does not compile for wasm
* Remove testing in the browser on CI
* Update README
* Leave `StreamSink` be
* fmt
* Update to simnet v8
* rm duplicate
* add tags also
* revertme: add simnet image version for testing CI
* add info regarding the image names and values
* fix lint error
* one more try to fix the lint
* hardcode simnet version and revertme
* hardcode simnet
* more hardcodding
* I wonder how may silly mistakes I can make
* simnet image name needs to be hardcoded
* Update .gitlab-ci.yml
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* Update .gitlab-ci.yml
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* remove revertme changes
* rm unused script
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* RUSTSEC-2021-0076 bump libsecp256k1
libsecp256k1 allows overflowing signatures
https://rustsec.org/advisories/RUSTSEC-2021-0076
Changes were made to conform to libsecp256k1 version differences.
Closes#9356
* parse_standard_slice() -> parse_overflowing_slice()
* Added v2 host function for ecdsa_verify
* Add feature tag over helpers
* Added ecdsa_verify v2 to test runner
* PR feedback
- Spaces -> tabs
- renamed two helper functions
* Fixed imports after rebasing
* Bump rest of libsecp256k1 (and libp2p)
libp2p also uses libsecp256k1 so it is required to be bumped too, along
with all the version difference changes.
* Add version2 for ecdsa pubkey recovery
* libp2p rebase master fixes
* Fix test panic when non Behaviour event is returned
* Update bin/node/browser-testing/Cargo.toml
* Update primitives/core/src/ecdsa.rs
* Update primitives/core/src/ecdsa.rs
* Update Cargo.lock
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Remove unneeded dependencies and dev-dependencies.
Made self_destruct test not dependent on wasm bin size.
Updated code related to deprecated warning on tracing-subscriber `scope()`
( See https://github.com/tokio-rs/tracing/issues/1429 )