* First stab at downward messages.
That also includes a notion of horizontal messages.
* Add some structure to the router.
* Update `ValidationOutputs`
* Add `processed_downward_messages` to `ValidationOutputs`.
Forgot to check that in.
* s/AccountId/ParaId
* DownwardMessage::ParachainSpecfic
* s/ensure_horizontal_messages_fits/ensure_horizontal_messages_fit
* Clarify that Router called for each candidate
* Update the preamble for Router.
* Rewrite the relay-chain extrinsic routines
* Update gloassary
* Add DMP to the glossary
* If the queue is empty, `processed_downward_messages` can be 0
* WIP
* Add condemned list
* Pivot to message-storing channel based HRMP
* Finished draft
* Tidy up
* Remove a duplicate glossary entry
* Fix typo
* Fix wording to emphasize that the channel is unidirectional
* Proper decrement `HrmpOpenChannelRequestCount`
* Add a comment for `HrmpOpenChannelRequestCount`.
* Remove old configuration values.
* Be more specific about the para{chain,thread} hrmp chan limits.
* Fix indentation so the lists are rendendered properly
* "to answer **the**" question instead of "a"
* Add a missing call to `check_processed_downward_messages`
* Clean more stuff during offboarding
* Fix typo
* Fix typo for the config
* Add a call to `prune_dmq`
* Add explicit invariants for ingress/egress indexes
* Add comments for the sender/reciever deposit config fields
* Document various fields and structs in Router module
* More docs
* Missing docs in Candidate.md
* Tabs to spaces in router.md
* Apply Rob's suggestion
* Add the hrmp_ prefix to the router messages
* Those are entry points
* Use SessionIndex type for the `age` field
* Use a struct to represent `HrmpChannelId`
* Put only MQCs into the LocalValidationData
* Close request can be initiated by the runtime directly
* Close request can be initiated by the runtime directly
* tabs/spaces
* Maintain the list of the outgoing paras in Router
* Update roadmap/implementers-guide/src/runtime/inclusion.md
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* fix typo
* Remove an unnecessary pair of code quotes
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Pulled RPC from node and populated the node-template's RPC builder with one example implementation
* surpress build errror
* dead_code
* Fixed module usage, removed copyright, removed rpc builder for light client + some comments
* added a comment for rpc extension
* Update bin/node-template/node/src/rpc.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update rpc.rs
* fix spacing
* more space to tabs
* more space to tabs
* Documenation nitpick
* Documentation nitpick
* Documentation nitpick
* Documentation nitpick
* Documentation nitpick
* pre-format
* Updated transaction payment API implemented for node template
* fix space and commented code
* fix long line
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Dan Forbes <dan@danforbes.dev>
* democracy use of weightinfo
* fix some doc and benchs
* todo generate from parity machine
* factorize and add license
* use final weights
* add slightly more sensible default weight
* refactor
* rename benchmark to avoid confusion
* just make remove_other_vote benchmark being the worst case of the extrinsic
* Rewrite client handling
We are supporting muliple polkadot-like chains and all have different
client types. This pr reworks the client handling by having all of them
in one enum combined. Besides that, there is added a special trait
`ExecuteWithClient` to use the internal client.
* Apply suggestions from code review
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Up the versions
* Fix Cargo.lock
* Fix merge conflict
* ......................
* ....v2
* yep
* I'm dumb...
* Browser lol
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* propagate chain_api subsystem through various locations
* add ChainApi to AllMessages
Co-authored-by: Peter Goodspeed-Niklaus <peter.r.goodspeedniklaus@gmail.com>
* Add notes about contextual execution
* Clarify that `validation_data_hash` consists of global and local data
* Update roadmap/implementers-guide/src/runtime/inclusion.md
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Incorporate rphmeier's suggestion.
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* initial improvements
* better file management, ignore unused components
* Output warning when components unused
* update comment
* Write even when base weight is zero
* remove unwrap where possible
* Dont sort components to dedup
* undo delete
* improve clarity of unused components
* remove unused dep
* Update Process.json
* seal: Rework ext_transfer, ext_instantiate, ext_call error handling
* Deny calling plain accounts (must use transfer now)
* Return proper module error rather than ad-hoc strings
* Return the correct error codes from call,instantiate (documentation was wrong)
* Make ext_transfer fallible again to make it consistent with ext_call
* seal: Improve error messages on memory access failures
* seal: Convert contract trapped to module error
* seal: Add additional tests for transfer, call, instantiate
These tests verify that those functions return the error types
which are declared in its docs.
* Make it more pronounced that to_execution_result handles trap_reason
* Improve ReturnCode docs
* Fix whitespace issues in wat files
* Improve ReturnCode doc
* Improve ErrorOrigin doc and variant naming
* Improve docs on ExecResult and ExecError
* Encode u32 sentinel value as hex
* with_nested_context no longer accepts an Option for trie
* Fix successful typo
* Rename InvalidContractCalled to NotCallable