mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-01 12:27:56 +00:00
42e5c27c84
* add stub for new benchmark macro
* benchmark syntax
* add #[extrinsic call] separator
* parse #[benchmark] item as a function
* proper emission of error when #[extrinsic_call] annotation is missing
* clean up
* enclosing module via benchmarks! { } working
* use an attribute macro on the module instead of benchmarks! { }
* cargo fmt
* working component implementation
* WIP
* working
* add syntax for Linear<A, B>
* parsing of param ranges (still need to build tuple though)
* params parsing WIP
* clean up (don't need extrinsic call name)
* use proper Result syntax for BenchmarkDef parsing
* proper parsing of Linear<0, 1> style args
* successfully parse and make use of linear component ranges 💥
* rename support variable => home because eventually will be moved
* compile-time check that param range types implement ParamRange
* switch to using balances as example, failing on instance pallet
* successfully set up __origin and __call with balances 💥
* clean up
* use a module
* don't need a variable for transfer
* rename benchmark_transfer -> transfer because no longer conflicts
* clean up
* working with transfer_increasing_users as well 💥
* re-add BareBlock
* add comments for undocumented structs+functions+traits
* refactor in preparation for removing module requirements
* switch to a block instead of a module
* use the outer macro pattern to to enable #[benchmarks] aggregation
* successfully generate SelectedBenchmark 💥
* implement components for SelectedBenchmark
* implement instance for SelectedBenchmark
* properly track #[extra]
* working impl for fn benchmarks()
* run_benchmarks WIP
* finish run_benchmark! impl 💥
* import balances transfer_best_case benchmark
* import transfer_keep_alive balances pallet benchmark
* import set_balance_creating balances pallet benchmark
* import set_balance_killing balances pallet benchmark
* import force_transfer balances pallet benchmark
* add #[extra] annotation and docs to transfer_increasing_users
* import transfer_all balances pallet benchmark
* import force_unreserve balances pallet benchmark
* prepare to implement impl_benchmark_test_suite!
* ensure tests cover #[extra] before and after #[benchmark] tag
* refactor
* clean up
* fix
* move to outer
* switch to benchmarks/instance_benchmarks
* test impl almost done, strange compiler error
* benchmark test suites working 💥
* clean up
* add stub and basic parsing for where_clause
* working except where clause and extrinsic calls containing method chains
* assume option (2) for now wrt https://github.com/paritytech/substrate/pull/12924#issuecomment-1372938718
* clean up
* switch to attribute-style
* properly handle where clauses
* fix subtle missing where clause, now just MessageQueue issues
* fix block formatting in message-queue pallet
* switch to block vs non-block parsing of extrinsic call
* working now but some benchmark tests failing
* message-queue tests working (run order issue fixed) 🎉
* add comments and internal docs for fame_support_procedural::benchmark
* fix license years
* docs for lib.rs
* add docs to new support procedural macros
* don't allow #[benchmark] outside of benchmarking module
* add docs
* use benchmark(extra, skip_meta) style args
* update docs accordingly
* appease clippy
* bump ci
* add notes about `extra` and `skip_meta`
* fix doc tests
* re-run CI
* use `ignore` instead of `no_run` on doc examples
* bump CI
* replace some if-lets with if-elses
* more refactoring of if-let statements
* fix remaining if-lets in BenchmarkDef::from()
* fix if-lets in benchmarks()
* fix remaining if-lets, use nested find_map for extrinsic call
* switch to use #[extrinsic_call] or #[block] situationally
* refactor ExtrinsicCallDef => BenchmarkCallDef
* update docs with info about #[block]
* add macro stub for #[extrinsic_call]
* fix docs and add stub for #[block] as well
* remove unused extern crate line
* fix clippy nits
* Use V2 bench syntax in pallet-example-basic
Just testing the dev-ex...
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* carry over comment
* use curly-brace style for impl_benchmark_test_suite!
* remove unneeded parenthesis
* proper handling of _() extrinsic call style
* add docs for _() syntax
* fix crate access
* simplify keyword access
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* simplify module content destructuring
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix crate access "frame_benchmarking" => "frame-benchmarking", compiles
* use _() extrinsic call syntax where possible in balances
* simplify attr.path.segments.last()
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix compile error being suppressed
* simplify extrinsic call keyword parsing
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* use ? operator instead of return None
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* rename generics => type_use_generics
rename full_generics => type_impl_generics
* simplify extrinsic call extraction with transpose
* bump CI
* nit
* proper handling of too many + too few block/extrinsic call annotations
* change to B >= A
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* remove unneeded ignore
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* remove another ignore
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add ui tests
* use _() style extrinsic call on accumulate_dummy
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add range check to ParamRange
* ui test for bad param ranges
* fix failing example
* add ignore back to other failing example
* tweak expr_call span
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix typo
* eliminate a match
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* change pub fn benchmarks to return Result<TokenStream>
* fix origin error span
* more informative error for invalid benchmark parameter name
* fix spans on a few benchmark errors
* remove unneeded clone
* refactor inner loop of benchmark function parsing
* preserve mod attributes
* refactor outer loop of benchmark def parsing code, greatly simplified
* simplify to use a ? operator when parsing benchmark attr path
* fix another ? operator
* further simplify benchmark function attr parsing with more ? ops
* refactor extrinsic call handling to use if let rather than match
* replace is_ok => is_err
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* re-use name during expansion of benchmark def
* remove unneeded clone
* fix span for origin missing error
* fix missing semi
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: parity-processbot <>
84 lines
3.4 KiB
TOML
84 lines
3.4 KiB
TOML
[package]
|
|
name = "frame-support"
|
|
version = "4.0.0-dev"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
homepage = "https://substrate.io"
|
|
repository = "https://github.com/paritytech/substrate/"
|
|
description = "Support code for the runtime."
|
|
readme = "README.md"
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["x86_64-unknown-linux-gnu"]
|
|
|
|
[dependencies]
|
|
serde = { version = "1.0.136", optional = true, features = ["derive"] }
|
|
codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = ["derive", "max-encoded-len"] }
|
|
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
|
frame-metadata = { version = "15.0.0", default-features = false, features = ["v14"] }
|
|
sp-api = { version = "4.0.0-dev", default-features = false, path = "../../primitives/api" }
|
|
sp-std = { version = "5.0.0", default-features = false, path = "../../primitives/std" }
|
|
sp-io = { version = "7.0.0", default-features = false, path = "../../primitives/io" }
|
|
sp-runtime = { version = "7.0.0", default-features = false, path = "../../primitives/runtime" }
|
|
sp-tracing = { version = "6.0.0", default-features = false, path = "../../primitives/tracing" }
|
|
sp-core = { version = "7.0.0", default-features = false, path = "../../primitives/core" }
|
|
sp-arithmetic = { version = "6.0.0", default-features = false, path = "../../primitives/arithmetic" }
|
|
sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../primitives/inherents" }
|
|
sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
|
|
sp-weights = { version = "4.0.0", default-features = false, path = "../../primitives/weights" }
|
|
static_assertions = "1.1.0"
|
|
tt-call = "1.0.8"
|
|
frame-support-procedural = { version = "4.0.0-dev", default-features = false, path = "./procedural" }
|
|
paste = "1.0"
|
|
once_cell = { version = "1", default-features = false, optional = true }
|
|
sp-state-machine = { version = "0.13.0", default-features = false, optional = true, path = "../../primitives/state-machine" }
|
|
bitflags = "1.3"
|
|
impl-trait-for-tuples = "0.2.2"
|
|
smallvec = "1.8.0"
|
|
log = { version = "0.4.17", default-features = false }
|
|
sp-core-hashing-proc-macro = { version = "5.0.0", path = "../../primitives/core/hashing/proc-macro" }
|
|
k256 = { version = "0.11.5", default-features = false, features = ["ecdsa"] }
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0.85"
|
|
assert_matches = "1.3.0"
|
|
pretty_assertions = "1.2.1"
|
|
frame-system = { version = "4.0.0-dev", path = "../system" }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = [
|
|
"sp-core/std",
|
|
"k256/std",
|
|
"once_cell",
|
|
"serde",
|
|
"sp-api/std",
|
|
"sp-io/std",
|
|
"codec/std",
|
|
"scale-info/std",
|
|
"sp-std/std",
|
|
"sp-runtime/std",
|
|
"sp-tracing/std",
|
|
"sp-arithmetic/std",
|
|
"frame-metadata/std",
|
|
"sp-inherents/std",
|
|
"sp-staking/std",
|
|
"sp-state-machine/std",
|
|
"sp-weights/std",
|
|
"frame-support-procedural/std",
|
|
"log/std",
|
|
]
|
|
runtime-benchmarks = []
|
|
try-runtime = []
|
|
# By default some types have documentation, `no-metadata-docs` allows to reduce the documentation
|
|
# in the metadata.
|
|
no-metadata-docs = ["frame-support-procedural/no-metadata-docs"]
|
|
# By default some types have documentation, `full-metadata-docs` allows to add documentation to
|
|
# more types in the metadata.
|
|
full-metadata-docs = ["scale-info/docs"]
|
|
# Generate impl-trait for tuples with the given number of tuples. Will be needed as the number of
|
|
# pallets in a runtime grows. Does increase the compile time!
|
|
tuples-96 = []
|
|
tuples-128 = []
|