* macro to expand traits for host functions documentation
* other way: same Doc trait in seal modules
* added docs for macro, and remove `doc` attribute
* fmt
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* make docs to be generated into re-exported `api_doc` module; fix
unrelated elder docs;
* make it compile without `doc` attr passed to macro
* make alias functions indicated explicitly in docs
* tidy up docs
* refactored a bit
* macro to auto-add doc warning for unstable functions
* invoke macro with no doc generation by default
* addressed review comments
* hide api_doc module behind cfg(doc)
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* works but ugly
* refactored + renamed host fns
* fixed tests
* fix benchmarks
* updated marco docs
* Update frame/contracts/proc-macro/src/lib.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* fix for the duplicated prefixed alias bug + test
* refactored a bit
* fix warnings + try to make macro rustdoc compile
* fmt after clearing
* examples update + nocompile
* add seal_ prefixes to unstable host functions
* updated after a review
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* Run cargo fmt on the whole code base
* Second run
* Add CI check
* Fix compilation
* More unnecessary braces
* Handle weights
* Use --all
* Use correct attributes...
* Fix UI tests
* AHHHHHHHHH
* 🤦
* Docs
* Fix compilation
* 🤷
* Please stop
* 🤦 x 2
* More
* make rustfmt.toml consistent with polkadot
Co-authored-by: André Silva <andrerfosilva@gmail.com>
* mark template and utils as non-publish
* switch to development version for testing
* activate unleash check
* maybe if I disable all rules...
* Fix isolated compilation of `max-encoded-len-derive` with `syn`
error[E0369]: binary operation `==` cannot be applied to type `syn::Path`
--> src/lib.rs:88:29
|
88 | .filter(|attr| attr.path == parse_quote!(max_encoded_len_crate))
| --------- ^^ ----------------------------------- _
| |
| syn::Path
error: aborting due to previous error
For more information about this error, try `rustc --explain E0369`.
Error: could not compile `max-encoded-len-derive`
* WIP: bump changes crates since v3 tag to next breaking
cargo unleash version bump-breaking --changed-since v3.0.0
cargo unleash version set-pre dev --changed-since v3.0.0
FIXME: Don't modify crates that are not yet released, e.g.
`max-encoded-len-derive`
* Update lockfile
* WIP: Bump sp-transaction-pool as well
* WIP: Bump sp-offchain as well
* WIP: Bump frame-system-rpc-runtime-api as well
* WIP: Bump sp-authority-discovery as well
* Manually deactivate dev-deps before `cargo unleash check`
Otherwise we run into `Cycle detected` error.
* Bump sp-consensus-slots
* Add missing Cargo.lock change
* Bump sp-consensus-vrf as well
* Bump sp-keyring as well
* Bump sp-consensus-pow as well
* Try to speed up the `unleash-check` job
Previously, the job took 106 minutes - let's see if explicitly
specifying a `CARGO_TARGET_DIR` will help
* fixup: Ensure the temp target dir exists for unleash check
* Bump pallet-transaction-payment-rpc-runtime-api as well
Needed for Polkadot
* Bump pallet-transaction-payment-rpc as well
Needed for Polkadot
* Try updating crates after patching in the Polkadot CI job
* Use another approach to update patched Substrate crates
* Try to update all sp-core versions in Polkadot CI job
* Simplify sp-core version checking
* Apply another shellcheck lint
* Just do the simplest thing I guess
* Welp don't do --offline then
* Clean up `unleash-check` job triggers
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* Fix a note in unleash-check cache step
* Add a note about temporary optimization in cargo-unleash
* Pin a newer version of cargo-unleash
Co-authored-by: Igor Matuszewski <xanewok@gmail.com>
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* contracts: Update README
* contracts: Add CHANGELOG.md
* contracts: Bump version to v3.0.0 and allow publish
* Typos
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Improve wording in the changelog
* contracts: Add reserved field to ContractInfoOf for future proofing
* also bump frame-benchmarking
* update lockfile
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Benjamin Kampmann <ben@parity.io>
* pallet_contracts: Inline benchmark helper that is only used once
* Move all max_* Schedule items into a new struct
* Limit the number of globals a module can declare
* The current limits are too high for wasmi to even execute
* Limit the amount of parameters any wasm function is allowed to have
* Limit the size the BrTable's immediate value
* Add instruction benchmarks
* Add new benchmarks to the schedule and make use of it
* Add Benchmark Results generated by the bench bot
* Add proc macro that implements `Debug` for `Schedule`
* Add missing imports necessary for no_std build
* Make the WeightDebug macro available for no_std
In this case a dummy implementation is derived in order to not
blow up the code size akin to the RuntimeDebug macro.
* Rework instr_memory_grow benchmark to use only the maximum amount of pages allowed
* Add maximum amount of memory when benching (seal_)call/instantiate
* cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_contracts
* Added utility benchmark that allows pretty printing of the real schedule
* review: Add missing header to the proc-macro lib.rs
* review: Clarify why #[allow(dead_code)] attribute is there
* review: Fix pwasm-utils line
* review: Fixup rand usage
* review: Fix typo
* review: Imported -> Exported
* 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
* contracts: Adapt to new weight structure
* contracts: Fixup runtime WeightInfo
* contracts: Remove unneeded fullpath of WeightInfo type
* Apply suggestions from code review
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Fix typo in schedule.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Fix docs in schedule.rs
* Apply suggestions from code review
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* Don't publish proc-macro crate until 3.0.0 is ready
* Optimize imports for less repetition
* Break overlong line
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>