* Refactor as_sub to make things clearer.
- `as_sub` becomes `as_alternative`
- `as_sub_limited` becomes `as_derivative`
- `as_alternative` and `as_derivative` generate a mutually exclusive set of accounts.
* Test fix
* Add test
* Fix test
* Remove `as_alternative`.
* Docs.
This still assumes that the client did not start any transactions
before calling into runtime. This is the case for benchmarking
as long as either NativeWhenPossible or AlwaysWasm exection
strategy is chosen. Using any other will result in a panic.
* Update CODEOWNERS
* Cleanup CODEOWNERS
* Remove myself as a code owner
I don’t work on consensus anymore.
* Update CODEOWNERS
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Demi M. Obenour <demi@parity.io>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* add normalize
* better api for normalize
* Some grumbles
* Update primitives/arithmetic/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* More great review grumbles
* Way better doc for everything.
* Some improvement
* Update primitives/arithmetic/src/lib.rs
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
* seal: Refactor ext_gas_price
* Remove seals dependency on pallet_transaction_payment
* Add weight as an argument to ext_gas_price
* Fixed documentation nits from review
* Do not use unchecked math even in test code
* Add a simple direct storage access module
* WIP
* Completely migrate to the transactional system.
* Format
* Fix wasm compilation
* Get rid of account_db module
* Make deposit event eager
* Make restore_to eager
* It almost compiles.
* Make it compile.
* Make the tests compile
* Get rid of account_db
* Drop the result.
* Backport the book keeping.
* Fix all remaining tests.
* Make it compile for std
* Remove a stale TODO marker
* Remove another stale TODO
* Add proof for `terminate`
* Remove a stale comment.
* Make restoration diverging.
* Remove redudnant trait: `ComputeDispatchFee`
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* Introduce proper errors into the storage module.
* Adds comments for contract storage module.
* Inline `ExecutionContext::terminate`.
* Restore_to should not let sacrifice itself if the contract present on the stack.
* Inline `transfer` function
* Update doc - add "if succeeded"
* Adapt to TransactionOutcome changes
* Updates the docs for `ext_restore_to`
* Add a proper assert.
* Update frame/contracts/src/wasm/runtime.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexander Theißen <alexander.theissen@parity.io>
* Initial commit
Forked at: 82bdf1a891
No parent branch.
* Ensure the listen addresses are consistent with the transport
* Update client/network/src/error.rs
* Update client/network/src/service.rs
* Better implementation
* Fix bad previous impl
* add boot_nodes
* reserved nodes
* test boot nodes
* reserved nodes tests
* add public_addresses and make specific error type
* Update client/network/src/error.rs
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* client/network/service: Add primary dimension to connection metrics
Two nodes can be interconnected via one or more connections. The first
of those connections is called the primary connection.
This commit adds another dimension to the
`sub_libp2p_connections_{closed,opened}_total` metrics to differentiate
primary and non-primary connections being opened / closed.
By intuition more than one connection between two nodes is rare.
Tracking the fact whether a connection is primary or not will help prove
or disprove this intuition.
* .maintain/monitoring: Ensure to sum over all connections_closed variants
* client/network/service: Rename is_primary to is_first
* client/network/service: Split by metric name with two additional metrics
* Revert ".maintain/monitoring: Ensure to sum over all connections_closed variants"
This reverts commit 2d2f93e414440b9fc9e8f7fae6fe48bd95af6b8f.
* client/network/service: Remove labels from distinct metrics
* Fix browser informant
* Fix documentation
* Add an informant_output_format function to the cli config
* Wrap informant output format in an option
* Revert batch verifier
* Remove wasm-timer from primitives io cargo lock
* Drop informant_output_format function
* derive debug for output format
With the switch to `decode_all_with_depth_limit` we silently broken
support for functions with multiple arguments. The old generated code
tried to decode each parameter separately, which does not play well with
`decode_all`.
This pr adds a test to ensure that this does not happen again and fixes
the bug by decoding everything at once by wrapping it into tuples.
* Fix typo in offchain's docs
* Use Self keyword in AsyncApi::new()
* Move httpclient to be part of OffchainWorkers to optimize block import
* Fix compilation errors for tests
* Add wrapper struct for HyperClient
* Use lazy_static share SharedClient amongst OffchainWorkers. Remove the need to raise the fd limit
* Revert "Use lazy_static share SharedClient amongst OffchainWorkers. Remove the need to raise the fd limit"
This reverts commit 7af97498a2383b5d7405e27823db8fd97245da41.
* Add lazy_static for tests
* Add transactional storage functionality to OverlayChanges
A collection already has a natural None state. No need to
wrap it with an option.
* Add storage transactions runtime interface
* Add frame support for transactions
* Fix committed typo
* Rename 'changes' variable to 'overlay'
* Fix renaming change
* Fixed strange line break
* Rename clear to clear_where
* Add comment regarding delete value on mutation
* Add comment which changes are covered by a transaction
* Do force the arg to with_transaction return a Result
* Use rust doc comments on every documentable place
* Fix wording of insert_diry doc
* Improve doc on start_transaction
* Rename value to overlayed in close_transaction
* Inline negation
* Improve wording of close_transaction comments
* Get rid of an expect by using get_or_insert_with
* Remove trailing whitespace
* Rename should to expected in tests
* Rolling back a transaction must mark the overlay as dirty
* Protect client initiated storage tx from being droped by runtime
* Review nits
* Return Err when entering or exiting runtime fails
* Documentation fixup
* Remove close type
* Move enter/exit runtime to excute_aux in the state-machine
* Rename Discard -> Rollback
* Move child changeset creation to constructor
* Move child spawning into the closure
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Fixup for code suggestion
* Unify re-exports
* Rename overlay_changes to mod.rs and move into subdir
* Change proof wording
* Adapt a new test from master to storage-tx
* Suggestions from the latest round of review
* Fix warning message
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>