feat: Rebrand Polkadot/Substrate references to PezkuwiChain
This commit systematically rebrands various references from Parity Technologies' Polkadot/Substrate ecosystem to PezkuwiChain within the kurdistan-sdk. Key changes include: - Updated external repository URLs (zombienet-sdk, parity-db, parity-scale-codec, wasm-instrument) to point to pezkuwichain forks. - Modified internal documentation and code comments to reflect PezkuwiChain naming and structure. - Replaced direct references to with or specific paths within the for XCM, Pezkuwi, and other modules. - Cleaned up deprecated issue and PR references in various and files, particularly in and modules. - Adjusted image and logo URLs in documentation to point to PezkuwiChain assets. - Removed or rephrased comments related to external Polkadot/Substrate PRs and issues. This is a significant step towards fully customizing the SDK for the PezkuwiChain ecosystem.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# dependencies (bun install)
|
||||
node_modules
|
||||
|
||||
# output
|
||||
out
|
||||
dist
|
||||
*.tgz
|
||||
|
||||
# code coverage
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# logs
|
||||
logs
|
||||
_.log
|
||||
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||
|
||||
# dotenv environment variable files
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# caches
|
||||
.eslintcache
|
||||
.cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# IntelliJ based IDEs
|
||||
.idea
|
||||
|
||||
# Finder (MacOS) folder config
|
||||
.DS_Store
|
||||
.papi
|
||||
|
||||
rc.json
|
||||
parachain.json
|
||||
miner.log
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"tabWidth": 4,
|
||||
"useTabs": true,
|
||||
"printWidth": 100
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
# Staking Async Test Teyrchain
|
||||
|
||||
- [Staking Async Test Teyrchain](#staking-async-test-teyrchain)
|
||||
- [Runtime Overview](#runtime-overview)
|
||||
- [Runtime Presets + Other Hacks](#runtime-presets--other-hacks)
|
||||
- [`parameter_types! { pub storage }` FTW](#parameter_types--pub-storage--ftw)
|
||||
- [Optionally Ignoring New Validators](#optionally-ignoring-new-validators)
|
||||
- [Presets](#presets)
|
||||
- [Setup](#setup)
|
||||
- [Quick Start](#quick-start)
|
||||
- [Development Workflow](#development-workflow)
|
||||
- [How To Write Tests](#how-to-write-tests)
|
||||
- [Log Formatting](#log-formatting)
|
||||
|
||||
This folder contains a Node+PAPI+Bun setup to:
|
||||
|
||||
1. run the `pezpallet-staking-async-runtimes` teyrchain and relay-chain. It uses Zombienet under the
|
||||
hood.
|
||||
2. Contains integration tests, based on ZN as well, that spawns a particular test, submits
|
||||
transactions, and inspects the chain state (notably events) for verification.
|
||||
|
||||
The [next section](#runtime-overview) describes the runtimes and further details. To jump right into
|
||||
the setup, see [Setup](#setup).
|
||||
|
||||
## Runtime Overview
|
||||
|
||||
This teyrchain runtime is a fake fork of the asset-hub next (created originally by Dónal). It is here
|
||||
to test the async-staking pallet in a real environment.
|
||||
|
||||
This teyrchain contains:
|
||||
|
||||
- `pezpallet-staking-async`
|
||||
- `pezpallet-staking-async-rc-client`
|
||||
- `pezpallet-election-provider-multi-block` and family
|
||||
- aux staking pallets `pezpallet-nomination-pools`, `pezpallet-fast-unstake`, `pezpallet-bags-list`, and
|
||||
`pezpallet-delegated-staking`.
|
||||
|
||||
All of the above are means to stake and select validators for the RELAY-CHAIN, which is eventually
|
||||
communicated to it via the `pezpallet-staking-async-rc-client` pallet.
|
||||
|
||||
A lot more is in the runtime, and can be eventually removed.
|
||||
|
||||
Note that the teyrchain runtime also contains a `pezpallet-session` that works with
|
||||
`pezpallet-collator-selection` for the TEYRCHAIN block author selection.
|
||||
|
||||
The counterpart `rc` runtime is a relay chain that is meant to host the teyrchain. It contains:
|
||||
|
||||
- `pezpallet-staking-async-ah-client`
|
||||
- `pezpallet-session`
|
||||
- `pezpallet-authorship`
|
||||
- And all of the consensus pallets that feed the authority set from the session, such as
|
||||
aura/babe/grandpa/beefy and so on.
|
||||
|
||||
### Runtime Presets + Other Hacks
|
||||
|
||||
The above runtimes contain a number of hacks, and `genesis presets` that allow them to be quickly
|
||||
adapted to a specific scenario. This section covers these topics.
|
||||
|
||||
#### `parameter_types! { pub storage }` FTW
|
||||
|
||||
In both runtimes, we extensively use `parameter_types! { pub storage }` as a shorthand for
|
||||
`pezpallet-parameters`. This allows us to stick values that are fed into different pallets' `trait
|
||||
Config`, such as `type SignedPhase` (the duration of a phase) into an orphan storage item. This has
|
||||
two benefits:
|
||||
|
||||
1. In manual testing, we can update them on the fly via `sudo(system.set_storage)` calls.
|
||||
[This](https://docs.pezkuwichain.io/sdk/master/src/frame_support/lib.rs.html#357) is how
|
||||
the key for these is generated.
|
||||
2. We can easily tweak them based on startup.
|
||||
|
||||
#### Optionally Ignoring New Validators
|
||||
|
||||
The relay chain runtime contains an important hack. A type called `MaybeUsePreviousValidatorsElse`.
|
||||
This type looks into `parameter_types! { pub storage UsePreviousValidators: bool = true }`, and
|
||||
|
||||
- If set to `true`, it will ignore the new validators coming from AH, and use the previous ones.
|
||||
**Why is this needed**? Because in ZN, our test relay chain is running with usually a set of known
|
||||
validators run by ZN (often alice and bob). If AH sends us back a validator set that contains a
|
||||
large new validator set, the setup will break. As seen in the next section, a number of runtime
|
||||
presets are designed to generate large validator/nominator sets to mimic the behavior of PezkuwiChain
|
||||
and Kusama. We thereofre must use this hack in such cases.
|
||||
- If set to `false`, it will use the new validator set.
|
||||
|
||||
#### Presets
|
||||
|
||||
The runtime presets are generally divided into few categories:
|
||||
|
||||
- `real-s` / `real-m`: imply that the relay chain will not use `MaybeUsePreviousValidatorsElse`.
|
||||
Consequently, AH will NOT generate random validators, and instead use 2 or 4 well know keys
|
||||
(alice, bob, dave, eve) as validator candidates. This setup is useful for slashing testing.
|
||||
`real-s` uses 2 validators, while `real-m` uses 4 validators. The latter is useful for testing
|
||||
disabling. Note that we need at least 2 non-disabled validators to run a teyrchain.
|
||||
- `fake-x`: these presets instruct asset-hub to generate various number of fake validators and
|
||||
nominators. Useful for testing large elections. `MaybeUsePreviousValidatorsElse` is used in the
|
||||
relay runtime to ignore the new validators, and stick to alice and bob.
|
||||
|
||||
More concretely, the presets are:
|
||||
|
||||
- Teyrchain:
|
||||
- `fake-dev`: 4 page, small number of fake validators and nominators.
|
||||
- `fake-hez`: 32 pages, large number of fake validators and nominators.
|
||||
- `fake-ksm`: 16 pages, large number of fake validators and nominators.
|
||||
- `real-s`: 4 pages, alice and bob as validators, 500 fake nominators
|
||||
- `real-m`: 4 pages, alice, bob, dave, eve as validators, 2000 fake nominators.
|
||||
- Relay Chain
|
||||
- `fake-s`: alice and bob as relay validators, `UsePreviousValidators` set to true. Should be
|
||||
used with all 3 `fake-x` presets in the teyrchain.
|
||||
- `real-s`: alice and bob as relay validators, `UsePreviousValidators` set to false. Should be
|
||||
used with `real-s` presets in the teyrchain.
|
||||
- `real-m`: alice, bob, dave, eve as relay validators, `UsePreviousValidators` set to false.
|
||||
Should be used with `real-m` presets in the teyrchain.
|
||||
|
||||
See `genesis_config_presets.rs`, and `fn build_state` in each runtime for more details.
|
||||
|
||||
## Setup
|
||||
|
||||
This section describes how to set up and run this code. Make sure to have the latest version of
|
||||
node, bun and [just](https://github.com/casey/just) installed. Moreover, you are expected to have
|
||||
`zombienet`, `pezkuwi`, `pezkuwi-teyrchain`, `pezkuwi-prepare-worker` and
|
||||
`pezkuwi-execution-worker` in your `PATH` already. Rest of the binaries (`chain-spec-builder`) are
|
||||
compiled from the sdk.
|
||||
|
||||
> verified compatible zombienet version: 1.3.126
|
||||
|
||||
### Quick Start
|
||||
|
||||
For first-time setup, run:
|
||||
|
||||
```bash
|
||||
just setup
|
||||
```
|
||||
|
||||
This single command will:
|
||||
|
||||
- Start the chains and generate fresh metadata
|
||||
- Generate PAPI descriptors from the running chains
|
||||
- Install all dependencies including the generated descriptors
|
||||
- Clean up chain processes
|
||||
|
||||
After this, you can use regular `just install` (or `bun install`) commands without issues.
|
||||
|
||||
### Development Workflow
|
||||
|
||||
```bash
|
||||
# First time setup. Compiles the binaries, spawns ZN, generates PAPI types against it.
|
||||
just setup
|
||||
|
||||
# Regular development - install dependencies
|
||||
just install # or equivalently: bun install
|
||||
|
||||
# Run tests
|
||||
just test
|
||||
|
||||
# Running specific tests
|
||||
bun test tests/example.test.ts
|
||||
bun test tests/unsigned-dev.ts
|
||||
# and so on..
|
||||
```
|
||||
|
||||
Further useful commands:
|
||||
|
||||
```bash
|
||||
# Generate fresh descriptors (when chains are running)
|
||||
just generate-descriptors
|
||||
|
||||
# Run with a specific preset
|
||||
just run <preset>
|
||||
|
||||
# See available presets
|
||||
just presets
|
||||
|
||||
# Clean everything and start fresh
|
||||
just reset
|
||||
|
||||
# See all available commands
|
||||
just help
|
||||
```
|
||||
|
||||
|
||||
## How To Write Tests
|
||||
|
||||
See `tests/example.test.ts`.
|
||||
|
||||
## Log Formatting
|
||||
|
||||
The tests, for each block which contains an event in which we are interested in, will emit a log like this:
|
||||
|
||||
```
|
||||
verbose: [Rely#91][⛓ 2,039ms / 777 kb] Processing event: ...
|
||||
verbose: [Para#71][⛓ 38ms / 852 kb][✍️ hd=0.22, xt=4.07, st=6.82, sum=11.11, cmp=9.74, time=2ms] Processing event: ...
|
||||
```
|
||||
|
||||
- `Rely` indicates the relay chain (truncated to be 4 chars), `Para` indicates the teyrchain.
|
||||
- Both chains' logs contain onchain (⛓) weight information, obtained from `pezframe-system`.
|
||||
- `Para` logs contain more information from the collator/author's logs (✍️). They are:
|
||||
- `hd` header size,
|
||||
- `xt` extrinsics siz
|
||||
- `st` storage proof size
|
||||
- `sum` total PoV,
|
||||
- `cmp` compressed PoV
|
||||
- and `time`, authoring time in the collator.
|
||||
@@ -0,0 +1,576 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"workspaces": {
|
||||
"": {
|
||||
"name": "papi-tests",
|
||||
"dependencies": {
|
||||
"@polkadot-labs/hdkd": "^0.0.16",
|
||||
"commander": "^14.0.0",
|
||||
"polkadot-api": "^1.13.1",
|
||||
"strip-ansi": "^7.1.0",
|
||||
"winston": "^3.17.0",
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot-api/cli": "^0.14.0",
|
||||
"@types/bun": "latest",
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@polkadot-api/descriptors": "file:.papi/descriptors",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "^5",
|
||||
},
|
||||
},
|
||||
},
|
||||
"packages": {
|
||||
"@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
|
||||
|
||||
"@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="],
|
||||
|
||||
"@colors/colors": ["@colors/colors@1.6.0", "", {}, "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA=="],
|
||||
|
||||
"@commander-js/extra-typings": ["@commander-js/extra-typings@14.0.0", "", { "peerDependencies": { "commander": "~14.0.0" } }, "sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg=="],
|
||||
|
||||
"@dabh/diagnostics": ["@dabh/diagnostics@2.0.3", "", { "dependencies": { "colorspace": "1.1.x", "enabled": "2.0.x", "kuler": "^2.0.0" } }, "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA=="],
|
||||
|
||||
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="],
|
||||
|
||||
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="],
|
||||
|
||||
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="],
|
||||
|
||||
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="],
|
||||
|
||||
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="],
|
||||
|
||||
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="],
|
||||
|
||||
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="],
|
||||
|
||||
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="],
|
||||
|
||||
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="],
|
||||
|
||||
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="],
|
||||
|
||||
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="],
|
||||
|
||||
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="],
|
||||
|
||||
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="],
|
||||
|
||||
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="],
|
||||
|
||||
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="],
|
||||
|
||||
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="],
|
||||
|
||||
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="],
|
||||
|
||||
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="],
|
||||
|
||||
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="],
|
||||
|
||||
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="],
|
||||
|
||||
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="],
|
||||
|
||||
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="],
|
||||
|
||||
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="],
|
||||
|
||||
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="],
|
||||
|
||||
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="],
|
||||
|
||||
"@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
|
||||
|
||||
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="],
|
||||
|
||||
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
|
||||
|
||||
"@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="],
|
||||
|
||||
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
|
||||
|
||||
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="],
|
||||
|
||||
"@noble/curves": ["@noble/curves@1.9.2", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g=="],
|
||||
|
||||
"@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="],
|
||||
|
||||
"@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
|
||||
|
||||
"@polkadot-api/cli": ["@polkadot-api/cli@0.14.0", "", { "dependencies": { "@commander-js/extra-typings": "^14.0.0", "@polkadot-api/codegen": "0.16.3", "@polkadot-api/ink-contracts": "0.3.4", "@polkadot-api/json-rpc-provider": "0.0.4", "@polkadot-api/known-chains": "0.9.0", "@polkadot-api/metadata-compatibility": "0.3.0", "@polkadot-api/observable-client": "0.12.0", "@polkadot-api/polkadot-sdk-compat": "2.3.2", "@polkadot-api/sm-provider": "0.1.7", "@polkadot-api/smoldot": "0.3.10", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/bizinikiwi-client": "0.4.1", "@polkadot-api/utils": "0.2.0", "@polkadot-api/wasm-executor": "^0.2.1", "@polkadot-api/ws-provider": "0.4.0", "@types/node": "^22.15.30", "commander": "^14.0.0", "execa": "^9.6.0", "fs.promises.exists": "^1.1.4", "ora": "^8.2.0", "read-pkg": "^9.0.1", "rxjs": "^7.8.2", "tsc-prog": "^2.3.0", "tsup": "^8.5.0", "typescript": "^5.8.3", "write-package": "^7.1.0" }, "bin": { "papi": "dist/main.js", "polkadot-api": "dist/main.js" } }, "sha512-bDNWSbSVWNRYYjOQgCWp321Rut4/yDxjfn0wJcACcCiWboJNu4ErZ6370yLovkbTDrOUqMPO+Mnq7cnN4xPzGA=="],
|
||||
|
||||
"@polkadot-api/codegen": ["@polkadot-api/codegen@0.16.3", "", { "dependencies": { "@polkadot-api/ink-contracts": "0.3.4", "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/metadata-compatibility": "0.3.0", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-vZy4r/AlkYdTPIxgvifmC2YqwVQgBA2RRLV7apGF2WzmqTTIGjLITAw+6M78X4pKZEkPR35+gVE4Wgvk+TvliQ=="],
|
||||
|
||||
"@polkadot-api/descriptors": ["@polkadot-api/descriptors@file:.papi/descriptors", { "peerDependencies": { "polkadot-api": ">=1.11.2" } }],
|
||||
|
||||
"@polkadot-api/ink-contracts": ["@polkadot-api/ink-contracts@0.3.4", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-JnCIX3GCV47u9h9poUJUJMcZ+wr1/2wCbg6NftmpqeQfin5BsWYOnKSkrMY7SEWpXC4EfACK8ucub9oo2rv/jg=="],
|
||||
|
||||
"@polkadot-api/json-rpc-provider": ["@polkadot-api/json-rpc-provider@0.0.4", "", {}, "sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA=="],
|
||||
|
||||
"@polkadot-api/json-rpc-provider-proxy": ["@polkadot-api/json-rpc-provider-proxy@0.2.4", "", {}, "sha512-nuGoY9QpBAiRU7xmXN3nugFvPcnSu3IxTLm1OWcNTGlZ1LW5bvdQHz3JLk56+Jlyb3GJ971hqdg2DJsMXkKCOg=="],
|
||||
|
||||
"@polkadot-api/known-chains": ["@polkadot-api/known-chains@0.9.0", "", {}, "sha512-m/YF29FJBX9rTEgBKo63JHEg13Kw5EHbLRM9QCNMmT/mkvKlCgj5pm/T38Y8w3NS+4M8TRCyoXrUDXKUL1lX7g=="],
|
||||
|
||||
"@polkadot-api/logs-provider": ["@polkadot-api/logs-provider@0.0.6", "", { "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.4" } }, "sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg=="],
|
||||
|
||||
"@polkadot-api/merkleize-metadata": ["@polkadot-api/merkleize-metadata@1.1.18", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-WKP4urGv6YDO9rGeCLX+I/I0uJCXunytNzyPfBMOK9dwJD48UpX+oHf2aNnWvP4j9zQImY/oaBQQ9Sp89ABZOw=="],
|
||||
|
||||
"@polkadot-api/metadata-builders": ["@polkadot-api/metadata-builders@0.12.2", "", { "dependencies": { "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-Mmivj1YZve1fCkM90eIIo73B0jkiqMA3zwhFcqYaBfuAu4x5t0rt+Ucfx76t4qxJOhG8wXp/tmdbzWIrWG909A=="],
|
||||
|
||||
"@polkadot-api/metadata-compatibility": ["@polkadot-api/metadata-compatibility@0.3.0", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/bizinikiwi-bindings": "0.14.0" } }, "sha512-9GNHY7YM5Jb3/TAphwd6iy46Vl1n4m7IEVwLZVZ9ZLlJLJrW+gxVOz1htE+iIHVohDak4lIJiXioza3mNKAvaw=="],
|
||||
|
||||
"@polkadot-api/observable-client": ["@polkadot-api/observable-client@0.12.0", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" }, "peerDependencies": { "@polkadot-api/bizinikiwi-client": "0.4.1", "rxjs": ">=7.8.0" } }, "sha512-2edI5Ke3EOWT5F4+m13alJx3zTQGJd9CPvL9iHvwyBpgJ+5T+VNf69lHpTQ16ruWGnravPG0ixkz1FhFh8ZOKA=="],
|
||||
|
||||
"@polkadot-api/pjs-signer": ["@polkadot-api/pjs-signer@0.6.9", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/polkadot-signer": "0.1.6", "@polkadot-api/signers-common": "0.1.10", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-WXWiIbYnN2N9VgUlGT5M1qKJBHB2EvrxPo/eHm9gjwsTwWU/x0RvInAE4P1lcNztCtyqZL41FiwEyYZnNzh1CQ=="],
|
||||
|
||||
"@polkadot-api/polkadot-sdk-compat": ["@polkadot-api/polkadot-sdk-compat@2.3.2", "", { "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.4" } }, "sha512-rLCveP3a6Xd0r218yRqVY34lJ8bXVmE12cArbU4JFp9p8e8Jbb6xdqOdu7bQtjlZUsahhcmfIHYQSXKziST7PA=="],
|
||||
|
||||
"@polkadot-api/polkadot-signer": ["@polkadot-api/polkadot-signer@0.1.6", "", {}, "sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A=="],
|
||||
|
||||
"@polkadot-api/signer": ["@polkadot-api/signer@0.2.2", "", { "dependencies": { "@noble/hashes": "^1.8.0", "@polkadot-api/merkleize-metadata": "1.1.18", "@polkadot-api/polkadot-signer": "0.1.6", "@polkadot-api/signers-common": "0.1.10", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-COIOOCgnwHwcwVle4eBmHNHbrqjIL7Bff94GZQlOMaOULlY1ajSthVGOZQ2b04rda6r3mlhNE+sAoDBPXPpq7w=="],
|
||||
|
||||
"@polkadot-api/signers-common": ["@polkadot-api/signers-common@0.1.10", "", { "dependencies": { "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/polkadot-signer": "0.1.6", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/utils": "0.2.0" } }, "sha512-Or2wTrbnc6FXHbjPDf8OU2mPoFYdkcr3tx35W4FYML4OTsSnDORX+h3Q6cGbWSHdWp0VeT6QcEj6ewfaTuLREA=="],
|
||||
|
||||
"@polkadot-api/sm-provider": ["@polkadot-api/sm-provider@0.1.7", "", { "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.4", "@polkadot-api/json-rpc-provider-proxy": "0.2.4" }, "peerDependencies": { "@polkadot-api/smoldot": ">=0.3" } }, "sha512-BhNKVeIFZdawpPVadXszLl8IP4EDjcLHe/GchfRRFkvoNFuwS2nNv/npYIqCviXV+dd2R8VnEELxwScsf380Og=="],
|
||||
|
||||
"@polkadot-api/smoldot": ["@polkadot-api/smoldot@0.3.10", "", { "dependencies": { "@types/node": "^22.15.30", "smoldot": "2.0.36" } }, "sha512-oL0Qsq2p3h2mU1/+gNq4h2rC/S99WoDiqkpmxg/phzknjXcbYXouYLSvhGbECygE1vWPVPl3IWAOjW/gcKdYKw=="],
|
||||
|
||||
"@polkadot-api/bizinikiwi-bindings": ["@polkadot-api/bizinikiwi-bindings@0.14.0", "", { "dependencies": { "@noble/hashes": "^1.8.0", "@polkadot-api/utils": "0.2.0", "@scure/base": "^1.2.6", "scale-ts": "^1.6.1" } }, "sha512-ZmZnw4IbxCXIqI1thEtQ83WrXwsvkqnbo0S6GRzbmrfZFh2JyVxGckPrMMLPH3ScqGgNJJkEdGGU/jSFffqTCA=="],
|
||||
|
||||
"@polkadot-api/bizinikiwi-client": ["@polkadot-api/bizinikiwi-client@0.4.1", "", { "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.4", "@polkadot-api/utils": "0.2.0" } }, "sha512-g88H0ksYNxNyfidgDNpE5QvTUGb8dC5NNx12bICbMCWu4NGokbH6jW6eucWNLI0VxWCAfzGjxzibCw5NDl/6+g=="],
|
||||
|
||||
"@polkadot-api/utils": ["@polkadot-api/utils@0.2.0", "", {}, "sha512-nY3i5fQJoAxU4n3bD7Fs208/KR2J95SGfVc58kDjbRYN5a84kWaGEqzjBNtP9oqht49POM8Bm9mbIrkvC1Bzuw=="],
|
||||
|
||||
"@polkadot-api/wasm-executor": ["@polkadot-api/wasm-executor@0.2.1", "", {}, "sha512-EN3qtu9Aurz1PoEjvrvL/Z9lSMrLkRU2K1fOjzWFpI5siBgQ2eN/tMLbX1VjaSk1VhvXmbXPaqBrkfdMCxLdsg=="],
|
||||
|
||||
"@polkadot-api/ws-provider": ["@polkadot-api/ws-provider@0.4.0", "", { "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.4", "@polkadot-api/json-rpc-provider-proxy": "0.2.4", "ws": "^8.18.1" } }, "sha512-ZurjUHHAlQ1Ux8HiZz7mtkg1qjq6LmqxcHljcZxne0U7foCZrXdWHsohwlV8kUQUir5kXuDsNvdZN/MFCUMaVw=="],
|
||||
|
||||
"@polkadot-labs/hdkd": ["@polkadot-labs/hdkd@0.0.16", "", { "dependencies": { "@polkadot-labs/hdkd-helpers": "0.0.16" } }, "sha512-72vOaxBUzzEXdR5nPbsgbA3ReJ0uuBpt6ZU9TNMYACKVIRH0ivjBtsH6HRo0YGEmNbWLCma40hJ2HfVd16xgTQ=="],
|
||||
|
||||
"@polkadot-labs/hdkd-helpers": ["@polkadot-labs/hdkd-helpers@0.0.16", "", { "dependencies": { "@noble/curves": "^1.9.1", "@noble/hashes": "^1.8.0", "@scure/base": "^1.2.5", "micro-sr25519": "^0.1.3", "scale-ts": "^1.6.1" } }, "sha512-Lc6ydojO2X93+LyxG0sMJStP340xlqaHweLbClZXqt33himfTSba+X6cX+8bzi8tCx/sFwgWVKQpsZ55UlFgMQ=="],
|
||||
|
||||
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.44.0", "", { "os": "android", "cpu": "arm" }, "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA=="],
|
||||
|
||||
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.44.0", "", { "os": "android", "cpu": "arm64" }, "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw=="],
|
||||
|
||||
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.44.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA=="],
|
||||
|
||||
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.44.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ=="],
|
||||
|
||||
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.44.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ=="],
|
||||
|
||||
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.44.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g=="],
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.44.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ=="],
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.44.0", "", { "os": "linux", "cpu": "arm" }, "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg=="],
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.44.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ=="],
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.44.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q=="],
|
||||
|
||||
"@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.44.0", "", { "os": "linux", "cpu": "none" }, "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg=="],
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.44.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ=="],
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.44.0", "", { "os": "linux", "cpu": "none" }, "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA=="],
|
||||
|
||||
"@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.44.0", "", { "os": "linux", "cpu": "none" }, "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q=="],
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.44.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA=="],
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.44.0", "", { "os": "linux", "cpu": "x64" }, "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw=="],
|
||||
|
||||
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.44.0", "", { "os": "linux", "cpu": "x64" }, "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA=="],
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.44.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w=="],
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.44.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA=="],
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.44.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ=="],
|
||||
|
||||
"@rx-state/core": ["@rx-state/core@0.1.4", "", { "peerDependencies": { "rxjs": ">=7" } }, "sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ=="],
|
||||
|
||||
"@scure/base": ["@scure/base@1.2.6", "", {}, "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg=="],
|
||||
|
||||
"@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="],
|
||||
|
||||
"@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="],
|
||||
|
||||
"@types/bun": ["@types/bun@1.2.16", "", { "dependencies": { "bun-types": "1.2.16" } }, "sha512-1aCZJ/6nSiViw339RsaNhkNoEloLaPzZhxMOYEa7OzRzO41IGg5n/7I43/ZIAW/c+Q6cT12Vf7fOZOoVIzb5BQ=="],
|
||||
|
||||
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
|
||||
|
||||
"@types/node": ["@types/node@22.15.32", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA=="],
|
||||
|
||||
"@types/normalize-package-data": ["@types/normalize-package-data@2.4.4", "", {}, "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="],
|
||||
|
||||
"@types/triple-beam": ["@types/triple-beam@1.3.5", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="],
|
||||
|
||||
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
|
||||
|
||||
"ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
|
||||
|
||||
"ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
||||
|
||||
"any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="],
|
||||
|
||||
"async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
|
||||
|
||||
"balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
||||
|
||||
"brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
|
||||
|
||||
"bun-types": ["bun-types@1.2.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="],
|
||||
|
||||
"bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="],
|
||||
|
||||
"cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
|
||||
|
||||
"chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="],
|
||||
|
||||
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
|
||||
|
||||
"cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="],
|
||||
|
||||
"cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="],
|
||||
|
||||
"color": ["color@3.2.1", "", { "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="],
|
||||
|
||||
"color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
|
||||
|
||||
"color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="],
|
||||
|
||||
"color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="],
|
||||
|
||||
"colorspace": ["colorspace@1.1.4", "", { "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" } }, "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="],
|
||||
|
||||
"commander": ["commander@14.0.0", "", {}, "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA=="],
|
||||
|
||||
"confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="],
|
||||
|
||||
"consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="],
|
||||
|
||||
"cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
|
||||
|
||||
"debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="],
|
||||
|
||||
"deepmerge-ts": ["deepmerge-ts@7.1.5", "", {}, "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw=="],
|
||||
|
||||
"detect-indent": ["detect-indent@7.0.1", "", {}, "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g=="],
|
||||
|
||||
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
||||
|
||||
"emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
||||
|
||||
"enabled": ["enabled@2.0.0", "", {}, "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="],
|
||||
|
||||
"esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="],
|
||||
|
||||
"execa": ["execa@9.6.0", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" } }, "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw=="],
|
||||
|
||||
"fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="],
|
||||
|
||||
"fecha": ["fecha@4.2.3", "", {}, "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="],
|
||||
|
||||
"figures": ["figures@6.1.0", "", { "dependencies": { "is-unicode-supported": "^2.0.0" } }, "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg=="],
|
||||
|
||||
"fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="],
|
||||
|
||||
"fn.name": ["fn.name@1.1.0", "", {}, "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="],
|
||||
|
||||
"foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
|
||||
|
||||
"fs.promises.exists": ["fs.promises.exists@1.1.4", "", {}, "sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q=="],
|
||||
|
||||
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
||||
|
||||
"get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="],
|
||||
|
||||
"get-stream": ["get-stream@9.0.1", "", { "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="],
|
||||
|
||||
"glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="],
|
||||
|
||||
"hosted-git-info": ["hosted-git-info@7.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w=="],
|
||||
|
||||
"human-signals": ["human-signals@8.0.1", "", {}, "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ=="],
|
||||
|
||||
"imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
|
||||
|
||||
"index-to-position": ["index-to-position@1.1.0", "", {}, "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg=="],
|
||||
|
||||
"inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
|
||||
|
||||
"is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="],
|
||||
|
||||
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
||||
|
||||
"is-interactive": ["is-interactive@2.0.0", "", {}, "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="],
|
||||
|
||||
"is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="],
|
||||
|
||||
"is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
|
||||
|
||||
"is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="],
|
||||
|
||||
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
||||
|
||||
"jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
|
||||
|
||||
"joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="],
|
||||
|
||||
"js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
|
||||
|
||||
"kuler": ["kuler@2.0.0", "", {}, "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="],
|
||||
|
||||
"lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="],
|
||||
|
||||
"lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
|
||||
|
||||
"load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="],
|
||||
|
||||
"lodash.sortby": ["lodash.sortby@4.7.0", "", {}, "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA=="],
|
||||
|
||||
"log-symbols": ["log-symbols@6.0.0", "", { "dependencies": { "chalk": "^5.3.0", "is-unicode-supported": "^1.3.0" } }, "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw=="],
|
||||
|
||||
"logform": ["logform@2.7.0", "", { "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" } }, "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ=="],
|
||||
|
||||
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
|
||||
|
||||
"magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="],
|
||||
|
||||
"micro-sr25519": ["micro-sr25519@0.1.3", "", { "dependencies": { "@noble/curves": "~1.8.0", "@noble/hashes": "~1.7.1" } }, "sha512-Tw1I3Yjq9XySsU3hsgPVkQTG3NIje070VUWtT4tb9d1tVwQqpCIBH4SM5h4Mxp2Ua4PUyPsot2F40eyJ0QnzTg=="],
|
||||
|
||||
"mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
|
||||
|
||||
"minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
||||
|
||||
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
|
||||
|
||||
"mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="],
|
||||
|
||||
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||
|
||||
"mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
|
||||
|
||||
"normalize-package-data": ["normalize-package-data@6.0.2", "", { "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g=="],
|
||||
|
||||
"npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="],
|
||||
|
||||
"object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
|
||||
|
||||
"one-time": ["one-time@1.0.0", "", { "dependencies": { "fn.name": "1.x.x" } }, "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="],
|
||||
|
||||
"onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="],
|
||||
|
||||
"ora": ["ora@8.2.0", "", { "dependencies": { "chalk": "^5.3.0", "cli-cursor": "^5.0.0", "cli-spinners": "^2.9.2", "is-interactive": "^2.0.0", "is-unicode-supported": "^2.0.0", "log-symbols": "^6.0.0", "stdin-discarder": "^0.2.2", "string-width": "^7.2.0", "strip-ansi": "^7.1.0" } }, "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw=="],
|
||||
|
||||
"package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
|
||||
|
||||
"parse-json": ["parse-json@8.3.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" } }, "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ=="],
|
||||
|
||||
"parse-ms": ["parse-ms@4.0.0", "", {}, "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw=="],
|
||||
|
||||
"path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
|
||||
|
||||
"path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
|
||||
|
||||
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
||||
|
||||
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
||||
|
||||
"picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
|
||||
|
||||
"pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="],
|
||||
|
||||
"pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="],
|
||||
|
||||
"polkadot-api": ["polkadot-api@1.14.0", "", { "dependencies": { "@polkadot-api/cli": "0.14.0", "@polkadot-api/ink-contracts": "0.3.4", "@polkadot-api/json-rpc-provider": "0.0.4", "@polkadot-api/known-chains": "0.9.0", "@polkadot-api/logs-provider": "0.0.6", "@polkadot-api/metadata-builders": "0.12.2", "@polkadot-api/metadata-compatibility": "0.3.0", "@polkadot-api/observable-client": "0.12.0", "@polkadot-api/pjs-signer": "0.6.9", "@polkadot-api/polkadot-sdk-compat": "2.3.2", "@polkadot-api/polkadot-signer": "0.1.6", "@polkadot-api/signer": "0.2.2", "@polkadot-api/sm-provider": "0.1.7", "@polkadot-api/smoldot": "0.3.10", "@polkadot-api/bizinikiwi-bindings": "0.14.0", "@polkadot-api/bizinikiwi-client": "0.4.1", "@polkadot-api/utils": "0.2.0", "@polkadot-api/ws-provider": "0.4.0", "@rx-state/core": "^0.1.4" }, "peerDependencies": { "rxjs": ">=7.8.0" }, "bin": { "papi": "bin/cli.mjs", "polkadot-api": "bin/cli.mjs" } }, "sha512-9mHj6V5/lwslwtHIEXi9xoqWOJSTy+GVtSGmJ1hhUlunhYMs6w8JiiIf4WZB8P/er2+S53QNCaegbYWCFdMBgA=="],
|
||||
|
||||
"postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="],
|
||||
|
||||
"pretty-ms": ["pretty-ms@9.2.0", "", { "dependencies": { "parse-ms": "^4.0.0" } }, "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg=="],
|
||||
|
||||
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
||||
|
||||
"read-pkg": ["read-pkg@9.0.1", "", { "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" } }, "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA=="],
|
||||
|
||||
"readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
|
||||
|
||||
"readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
|
||||
|
||||
"resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
|
||||
|
||||
"restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="],
|
||||
|
||||
"rollup": ["rollup@4.44.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.44.0", "@rollup/rollup-android-arm64": "4.44.0", "@rollup/rollup-darwin-arm64": "4.44.0", "@rollup/rollup-darwin-x64": "4.44.0", "@rollup/rollup-freebsd-arm64": "4.44.0", "@rollup/rollup-freebsd-x64": "4.44.0", "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", "@rollup/rollup-linux-arm-musleabihf": "4.44.0", "@rollup/rollup-linux-arm64-gnu": "4.44.0", "@rollup/rollup-linux-arm64-musl": "4.44.0", "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-musl": "4.44.0", "@rollup/rollup-linux-s390x-gnu": "4.44.0", "@rollup/rollup-linux-x64-gnu": "4.44.0", "@rollup/rollup-linux-x64-musl": "4.44.0", "@rollup/rollup-win32-arm64-msvc": "4.44.0", "@rollup/rollup-win32-ia32-msvc": "4.44.0", "@rollup/rollup-win32-x64-msvc": "4.44.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA=="],
|
||||
|
||||
"rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="],
|
||||
|
||||
"safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
|
||||
|
||||
"safe-stable-stringify": ["safe-stable-stringify@2.5.0", "", {}, "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA=="],
|
||||
|
||||
"scale-ts": ["scale-ts@1.6.1", "", {}, "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g=="],
|
||||
|
||||
"semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="],
|
||||
|
||||
"shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
|
||||
|
||||
"shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
|
||||
|
||||
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
|
||||
|
||||
"simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="],
|
||||
|
||||
"smoldot": ["smoldot@2.0.36", "", { "dependencies": { "ws": "^8.8.1" } }, "sha512-0GtHgxOs1VGs+WzpUgTQ52Zg92/q4mnIPEl+smArI4pis6aduQ6ZiXRllbDafsIb18wWYsxaBLNjBkNOB8xBrw=="],
|
||||
|
||||
"sort-keys": ["sort-keys@5.1.0", "", { "dependencies": { "is-plain-obj": "^4.0.0" } }, "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ=="],
|
||||
|
||||
"source-map": ["source-map@0.8.0-beta.0", "", { "dependencies": { "whatwg-url": "^7.0.0" } }, "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA=="],
|
||||
|
||||
"spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="],
|
||||
|
||||
"spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="],
|
||||
|
||||
"spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
|
||||
|
||||
"spdx-license-ids": ["spdx-license-ids@3.0.21", "", {}, "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg=="],
|
||||
|
||||
"stack-trace": ["stack-trace@0.0.10", "", {}, "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="],
|
||||
|
||||
"stdin-discarder": ["stdin-discarder@0.2.2", "", {}, "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="],
|
||||
|
||||
"string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
||||
|
||||
"string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||
|
||||
"string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
|
||||
|
||||
"strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
|
||||
|
||||
"strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"strip-final-newline": ["strip-final-newline@4.0.0", "", {}, "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw=="],
|
||||
|
||||
"sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="],
|
||||
|
||||
"text-hex": ["text-hex@1.0.0", "", {}, "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="],
|
||||
|
||||
"thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
|
||||
|
||||
"thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="],
|
||||
|
||||
"tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="],
|
||||
|
||||
"tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="],
|
||||
|
||||
"tr46": ["tr46@1.0.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA=="],
|
||||
|
||||
"tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="],
|
||||
|
||||
"triple-beam": ["triple-beam@1.4.1", "", {}, "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="],
|
||||
|
||||
"ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
|
||||
|
||||
"tsc-prog": ["tsc-prog@2.3.0", "", { "peerDependencies": { "typescript": ">=4" } }, "sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA=="],
|
||||
|
||||
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||
|
||||
"tsup": ["tsup@8.5.0", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.25.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "0.8.0-beta.0", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ=="],
|
||||
|
||||
"type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
|
||||
|
||||
"typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
|
||||
|
||||
"ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="],
|
||||
|
||||
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
|
||||
|
||||
"unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="],
|
||||
|
||||
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
|
||||
|
||||
"validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="],
|
||||
|
||||
"webidl-conversions": ["webidl-conversions@4.0.2", "", {}, "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="],
|
||||
|
||||
"whatwg-url": ["whatwg-url@7.1.0", "", { "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg=="],
|
||||
|
||||
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
||||
|
||||
"winston": ["winston@3.17.0", "", { "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", "logform": "^2.7.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", "winston-transport": "^4.9.0" } }, "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw=="],
|
||||
|
||||
"winston-transport": ["winston-transport@4.9.0", "", { "dependencies": { "logform": "^2.7.0", "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" } }, "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A=="],
|
||||
|
||||
"wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
|
||||
|
||||
"wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
||||
|
||||
"write-file-atomic": ["write-file-atomic@5.0.1", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" } }, "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw=="],
|
||||
|
||||
"write-json-file": ["write-json-file@6.0.0", "", { "dependencies": { "detect-indent": "^7.0.1", "is-plain-obj": "^4.1.0", "sort-keys": "^5.0.0", "write-file-atomic": "^5.0.1" } }, "sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA=="],
|
||||
|
||||
"write-package": ["write-package@7.1.0", "", { "dependencies": { "deepmerge-ts": "^7.1.0", "read-pkg": "^9.0.1", "sort-keys": "^5.0.0", "type-fest": "^4.23.0", "write-json-file": "^6.0.0" } }, "sha512-DqUx8GI3r9BFWwU2DPKddL1E7xWfbFED82mLVhGXKlFEPe8IkBftzO7WfNwHtk7oGDHDeuH/o8VMpzzfMwmLUA=="],
|
||||
|
||||
"ws": ["ws@8.18.2", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ=="],
|
||||
|
||||
"yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="],
|
||||
|
||||
"@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
||||
|
||||
"bun-types/@types/node": ["@types/node@24.0.3", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg=="],
|
||||
|
||||
"color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
||||
|
||||
"execa/is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="],
|
||||
|
||||
"get-stream/is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="],
|
||||
|
||||
"log-symbols/is-unicode-supported": ["is-unicode-supported@1.3.0", "", {}, "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="],
|
||||
|
||||
"micro-sr25519/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="],
|
||||
|
||||
"micro-sr25519/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="],
|
||||
|
||||
"npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
|
||||
|
||||
"npm-run-path/unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="],
|
||||
|
||||
"string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||
|
||||
"string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||
|
||||
"sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="],
|
||||
|
||||
"wrap-ansi/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
||||
|
||||
"wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
||||
|
||||
"wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||
|
||||
"wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
||||
|
||||
"bun-types/@types/node/undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
|
||||
|
||||
"string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||
|
||||
"wrap-ansi-cjs/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
||||
|
||||
"wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||
|
||||
"wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||
|
||||
"wrap-ansi/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
||||
|
||||
"wrap-ansi-cjs/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
# PAPI Tests Development Workflow
|
||||
|
||||
# Install dependencies (descriptors needs to be generated and installed the 1st time only via `setup`)
|
||||
install:
|
||||
echo "🔄 Install bun dependencies"
|
||||
bun install
|
||||
|
||||
# Generate fresh metadata and descriptors, then install all dependencies
|
||||
setup:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "🧹 Killing any existing zombienet or chain processes..."
|
||||
just killall
|
||||
|
||||
just install || echo "🚧 Generate and installed missing descriptors..."
|
||||
just build-and-generate-chains
|
||||
|
||||
# Start zombienet and wait for ws endpoints to be ready
|
||||
zombienet --provider native -l text spawn zn-s.toml 2>&1 &
|
||||
CHAINS_PID=$!
|
||||
|
||||
echo "⏳ Waiting for chains to be ready (ws endpoints on 9944, 9945 and 9946)..."
|
||||
for port in 9944 9945 9946; do
|
||||
for i in {1..24}; do
|
||||
if nc -z localhost $port; then
|
||||
echo "✅ Port $port is open."
|
||||
break
|
||||
fi
|
||||
sleep 10
|
||||
if [ $i -eq 24 ]; then
|
||||
echo "❌ Timeout waiting for port $port"
|
||||
kill $CHAINS_PID || true
|
||||
pkill -f zombienet || true
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
just generate-descriptors
|
||||
|
||||
echo "🧹 Cleaning up chain processes..."
|
||||
kill $CHAINS_PID || true
|
||||
just killall
|
||||
|
||||
echo "✅ Setup complete! You can now run tests or development commands."
|
||||
|
||||
# Clean generated files and dependencies
|
||||
clean:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
rm -rf .papi node_modules bun.lockb
|
||||
echo "🧹 Cleaned .papi, node_modules, and lockfile"
|
||||
|
||||
# Generate descriptors from running chains (assumes chains are already running)
|
||||
generate-descriptors:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
echo "📋 Generating PAPI descriptors from ws endpoints..."
|
||||
npx papi add -w ws://localhost:9946 parachain
|
||||
npx papi add -w ws://localhost:9945 rc
|
||||
npx papi
|
||||
bun install --only-missing
|
||||
|
||||
echo "📋 Descriptors generated and dependencies updated"
|
||||
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
bun test
|
||||
|
||||
# Build and generate chain specs (shared logic)
|
||||
build-and-generate-chains:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
echo "🔧 Building chain-spec-builder and runtimes..."
|
||||
LOG="runtime::multiblock-election=info,runtime::staking=info"
|
||||
RUST_LOG=${LOG} cargo build --release -p pallet-staking-async-rc-runtime -p pallet-staking-async-parachain-runtime -p staging-chain-spec-builder
|
||||
echo "✅ Removing any old chain-spec file"
|
||||
rm -f ./parachain.json
|
||||
rm -f ./rc.json
|
||||
echo "✅ Creating parachain chain specs"
|
||||
RUST_LOG=${LOG} ../../../../../target/release/chain-spec-builder \
|
||||
create \
|
||||
-t development \
|
||||
--runtime ../../../../../target/release/wbuild/pallet-staking-async-parachain-runtime/pallet_staking_async_parachain_runtime.compact.compressed.wasm \
|
||||
--relay-chain rococo-local \
|
||||
--para-id 1100 \
|
||||
named-preset fake-dot
|
||||
mv ./chain_spec.json ./parachain.json
|
||||
echo "✅ Creating rc chain specs"
|
||||
RUST_LOG=${LOG} ../../../../../target/release/chain-spec-builder \
|
||||
create \
|
||||
-t development \
|
||||
--runtime ../../../../../target/release/wbuild/pallet-staking-async-rc-runtime/fast_runtime_binary.rs.wasm \
|
||||
named-preset fake-s
|
||||
mv ./chain_spec.json ./rc.json
|
||||
|
||||
# Run a specific runtime preset, or print presets if none is given
|
||||
run preset='':
|
||||
#!/usr/bin/env bash
|
||||
if [ -z "{{preset}}" ]; then
|
||||
echo "⚠️ Please specify a preset."
|
||||
just presets
|
||||
else
|
||||
bun run src/index.ts run --para-preset {{preset}}
|
||||
fi
|
||||
|
||||
# Show available presets
|
||||
presets:
|
||||
@echo "Available parachain presets:"
|
||||
@echo " fake-dev - 4 pages, small number of fake validators and nominators"
|
||||
@echo " fake-dot - 32 pages, large number of fake validators and nominators"
|
||||
@echo " fake-ksm - 16 pages, large number of fake validators and nominators"
|
||||
@echo " real-s - 4 pages, alice and bob as validators, 500 fake nominators"
|
||||
@echo " real-m - 4 pages, alice, bob, dave, eve as validators, 2000 fake nominators"
|
||||
|
||||
# Full development setup (clean + setup)
|
||||
reset: clean setup
|
||||
|
||||
# Show help
|
||||
help:
|
||||
just --list
|
||||
|
||||
# kill all relevant processes. This is useful in case you see weird errors, most likely it is
|
||||
# because you have other old stale ones running.
|
||||
killall:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
pkill -f zombienet || true
|
||||
pkill -f chain-spec-builder || true
|
||||
pkill -f polkadot || true
|
||||
pkill -f polkadot-parachain || true
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "papi-tests",
|
||||
"module": "index.ts",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"@pezkuwi-api/cli": "^0.14.0",
|
||||
"@types/bun": "latest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "^5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pezkuwi-labs/hdkd": "^0.0.16",
|
||||
"commander": "^14.0.0",
|
||||
"pezkuwi-api": "^1.13.1",
|
||||
"strip-ansi": "^7.1.0",
|
||||
"winston": "^3.17.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@pezkuwi-api/descriptors": "file:.papi/descriptors"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
import { spawn, spawnSync } from "child_process";
|
||||
import { Presets } from "./index";
|
||||
import { logger } from "./utils";
|
||||
import { join } from "path";
|
||||
import stripAnsi from "strip-ansi";
|
||||
import { createWriteStream } from "fs";
|
||||
|
||||
export function rcPresetFor(paraPreset: Presets): string {
|
||||
return paraPreset == Presets.FakeDev ||
|
||||
paraPreset == Presets.FakeDot ||
|
||||
paraPreset == Presets.FakeKsm
|
||||
? "fake-s"
|
||||
: paraPreset;
|
||||
}
|
||||
|
||||
export function znConfigFor(paraPreset: Presets): string {
|
||||
return paraPreset == Presets.RealM ? "../zn-m.toml" : "../zn-s.toml";
|
||||
}
|
||||
|
||||
/// Returns the teyrchain log file.
|
||||
export async function runPreset(paraPreset: Presets): Promise<void> {
|
||||
prepPreset(paraPreset);
|
||||
const znConfig = znConfigFor(paraPreset);
|
||||
logger.info(`Launching ZN config for preset: ${paraPreset}, config: ${znConfig}`);
|
||||
cmd("zombienet", ["--provider", "native", "-l", "text", "spawn", znConfig], "inherit");
|
||||
}
|
||||
|
||||
export async function runPresetUntilLaunched(
|
||||
paraPreset: Presets
|
||||
): Promise<{ killZn: () => void; paraLog: string | null }> {
|
||||
prepPreset(paraPreset);
|
||||
const znConfig = znConfigFor(paraPreset);
|
||||
logger.info(`Launching ZN config for preset: ${paraPreset}, config: ${znConfig}`);
|
||||
const child = spawn("zombienet", ["--provider", "native", "-l", "text", "spawn", znConfig], {
|
||||
stdio: "pipe",
|
||||
cwd: __dirname,
|
||||
});
|
||||
|
||||
return new Promise<{ killZn: () => void; paraLog: string | null }>((resolve, reject) => {
|
||||
const logCmds: string[] = [];
|
||||
child.stdout.on("data", (data) => {
|
||||
const raw: string = stripAnsi(data.toString());
|
||||
if (raw.includes("Log Cmd : ")) {
|
||||
raw.split("\n")
|
||||
.filter((line) => line.includes("Log Cmd : "))
|
||||
.forEach((line) => {
|
||||
logCmds.push(line.replace("Log Cmd : ", "").trim());
|
||||
});
|
||||
}
|
||||
// our hacky way to know ZN is done.
|
||||
if (raw.includes("Teyrchain ID : 1100")) {
|
||||
for (const cmd of logCmds) {
|
||||
logger.info(`${cmd}`);
|
||||
}
|
||||
logger.info(`Launched ZN: ${paraPreset}`);
|
||||
|
||||
// Extract log path from the last log command
|
||||
const lastCmd = logCmds[logCmds.length - 1];
|
||||
const paraLog = lastCmd ? lastCmd.match(/tail -f\s+(.+\.log)/)?.[1] || null : null;
|
||||
|
||||
resolve({
|
||||
killZn: () => {
|
||||
child.kill();
|
||||
logger.verbose(`Killed zn process`);
|
||||
},
|
||||
paraLog,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
child.on("error", (err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export async function spawnMiner(): Promise<() => void> {
|
||||
logger.info(`Spawning miner in background`);
|
||||
|
||||
const logFile = createWriteStream(join(__dirname, "miner.log"), { flags: "a" });
|
||||
|
||||
const child = spawn(
|
||||
"polkadot-staking-miner",
|
||||
[
|
||||
"--uri",
|
||||
"ws://127.0.0.1:9946",
|
||||
"experimental-monitor-multi-block",
|
||||
"--seed-or-path",
|
||||
"//Bob",
|
||||
],
|
||||
{ stdio: "pipe", cwd: __dirname }
|
||||
);
|
||||
|
||||
child.stdout?.pipe(logFile);
|
||||
child.stderr?.pipe(logFile);
|
||||
|
||||
return new Promise<() => void>((resolve, reject) => {
|
||||
child.on("error", (err) => {
|
||||
logger.error(`Error in miner miner: ${err}`);
|
||||
reject(err);
|
||||
});
|
||||
resolve(() => {
|
||||
logger.verbose(`Killing miner process`);
|
||||
logFile.end();
|
||||
child.kill();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function prepPreset(paraPreset: Presets): void {
|
||||
const rcPreset = rcPresetFor(paraPreset);
|
||||
const targetDir = "../../../../../../target";
|
||||
|
||||
logger.info(`Running para-preset: ${paraPreset}, rc-preset: ${rcPreset}`);
|
||||
cmd("cargo", [
|
||||
"build",
|
||||
"--release",
|
||||
`-p`,
|
||||
`pallet-staking-async-rc-runtime`,
|
||||
`-p`,
|
||||
`pallet-staking-async-teyrchain-runtime`,
|
||||
`-p`,
|
||||
`staging-chain-spec-builder`,
|
||||
]);
|
||||
|
||||
cmd("rm", ["./teyrchain.json"]);
|
||||
cmd("rm", ["./rc.json"]);
|
||||
|
||||
cmd(join(targetDir, "/release/chain-spec-builder"), [
|
||||
"create",
|
||||
"-t",
|
||||
"development",
|
||||
"--runtime",
|
||||
join(
|
||||
targetDir,
|
||||
"/release/wbuild/pallet-staking-async-teyrchain-runtime/pallet_staking_async_teyrchain_runtime.compact.compressed.wasm"
|
||||
),
|
||||
"--relay-chain",
|
||||
"pezkuwichain-local",
|
||||
"--para-id",
|
||||
"1100",
|
||||
"named-preset",
|
||||
paraPreset,
|
||||
]);
|
||||
cmd("mv", ["chain_spec.json", "teyrchain.json"]);
|
||||
|
||||
cmd(join(targetDir, "/release/chain-spec-builder"), [
|
||||
"create",
|
||||
"-t",
|
||||
"development",
|
||||
"--runtime",
|
||||
join(
|
||||
targetDir,
|
||||
"/release/wbuild/pallet-staking-async-rc-runtime/fast_runtime_binary.rs.wasm"
|
||||
),
|
||||
"named-preset",
|
||||
rcPreset,
|
||||
]);
|
||||
cmd("mv", ["chain_spec.json", "rc.json"]);
|
||||
}
|
||||
|
||||
function cmd(cmd: string, args: string[], stdio: string = "ignore"): void {
|
||||
logger.info(`Running command: ${cmd} ${args.join(" ")}`);
|
||||
// @ts-ignore
|
||||
const result = spawnSync(cmd, args, { stdio: stdio, cwd: __dirname });
|
||||
if (result.error || result.status !== 0) {
|
||||
logger.error(`Error running command: ${cmd} ${args.join(" ")}`);
|
||||
logger.error(`Status: ${result.status}`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import { rcPresetFor, runPreset } from "./cmd";
|
||||
import { logger } from "./utils";
|
||||
import { monitorVmpQueues } from "./vmp-monitor";
|
||||
import { Command } from "commander";
|
||||
|
||||
export enum Presets {
|
||||
FakeDev = "fake-dev",
|
||||
FakeDot = "fake-dot",
|
||||
FakeKsm = "fake-ksm",
|
||||
RealS = "real-s",
|
||||
RealM = "real-m",
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
const program = new Command();
|
||||
program
|
||||
.name("staking-async-papi-tests")
|
||||
.description("Run staking-async PAPI tests")
|
||||
.version("0.1.0");
|
||||
|
||||
program
|
||||
.command("run")
|
||||
.description("Run a given preset. This just sets up the ZN env and runs it")
|
||||
.option(
|
||||
"-p, --para-preset <preset>",
|
||||
"run the given teyrchain preset. The right relay preset, and zn-toml file are auto-chosen.",
|
||||
Presets.FakeDev
|
||||
)
|
||||
.action(async (options) => {
|
||||
const { paraPreset } = options;
|
||||
runPreset(paraPreset);
|
||||
});
|
||||
|
||||
program
|
||||
.command("monitor-vmp")
|
||||
.description("Monitor VMP (Vertical Message Passing) - both DMP and UMP queues")
|
||||
.option(
|
||||
"--relay-port <port>",
|
||||
"Relay chain WebSocket port",
|
||||
"9944"
|
||||
)
|
||||
.option(
|
||||
"--para-port <port>",
|
||||
"Teyrchain WebSocket port (optional)",
|
||||
"9946"
|
||||
)
|
||||
.option(
|
||||
"-r, --refresh <seconds>",
|
||||
"Refresh interval in seconds",
|
||||
"3"
|
||||
)
|
||||
.option(
|
||||
"--para-id <id>",
|
||||
"Specific teyrchain ID to monitor (default: all)"
|
||||
)
|
||||
.action(async (options) => {
|
||||
const { relayPort, paraPort, refresh, paraId } = options;
|
||||
await monitorVmpQueues({
|
||||
relayPort: parseInt(relayPort),
|
||||
paraPort: paraPort ? parseInt(paraPort) : undefined,
|
||||
refreshInterval: parseInt(refresh),
|
||||
paraId: paraId ? parseInt(paraId) : undefined
|
||||
});
|
||||
});
|
||||
|
||||
program.parse(process.argv);
|
||||
}
|
||||
@@ -0,0 +1,452 @@
|
||||
import { readFileSync } from "fs";
|
||||
import { logger, safeJsonStringify, type ApiDeclarations } from "./utils";
|
||||
import { exit } from "process";
|
||||
import chalk from "chalk";
|
||||
|
||||
export enum Chain {
|
||||
Relay = "Rely",
|
||||
Teyrchain = "Para",
|
||||
}
|
||||
|
||||
interface IEvent {
|
||||
module: string;
|
||||
event: string;
|
||||
data: any | undefined;
|
||||
}
|
||||
|
||||
interface IBlock {
|
||||
chain: Chain;
|
||||
number: number;
|
||||
hash: string;
|
||||
events: IEvent[];
|
||||
weights: any;
|
||||
authorship: IAuthorshipData | null;
|
||||
}
|
||||
|
||||
/// The on-chain weight consumed in a block, exactly as stored by `frame-system`
|
||||
interface IWeight {
|
||||
normal: {
|
||||
ref_time: bigint;
|
||||
proof_size: bigint;
|
||||
};
|
||||
operational: {
|
||||
ref_time: bigint;
|
||||
proof_size: bigint;
|
||||
};
|
||||
mandatory: {
|
||||
ref_time: bigint;
|
||||
proof_size: bigint;
|
||||
};
|
||||
}
|
||||
|
||||
/// Information obtained from the collator about authorship of a block.
|
||||
interface IAuthorshipData {
|
||||
/// The header size in PoV in kb.
|
||||
header: number;
|
||||
/// The extrinsics size in PoV in kb.
|
||||
extrinsics: number;
|
||||
/// The storage proof size in PoV in kb.
|
||||
proof: number;
|
||||
/// The compressed PoV size (sum of all the above) in kb.
|
||||
compressed: number;
|
||||
/// The time it took to author the block in ms.
|
||||
time: number;
|
||||
}
|
||||
|
||||
/// Print an event.
|
||||
function pe(e: IEvent): string {
|
||||
return `${e.module} ${e.event} ${e.data ? safeJsonStringify(e.data) : "no data"}`;
|
||||
}
|
||||
|
||||
interface IObservableEvent {
|
||||
chain: Chain;
|
||||
module: string;
|
||||
event: string;
|
||||
dataCheck: ((data: any) => boolean) | undefined;
|
||||
byBlock: number | undefined;
|
||||
}
|
||||
|
||||
export class Observe {
|
||||
e: IObservableEvent;
|
||||
onPass: () => void = () => {};
|
||||
|
||||
constructor(
|
||||
chain: Chain,
|
||||
module: string,
|
||||
event: string,
|
||||
dataCheck: ((data: any) => boolean) | undefined = undefined,
|
||||
byBlock: number | undefined = undefined,
|
||||
onPass: () => void = () => {}
|
||||
) {
|
||||
this.e = { chain, module, event, dataCheck, byBlock };
|
||||
this.onPass = onPass;
|
||||
}
|
||||
|
||||
toString(): string {
|
||||
return `Observe(${this.e.chain}, ${this.e.module}, ${this.e.event}, ${
|
||||
this.e.dataCheck ? "dataCheck" : "no dataCheck"
|
||||
}, ${this.e.byBlock ? this.e.byBlock : "no byBlock"})`;
|
||||
}
|
||||
|
||||
static on(chain: Chain, mod: string, event: string): ObserveBuilder {
|
||||
return new ObserveBuilder(chain, mod, event);
|
||||
}
|
||||
}
|
||||
|
||||
export class ObserveBuilder {
|
||||
private chain: Chain;
|
||||
private module: string;
|
||||
private event: string;
|
||||
private dataCheck?: (data: any) => boolean;
|
||||
private byBlockVal?: number;
|
||||
private onPassCallback: () => void = () => {};
|
||||
|
||||
constructor(chain: Chain, module: string, event: string) {
|
||||
this.chain = chain;
|
||||
this.module = module;
|
||||
this.event = event;
|
||||
}
|
||||
|
||||
withDataCheck(check: (data: any) => boolean): ObserveBuilder {
|
||||
this.dataCheck = check;
|
||||
return this;
|
||||
}
|
||||
|
||||
byBlock(blockNumber: number): ObserveBuilder {
|
||||
this.byBlockVal = blockNumber;
|
||||
return this;
|
||||
}
|
||||
|
||||
onPass(callback: () => void): ObserveBuilder {
|
||||
this.onPassCallback = callback;
|
||||
return this;
|
||||
}
|
||||
|
||||
build(): Observe {
|
||||
if (!this.module || !this.event) {
|
||||
throw new Error("Module and event are required");
|
||||
}
|
||||
|
||||
return new Observe(
|
||||
this.chain,
|
||||
this.module,
|
||||
this.event,
|
||||
this.dataCheck,
|
||||
this.byBlockVal,
|
||||
this.onPassCallback
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export enum EventOutcome {
|
||||
TimedOut = "TimedOut",
|
||||
Done = "Done",
|
||||
}
|
||||
|
||||
export class TestCase {
|
||||
eventSequence: Observe[];
|
||||
onKill: () => void;
|
||||
allowPerChainInterleavedEvents: boolean = false;
|
||||
private resolveTestPromise: (outcome: EventOutcome) => void = () => {};
|
||||
|
||||
/// See `example.test.ts` for more info.
|
||||
constructor(e: Observe[], interleave: boolean = false, onKill: () => void = () => {}) {
|
||||
this.eventSequence = e;
|
||||
this.onKill = onKill;
|
||||
this.allowPerChainInterleavedEvents = interleave;
|
||||
}
|
||||
|
||||
setTestPromiseResolvers(resolve: (outcome: EventOutcome) => void) {
|
||||
this.resolveTestPromise = resolve;
|
||||
}
|
||||
|
||||
match(ours: IObservableEvent, theirs: IEvent, theirsChain: Chain): boolean {
|
||||
const trivialComp =
|
||||
ours.chain === theirsChain &&
|
||||
ours.module === theirs.module &&
|
||||
ours.event === theirs.event;
|
||||
if (trivialComp) {
|
||||
// note: only run data check if it is defined and all other criteria match
|
||||
const dataComp = ours.dataCheck === undefined ? true : ours.dataCheck!(theirs.data);
|
||||
return trivialComp && dataComp;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
notTimedOut(ours: IObservableEvent, block: number): boolean {
|
||||
return ours.byBlock === undefined ? true : block <= ours.byBlock;
|
||||
}
|
||||
|
||||
// with thousand separator!
|
||||
wts(num: bigint): string {
|
||||
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
formatWeight(weight: IWeight): string {
|
||||
const weightPerMs = BigInt(Math.pow(10, 9));
|
||||
const WeightPerKb = BigInt(1024);
|
||||
const refTime =
|
||||
weight.normal.ref_time + weight.operational.ref_time + weight.mandatory.ref_time;
|
||||
const proofSize =
|
||||
weight.normal.proof_size + weight.operational.proof_size + weight.mandatory.proof_size;
|
||||
|
||||
return `${this.wts(refTime / weightPerMs)}ms / ${this.wts(proofSize / WeightPerKb)} kb`;
|
||||
}
|
||||
|
||||
formatAuthorship(authorship: IAuthorshipData): string {
|
||||
return `hd=${authorship.header.toFixed(2)}, xt=${authorship.extrinsics.toFixed(
|
||||
2
|
||||
)}, st=${authorship.proof.toFixed(2)}, sum=${(
|
||||
authorship.header +
|
||||
authorship.extrinsics +
|
||||
authorship.proof
|
||||
).toFixed(2)}, cmp=${authorship.compressed.toFixed(2)}, time=${authorship.time}ms`;
|
||||
}
|
||||
|
||||
commonLog(blockData: IBlock): string {
|
||||
const number = `#${blockData.number}`;
|
||||
const chain = blockData.chain === Chain.Relay
|
||||
? chalk.blue(blockData.chain) // Blue for Relay - works well in both modes
|
||||
: chalk.green(blockData.chain); // Green for Teyrchain - works well in both modes
|
||||
const weight = `⛓ ${this.formatWeight(blockData.weights)}`;
|
||||
const authorship = blockData.authorship
|
||||
? `[✍️ ${this.formatAuthorship(blockData.authorship)}]`
|
||||
: "";
|
||||
return `[${chain}${number}][${weight}]${authorship}`;
|
||||
}
|
||||
|
||||
// returns a [`primary`, `maybeSecondary`] event to check. `primary` should always be checked first, and if not secondary is checked.
|
||||
nextEvent(chain: Chain): [Observe, Observe | undefined] {
|
||||
const next = this.eventSequence[0]!;
|
||||
if (this.allowPerChainInterleavedEvents && this.eventSequence.length > 1) {
|
||||
// get the next event in our list that is of type `chain`.
|
||||
const nextOfChain = this.eventSequence.slice(1).find((e) => e.e.chain === chain);
|
||||
return [next, nextOfChain];
|
||||
} else {
|
||||
return [next, undefined];
|
||||
}
|
||||
}
|
||||
|
||||
removeEvent(e: Observe): void {
|
||||
const index = this.eventSequence.findIndex((x) => x.e === e.e);
|
||||
if (index !== -1) {
|
||||
this.eventSequence.splice(index, 1);
|
||||
} else {
|
||||
logger.warn(`Event not found for removal: ${e.toString()}`);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
onBlock(blockData: IBlock) {
|
||||
// sort from small to big
|
||||
logger.debug(`${this.commonLog(blockData)} events: ${blockData.events.length}`);
|
||||
const firstTimeOut = this.eventSequence
|
||||
.filter((e) => e.e.byBlock)
|
||||
.sort((x, y) => x.e.byBlock! - y.e.byBlock!);
|
||||
if (firstTimeOut.length > 0 && blockData.number > firstTimeOut[0]!.e.byBlock!) {
|
||||
logger.error(
|
||||
`Block ${blockData.number} is past the first timeout at block ${firstTimeOut[0]}, exiting.`
|
||||
);
|
||||
this.resolveTestPromise(EventOutcome.TimedOut);
|
||||
}
|
||||
|
||||
for (const e of blockData.events) {
|
||||
this.onEvent(e, blockData);
|
||||
}
|
||||
}
|
||||
|
||||
onEvent(e: IEvent, blockData: IBlock) {
|
||||
if (!this.eventSequence.length) {
|
||||
logger.warn(`No events to process for ${blockData.chain}, event: ${pe(e)}`);
|
||||
return;
|
||||
}
|
||||
logger.verbose(`${this.commonLog(blockData)} Processing event: ${pe(e)}`);
|
||||
const [primary, maybeSecondary] = this.nextEvent(blockData.chain);
|
||||
|
||||
if (this.match(primary.e, e, blockData.chain)) {
|
||||
primary.onPass();
|
||||
this.removeEvent(primary);
|
||||
logger.info(`Primary event passed`);
|
||||
if (this.eventSequence.length === 0) {
|
||||
logger.info("All events processed.");
|
||||
this.resolveTestPromise(EventOutcome.Done);
|
||||
} else {
|
||||
logger.verbose(
|
||||
`Next expected event: ${this.eventSequence[0]!.toString()}, remaining events: ${
|
||||
this.eventSequence.length
|
||||
}`
|
||||
);
|
||||
}
|
||||
} else if (maybeSecondary && this.match(maybeSecondary.e, e, blockData.chain)) {
|
||||
maybeSecondary.onPass();
|
||||
this.removeEvent(maybeSecondary);
|
||||
logger.info(`Secondary event passed`);
|
||||
// when we check secondary events, we must have at least 2 items in the list, so no
|
||||
// need to check for the end of list.
|
||||
} else {
|
||||
logger.debug(`event not relevant`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Extract information about the authoring of `block` number from the given `logFile`. This will
|
||||
// work in 3 steps:
|
||||
// 1. After filtering for `[Teyrchain]`, and looking at the log file from end to start, it will find
|
||||
// the line containing `Prepared block for proposing at ${block}`. From this, we extract the
|
||||
// authoring time in ms
|
||||
// 2. Them, we only keep the rest of the log file (optimization). We find the first line thereafter
|
||||
// containing `PoV size header_kb=... extrinsics_kb=... storage_proof_kb=...` and extract the
|
||||
// sizes of the header, extrinsics and storage proof.
|
||||
// 3. Finally, we find the first line thereafter containing `Compressed PoV size: ...kb` and extract
|
||||
// the compressed size.
|
||||
//
|
||||
// Note: `logFile` must always relate to a teyrchain.
|
||||
function extractAuthorshipData(block: number, logFile: string): IAuthorshipData | null {
|
||||
if (block == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const log = readFileSync(logFile)
|
||||
.toString()
|
||||
.split("\n")
|
||||
.filter((l) => l.includes("[Teyrchain]"))
|
||||
.reverse();
|
||||
const target = `Prepared block for proposing at ${block}`;
|
||||
const findTime = (log: string[]): { time: number; readStack: string[] } => {
|
||||
const readStack: string[] = [];
|
||||
for (let i = 0; i < log.length; i++) {
|
||||
const line = log[i];
|
||||
if (!line) {
|
||||
continue;
|
||||
}
|
||||
readStack.push(line);
|
||||
if (line?.includes(target)) {
|
||||
const match = line.match("([0-9]+) ms");
|
||||
if (match) {
|
||||
return { time: Number(match.at(1)!), readStack };
|
||||
}
|
||||
}
|
||||
}
|
||||
throw `Could not find authorship line ${target}`;
|
||||
};
|
||||
|
||||
const findProofs = (
|
||||
readStack: string[]
|
||||
): { header: number; extrinsics: number; proof: number } => {
|
||||
for (let i = 0; i < readStack.length; i++) {
|
||||
const line = readStack[i];
|
||||
const match = line?.match(
|
||||
"PoV size header_kb=([0-9]+.[0-9]+) extrinsics_kb=([0-9]+.[0-9]+) storage_proof_kb=([0-9]+.[0-9]+)"
|
||||
);
|
||||
if (match) {
|
||||
return {
|
||||
header: Number(match[1]!),
|
||||
extrinsics: Number(match[2]!),
|
||||
proof: Number(match[3])!,
|
||||
};
|
||||
}
|
||||
}
|
||||
throw "Could not find the expected PoV data in log file.";
|
||||
};
|
||||
|
||||
const findCompressed = (readStack: string[]): number => {
|
||||
for (let i = 0; i < readStack.length; i++) {
|
||||
const line = readStack[i];
|
||||
const match = line?.match("Compressed PoV size: ([0-9]+.[0-9]+)kb");
|
||||
if (match) {
|
||||
return Number(match[1]!);
|
||||
}
|
||||
}
|
||||
throw "Could not find the expected compressed data in log file.";
|
||||
};
|
||||
|
||||
const { time, readStack } = findTime(log);
|
||||
// reverse the read stack again, as we want the first proof related prints after we `findTime`.
|
||||
readStack.reverse();
|
||||
const { header, extrinsics, proof } = findProofs(readStack);
|
||||
const compressed = findCompressed(readStack);
|
||||
return { time, header, extrinsics, proof, compressed };
|
||||
}
|
||||
|
||||
export async function runTest(
|
||||
test: TestCase,
|
||||
apis: ApiDeclarations,
|
||||
paraLog: string | null
|
||||
): Promise<EventOutcome> {
|
||||
const { rcClient, paraClient, rcApi, paraApi } = apis;
|
||||
|
||||
let completionPromise: Promise<EventOutcome> = new Promise((resolve, _) => {
|
||||
// Pass the resolve/reject functions to the TestCase instance
|
||||
test.setTestPromiseResolvers(resolve);
|
||||
|
||||
rcClient.finalizedBlock$.subscribe(async (block) => {
|
||||
const events = await rcApi.query.System.Events.getValue({ at: block.hash });
|
||||
const weights = await rcApi.query.System.BlockWeight.getValue({ at: block.hash });
|
||||
const interested = events
|
||||
.filter(
|
||||
(e) =>
|
||||
e.event.type === "Session" ||
|
||||
e.event.type === "RootOffences" ||
|
||||
e.event.type === "StakingAhClient"
|
||||
)
|
||||
.map((e) => ({
|
||||
module: e.event.type,
|
||||
event: e.event.value.type,
|
||||
data: e.event.value.value,
|
||||
}));
|
||||
test.onBlock({
|
||||
chain: Chain.Relay,
|
||||
number: block.number,
|
||||
hash: block.hash,
|
||||
events: interested,
|
||||
weights: weights,
|
||||
authorship: null,
|
||||
});
|
||||
});
|
||||
|
||||
paraClient.finalizedBlock$.subscribe(async (block) => {
|
||||
const events = await paraApi.query.System.Events.getValue({ at: block.hash });
|
||||
const weights = await paraApi.query.System.BlockWeight.getValue({ at: block.hash });
|
||||
const interested = events
|
||||
.filter(
|
||||
(e) =>
|
||||
e.event.type == "Staking" ||
|
||||
e.event.type == "MultiBlockElection" ||
|
||||
e.event.type == "MultiBlockElectionSigned" ||
|
||||
e.event.type == "MultiBlockElectionVerifier" ||
|
||||
e.event.type == "StakingRcClient"
|
||||
)
|
||||
.map((e) => ({
|
||||
module: e.event.type,
|
||||
event: e.event.value.type,
|
||||
data: e.event.value.value,
|
||||
}));
|
||||
test.onBlock({
|
||||
chain: Chain.Teyrchain,
|
||||
number: block.number,
|
||||
hash: block.hash,
|
||||
events: interested,
|
||||
weights: weights,
|
||||
authorship: paraLog ? extractAuthorshipData(block.number, paraLog!) : null,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Handle graceful exit on SIGINT
|
||||
process.on("SIGINT", () => {
|
||||
console.log("Exiting on Ctrl+C...");
|
||||
rcClient.destroy();
|
||||
paraClient.destroy();
|
||||
test.onKill();
|
||||
process.exit(0);
|
||||
});
|
||||
|
||||
// Wait for the completionPromise to resolve/reject
|
||||
const finalOutcome = await completionPromise;
|
||||
rcClient.destroy();
|
||||
paraClient.destroy();
|
||||
logger.info(`Test completed with outcome: ${finalOutcome}, calling onKill...`);
|
||||
test.onKill();
|
||||
return finalOutcome;
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
import { teyrchain, rc } from "@polkadot-api/descriptors";
|
||||
import {
|
||||
Binary,
|
||||
createClient,
|
||||
type PolkadotClient,
|
||||
type PolkadotSigner,
|
||||
type TypedApi,
|
||||
} from "polkadot-api";
|
||||
import { fromBufferToBase58 } from "@polkadot-api/bizinikiwi-bindings";
|
||||
import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat";
|
||||
import { getWsProvider } from "polkadot-api/ws-provider/web";
|
||||
import { createLogger, format, transports } from "winston";
|
||||
import { sr25519CreateDerive } from "@polkadot-labs/hdkd";
|
||||
import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, type KeyPair } from "@polkadot-labs/hdkd-helpers";
|
||||
import { getPolkadotSigner } from "polkadot-api/signer";
|
||||
|
||||
export const GlobalTimeout = 30 * 60 * 1000;
|
||||
export const aliceStash = "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY";
|
||||
|
||||
|
||||
export const logger = createLogger({
|
||||
level: process.env.LOG_LEVEL || "verbose",
|
||||
format: format.combine(format.timestamp(), format.cli()),
|
||||
defaultMeta: { service: "staking-papi-tests" },
|
||||
transports: [new transports.Console()],
|
||||
});
|
||||
|
||||
const miniSecret = entropyToMiniSecret(mnemonicToEntropy(DEV_PHRASE));
|
||||
const derive = sr25519CreateDerive(miniSecret);
|
||||
const aliceKeyPair = derive("//Alice");
|
||||
|
||||
export const alice = getPolkadotSigner(aliceKeyPair.publicKey, "Sr25519", aliceKeyPair.sign);
|
||||
|
||||
export function deriveFrom(s: string, d: string): KeyPair {
|
||||
const miniSecret = entropyToMiniSecret(mnemonicToEntropy(s));
|
||||
const derive = sr25519CreateDerive(miniSecret);
|
||||
return derive(d);
|
||||
}
|
||||
|
||||
export function derivePubkeyFrom(d: string): string {
|
||||
const miniSecret = entropyToMiniSecret(mnemonicToEntropy(DEV_PHRASE));
|
||||
const derive = sr25519CreateDerive(miniSecret);
|
||||
const keyPair = derive(d);
|
||||
// Convert to SS58 address using Bizinikiwi format (42)
|
||||
return ss58(keyPair.publicKey);
|
||||
}
|
||||
|
||||
export function ss58(key: Uint8Array): string {
|
||||
return fromBufferToBase58(42)(key);
|
||||
}
|
||||
|
||||
export type ApiDeclarations = {
|
||||
rcClient: PolkadotClient;
|
||||
paraClient: PolkadotClient;
|
||||
rcApi: TypedApi<typeof rc>;
|
||||
paraApi: TypedApi<typeof teyrchain>;
|
||||
};
|
||||
|
||||
export async function nullifySigned(
|
||||
paraApi: TypedApi<typeof teyrchain>,
|
||||
signer: PolkadotSigner = alice
|
||||
): Promise<boolean> {
|
||||
// signed and signed validation phase to 0
|
||||
const call = paraApi.tx.System.set_storage({
|
||||
items: [
|
||||
// SignedPhase key
|
||||
[
|
||||
Binary.fromBytes(
|
||||
Uint8Array.from([
|
||||
99, 88, 172, 210, 3, 94, 196, 187, 134, 63, 169, 129, 224, 193, 119, 185,
|
||||
])
|
||||
),
|
||||
Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])),
|
||||
],
|
||||
// SignedValidation key
|
||||
[
|
||||
Binary.fromBytes(
|
||||
Uint8Array.from([
|
||||
72, 56, 74, 129, 110, 79, 113, 169, 54, 203, 118, 220, 158, 48, 63, 42,
|
||||
])
|
||||
),
|
||||
Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])),
|
||||
],
|
||||
],
|
||||
}).decodedCall;
|
||||
const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(alice);
|
||||
return res.ok;
|
||||
}
|
||||
|
||||
export async function nullifyUnsigned(
|
||||
paraApi: TypedApi<typeof teyrchain>,
|
||||
signer: PolkadotSigner = alice
|
||||
): Promise<boolean> {
|
||||
// signed and signed validation phase to 0
|
||||
const call = paraApi.tx.System.set_storage({
|
||||
items: [
|
||||
// UnsignedPhase key
|
||||
[
|
||||
Binary.fromBytes(
|
||||
Uint8Array.from([
|
||||
194, 9, 245, 216, 235, 146, 6, 129, 181, 108, 100, 184, 105, 78, 167, 140,
|
||||
])
|
||||
),
|
||||
Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])),
|
||||
],
|
||||
],
|
||||
}).decodedCall;
|
||||
const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(alice);
|
||||
return res.ok;
|
||||
}
|
||||
|
||||
export async function getApis(): Promise<ApiDeclarations> {
|
||||
const rcClient = createClient(withPolkadotSdkCompat(getWsProvider("ws://localhost:9945")));
|
||||
const rcApi = rcClient.getTypedApi(rc);
|
||||
|
||||
const paraClient = createClient(withPolkadotSdkCompat(getWsProvider("ws://localhost:9946")));
|
||||
const paraApi = paraClient.getTypedApi(teyrchain);
|
||||
|
||||
logger.info(`Connected to ${(await rcApi.constants.System.Version()).spec_name}`);
|
||||
logger.info(`Connected to ${(await paraApi.constants.System.Version()).spec_name}`);
|
||||
|
||||
return { rcApi, paraApi, rcClient, paraClient };
|
||||
}
|
||||
|
||||
// Safely convert anything to a string so we can compare them.
|
||||
export function safeJsonStringify(data: any): string {
|
||||
const bigIntReplacer = (key: string, value: any): any => {
|
||||
if (typeof value === "bigint") {
|
||||
return value.toString();
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
try {
|
||||
return JSON.stringify(data, bigIntReplacer);
|
||||
} catch (error: any) {
|
||||
// Handle potential errors during stringification (e.g., circular references)
|
||||
console.error("Error during JSON stringification:", error.message);
|
||||
throw new Error(
|
||||
"Failed to stringify data due to unsupported types or circular references."
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,502 @@
|
||||
/*
|
||||
* Vertical Message Passing (VMP) Monitor
|
||||
*
|
||||
* This tool monitors both Downward Message Passing (DMP) and Upward Message Passing (UMP) queues
|
||||
* in the Polkadot relay chain and teyrchains.
|
||||
*
|
||||
* ## Message Flow Overview
|
||||
*
|
||||
* ### Downward Message Passing (DMP): Relay Chain → Teyrchain
|
||||
*
|
||||
* 1. **Message Creation**: Messages are created on the relay chain (e.g., XCM messages from governance)
|
||||
* 2. **Queueing**: Messages are stored in `Dmp::DownwardMessageQueues` storage on the relay chain
|
||||
* - Each teyrchain has its own queue indexed by ParaId
|
||||
* - Messages include the actual message bytes and the block number when sent
|
||||
* 3. **Delivery**: During teyrchain validation, these messages are included in the teyrchain's
|
||||
* inherent data and delivered to the teyrchain
|
||||
* 4. **Processing**: The teyrchain processes these messages in `teyrchain-system` pallet
|
||||
* - Messages are passed to the configured `DmpQueue` handler
|
||||
* - In modern implementations, this is typically the `message-queue` pallet
|
||||
* 5. **Fee Management**: `Dmp::DeliveryFeeFactor` tracks fee multipliers per teyrchain
|
||||
*
|
||||
* ### Upward Message Passing (UMP): Teyrchain → Relay Chain
|
||||
*
|
||||
* 1. **Message Creation**: Messages are created on the teyrchain (e.g., XCM messages)
|
||||
* 2. **Teyrchain Queueing**: Messages are first stored in `TeyrchainSystem::PendingUpwardMessages`
|
||||
* - The teyrchain tracks bandwidth limits and adjusts fee factors based on queue size
|
||||
* 3. **Commitment**: In `on_finalize`, pending messages are moved to `TeyrchainSystem::UpwardMessages`
|
||||
* - These are included in the teyrchain block's proof of validity
|
||||
* 4. **Relay Chain Reception**: When the relay chain validates the teyrchain block:
|
||||
* - UMP messages are extracted from the proof
|
||||
* - Messages are processed by `inclusion` pallet's `receive_upward_messages`
|
||||
* 5. **Processing**: Messages are enqueued into the `message-queue` pallet with origin `Ump(ParaId)`
|
||||
* - The message-queue pallet handles actual execution with weight limits
|
||||
* - Messages can be temporarily or permanently overweight
|
||||
*
|
||||
* ## Key Components
|
||||
*
|
||||
* ### Relay Chain Pallets
|
||||
* - `dmp`: Manages downward message queues and delivery fees
|
||||
* - `inclusion`: Handles teyrchain block validation and UMP message reception
|
||||
* - `message-queue`: Generic message queue processor for various origins (UMP, DMP, HRMP)
|
||||
*
|
||||
* ### Teyrchain Pallets
|
||||
* - `teyrchain-system`: Manages UMP message sending and DMP message reception
|
||||
* - `message-queue`: Processes received DMP messages (and other message types)
|
||||
*
|
||||
* ## Storage Layout
|
||||
*
|
||||
* ### Relay Chain
|
||||
* - `Dmp::DownwardMessageQueues`: Map<ParaId, Vec<InboundDownwardMessage>>
|
||||
* - `Dmp::DeliveryFeeFactor`: Map<ParaId, FixedU128>
|
||||
* - Well-known keys for UMP queue sizes (relay_dispatch_queue_size)
|
||||
*
|
||||
* ### Teyrchain
|
||||
* - `TeyrchainSystem::PendingUpwardMessages`: Vec<UpwardMessage>
|
||||
* - `TeyrchainSystem::UpwardMessages`: Vec<UpwardMessage> (cleared each block)
|
||||
* - `TeyrchainSystem::UpwardDeliveryFeeFactor`: FixedU128
|
||||
*
|
||||
* ## Message Queue Pallet
|
||||
*
|
||||
* The `message-queue` pallet is a generic, paginated message processor that:
|
||||
* - Stores messages in "books" organized by origin (e.g., Ump(ParaId), Dmp)
|
||||
* - Each book contains pages of messages to handle large message volumes efficiently
|
||||
* - Processes messages with strict weight limits to ensure block production
|
||||
* - Handles overweight messages that exceed processing limits
|
||||
* - Emits events for processed, overweight, and failed messages
|
||||
*
|
||||
* ## Bandwidth and Fee Management
|
||||
*
|
||||
* - Both DMP and UMP implement dynamic fee mechanisms
|
||||
* - Fees increase when queues grow large (deterring spam)
|
||||
* - Fees decrease when queues are small (encouraging usage)
|
||||
* - Bandwidth limits prevent any single teyrchain from monopolizing message passing
|
||||
*
|
||||
* ## VMP Message Limits and Risk Analysis
|
||||
*
|
||||
* There are 4 key categories of limits in the VMP system:
|
||||
*
|
||||
* ### 1. Single Message Size Limit
|
||||
*
|
||||
* **DMP (Downward):**
|
||||
* - Enforced at: `polkadot/runtime/teyrchains/src/dmp.rs:189` in `can_queue_downward_message()`
|
||||
* - Configuration: `max_downward_message_size`
|
||||
* - Check: Rejects if `serialized_len > config.max_downward_message_size`
|
||||
*
|
||||
* **UMP (Upward):**
|
||||
* - Teyrchain enforcement: `cumulus/pallets/teyrchain-system/src/lib.rs:1665` in `send_upward_message()`
|
||||
* - Relay validation: `polkadot/runtime/teyrchains/src/inclusion/mod.rs:967` in `check_upward_messages()`
|
||||
* - Configuration: `max_upward_message_size` (hard bound: 128KB defined as MAX_UPWARD_MESSAGE_SIZE_BOUND)
|
||||
*
|
||||
* ### 2. Queue Total Size (Bytes)
|
||||
*
|
||||
* **DMP:**
|
||||
* - Max capacity: `MAX_POSSIBLE_ALLOCATION / max_downward_message_size`
|
||||
* - Calculated in: `polkadot/runtime/teyrchains/src/dmp.rs:318-319` in `dmq_max_length()`
|
||||
* - Enforced at: `polkadot/runtime/teyrchains/src/dmp.rs:194` in `can_queue_downward_message()`
|
||||
*
|
||||
* **UMP:**
|
||||
* - Teyrchain check: `cumulus/pallets/teyrchain-system/src/lib.rs:369-373` (respects relay's remaining capacity)
|
||||
* - Relay limit: `max_upward_queue_size` enforced at `polkadot/runtime/teyrchains/src/inclusion/mod.rs:977-980`
|
||||
*
|
||||
* ### 3. Queue Total Count (Messages)
|
||||
*
|
||||
* **DMP:**
|
||||
* - No explicit total message count limit
|
||||
* - Only implicitly limited by total queue size
|
||||
*
|
||||
* **UMP:**
|
||||
* - Relay limit: `max_upward_queue_count` at `polkadot/runtime/teyrchains/src/inclusion/mod.rs:958-961`
|
||||
* - Teyrchain respects relay's `remaining_count` from `relay_dispatch_queue_remaining_capacity`
|
||||
*
|
||||
* ### 4. Per-Block Append Limit
|
||||
*
|
||||
* **DMP:**
|
||||
* - No explicit per-block limit for senders
|
||||
* - Receivers process up to `processed_downward_messages` per block
|
||||
*
|
||||
* **UMP:**
|
||||
* - Configuration: `max_upward_message_num_per_candidate`
|
||||
* - Teyrchain limit: `cumulus/pallets/teyrchain-system/src/lib.rs:386` in `on_finalize()`
|
||||
* - Relay validation: `polkadot/runtime/teyrchains/src/inclusion/mod.rs:949-952`
|
||||
* - Max bound: 16,384 messages (MAX_UPWARD_MESSAGE_NUM in `polkadot/teyrchain/src/primitives.rs:436`)
|
||||
*
|
||||
* ### Receiver-side Risk: Weight Exhaustion
|
||||
*
|
||||
* Both DMP and UMP messages are processed through the message-queue pallet:
|
||||
* - Weight check: bizinikiwi/frame/message-queue/src/lib.rs:1591 in `process_message_payload()`
|
||||
* - Messages exceeding `overweight_limit` are marked as overweight
|
||||
* - Configuration: `ServiceWeight` and `IdleMaxServiceWeight`
|
||||
* - Overweight handling: Permanently overweight messages require manual execution via `execute_overweight()`
|
||||
*
|
||||
* **Key Insight**: DMP is less restrictive with only size-based limits, while UMP implements all four types of limits,
|
||||
* providing more granular control over message flow.
|
||||
*/
|
||||
|
||||
import { createClient, type PolkadotClient, type TypedApi } from "polkadot-api";
|
||||
import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat";
|
||||
import { getWsProvider } from "polkadot-api/ws-provider/web";
|
||||
import { rc, teyrchain } from "@polkadot-api/descriptors";
|
||||
import { logger } from "./utils";
|
||||
|
||||
interface MonitorOptions {
|
||||
relayPort: number;
|
||||
paraPort?: number;
|
||||
refreshInterval: number;
|
||||
paraId?: number;
|
||||
}
|
||||
|
||||
interface DmpQueueInfo {
|
||||
paraId: number;
|
||||
messageCount: number;
|
||||
totalSize: number;
|
||||
avgMessageSize: number;
|
||||
feeFactor: string;
|
||||
messages: Array<{
|
||||
size: number;
|
||||
sentAt: number;
|
||||
}>;
|
||||
}
|
||||
|
||||
interface UmpQueueInfo {
|
||||
paraId: number;
|
||||
relayQueueCount: number;
|
||||
relayQueueSize: number;
|
||||
pendingCount?: number;
|
||||
pendingSize?: number;
|
||||
}
|
||||
|
||||
interface MessageStats {
|
||||
dmp: {
|
||||
totalQueues: number;
|
||||
totalMessages: number;
|
||||
totalSize: number;
|
||||
avgMessagesPerQueue: number;
|
||||
avgSizePerMessage: number;
|
||||
queues: DmpQueueInfo[];
|
||||
};
|
||||
ump: {
|
||||
totalParas: number;
|
||||
totalMessages: number;
|
||||
totalSize: number;
|
||||
queues: UmpQueueInfo[];
|
||||
};
|
||||
}
|
||||
|
||||
export async function monitorVmpQueues(options: MonitorOptions): Promise<void> {
|
||||
const relayWsUrl = `ws://127.0.0.1:${options.relayPort}`;
|
||||
const paraWsUrl = options.paraPort ? `ws://127.0.0.1:${options.paraPort}` : null;
|
||||
|
||||
logger.info(`🚀 Connecting to relay chain at ${relayWsUrl}`);
|
||||
if (paraWsUrl) {
|
||||
logger.info(`🚀 Connecting to teyrchain at ${paraWsUrl}`);
|
||||
}
|
||||
logger.info(`📊 Monitoring VMP queues${options.paraId ? ` for teyrchain ${options.paraId}` : ' for all teyrchains'}`);
|
||||
logger.info(`⏱️ Refresh interval: ${options.refreshInterval}s`);
|
||||
logger.info("");
|
||||
|
||||
try {
|
||||
// Connect to relay chain
|
||||
const relayWsProvider = getWsProvider(relayWsUrl);
|
||||
const relayClient = createClient(withPolkadotSdkCompat(relayWsProvider));
|
||||
const relayApi = relayClient.getTypedApi(rc);
|
||||
|
||||
// Test relay connection
|
||||
const relayChainSpec = await relayClient.getChainSpecData();
|
||||
logger.info(`✅ Connected to relay chain: ${relayChainSpec.name}`);
|
||||
|
||||
// Connect to teyrchain if port provided
|
||||
let paraClient: PolkadotClient | null = null;
|
||||
let paraApi: any | null = null;
|
||||
if (paraWsUrl) {
|
||||
const paraWsProvider = getWsProvider(paraWsUrl);
|
||||
paraClient = createClient(withPolkadotSdkCompat(paraWsProvider));
|
||||
// Use teyrchain descriptor for the teyrchain API
|
||||
paraApi = paraClient.getTypedApi(teyrchain);
|
||||
|
||||
const paraChainSpec = await paraClient.getChainSpecData();
|
||||
logger.info(`✅ Connected to teyrchain: ${paraChainSpec.name}`);
|
||||
}
|
||||
|
||||
const version = await relayApi.constants.System.Version();
|
||||
logger.info(`Relay chain: ${version.spec_name} v${version.spec_version}`);
|
||||
logger.info("");
|
||||
|
||||
// Start monitoring loop
|
||||
while (true) {
|
||||
try {
|
||||
await displayMessageStatus(relayApi, paraApi, options.paraId);
|
||||
} catch (error) {
|
||||
logger.error("Error fetching message data:", error);
|
||||
}
|
||||
|
||||
await sleep(options.refreshInterval * 1000);
|
||||
|
||||
// Clear screen for next update
|
||||
if (process.stdout.isTTY) {
|
||||
process.stdout.write('\x1Bc');
|
||||
}
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
logger.error("Failed to initialize monitoring:", error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
async function displayMessageStatus(relayApi: TypedApi<typeof rc>, paraApi: any | null, specificParaId?: number): Promise<void> {
|
||||
const timestamp = new Date().toLocaleString();
|
||||
|
||||
console.log("╔═══════════════════════════════════════════════════════════════╗");
|
||||
console.log("║ Vertical Message Passing Monitor ║");
|
||||
console.log(`║ Last updated: ${timestamp.padEnd(45)} ║`);
|
||||
console.log("╚═══════════════════════════════════════════════════════════════╝");
|
||||
console.log();
|
||||
|
||||
try {
|
||||
const stats = await fetchMessageStats(relayApi, paraApi, specificParaId);
|
||||
|
||||
// Display DMP Statistics
|
||||
console.log("📥 DMP (Downward Message Passing) Statistics:");
|
||||
console.log(` Active Queues: ${stats.dmp.totalQueues}`);
|
||||
console.log(` Total Messages: ${stats.dmp.totalMessages}`);
|
||||
console.log(` Total Size: ${formatBytes(stats.dmp.totalSize)}`);
|
||||
if (stats.dmp.totalQueues > 0) {
|
||||
console.log(` Avg Messages/Queue: ${stats.dmp.avgMessagesPerQueue.toFixed(1)}`);
|
||||
}
|
||||
if (stats.dmp.totalMessages > 0) {
|
||||
console.log(` Avg Message Size: ${formatBytes(stats.dmp.avgSizePerMessage)}`);
|
||||
}
|
||||
console.log();
|
||||
|
||||
// Display UMP Statistics
|
||||
console.log("📤 UMP (Upward Message Passing) Statistics:");
|
||||
console.log(` Active Paras: ${stats.ump.totalParas}`);
|
||||
console.log(` Total Messages: ${stats.ump.totalMessages}`);
|
||||
console.log(` Total Size: ${formatBytes(stats.ump.totalSize)}`);
|
||||
console.log();
|
||||
|
||||
// Display DMP queue details
|
||||
if (stats.dmp.queues.length > 0) {
|
||||
console.log("📋 DMP Queue Details:");
|
||||
console.log("┌─────────────┬───────────┬─────────────┬─────────────┬─────────────┐");
|
||||
console.log("│ Para ID │ Messages │ Total Size │ Avg Size │ Fee Factor │");
|
||||
console.log("├─────────────┼───────────┼─────────────┼─────────────┼─────────────┤");
|
||||
|
||||
for (const queue of stats.dmp.queues.slice(0, 10)) {
|
||||
console.log(
|
||||
`│ ${queue.paraId.toString().padEnd(11)} │ ${queue.messageCount.toString().padEnd(9)} │ ${formatBytes(queue.totalSize).padEnd(11)} │ ${formatBytes(queue.avgMessageSize).padEnd(11)} │ ${queue.feeFactor.padEnd(11)} │`
|
||||
);
|
||||
}
|
||||
|
||||
console.log("└─────────────┴───────────┴─────────────┴─────────────┴─────────────┘");
|
||||
|
||||
if (stats.dmp.queues.length > 10) {
|
||||
console.log(`... and ${stats.dmp.queues.length - 10} more DMP queues`);
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
|
||||
// Display UMP queue details
|
||||
if (stats.ump.queues.length > 0) {
|
||||
console.log("📋 UMP Queue Details:");
|
||||
console.log("┌─────────────┬─────────────┬─────────────┬──────────────┬──────────────┐");
|
||||
console.log("│ Para ID │ Relay Msgs │ Relay Size │ Pending Msgs │ Pending Size │");
|
||||
console.log("├─────────────┼─────────────┼─────────────┼──────────────┼──────────────┤");
|
||||
|
||||
for (const queue of stats.ump.queues.slice(0, 10)) {
|
||||
const pendingStr = queue.pendingCount !== undefined ? queue.pendingCount.toString() : "N/A";
|
||||
const pendingSizeStr = queue.pendingSize !== undefined ? formatBytes(queue.pendingSize) : "N/A";
|
||||
console.log(
|
||||
`│ ${queue.paraId.toString().padEnd(11)} │ ${queue.relayQueueCount.toString().padEnd(11)} │ ${formatBytes(queue.relayQueueSize).padEnd(11)} │ ${pendingStr.padEnd(12)} │ ${pendingSizeStr.padEnd(12)} │`
|
||||
);
|
||||
}
|
||||
|
||||
console.log("└─────────────┴─────────────┴─────────────┴──────────────┴──────────────┘");
|
||||
|
||||
if (stats.ump.queues.length > 10) {
|
||||
console.log(`... and ${stats.ump.queues.length - 10} more UMP queues`);
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
|
||||
// Show most active queues
|
||||
const topDmpQueues = stats.dmp.queues
|
||||
.filter(q => q.messages.length > 0)
|
||||
.sort((a, b) => b.messageCount - a.messageCount)
|
||||
.slice(0, 3);
|
||||
|
||||
if (topDmpQueues.length > 0) {
|
||||
console.log("🔥 Most Active DMP Queues:");
|
||||
for (const queue of topDmpQueues) {
|
||||
console.log(` Para ${queue.paraId}: ${queue.messageCount} messages, latest at block ${Math.max(...queue.messages.map(m => m.sentAt))}`);
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
|
||||
// Warning thresholds
|
||||
const totalMessages = stats.dmp.totalMessages + stats.ump.totalMessages;
|
||||
const totalSize = stats.dmp.totalSize + stats.ump.totalSize;
|
||||
|
||||
if (totalMessages > 1000) {
|
||||
console.log("⚠️ WARNING: High message count detected!");
|
||||
}
|
||||
if (totalSize > 10 * 1024 * 1024) { // 10MB
|
||||
console.log("⚠️ WARNING: High memory usage detected!");
|
||||
}
|
||||
|
||||
// Note about teyrchain connection
|
||||
if (!paraApi && specificParaId) {
|
||||
console.log("ℹ️ Note: Connect to teyrchain with --para-port to see pending UMP messages");
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.log("❌ Error fetching message statistics:");
|
||||
console.log(` ${error}`);
|
||||
}
|
||||
|
||||
console.log();
|
||||
console.log("Press Ctrl+C to stop monitoring");
|
||||
console.log();
|
||||
}
|
||||
|
||||
async function fetchMessageStats(relayApi: TypedApi<typeof rc>, paraApi: any | null, specificParaId?: number): Promise<MessageStats> {
|
||||
// Fetch DMP stats from relay chain
|
||||
const [downwardMessageQueues, deliveryFeeFactors] = await Promise.all([
|
||||
relayApi.query.Dmp.DownwardMessageQueues.getEntries(),
|
||||
relayApi.query.Dmp.DeliveryFeeFactor.getEntries()
|
||||
]);
|
||||
|
||||
const dmpQueues: DmpQueueInfo[] = [];
|
||||
let dmpTotalMessages = 0;
|
||||
let dmpTotalSize = 0;
|
||||
|
||||
// Process DMP queues
|
||||
for (const { keyArgs: [paraId], value: messages } of downwardMessageQueues) {
|
||||
if (specificParaId !== undefined && paraId !== specificParaId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const messageCount = messages.length;
|
||||
if (messageCount === 0) continue;
|
||||
|
||||
const messageSizes = messages.map((msg) => {
|
||||
return msg.msg.asBytes().length
|
||||
});
|
||||
|
||||
const queueTotalSize = messageSizes.reduce((sum: number, size: number) => sum + size, 0);
|
||||
const avgMessageSize = messageCount > 0 ? queueTotalSize / messageCount : 0;
|
||||
|
||||
const feeFactorEntry = deliveryFeeFactors.find(entry => entry.keyArgs[0] === paraId);
|
||||
const feeFactorRaw = feeFactorEntry?.value || 1_000_000_000_000_000_000n;
|
||||
const feeFactorValue = typeof feeFactorRaw === 'bigint' ?
|
||||
Number(feeFactorRaw) / 1_000_000_000_000_000_000 :
|
||||
typeof feeFactorRaw === 'number' ?
|
||||
feeFactorRaw / 1_000_000_000_000_000_000 :
|
||||
1.0;
|
||||
const feeFactor = feeFactorValue.toFixed(6);
|
||||
|
||||
dmpQueues.push({
|
||||
paraId,
|
||||
messageCount,
|
||||
totalSize: queueTotalSize,
|
||||
avgMessageSize,
|
||||
feeFactor,
|
||||
messages: messages.map((msg: any, idx: number) => ({
|
||||
size: messageSizes[idx]!,
|
||||
sentAt: msg.sent_at || 0
|
||||
}))
|
||||
});
|
||||
|
||||
dmpTotalMessages += messageCount;
|
||||
dmpTotalSize += queueTotalSize;
|
||||
}
|
||||
|
||||
// Sort DMP queues by message count
|
||||
dmpQueues.sort((a, b) => b.messageCount - a.messageCount);
|
||||
|
||||
// Fetch UMP stats
|
||||
const umpQueues: UmpQueueInfo[] = [];
|
||||
let umpTotalMessages = 0;
|
||||
let umpTotalSize = 0;
|
||||
|
||||
// Only check UMP for specified paraId when monitoring a specific teyrchain
|
||||
const paraIds = specificParaId ? [specificParaId] : [];
|
||||
|
||||
for (const paraId of paraIds) {
|
||||
try {
|
||||
// Try to get the relay dispatch queue size from well-known key
|
||||
// This is stored by the inclusion pallet when processing UMP messages
|
||||
const wellKnownKey = `0x` +
|
||||
`3a6865617070616765735f73746f726167653a` + // :heappages_storage:
|
||||
`0000` + // twox128("Teyrchains")
|
||||
`0000` + // twox128("RelayDispatchQueueSize")
|
||||
`0000` + // twox64(paraId) - simplified, would need proper encoding
|
||||
paraId.toString(16).padStart(8, '0');
|
||||
|
||||
// For now, we'll check if the para has any activity in message queue
|
||||
// This is a simplified approach - in production you'd query the actual storage
|
||||
const umpQueueInfo: UmpQueueInfo = {
|
||||
paraId,
|
||||
relayQueueCount: 0,
|
||||
relayQueueSize: 0
|
||||
};
|
||||
|
||||
// If we have teyrchain connection and it matches our paraId, get pending messages
|
||||
if (paraApi && paraId === specificParaId) {
|
||||
try {
|
||||
const pendingMessages = await paraApi.query.TeyrchainSystem.PendingUpwardMessages();
|
||||
if (pendingMessages) {
|
||||
umpQueueInfo.pendingCount = pendingMessages.length;
|
||||
umpQueueInfo.pendingSize = pendingMessages.reduce((sum: number, msg: any) => {
|
||||
return sum + (Array.isArray(msg) ? msg.length : 0);
|
||||
}, 0);
|
||||
}
|
||||
} catch (error) {
|
||||
// Teyrchain might not have this storage item
|
||||
}
|
||||
}
|
||||
|
||||
// Only add if there's any activity
|
||||
if (umpQueueInfo.relayQueueCount > 0 || umpQueueInfo.pendingCount) {
|
||||
umpQueues.push(umpQueueInfo);
|
||||
umpTotalMessages += umpQueueInfo.relayQueueCount + (umpQueueInfo.pendingCount || 0);
|
||||
umpTotalSize += umpQueueInfo.relayQueueSize + (umpQueueInfo.pendingSize || 0);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
// Continue with next para if this one fails
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
dmp: {
|
||||
totalQueues: dmpQueues.length,
|
||||
totalMessages: dmpTotalMessages,
|
||||
totalSize: dmpTotalSize,
|
||||
avgMessagesPerQueue: dmpQueues.length > 0 ? dmpTotalMessages / dmpQueues.length : 0,
|
||||
avgSizePerMessage: dmpTotalMessages > 0 ? dmpTotalSize / dmpTotalMessages : 0,
|
||||
queues: dmpQueues
|
||||
},
|
||||
ump: {
|
||||
totalParas: umpQueues.length,
|
||||
totalMessages: umpTotalMessages,
|
||||
totalSize: umpTotalSize,
|
||||
queues: umpQueues
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function formatBytes(bytes: number): string {
|
||||
if (bytes === 0) return '0 B';
|
||||
|
||||
const k = 1024;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB'];
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
|
||||
}
|
||||
|
||||
function sleep(ms: number): Promise<void> {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
import { Chain, Observe } from "../src/test-case";
|
||||
import { logger, nullifySigned, nullifyUnsigned, type ApiDeclarations } from "../src/utils";
|
||||
|
||||
// An unsigned solution scenario:
|
||||
//
|
||||
// When no staking-miner is running (and for simplicity the signed phase is also set to zero). We
|
||||
// expect an unsigned solution to successfullly proceed and submit a solution with `minerPages` out
|
||||
// of the total `pages`.
|
||||
export function commonUnsignedSteps(
|
||||
expectedValidatorSetCount: number,
|
||||
minerPages: number,
|
||||
pages: number,
|
||||
doNullifySigned: boolean,
|
||||
apis: ApiDeclarations
|
||||
): Observe[] {
|
||||
return [
|
||||
// first relay session change at block 11
|
||||
Observe.on(Chain.Relay, "Session", "NewSession").byBlock(11),
|
||||
// by block 10 we will plan a new era
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated")
|
||||
.withDataCheck((x: any) => x.active_era == 0 && x.planned_era == 1)
|
||||
.onPass(() => {
|
||||
if (doNullifySigned) {
|
||||
nullifySigned(apis.paraApi).then((ok) => {
|
||||
logger.verbose("Nullified signed phase:", ok);
|
||||
});
|
||||
}
|
||||
}),
|
||||
// eventually we will verify all pages
|
||||
...Array.from({ length: minerPages }, (_, __) => {
|
||||
return Observe.on(Chain.Teyrchain, "MultiBlockElectionVerifier", "Verified");
|
||||
}),
|
||||
// eventually it will be queued
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionVerifier", "Queued"),
|
||||
// eventually multiblock election will transition to `Done`
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElection", "PhaseTransitioned").withDataCheck(
|
||||
(x: any) => x.to.type === "Done"
|
||||
),
|
||||
// eventually we will export all 4 pages to staking
|
||||
// export events.
|
||||
...Array.from({ length: pages }, (_, __) => {
|
||||
return Observe.on(Chain.Teyrchain, "Staking", "PagedElectionProceeded");
|
||||
}),
|
||||
// eventually multiblock goes back to `Off`
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElection", "PhaseTransitioned").withDataCheck(
|
||||
(x: any) => x.to.type === "Off"
|
||||
),
|
||||
// eventually we will send it back to RC
|
||||
Observe.on(Chain.Relay, "StakingAhClient", "ValidatorSetReceived").withDataCheck(
|
||||
(x: any) => x.id === 1 && x.new_validator_set_count === expectedValidatorSetCount
|
||||
),
|
||||
Observe.on(Chain.Relay, "Session", "NewQueued"),
|
||||
// eventually we will receive a session report back in AH with activation timestamp
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "SessionReportReceived").withDataCheck(
|
||||
(x) => x.activation_timestamp !== undefined
|
||||
),
|
||||
// eventually we will have era paid (inflation)
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPaid"),
|
||||
].map((s) => s.build());
|
||||
}
|
||||
|
||||
// A signed solution scenario.
|
||||
//
|
||||
// This test expect you to call `spawnMiner` in the final test code. A full solution of `pages` is
|
||||
// expected to be submitted.
|
||||
export function commonSignedSteps(
|
||||
pages: number,
|
||||
expectedValidatorSetCount: number,
|
||||
apis: ApiDeclarations
|
||||
): Observe[] {
|
||||
return [
|
||||
// first relay session change at block 11
|
||||
Observe.on(Chain.Relay, "Session", "NewSession").byBlock(11),
|
||||
// by block 10 we will plan a new era
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated")
|
||||
.withDataCheck((x: any) => x.active_era == 0 && x.planned_era == 1)
|
||||
.onPass(() => {
|
||||
nullifyUnsigned(apis.paraApi).then((ok) => {
|
||||
logger.verbose("Nullified unsigned phase:", ok);
|
||||
});
|
||||
}),
|
||||
|
||||
// Eventually a signed submission is registered...
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionSigned", "Registered"),
|
||||
// ... and exact number of pages are generated
|
||||
...Array.from({ length: pages }, () =>
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionSigned", "Stored")
|
||||
),
|
||||
// ... and exact number of pages are verified
|
||||
...Array.from({ length: pages }, () =>
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionVerifier", "Verified")
|
||||
),
|
||||
// eventually it will be queued
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionVerifier", "Queued"),
|
||||
// eventually the signed submitter is rewarded.
|
||||
// TODO: check rewarded account is Bob
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElectionSigned", "Rewarded"),
|
||||
// eventually multiblock election will transition to `Done`
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElection", "PhaseTransitioned").withDataCheck(
|
||||
(x: any) => x.to.type === "Done"
|
||||
),
|
||||
// eventually we will export all pages.
|
||||
...Array.from({ length: pages }, () =>
|
||||
Observe.on(Chain.Teyrchain, "Staking", "PagedElectionProceeded")
|
||||
),
|
||||
// eventually multiblock goes back to `Off`
|
||||
Observe.on(Chain.Teyrchain, "MultiBlockElection", "PhaseTransitioned").withDataCheck(
|
||||
(x: any) => x.to.type === "Off"
|
||||
),
|
||||
// eventually we will send it back to RC
|
||||
Observe.on(Chain.Relay, "StakingAhClient", "ValidatorSetReceived").withDataCheck(
|
||||
(x: any) => x.id === 1 && x.new_validator_set_count === expectedValidatorSetCount
|
||||
),
|
||||
Observe.on(Chain.Relay, "Session", "NewQueued"),
|
||||
// eventually we will receive a session report back in AH with activation timestamp
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "SessionReportReceived").withDataCheck(
|
||||
(x) => x.activation_timestamp !== undefined
|
||||
),
|
||||
// eventually we will have era paid (inflation)
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPaid"),
|
||||
].map((s) => s.build());
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout, logger, nullifySigned } from "../src/utils";
|
||||
|
||||
/// This is the preset against which your test will run. See the README or `PResets` for more info.
|
||||
const PRESET: Presets = Presets.FakeKsm;
|
||||
|
||||
test(
|
||||
`example test with preset ${PRESET}`,
|
||||
async () => {
|
||||
/// We run the test with our defined preset.
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
/// Grab PAPI Apis to both relay and teyrchain instance of the ZN.
|
||||
const apis = await getApis();
|
||||
|
||||
// Our test is defined here. We expect a sequence of events to be observed in RC or
|
||||
// Teyrchain. The events that we can observe are defined in `test-case.ts`'s `runTest`. In
|
||||
// short, they are all of the events related to staking.
|
||||
const testCase = new TestCase(
|
||||
[
|
||||
Observe.on(Chain.Relay, "Session", "NewSession")
|
||||
// An event can be expected to happen by a certain block
|
||||
.byBlock(11)
|
||||
// And it can execute a callback when it passes.
|
||||
.onPass(() => {
|
||||
logger.verbose("New session observed on relay chain");
|
||||
})
|
||||
// and we can check the data of the event.
|
||||
.withDataCheck((x: any) => {
|
||||
logger.verbose("shall we check the data? maybe", x);
|
||||
return true
|
||||
}),
|
||||
// add more `Observe`s here
|
||||
].map((s) => s.build()),
|
||||
// Passing this to true will allow events to be _interleaved_. If set to `false`, the
|
||||
// above sequence of events are expected to happen in a strict order. If `true`, the
|
||||
// events of each `Chain` must happen in a strict order, but intra-chain events can come
|
||||
// in any order. For example, assume we have the following 4 observes in our test case:
|
||||
// 1. Observe.on(Chain.Relay, "Module", "Event1")
|
||||
// 2. Observe.on(Chain.Relay, "Module", "Event2")
|
||||
// 3. Observe.on(Chain.Para, "Module", "Event3")
|
||||
// 4. Observe.on(Chain.Para, "Module", "Event4")
|
||||
//
|
||||
// Without interleaving, 1 -> 4 has to be observed as-is.
|
||||
//
|
||||
// With interleaving, at any point in time, the first unobserved event of each chain
|
||||
// type is acceptable. For example, the following is valid:
|
||||
//
|
||||
// 3 -> 1 -> 4 -> 2
|
||||
//
|
||||
// In some sense, with `interleave = true`, we break apart the test case into two stacks
|
||||
// that need to be popped in order, while in interleave = false, it is one stack.
|
||||
true,
|
||||
// Something to happen when the test is over. Always kill ZN, and any other processes
|
||||
// you might spawn.
|
||||
() => {
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,52 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched, spawnMiner } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout, logger, nullifyUnsigned } from "../src/utils";
|
||||
import { commonSignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDot;
|
||||
|
||||
test(
|
||||
`pruning era with signed (full solution) on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
const killMiner = await spawnMiner();
|
||||
|
||||
// This test has no real assertions. Change the `HistoryDepth` to 1 in the runtime, run it,
|
||||
// and observe the logs and PoV sizes.
|
||||
const steps = [
|
||||
// first relay session change at block 11
|
||||
Observe.on(Chain.Relay, "Session", "NewSession").byBlock(11)
|
||||
.onPass(() => {
|
||||
nullifyUnsigned(apis.paraApi).then((ok) => {
|
||||
logger.verbose("Nullified signed phase:", ok);
|
||||
});
|
||||
}),
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPruned")
|
||||
.withDataCheck((x) => x.index == 0),
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPruned")
|
||||
.withDataCheck((x) => x.index == 1),
|
||||
// Observe.on(Chain.Teyrchain, "Staking", "EraPruned")
|
||||
// .withDataCheck((x) => x.index == 2),
|
||||
// Observe.on(Chain.Teyrchain, "Staking", "EraPruned")
|
||||
// .withDataCheck((x) => x.index == 3),
|
||||
// Observe.on(Chain.Teyrchain, "Staking", "EraPruned")
|
||||
// .withDataCheck((x) => x.index == 4),
|
||||
].map((s) => s.build())
|
||||
|
||||
const testCase = new TestCase(
|
||||
steps,
|
||||
true,
|
||||
() => {
|
||||
killMiner();
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout * 10 }
|
||||
);
|
||||
@@ -0,0 +1,32 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched, spawnMiner } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import {
|
||||
getApis,
|
||||
GlobalTimeout,
|
||||
} from "../src/utils";
|
||||
import { commonSignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDev;
|
||||
test(
|
||||
`signed solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
const killMiner = await spawnMiner();
|
||||
|
||||
const testCase = new TestCase(
|
||||
commonSignedSteps(4, 10, apis),
|
||||
true,
|
||||
() => {
|
||||
killMiner();
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,30 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched, spawnMiner } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout} from "../src/utils";
|
||||
import { commonSignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDot;
|
||||
|
||||
test(
|
||||
`signed solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
const killMiner = await spawnMiner();
|
||||
|
||||
const testCase = new TestCase(
|
||||
commonSignedSteps(32, 500, apis),
|
||||
true,
|
||||
() => {
|
||||
killMiner();
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,30 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched, spawnMiner } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout } from "../src/utils";
|
||||
import { commonSignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeKsm;
|
||||
|
||||
test(
|
||||
`signed solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
const killMiner = await spawnMiner();
|
||||
|
||||
const testCase = new TestCase(
|
||||
commonSignedSteps(16, 1000, apis),
|
||||
true,
|
||||
() => {
|
||||
killMiner();
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,103 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { alice, getApis, GlobalTimeout, logger, nullifySigned, aliceStash } from "../src/utils";
|
||||
|
||||
// Note the `RealM` preset as this test MUST run with enough validators such that we can disable one.
|
||||
const PRESET: Presets = Presets.RealM;
|
||||
|
||||
test(
|
||||
`slashing with disabling on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
let aliceExposedNominators = 0;
|
||||
let pages = 0;
|
||||
|
||||
const steps = [
|
||||
// first relay session change at block 11
|
||||
Observe.on(Chain.Relay, "Session", "NewSession").byBlock(11),
|
||||
// eventually AH will will be instructed to plan a new session.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated")
|
||||
.withDataCheck((x: any) => x.active_era == 0 && x.planned_era == 1)
|
||||
.onPass(() => {
|
||||
nullifySigned(apis.paraApi);
|
||||
}),
|
||||
// Eventually we will receive an activation timestamp in AH, meaning the first era was complete.
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "SessionReportReceived")
|
||||
.withDataCheck((x) => x.activation_timestamp !== undefined)
|
||||
.onPass(() => {
|
||||
// upon completion, submit a slash to rc
|
||||
logger.info("Submitting slash to RC");
|
||||
const call = apis.rcApi.tx.RootOffences.create_offence({
|
||||
offenders: [
|
||||
// alice//Stash, 50%, which will cause any disabling. See `DisablingStrategy` in `./runtimes/teyrchain`.
|
||||
[aliceStash, 500000000],
|
||||
],
|
||||
maybe_identifications: undefined,
|
||||
maybe_session_index: undefined,
|
||||
}).decodedCall;
|
||||
apis.rcApi.tx.Sudo.sudo({ call })
|
||||
.signAndSubmit(alice)
|
||||
.then((res: any) => {
|
||||
logger.verbose("Slash submission result:", res.ok);
|
||||
});
|
||||
}),
|
||||
// we will receive the root offence event
|
||||
Observe.on(Chain.Relay, "RootOffences", "OffenceCreated"),
|
||||
// Session pallet has insta-disabled this validator.
|
||||
Observe.on(Chain.Relay, "Session", "ValidatorDisabled").withDataCheck(
|
||||
(x: any) => x.validator === aliceStash
|
||||
),
|
||||
|
||||
// Rest of the events are the same as in the non-disabling test.
|
||||
|
||||
// eventually we will receive an offence in the teyrchain, first the rc-client
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "OffenceReceived").withDataCheck(
|
||||
(x: any) => x.offences_count === 1
|
||||
),
|
||||
// then staking
|
||||
Observe.on(Chain.Teyrchain, "Staking", "OffenceReported")
|
||||
.withDataCheck((x: any) => x.offence_era === 1 && x.fraction === 500000000)
|
||||
.onPass(async () => {
|
||||
// let's calculate how many pages of exposure alice has -- this will impact the number of next events.
|
||||
const overview = await apis.paraApi.query.Staking.ErasStakersOverview.getValue(
|
||||
1,
|
||||
aliceStash
|
||||
);
|
||||
pages = overview?.page_count || 0;
|
||||
aliceExposedNominators = overview?.nominator_count || 0;
|
||||
// TODO: lazily create the `Slashed` and `SlashComputed` based on this
|
||||
logger.verbose(
|
||||
`Alice has ${aliceExposedNominators} exposed nominators (${pages}) whom we expect to slash later`
|
||||
);
|
||||
}),
|
||||
|
||||
// then staking will calculate the slashes, we only check 1 page
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SlashComputed").withDataCheck(
|
||||
(x: any) => x.page === 0
|
||||
),
|
||||
|
||||
// staking will eventually bump to active era 2, where slashes will be applied.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPaid"),
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated").withDataCheck(
|
||||
(x: any) => x.active_era === 2
|
||||
),
|
||||
|
||||
// staking will apply slashes, we only check one slash.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "Slashed"),
|
||||
];
|
||||
const testCase = new TestCase(
|
||||
steps.map((s) => s.build()),
|
||||
true,
|
||||
() => {
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { alice, getApis, GlobalTimeout, logger, nullifySigned, aliceStash } from "../src/utils";
|
||||
|
||||
const PRESET: Presets = Presets.RealS;
|
||||
|
||||
test(
|
||||
`slashing without disabling on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
let aliceExposedNominators = 0;
|
||||
let pages = 0;
|
||||
|
||||
const steps = [
|
||||
// first relay session change at block 11
|
||||
Observe.on(Chain.Relay, "Session", "NewSession").byBlock(11),
|
||||
// eventually AH will will be instructed to plan a new session.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated")
|
||||
.withDataCheck((x: any) => x.active_era == 0 && x.planned_era == 1)
|
||||
.onPass(() => {
|
||||
nullifySigned(apis.paraApi);
|
||||
}),
|
||||
// Eventually we will receive an activation timestamp in AH, meaning the first era was complete.
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "SessionReportReceived")
|
||||
.withDataCheck((x) => x.activation_timestamp !== undefined)
|
||||
.onPass(() => {
|
||||
// upon completion, submit a slash to rc
|
||||
logger.info("Submitting slash to RC");
|
||||
const call = apis.rcApi.tx.RootOffences.create_offence({
|
||||
offenders: [
|
||||
// alice//Stash, 10%, which will NOT cause any disabling. See `DisablingStrategy` in `./runtimes/teyrchain`.
|
||||
[aliceStash, 100000000],
|
||||
],
|
||||
maybe_identifications: undefined,
|
||||
maybe_session_index: undefined,
|
||||
}).decodedCall;
|
||||
apis.rcApi.tx.Sudo.sudo({ call })
|
||||
.signAndSubmit(alice)
|
||||
.then((res: any) => {
|
||||
logger.verbose("Slash submission result:", res.ok);
|
||||
});
|
||||
}),
|
||||
// we will receive the root offence event
|
||||
Observe.on(Chain.Relay, "RootOffences", "OffenceCreated"),
|
||||
|
||||
// eventually we will receive an offence in the teyrchain, first the rc-client
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "OffenceReceived").withDataCheck(
|
||||
(x: any) => x.offences_count === 1
|
||||
),
|
||||
// then staking
|
||||
Observe.on(Chain.Teyrchain, "Staking", "OffenceReported")
|
||||
.withDataCheck((x: any) => x.offence_era === 1 && x.fraction === 100000000)
|
||||
.onPass(async () => {
|
||||
// let's calculate how many pages of exposure alice has -- this will impact the number of next events.
|
||||
const overview = await apis.paraApi.query.Staking.ErasStakersOverview.getValue(
|
||||
1,
|
||||
aliceStash
|
||||
);
|
||||
pages = overview?.page_count || 0;
|
||||
aliceExposedNominators = overview?.nominator_count || 0;
|
||||
// TODO: lazily create the `Slashed` and `SlashComputed` based on this
|
||||
logger.verbose(
|
||||
`Alice has ${aliceExposedNominators} exposed nominators (${pages}) whom we expect to slash later`
|
||||
);
|
||||
}),
|
||||
|
||||
// then staking will calculate the slasheh, we only check 1 page
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SlashComputed").withDataCheck(
|
||||
(x: any) => x.page === 0
|
||||
),
|
||||
|
||||
// staking will eventually bump to active era 2, where slashes will be applied.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "EraPaid"),
|
||||
Observe.on(Chain.Teyrchain, "Staking", "SessionRotated").withDataCheck(
|
||||
(x: any) => x.active_era === 2
|
||||
),
|
||||
|
||||
// staking will apply slashes, we only check one slash.
|
||||
Observe.on(Chain.Teyrchain, "Staking", "Slashed"),
|
||||
];
|
||||
const testCase = new TestCase(
|
||||
steps.map((s) => s.build()),
|
||||
true,
|
||||
() => {
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,97 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { alice, getApis, GlobalTimeout, logger, nullifySigned, aliceStash, derivePubkeyFrom, ss58 } from "../src/utils";
|
||||
|
||||
const PRESET: Presets = Presets.RealS;
|
||||
|
||||
test(
|
||||
`slashing spam test on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
// total number of offences to send.
|
||||
const target = 1000;
|
||||
// the size of each batch.
|
||||
const batchSize = 100;
|
||||
const numBatches = Math.ceil(target / batchSize);
|
||||
let sent = 0;
|
||||
let received = 0;
|
||||
// onchain-page-size for offence queueing in RC is 50, so we expect 20 pages for 1000 offences.
|
||||
|
||||
const steps = [
|
||||
// first relay session change at block 11, just a sanity check
|
||||
Observe.on(Chain.Relay, "Session", "NewSession")
|
||||
.byBlock(11)
|
||||
.onPass(async () => {
|
||||
logger.info(`Submitting ${target} offences in batches of ${batchSize}`);
|
||||
|
||||
// Calculate number of batches needed
|
||||
|
||||
let nonce = await apis.rcApi.apis.AccountNonceApi.account_nonce(ss58(alice.publicKey));
|
||||
logger.info(`Alice nonce at start: ${nonce}`);
|
||||
|
||||
for (let batchIndex = 0; batchIndex < numBatches; batchIndex++) {
|
||||
const start = batchIndex * batchSize;
|
||||
const end = Math.min(start + batchSize, target);
|
||||
const currentBatchSize = end - start;
|
||||
|
||||
logger.info(`Processing batch ${batchIndex + 1}/${numBatches}: offences ${start} to ${end - 1}`);
|
||||
|
||||
// Create batch of offence calls
|
||||
const offenceCalls = Array.from({ length: currentBatchSize }, (_, i) => {
|
||||
const offenceIndex = start + i;
|
||||
logger.debug(`Preparing offence ${offenceIndex}: ${derivePubkeyFrom(`//${offenceIndex}`)}`);
|
||||
|
||||
return apis.rcApi.tx.RootOffences.report_offence({
|
||||
offences: [[
|
||||
[derivePubkeyFrom(`//${offenceIndex}`), { total: BigInt(0), own: BigInt(0), others: [] }],
|
||||
0, // session index
|
||||
BigInt(offenceIndex), // time slot, each being unique
|
||||
100000000 // slash ppm
|
||||
]]
|
||||
}).decodedCall;
|
||||
});
|
||||
|
||||
// Submit this batch as a single transaction
|
||||
try {
|
||||
const batchCall = apis.rcApi.tx.Utility.force_batch({ calls: offenceCalls }).decodedCall;
|
||||
const result = apis.rcApi.tx.Sudo.sudo({ call: batchCall })
|
||||
.signAndSubmit(alice, { at: "best", nonce: nonce });
|
||||
|
||||
logger.info(`Batch ${batchIndex + 1} submitted`);
|
||||
nonce += 1;
|
||||
sent += currentBatchSize;
|
||||
|
||||
} catch (error) {
|
||||
logger.error(`Batch ${batchIndex + 1} failed:`, error);
|
||||
// Continue with next batch even if this one fails
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
// in the meantime, we expect to see on the AH side:
|
||||
...Array.from({ length: 20 }, (_, __) =>
|
||||
Observe.on(Chain.Teyrchain, "StakingRcClient", "OffenceReceived").withDataCheck((x) => {
|
||||
received += x.offences_count;
|
||||
return true
|
||||
}),
|
||||
),
|
||||
];
|
||||
|
||||
const testCase = new TestCase(
|
||||
steps.map((s) => s.build()),
|
||||
true,
|
||||
() => {
|
||||
logger.info(`Test completed. Created ${sent} offences, processed ${received} in teyrchain`);
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
expect(sent).toEqual(received);
|
||||
},
|
||||
{ timeout: GlobalTimeout * 2 } // Double timeout for this complex test
|
||||
);
|
||||
@@ -0,0 +1,26 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout} from "../src/utils";
|
||||
import { commonUnsignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDev;
|
||||
|
||||
test(
|
||||
`unsigned solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
|
||||
const apis = await getApis();
|
||||
const steps = commonUnsignedSteps(10, 4, 4, false, apis);
|
||||
|
||||
const testCase = new TestCase(steps, true, () => {
|
||||
killZn();
|
||||
});
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,33 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout } from "../src/utils";
|
||||
import { commonUnsignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDot;
|
||||
|
||||
test(
|
||||
`unsigned solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
|
||||
const expectedValidatorSetCount = await apis.paraApi.query.Staking.ValidatorCount.getValue();
|
||||
const pages = 32;
|
||||
const minerPages = 4;
|
||||
const steps = commonUnsignedSteps(expectedValidatorSetCount, minerPages, pages, true, apis);
|
||||
|
||||
const testCase = new TestCase(
|
||||
steps,
|
||||
true,
|
||||
() => {
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,33 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { EventOutcome, runTest, TestCase } from "../src/test-case";
|
||||
import { getApis, GlobalTimeout } from "../src/utils";
|
||||
import { commonUnsignedSteps } from "./common";
|
||||
|
||||
const PRESET: Presets = Presets.FakeKsm;
|
||||
|
||||
test(
|
||||
`unsigned solution on ${PRESET}`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
const apis = await getApis();
|
||||
|
||||
const expectedValidatorSetCount = await apis.paraApi.query.Staking.ValidatorCount.getValue();
|
||||
const pages = 16;
|
||||
const minerPages = 4;
|
||||
const steps = commonUnsignedSteps(expectedValidatorSetCount, minerPages, pages, true, apis);
|
||||
|
||||
const testCase = new TestCase(
|
||||
steps,
|
||||
true,
|
||||
() => {
|
||||
killZn();
|
||||
}
|
||||
);
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,243 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { Presets } from "../src";
|
||||
import { runPresetUntilLaunched } from "../src/cmd";
|
||||
import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case";
|
||||
import { alice, aliceStash, deriveFrom, getApis, GlobalTimeout, logger, safeJsonStringify, ss58, type ApiDeclarations } from "../src/utils";
|
||||
import { DEV_PHRASE } from "@polkadot-labs/hdkd-helpers";
|
||||
import { FixedSizeBinary, type PolkadotSigner, type TxCall, type TxCallData, type TypedApi } from "polkadot-api";
|
||||
import { teyrchain, rc } from "@polkadot-api/descriptors";
|
||||
|
||||
const PRESET: Presets = Presets.FakeDev;
|
||||
|
||||
async function sendUp(api: TypedApi<typeof teyrchain>, count: number) {
|
||||
const calls: TxCallData[] = [];
|
||||
const ed = await api.constants.Balances.ExistentialDeposit();
|
||||
for (let i = 0; i < count; i++) {
|
||||
const account = deriveFrom(DEV_PHRASE, `//up_${i}`);
|
||||
const endowment = BigInt(1000) * ed;
|
||||
const teleport = endowment / BigInt(10);
|
||||
|
||||
const forceSetBalance = api.tx.Balances.force_set_balance({
|
||||
new_free: endowment,
|
||||
who: { type: "Id", value: ss58(account.publicKey) }
|
||||
});
|
||||
|
||||
const xcm = api.tx.PolkadotXcm.teleport_assets({
|
||||
dest: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 1,
|
||||
interior: {
|
||||
type: "Here",
|
||||
value: undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
beneficiary: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 0,
|
||||
interior: {
|
||||
type: "X1",
|
||||
value: {
|
||||
type: "AccountId32",
|
||||
value: { id: new FixedSizeBinary(account.publicKey) }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
assets: {
|
||||
type: "V5",
|
||||
value: [
|
||||
{
|
||||
id: {
|
||||
parents: 1,
|
||||
interior: {
|
||||
type: "Here",
|
||||
value: undefined
|
||||
}
|
||||
},
|
||||
fun: {
|
||||
type: "Fungible",
|
||||
"value": teleport
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
fee_asset_id: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 1,
|
||||
interior: {
|
||||
type: "Here",
|
||||
value: undefined
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
const dispatchAs = api.tx.Utility.dispatch_as({
|
||||
as_origin: { type: "system", value: { type: "Signed", value: ss58(account.publicKey) } },
|
||||
call: xcm.decodedCall
|
||||
});
|
||||
|
||||
calls.push(forceSetBalance.decodedCall);
|
||||
calls.push(dispatchAs.decodedCall);
|
||||
}
|
||||
|
||||
const finalBatch = api.tx.Utility.batch_all({ calls });
|
||||
const finalSudo = api.tx.Sudo.sudo({ call: finalBatch.decodedCall });
|
||||
try {
|
||||
const res = await finalSudo.signAndSubmit(alice, { at: "best" });
|
||||
let success = 0;
|
||||
let failure = 0;
|
||||
res.events.forEach((e) => {
|
||||
logger.debug(safeJsonStringify(e.value));
|
||||
if (e.value.type === "DispatchedAs") {
|
||||
// @ts-ignore
|
||||
if (e.value.value.result.success) {
|
||||
success += 1
|
||||
} else {
|
||||
failure += 1
|
||||
}
|
||||
}
|
||||
});
|
||||
logger.info(`Sent ${count} upward messages, intercepted ${success + failure} events, ${success} succeeded, ${failure} failed`);
|
||||
} catch(e) {
|
||||
logger.warn(`Error sending upward messages: ${e}`);
|
||||
}
|
||||
}
|
||||
|
||||
async function sendDown(api: TypedApi<typeof rc>, count: number) {
|
||||
const calls: TxCallData[] = [];
|
||||
const ed = await api.constants.Balances.ExistentialDeposit();
|
||||
for (let i = 0; i < count; i++) {
|
||||
const account = deriveFrom(DEV_PHRASE, `//down_${i}`)
|
||||
const endowment = BigInt(1000) * ed;
|
||||
const teleport = endowment / BigInt(10);
|
||||
|
||||
const forceSetBalance = api.tx.Balances.force_set_balance({
|
||||
new_free: endowment,
|
||||
who: { type: "Id", value: ss58(account.publicKey) }
|
||||
})
|
||||
|
||||
const xcm = api.tx.XcmPallet.teleport_assets({
|
||||
dest: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 0,
|
||||
interior: {
|
||||
type: "X1",
|
||||
value: { type: "Teyrchain", value: 1100 }
|
||||
}
|
||||
}
|
||||
},
|
||||
beneficiary: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 0,
|
||||
interior: {
|
||||
type: "X1",
|
||||
value: {
|
||||
type: "AccountId32",
|
||||
value: { id: new FixedSizeBinary(account.publicKey) }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
assets: {
|
||||
type: "V5",
|
||||
value: [
|
||||
{
|
||||
id: {
|
||||
parents: 0,
|
||||
interior: {
|
||||
type: "Here",
|
||||
value: undefined
|
||||
}
|
||||
},
|
||||
fun: {
|
||||
type: "Fungible",
|
||||
value: teleport
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
fee_asset_id: {
|
||||
type: "V5",
|
||||
value: {
|
||||
parents: 0,
|
||||
interior: {
|
||||
type: "Here",
|
||||
value: undefined
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
const dispatchAs = api.tx.Utility.dispatch_as({
|
||||
as_origin: { type: "system", value: { type: "Signed", value: ss58(account.publicKey) } },
|
||||
call: xcm.decodedCall
|
||||
});
|
||||
calls.push(forceSetBalance.decodedCall);
|
||||
calls.push(dispatchAs.decodedCall);
|
||||
}
|
||||
|
||||
const finalBatch = api.tx.Utility.batch_all({ calls });
|
||||
const finalSudo = api.tx.Sudo.sudo({ call: finalBatch.decodedCall });
|
||||
try {
|
||||
const res = await finalSudo.signAndSubmit(alice, { at: "best" });
|
||||
let success = 0;
|
||||
let failure = 0;
|
||||
res.events.forEach((e) => {
|
||||
logger.verbose(safeJsonStringify(e.value));
|
||||
if (e.value.type === "DispatchedAs") {
|
||||
// @ts-ignore
|
||||
if (e.value.value.result.success) {
|
||||
success += 1
|
||||
} else {
|
||||
failure += 1
|
||||
}
|
||||
}
|
||||
});
|
||||
logger.info(`Sent ${count} downward messages, intercepted ${success + failure} events, ${success} succeeded, ${failure} failed`);
|
||||
} catch(e) {
|
||||
logger.warn(`Error sending downward messages: ${e}`);
|
||||
}
|
||||
}
|
||||
|
||||
test(
|
||||
`${PRESET} preset with vmp queues being spammed af`,
|
||||
async () => {
|
||||
const { killZn, paraLog } = await runPresetUntilLaunched(PRESET);
|
||||
|
||||
const apis = await getApis();
|
||||
// This test is meant to not run automatically, so most things are commented out.
|
||||
|
||||
// const downSub = apis.rcClient.blocks$.subscribe((block) => {
|
||||
// if (block.number > 10) {
|
||||
// logger.verbose(`spammer::down spamming at height ${block.number}`);
|
||||
// sendDown(apis.rcApi, (block.number * 10) + 50);
|
||||
// }
|
||||
// });
|
||||
// const upSub = apis.paraClient.blocks$.subscribe((block) => {
|
||||
// if (block.number > 0) {
|
||||
// logger.verbose(`spammer::up spamming at height ${block.number}`);
|
||||
// sendUp(apis.paraApi, 40);
|
||||
// }
|
||||
// });
|
||||
const steps: Observe[] = [
|
||||
Observe.on(Chain.Relay, "Session", "NewSession")
|
||||
.byBlock(11),
|
||||
// Observe.on(Chain.Relay, "WontReach", "WontReach")
|
||||
].map((s) => s.build());
|
||||
|
||||
const testCase = new TestCase(steps, true, () => {
|
||||
killZn();
|
||||
// downSub.unsubscribe();
|
||||
// upSub.unsubscribe()
|
||||
});
|
||||
|
||||
const outcome = await runTest(testCase, apis, paraLog);
|
||||
expect(outcome).toEqual(EventOutcome.Done);
|
||||
},
|
||||
{ timeout: GlobalTimeout }
|
||||
);
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
// Environment setup & latest features
|
||||
"lib": ["esnext"],
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleDetection": "force",
|
||||
"jsx": "react-jsx",
|
||||
"allowJs": true,
|
||||
|
||||
// Bundler mode
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"noEmit": true,
|
||||
|
||||
// Best practices
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
|
||||
// Some stricter flags (disabled by default)
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noPropertyAccessFromIndexSignature": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
[relaychain]
|
||||
default_command = "pezkuwi"
|
||||
chain_spec_path = "./rc.json"
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "alice"
|
||||
validator = true
|
||||
rpc_port = 9942
|
||||
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "bob"
|
||||
validator = true
|
||||
rpc_port = 9943
|
||||
args = [
|
||||
"-lruntime::system=debug,runtime::session=trace,runtime::staking-async::ah-client=trace,runtime::ah-client=debug",
|
||||
]
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "eve"
|
||||
validator = true
|
||||
rpc_port = 9944
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "dave"
|
||||
validator = true
|
||||
rpc_port = 9945
|
||||
|
||||
[[teyrchains]]
|
||||
id = 1100
|
||||
chain_spec_path = "./teyrchain.json"
|
||||
|
||||
[teyrchains.collator]
|
||||
name = "charlie"
|
||||
rpc_port = 9946
|
||||
args = [
|
||||
"-lruntime::system=debug,runtime::multiblock-election=trace,runtime::staking=debug,runtime::staking::rc-client=trace,runtime::rc-client=debug",
|
||||
]
|
||||
@@ -0,0 +1,30 @@
|
||||
[relaychain]
|
||||
default_command = "pezkuwi"
|
||||
chain_spec_path = "./rc.json"
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "alice"
|
||||
validator = true
|
||||
rpc_port = 9944
|
||||
args = [
|
||||
"-lruntime::system=debug,runtime::session=trace,runtime::staking-async::ah-client=trace,runtime::ah-client=debug,xcm=trace",
|
||||
]
|
||||
|
||||
[[relaychain.nodes]]
|
||||
name = "bob"
|
||||
validator = true
|
||||
rpc_port = 9945
|
||||
args = [
|
||||
"-lruntime::system=debug,runtime::session=trace,runtime::staking-async::ah-client=trace,runtime::ah-client=debug",
|
||||
]
|
||||
|
||||
[[teyrchains]]
|
||||
id = 1100
|
||||
chain_spec_path = "./teyrchain.json"
|
||||
|
||||
[teyrchains.collator]
|
||||
name = "charlie"
|
||||
rpc_port = 9946
|
||||
args = [
|
||||
"-lruntime::system=debug,runtime::multiblock-election=trace,runtime::staking=debug,runtime::staking::rc-client=trace,runtime::rc-client=debug,xcm=trace,teyrchain-system=debug,runtime=info",
|
||||
]
|
||||
@@ -0,0 +1,30 @@
|
||||
[package]
|
||||
name = "pezpallet-staking-async-preset-store"
|
||||
version = "0.1.0"
|
||||
publish = false
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
description = "Simple pallet to store the preset used to generate a runtime's genesis in state"
|
||||
license.workspace = true
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
|
||||
|
||||
[dependencies]
|
||||
codec = { workspace = true }
|
||||
frame = { workspace = true, features = ["runtime"] }
|
||||
pezpallet-staking-async-ah-client = { workspace = true }
|
||||
scale-info = { workspace = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
std = [
|
||||
"codec/std",
|
||||
"frame/std",
|
||||
"pezpallet-staking-async-ah-client/std",
|
||||
"scale-info/std",
|
||||
]
|
||||
runtime-benchmarks = [
|
||||
"frame/runtime-benchmarks",
|
||||
"pezpallet-staking-async-ah-client/runtime-benchmarks",
|
||||
]
|
||||
@@ -0,0 +1,53 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Simple pallet that stores the preset that was used to generate the genesis state in the state.
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
|
||||
pub use pallet::*;
|
||||
|
||||
#[frame::pallet]
|
||||
pub mod pallet {
|
||||
extern crate alloc;
|
||||
use frame::prelude::*;
|
||||
|
||||
#[pallet::storage]
|
||||
#[pallet::getter(fn preset)]
|
||||
#[pallet::unbounded]
|
||||
pub type Preset<T: Config> = StorageValue<_, alloc::string::String, OptionQuery>;
|
||||
|
||||
#[pallet::genesis_config]
|
||||
#[derive(DefaultNoBound, DebugNoBound, CloneNoBound, PartialEqNoBound, EqNoBound)]
|
||||
pub struct GenesisConfig<T: Config> {
|
||||
pub preset: alloc::string::String,
|
||||
pub _marker: core::marker::PhantomData<T>,
|
||||
}
|
||||
|
||||
#[pallet::genesis_build]
|
||||
impl<T: Config> BuildGenesisConfig for GenesisConfig<T> {
|
||||
fn build(&self) {
|
||||
Preset::<T>::put(self.preset.clone());
|
||||
}
|
||||
}
|
||||
|
||||
#[pallet::config]
|
||||
pub trait Config: pezframe_system::Config {}
|
||||
|
||||
#[pallet::pallet]
|
||||
pub struct Pallet<T>(_);
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
[package]
|
||||
name = "pezpallet-staking-async-rc-runtime"
|
||||
build = "build.rs"
|
||||
version = "7.0.0"
|
||||
description = "Staking Async testnet Relay Chain runtime."
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
publish = false
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
bitvec = { features = ["alloc"], workspace = true }
|
||||
codec = { features = ["derive", "max-encoded-len"], workspace = true }
|
||||
log = { workspace = true }
|
||||
scale-info = { features = ["derive"], workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_derive = { optional = true, workspace = true }
|
||||
serde_json = { features = ["alloc"], workspace = true }
|
||||
smallvec = { workspace = true, default-features = true }
|
||||
|
||||
binary-merkle-tree = { workspace = true }
|
||||
pezsp-api = { workspace = true }
|
||||
pezsp-application-crypto = { workspace = true }
|
||||
pezsp-arithmetic = { workspace = true }
|
||||
pezsp-authority-discovery = { workspace = true }
|
||||
pezsp-block-builder = { workspace = true }
|
||||
pezsp-consensus-babe = { workspace = true }
|
||||
pezsp-consensus-beefy = { workspace = true }
|
||||
pezsp-consensus-grandpa = { workspace = true }
|
||||
pezsp-core = { workspace = true }
|
||||
pezsp-genesis-builder = { workspace = true }
|
||||
pezsp-inherents = { workspace = true }
|
||||
pezsp-io = { workspace = true }
|
||||
pezsp-keyring = { workspace = true }
|
||||
pezsp-mmr-primitives = { workspace = true }
|
||||
pezsp-npos-elections = { workspace = true }
|
||||
pezsp-offchain = { workspace = true }
|
||||
pezsp-runtime = { workspace = true }
|
||||
pezsp-session = { workspace = true }
|
||||
pezsp-staking = { workspace = true }
|
||||
pezsp-storage = { workspace = true }
|
||||
pezsp-transaction-pool = { workspace = true }
|
||||
pezsp-version = { workspace = true }
|
||||
|
||||
pezframe-election-provider-support = { workspace = true }
|
||||
pezframe-executive = { workspace = true }
|
||||
pezframe-metadata-hash-extension = { workspace = true }
|
||||
pezframe-support = { features = ["experimental", "tuples-96"], workspace = true }
|
||||
pezframe-system = { workspace = true }
|
||||
pezframe-system-rpc-runtime-api = { workspace = true }
|
||||
pezpallet-asset-rate = { workspace = true }
|
||||
pezpallet-authority-discovery = { workspace = true }
|
||||
pezpallet-authorship = { workspace = true }
|
||||
pezpallet-babe = { workspace = true }
|
||||
pezpallet-bags-list = { workspace = true }
|
||||
pezpallet-balances = { workspace = true }
|
||||
pezpallet-beefy = { workspace = true }
|
||||
pezpallet-beefy-mmr = { workspace = true }
|
||||
pezpallet-conviction-voting = { workspace = true }
|
||||
pezpallet-election-provider-multi-phase = { workspace = true }
|
||||
pezpallet-fast-unstake = { workspace = true }
|
||||
pezpallet-grandpa = { workspace = true }
|
||||
pezpallet-identity = { workspace = true }
|
||||
pezpallet-indices = { workspace = true }
|
||||
pezpallet-message-queue = { workspace = true }
|
||||
pezpallet-migrations = { workspace = true }
|
||||
pezpallet-mmr = { workspace = true }
|
||||
pezpallet-multisig = { workspace = true }
|
||||
pezpallet-offences = { workspace = true }
|
||||
pezpallet-parameters = { workspace = true }
|
||||
pezpallet-preimage = { workspace = true }
|
||||
pezpallet-proxy = { workspace = true }
|
||||
pezpallet-recovery = { workspace = true }
|
||||
pezpallet-referenda = { workspace = true }
|
||||
pezpallet-root-offences = { workspace = true }
|
||||
pezpallet-root-testing = { workspace = true }
|
||||
pezpallet-scheduler = { workspace = true }
|
||||
pezpallet-session = { workspace = true }
|
||||
pezpallet-staking = { workspace = true }
|
||||
pezpallet-staking-async-ah-client = { workspace = true }
|
||||
pezpallet-staking-async-preset-store = { workspace = true }
|
||||
pezpallet-staking-async-rc-client = { workspace = true }
|
||||
pezpallet-staking-async-rc-runtime-constants = { workspace = true }
|
||||
pezpallet-sudo = { workspace = true }
|
||||
pezpallet-timestamp = { workspace = true }
|
||||
pezpallet-transaction-payment = { workspace = true }
|
||||
pezpallet-transaction-payment-rpc-runtime-api = { workspace = true }
|
||||
pezpallet-treasury = { workspace = true }
|
||||
pezpallet-utility = { workspace = true }
|
||||
pezpallet-vesting = { workspace = true }
|
||||
pezpallet-whitelist = { workspace = true }
|
||||
pezpallet-xcm = { workspace = true }
|
||||
pezpallet-xcm-benchmarks = { optional = true, workspace = true }
|
||||
|
||||
pezframe-benchmarking = { optional = true, workspace = true }
|
||||
pezframe-system-benchmarking = { optional = true, workspace = true }
|
||||
pezframe-try-runtime = { optional = true, workspace = true }
|
||||
hex-literal = { workspace = true, default-features = true }
|
||||
pezpallet-election-provider-support-benchmarking = { optional = true, workspace = true }
|
||||
pezpallet-offences-benchmarking = { optional = true, workspace = true }
|
||||
pezpallet-session-benchmarking = { optional = true, workspace = true }
|
||||
|
||||
pezkuwi-primitives = { workspace = true }
|
||||
pezkuwi-runtime-common = { workspace = true }
|
||||
pezkuwi-runtime-teyrchains = { workspace = true }
|
||||
pezkuwi-teyrchain-primitives = { workspace = true }
|
||||
|
||||
xcm = { workspace = true }
|
||||
xcm-builder = { workspace = true }
|
||||
xcm-executor = { workspace = true }
|
||||
xcm-runtime-apis = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
approx = { workspace = true }
|
||||
remote-externalities = { workspace = true, default-features = true }
|
||||
serde_json = { workspace = true, default-features = true }
|
||||
pezsp-keyring = { workspace = true, default-features = true }
|
||||
pezsp-tracing = { workspace = true }
|
||||
tiny-keccak = { features = ["keccak"], workspace = true }
|
||||
tokio = { features = ["macros"], workspace = true, default-features = true }
|
||||
|
||||
[build-dependencies]
|
||||
bizinikiwi-wasm-builder = { workspace = true, default-features = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
no_std = []
|
||||
std = [
|
||||
"binary-merkle-tree/std",
|
||||
"bitvec/std",
|
||||
"codec/std",
|
||||
"pezframe-benchmarking?/std",
|
||||
"pezframe-election-provider-support/std",
|
||||
"pezframe-executive/std",
|
||||
"pezframe-metadata-hash-extension/std",
|
||||
"pezframe-support/std",
|
||||
"pezframe-system-benchmarking?/std",
|
||||
"pezframe-system-rpc-runtime-api/std",
|
||||
"pezframe-system/std",
|
||||
"pezframe-try-runtime/std",
|
||||
"log/std",
|
||||
"pezpallet-asset-rate/std",
|
||||
"pezpallet-authority-discovery/std",
|
||||
"pezpallet-authorship/std",
|
||||
"pezpallet-babe/std",
|
||||
"pezpallet-bags-list/std",
|
||||
"pezpallet-balances/std",
|
||||
"pezpallet-beefy-mmr/std",
|
||||
"pezpallet-beefy/std",
|
||||
"pezpallet-conviction-voting/std",
|
||||
"pezpallet-election-provider-multi-phase/std",
|
||||
"pezpallet-election-provider-support-benchmarking?/std",
|
||||
"pezpallet-fast-unstake/std",
|
||||
"pezpallet-grandpa/std",
|
||||
"pezpallet-identity/std",
|
||||
"pezpallet-indices/std",
|
||||
"pezpallet-message-queue/std",
|
||||
"pezpallet-migrations/std",
|
||||
"pezpallet-mmr/std",
|
||||
"pezpallet-multisig/std",
|
||||
"pezpallet-offences-benchmarking?/std",
|
||||
"pezpallet-offences/std",
|
||||
"pezpallet-parameters/std",
|
||||
"pezpallet-preimage/std",
|
||||
"pezpallet-proxy/std",
|
||||
"pezpallet-recovery/std",
|
||||
"pezpallet-referenda/std",
|
||||
"pezpallet-root-offences/std",
|
||||
"pezpallet-root-testing/std",
|
||||
"pezpallet-scheduler/std",
|
||||
"pezpallet-session-benchmarking?/std",
|
||||
"pezpallet-session/std",
|
||||
"pezpallet-staking-async-ah-client/std",
|
||||
"pezpallet-staking-async-preset-store/std",
|
||||
"pezpallet-staking-async-rc-client/std",
|
||||
"pezpallet-staking-async-rc-runtime-constants/std",
|
||||
"pezpallet-staking/std",
|
||||
"pezpallet-sudo/std",
|
||||
"pezpallet-timestamp/std",
|
||||
"pezpallet-transaction-payment-rpc-runtime-api/std",
|
||||
"pezpallet-transaction-payment/std",
|
||||
"pezpallet-treasury/std",
|
||||
"pezpallet-utility/std",
|
||||
"pezpallet-vesting/std",
|
||||
"pezpallet-whitelist/std",
|
||||
"pezpallet-xcm-benchmarks?/std",
|
||||
"pezpallet-xcm/std",
|
||||
"pezkuwi-primitives/std",
|
||||
"pezkuwi-runtime-common/std",
|
||||
"pezkuwi-runtime-teyrchains/std",
|
||||
"pezkuwi-teyrchain-primitives/std",
|
||||
"scale-info/std",
|
||||
"serde/std",
|
||||
"serde_derive",
|
||||
"serde_json/std",
|
||||
"pezsp-api/std",
|
||||
"pezsp-application-crypto/std",
|
||||
"pezsp-arithmetic/std",
|
||||
"pezsp-authority-discovery/std",
|
||||
"pezsp-block-builder/std",
|
||||
"pezsp-consensus-babe/std",
|
||||
"pezsp-consensus-beefy/std",
|
||||
"pezsp-consensus-grandpa/std",
|
||||
"pezsp-core/std",
|
||||
"pezsp-genesis-builder/std",
|
||||
"pezsp-inherents/std",
|
||||
"pezsp-io/std",
|
||||
"pezsp-mmr-primitives/std",
|
||||
"pezsp-npos-elections/std",
|
||||
"pezsp-offchain/std",
|
||||
"pezsp-runtime/std",
|
||||
"pezsp-session/std",
|
||||
"pezsp-staking/std",
|
||||
"pezsp-storage/std",
|
||||
"pezsp-tracing/std",
|
||||
"pezsp-transaction-pool/std",
|
||||
"pezsp-version/std",
|
||||
"xcm-builder/std",
|
||||
"xcm-executor/std",
|
||||
"xcm-runtime-apis/std",
|
||||
"xcm/std",
|
||||
]
|
||||
runtime-benchmarks = [
|
||||
"binary-merkle-tree/runtime-benchmarks",
|
||||
"pezframe-benchmarking/runtime-benchmarks",
|
||||
"pezframe-election-provider-support/runtime-benchmarks",
|
||||
"pezframe-executive/runtime-benchmarks",
|
||||
"pezframe-metadata-hash-extension/runtime-benchmarks",
|
||||
"pezframe-support/runtime-benchmarks",
|
||||
"pezframe-system-benchmarking/runtime-benchmarks",
|
||||
"pezframe-system-rpc-runtime-api/runtime-benchmarks",
|
||||
"pezframe-system/runtime-benchmarks",
|
||||
"pezframe-try-runtime?/runtime-benchmarks",
|
||||
"pezpallet-asset-rate/runtime-benchmarks",
|
||||
"pezpallet-authority-discovery/runtime-benchmarks",
|
||||
"pezpallet-authorship/runtime-benchmarks",
|
||||
"pezpallet-babe/runtime-benchmarks",
|
||||
"pezpallet-bags-list/runtime-benchmarks",
|
||||
"pezpallet-balances/runtime-benchmarks",
|
||||
"pezpallet-beefy-mmr/runtime-benchmarks",
|
||||
"pezpallet-beefy/runtime-benchmarks",
|
||||
"pezpallet-conviction-voting/runtime-benchmarks",
|
||||
"pezpallet-election-provider-multi-phase/runtime-benchmarks",
|
||||
"pezpallet-election-provider-support-benchmarking/runtime-benchmarks",
|
||||
"pezpallet-fast-unstake/runtime-benchmarks",
|
||||
"pezpallet-grandpa/runtime-benchmarks",
|
||||
"pezpallet-identity/runtime-benchmarks",
|
||||
"pezpallet-indices/runtime-benchmarks",
|
||||
"pezpallet-message-queue/runtime-benchmarks",
|
||||
"pezpallet-migrations/runtime-benchmarks",
|
||||
"pezpallet-mmr/runtime-benchmarks",
|
||||
"pezpallet-multisig/runtime-benchmarks",
|
||||
"pezpallet-offences-benchmarking/runtime-benchmarks",
|
||||
"pezpallet-offences/runtime-benchmarks",
|
||||
"pezpallet-parameters/runtime-benchmarks",
|
||||
"pezpallet-preimage/runtime-benchmarks",
|
||||
"pezpallet-proxy/runtime-benchmarks",
|
||||
"pezpallet-recovery/runtime-benchmarks",
|
||||
"pezpallet-referenda/runtime-benchmarks",
|
||||
"pezpallet-root-offences/runtime-benchmarks",
|
||||
"pezpallet-root-testing/runtime-benchmarks",
|
||||
"pezpallet-scheduler/runtime-benchmarks",
|
||||
"pezpallet-session-benchmarking/runtime-benchmarks",
|
||||
"pezpallet-session/runtime-benchmarks",
|
||||
"pezpallet-staking-async-ah-client/runtime-benchmarks",
|
||||
"pezpallet-staking-async-preset-store/runtime-benchmarks",
|
||||
"pezpallet-staking-async-rc-client/runtime-benchmarks",
|
||||
"pezpallet-staking-async-rc-runtime-constants/runtime-benchmarks",
|
||||
"pezpallet-staking/runtime-benchmarks",
|
||||
"pezpallet-sudo/runtime-benchmarks",
|
||||
"pezpallet-timestamp/runtime-benchmarks",
|
||||
"pezpallet-transaction-payment-rpc-runtime-api/runtime-benchmarks",
|
||||
"pezpallet-transaction-payment/runtime-benchmarks",
|
||||
"pezpallet-treasury/runtime-benchmarks",
|
||||
"pezpallet-utility/runtime-benchmarks",
|
||||
"pezpallet-vesting/runtime-benchmarks",
|
||||
"pezpallet-whitelist/runtime-benchmarks",
|
||||
"pezpallet-xcm-benchmarks/runtime-benchmarks",
|
||||
"pezpallet-xcm/runtime-benchmarks",
|
||||
"pezkuwi-primitives/runtime-benchmarks",
|
||||
"pezkuwi-runtime-common/runtime-benchmarks",
|
||||
"pezkuwi-runtime-teyrchains/runtime-benchmarks",
|
||||
"pezkuwi-teyrchain-primitives/runtime-benchmarks",
|
||||
"remote-externalities/runtime-benchmarks",
|
||||
"pezsp-api/runtime-benchmarks",
|
||||
"pezsp-authority-discovery/runtime-benchmarks",
|
||||
"pezsp-block-builder/runtime-benchmarks",
|
||||
"pezsp-consensus-babe/runtime-benchmarks",
|
||||
"pezsp-consensus-beefy/runtime-benchmarks",
|
||||
"pezsp-consensus-grandpa/runtime-benchmarks",
|
||||
"pezsp-genesis-builder/runtime-benchmarks",
|
||||
"pezsp-inherents/runtime-benchmarks",
|
||||
"pezsp-io/runtime-benchmarks",
|
||||
"pezsp-keyring/runtime-benchmarks",
|
||||
"pezsp-mmr-primitives/runtime-benchmarks",
|
||||
"pezsp-npos-elections/runtime-benchmarks",
|
||||
"pezsp-offchain/runtime-benchmarks",
|
||||
"pezsp-runtime/runtime-benchmarks",
|
||||
"pezsp-session/runtime-benchmarks",
|
||||
"pezsp-staking/runtime-benchmarks",
|
||||
"pezsp-transaction-pool/runtime-benchmarks",
|
||||
"pezsp-version/runtime-benchmarks",
|
||||
"bizinikiwi-wasm-builder/runtime-benchmarks",
|
||||
"xcm-builder/runtime-benchmarks",
|
||||
"xcm-executor/runtime-benchmarks",
|
||||
"xcm-runtime-apis/runtime-benchmarks",
|
||||
"xcm/runtime-benchmarks",
|
||||
]
|
||||
try-runtime = [
|
||||
"pezframe-election-provider-support/try-runtime",
|
||||
"pezframe-executive/try-runtime",
|
||||
"pezframe-support/try-runtime",
|
||||
"pezframe-system/try-runtime",
|
||||
"pezframe-try-runtime",
|
||||
"pezframe-try-runtime/try-runtime",
|
||||
"pezpallet-asset-rate/try-runtime",
|
||||
"pezpallet-authority-discovery/try-runtime",
|
||||
"pezpallet-authorship/try-runtime",
|
||||
"pezpallet-babe/try-runtime",
|
||||
"pezpallet-bags-list/try-runtime",
|
||||
"pezpallet-balances/try-runtime",
|
||||
"pezpallet-beefy-mmr/try-runtime",
|
||||
"pezpallet-beefy/try-runtime",
|
||||
"pezpallet-conviction-voting/try-runtime",
|
||||
"pezpallet-election-provider-multi-phase/try-runtime",
|
||||
"pezpallet-fast-unstake/try-runtime",
|
||||
"pezpallet-grandpa/try-runtime",
|
||||
"pezpallet-identity/try-runtime",
|
||||
"pezpallet-indices/try-runtime",
|
||||
"pezpallet-message-queue/try-runtime",
|
||||
"pezpallet-migrations/try-runtime",
|
||||
"pezpallet-mmr/try-runtime",
|
||||
"pezpallet-multisig/try-runtime",
|
||||
"pezpallet-offences/try-runtime",
|
||||
"pezpallet-parameters/try-runtime",
|
||||
"pezpallet-preimage/try-runtime",
|
||||
"pezpallet-proxy/try-runtime",
|
||||
"pezpallet-recovery/try-runtime",
|
||||
"pezpallet-referenda/try-runtime",
|
||||
"pezpallet-root-offences/try-runtime",
|
||||
"pezpallet-root-testing/try-runtime",
|
||||
"pezpallet-scheduler/try-runtime",
|
||||
"pezpallet-session/try-runtime",
|
||||
"pezpallet-staking-async-ah-client/try-runtime",
|
||||
"pezpallet-staking-async-rc-client/try-runtime",
|
||||
"pezpallet-staking/try-runtime",
|
||||
"pezpallet-sudo/try-runtime",
|
||||
"pezpallet-timestamp/try-runtime",
|
||||
"pezpallet-transaction-payment/try-runtime",
|
||||
"pezpallet-treasury/try-runtime",
|
||||
"pezpallet-utility/try-runtime",
|
||||
"pezpallet-vesting/try-runtime",
|
||||
"pezpallet-whitelist/try-runtime",
|
||||
"pezpallet-xcm/try-runtime",
|
||||
"pezkuwi-runtime-common/try-runtime",
|
||||
"pezkuwi-runtime-teyrchains/try-runtime",
|
||||
"pezsp-runtime/try-runtime",
|
||||
]
|
||||
|
||||
# Enable the metadata hash generation in the wasm builder.
|
||||
metadata-hash = ["bizinikiwi-wasm-builder/metadata-hash"]
|
||||
|
||||
# Set timing constants (e.g. session period) to faster versions to speed up testing.
|
||||
fast-runtime = []
|
||||
|
||||
runtime-metrics = [
|
||||
"pezkuwi-runtime-teyrchains/runtime-metrics",
|
||||
"pezsp-io/with-tracing",
|
||||
]
|
||||
|
||||
# A feature that should be enabled when the runtime should be built for on-chain
|
||||
# deployment. This will disable stuff that shouldn't be part of the on-chain wasm
|
||||
# to make it smaller, like logging for example.
|
||||
on-chain-release-build = ["metadata-hash"]
|
||||
@@ -0,0 +1,39 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#[cfg(all(not(feature = "metadata-hash"), feature = "std"))]
|
||||
fn main() {
|
||||
bizinikiwi_wasm_builder::WasmBuilder::build_using_defaults();
|
||||
bizinikiwi_wasm_builder::WasmBuilder::init_with_defaults()
|
||||
.set_file_name("fast_runtime_binary.rs")
|
||||
.enable_feature("fast-runtime")
|
||||
.build();
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "metadata-hash", feature = "std"))]
|
||||
fn main() {
|
||||
bizinikiwi_wasm_builder::WasmBuilder::init_with_defaults()
|
||||
.enable_metadata_hash("ZGR", 12)
|
||||
.build();
|
||||
bizinikiwi_wasm_builder::WasmBuilder::init_with_defaults()
|
||||
.set_file_name("fast_runtime_binary.rs")
|
||||
.enable_feature("fast-runtime")
|
||||
.enable_metadata_hash("ZGR", 12)
|
||||
.build();
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
fn main() {}
|
||||
@@ -0,0 +1,52 @@
|
||||
[package]
|
||||
name = "pezpallet-staking-async-rc-runtime-constants"
|
||||
version = "7.0.0"
|
||||
description = "Constants used throughout the Staking Async RC network."
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
|
||||
[package.metadata.pezkuwi-sdk]
|
||||
exclude-from-umbrella = true
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
smallvec = { workspace = true, default-features = true }
|
||||
|
||||
pezframe-support = { workspace = true }
|
||||
pezkuwi-primitives = { workspace = true }
|
||||
pezkuwi-runtime-common = { workspace = true }
|
||||
pezsp-core = { workspace = true }
|
||||
pezsp-runtime = { workspace = true }
|
||||
pezsp-weights = { workspace = true }
|
||||
|
||||
xcm = { workspace = true }
|
||||
xcm-builder = { workspace = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
std = [
|
||||
"pezframe-support/std",
|
||||
"pezkuwi-primitives/std",
|
||||
"pezkuwi-runtime-common/std",
|
||||
"pezsp-core/std",
|
||||
"pezsp-runtime/std",
|
||||
"pezsp-weights/std",
|
||||
"xcm-builder/std",
|
||||
"xcm/std",
|
||||
]
|
||||
|
||||
# Set timing constants (e.g. session period) to faster versions to speed up testing.
|
||||
fast-runtime = []
|
||||
runtime-benchmarks = [
|
||||
"pezframe-support/runtime-benchmarks",
|
||||
"pezkuwi-primitives/runtime-benchmarks",
|
||||
"pezkuwi-runtime-common/runtime-benchmarks",
|
||||
"pezsp-runtime/runtime-benchmarks",
|
||||
"xcm-builder/runtime-benchmarks",
|
||||
"xcm/runtime-benchmarks",
|
||||
]
|
||||
@@ -0,0 +1,178 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
|
||||
pub mod weights;
|
||||
|
||||
/// Money matters.
|
||||
pub mod currency {
|
||||
use pezkuwi_primitives::Balance;
|
||||
|
||||
/// The existential deposit.
|
||||
pub const EXISTENTIAL_DEPOSIT: Balance = 1 * CENTS;
|
||||
|
||||
pub const UNITS: Balance = 1_000_000_000_000;
|
||||
pub const CENTS: Balance = UNITS / 100;
|
||||
pub const MILLICENTS: Balance = CENTS / 1_000;
|
||||
pub const GRAND: Balance = CENTS * 100_000;
|
||||
|
||||
pub const fn deposit(items: u32, bytes: u32) -> Balance {
|
||||
items as Balance * 100 * CENTS + (bytes as Balance) * 5 * MILLICENTS
|
||||
}
|
||||
}
|
||||
|
||||
/// Time and blocks.
|
||||
pub mod time {
|
||||
use pezkuwi_primitives::{BlockNumber, Moment};
|
||||
use pezkuwi_runtime_common::prod_or_fast;
|
||||
|
||||
pub const MILLISECS_PER_BLOCK: Moment = 6000;
|
||||
pub const SLOT_DURATION: Moment = MILLISECS_PER_BLOCK;
|
||||
pub const EPOCH_DURATION_IN_SLOTS: BlockNumber = prod_or_fast!(1 * HOURS, 1 * MINUTES);
|
||||
|
||||
// These time units are defined in number of blocks.
|
||||
pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);
|
||||
pub const HOURS: BlockNumber = MINUTES * 60;
|
||||
pub const DAYS: BlockNumber = HOURS * 24;
|
||||
|
||||
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
|
||||
// The choice of is done in accordance to the slot duration and expected target
|
||||
// block time, for safely resisting network delays of maximum two seconds.
|
||||
// <https://research.web3.foundation/Polkadot/protocols/block-production/Babe#6-practical-results>
|
||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||
}
|
||||
|
||||
/// Fee-related.
|
||||
pub mod fee {
|
||||
use crate::weights::ExtrinsicBaseWeight;
|
||||
use pezframe_support::weights::{
|
||||
WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial,
|
||||
};
|
||||
use pezkuwi_primitives::Balance;
|
||||
use smallvec::smallvec;
|
||||
pub use pezsp_runtime::Perbill;
|
||||
|
||||
/// The block saturation level. Fees will be updates based on this value.
|
||||
pub const TARGET_BLOCK_FULLNESS: Perbill = Perbill::from_percent(25);
|
||||
|
||||
/// Handles converting a weight scalar to a fee value, based on the scale and granularity of the
|
||||
/// node's balance type.
|
||||
///
|
||||
/// This should typically create a mapping between the following ranges:
|
||||
/// - [0,` MAXIMUM_BLOCK_WEIGHT`]
|
||||
/// - [Balance::min, Balance::max]
|
||||
///
|
||||
/// Yet, it can be used for any other sort of change to weight-fee. Some examples being:
|
||||
/// - Setting it to `0` will essentially disable the weight fee.
|
||||
/// - Setting it to `1` will cause the literal `#[weight = x]` values to be charged.
|
||||
pub struct WeightToFee;
|
||||
impl WeightToFeePolynomial for WeightToFee {
|
||||
type Balance = Balance;
|
||||
fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
|
||||
// in Zagros, extrinsic base weight (smallest non-zero weight) is mapped to 1/10 CENT:
|
||||
let p = super::currency::CENTS;
|
||||
let q = 10 * Balance::from(ExtrinsicBaseWeight::get().ref_time());
|
||||
smallvec![WeightToFeeCoefficient {
|
||||
degree: 1,
|
||||
negative: false,
|
||||
coeff_frac: Perbill::from_rational(p % q, q),
|
||||
coeff_integer: p / q,
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// System Teyrchains.
|
||||
pub mod system_teyrchain {
|
||||
use pezkuwi_primitives::Id;
|
||||
use xcm_builder::IsChildSystemTeyrchain;
|
||||
|
||||
/// Network's Asset Hub teyrchain ID.
|
||||
pub const ASSET_HUB_ID: u32 = 1100;
|
||||
/// Collectives teyrchain ID.
|
||||
pub const COLLECTIVES_ID: u32 = 1001;
|
||||
/// BridgeHub teyrchain ID.
|
||||
pub const BRIDGE_HUB_ID: u32 = 1002;
|
||||
/// Encointer teyrchain ID.
|
||||
pub const ENCOINTER_ID: u32 = 1003;
|
||||
/// People Chain teyrchain ID.
|
||||
pub const PEOPLE_ID: u32 = 1004;
|
||||
/// Brokerage teyrchain ID.
|
||||
pub const BROKER_ID: u32 = 1005;
|
||||
|
||||
/// All system teyrchains of Zagros.
|
||||
pub type SystemTeyrchains = IsChildSystemTeyrchain<Id>;
|
||||
|
||||
/// Coretime constants
|
||||
pub mod coretime {
|
||||
/// Coretime timeslice period in blocks
|
||||
/// WARNING: This constant is used accross chains, so additional care should be taken
|
||||
/// when changing it.
|
||||
#[cfg(feature = "fast-runtime")]
|
||||
pub const TIMESLICE_PERIOD: u32 = 20;
|
||||
#[cfg(not(feature = "fast-runtime"))]
|
||||
pub const TIMESLICE_PERIOD: u32 = 80;
|
||||
}
|
||||
}
|
||||
|
||||
/// Zagros Treasury pallet instance.
|
||||
pub const TREASURY_PALLET_ID: u8 = 37;
|
||||
|
||||
/// XCM protocol related constants.
|
||||
pub mod xcm {
|
||||
/// Pluralistic bodies existing within the consensus.
|
||||
pub mod body {
|
||||
// Preallocated for the Root body.
|
||||
#[allow(dead_code)]
|
||||
const ROOT_INDEX: u32 = 0;
|
||||
// The bodies corresponding to the Pezkuwi OpenGov Origins.
|
||||
pub const FELLOWSHIP_ADMIN_INDEX: u32 = 1;
|
||||
#[deprecated = "Will be removed after August 2024; Use `xcm::latest::BodyId::Treasury` \
|
||||
instead"]
|
||||
pub const TREASURER_INDEX: u32 = 2;
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::{
|
||||
currency::{CENTS, MILLICENTS, UNITS},
|
||||
fee::WeightToFee,
|
||||
};
|
||||
use crate::weights::ExtrinsicBaseWeight;
|
||||
use pezframe_support::weights::WeightToFee as WeightToFeeT;
|
||||
use pezkuwi_runtime_common::MAXIMUM_BLOCK_WEIGHT;
|
||||
|
||||
#[test]
|
||||
// Test that the fee for `MAXIMUM_BLOCK_WEIGHT` of weight has sane bounds.
|
||||
fn full_block_fee_is_correct() {
|
||||
// A full block should cost between 10 and 100 UNITS.
|
||||
let full_block = WeightToFee::weight_to_fee(&MAXIMUM_BLOCK_WEIGHT);
|
||||
assert!(full_block >= 10 * UNITS);
|
||||
assert!(full_block <= 100 * UNITS);
|
||||
}
|
||||
|
||||
#[test]
|
||||
// This function tests that the fee for `ExtrinsicBaseWeight` of weight is correct
|
||||
fn extrinsic_base_fee_is_correct() {
|
||||
// `ExtrinsicBaseWeight` should cost 1/10 of a CENT
|
||||
println!("Base: {}", ExtrinsicBaseWeight::get());
|
||||
let x = WeightToFee::weight_to_fee(&ExtrinsicBaseWeight::get());
|
||||
let y = CENTS / 10;
|
||||
assert!(x.max(y) - x.min(y) < MILLICENTS);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2023-06-14 (Y/M/D)
|
||||
//! HOSTNAME: `runner--ss9ysm1-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//!
|
||||
//! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Development`
|
||||
//! WARMUPS: `10`, REPEAT: `100`
|
||||
//! WEIGHT-PATH: `runtime/zagros/constants/src/weights/`
|
||||
//! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
|
||||
|
||||
// Executed Command:
|
||||
// ./target/production/pezkuwi
|
||||
// benchmark
|
||||
// overhead
|
||||
// --chain=zagros-dev
|
||||
// --execution=wasm
|
||||
// --wasm-execution=compiled
|
||||
// --weight-path=runtime/zagros/constants/src/weights/
|
||||
// --warmup=10
|
||||
// --repeat=100
|
||||
// --header=./file_header.txt
|
||||
|
||||
use pezsp_core::parameter_types;
|
||||
use pezsp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
|
||||
|
||||
parameter_types! {
|
||||
/// Time to execute an empty block.
|
||||
/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
|
||||
///
|
||||
/// Stats nanoseconds:
|
||||
/// Min, Max: 449_093, 498_211
|
||||
/// Average: 461_988
|
||||
/// Median: 459_070
|
||||
/// Std-Dev: 10124.58
|
||||
///
|
||||
/// Percentiles nanoseconds:
|
||||
/// 99th: 493_580
|
||||
/// 95th: 482_929
|
||||
/// 75th: 464_502
|
||||
pub const BlockExecutionWeight: Weight =
|
||||
Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(461_988), 0);
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test_weights {
|
||||
use pezsp_weights::constants;
|
||||
|
||||
/// Checks that the weight exists and is sane.
|
||||
// NOTE: If this test fails but you are sure that the generated values are fine,
|
||||
// you can delete it.
|
||||
#[test]
|
||||
fn sane() {
|
||||
let w = super::BlockExecutionWeight::get();
|
||||
|
||||
// At least 100 µs.
|
||||
assert!(
|
||||
w.ref_time() >= 100u64 * constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Weight should be at least 100 µs."
|
||||
);
|
||||
// At most 50 ms.
|
||||
assert!(
|
||||
w.ref_time() <= 50u64 * constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Weight should be at most 50 ms."
|
||||
);
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2023-06-14 (Y/M/D)
|
||||
//! HOSTNAME: `runner--ss9ysm1-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//!
|
||||
//! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Development`
|
||||
//! WARMUPS: `10`, REPEAT: `100`
|
||||
//! WEIGHT-PATH: `runtime/zagros/constants/src/weights/`
|
||||
//! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
|
||||
|
||||
// Executed Command:
|
||||
// ./target/production/pezkuwi
|
||||
// benchmark
|
||||
// overhead
|
||||
// --chain=zagros-dev
|
||||
// --execution=wasm
|
||||
// --wasm-execution=compiled
|
||||
// --weight-path=runtime/zagros/constants/src/weights/
|
||||
// --warmup=10
|
||||
// --repeat=100
|
||||
// --header=./file_header.txt
|
||||
|
||||
use pezsp_core::parameter_types;
|
||||
use pezsp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
|
||||
|
||||
parameter_types! {
|
||||
/// Time to execute a NO-OP extrinsic, for example `System::remark`.
|
||||
/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
|
||||
///
|
||||
/// Stats nanoseconds:
|
||||
/// Min, Max: 112_202, 116_271
|
||||
/// Average: 113_632
|
||||
/// Median: 113_689
|
||||
/// Std-Dev: 576.31
|
||||
///
|
||||
/// Percentiles nanoseconds:
|
||||
/// 99th: 114_688
|
||||
/// 95th: 114_367
|
||||
/// 75th: 113_969
|
||||
pub const ExtrinsicBaseWeight: Weight =
|
||||
Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(113_632), 0);
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test_weights {
|
||||
use pezsp_weights::constants;
|
||||
|
||||
/// Checks that the weight exists and is sane.
|
||||
// NOTE: If this test fails but you are sure that the generated values are fine,
|
||||
// you can delete it.
|
||||
#[test]
|
||||
fn sane() {
|
||||
let w = super::ExtrinsicBaseWeight::get();
|
||||
|
||||
// At least 10 µs.
|
||||
assert!(
|
||||
w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Weight should be at least 10 µs."
|
||||
);
|
||||
// At most 1 ms.
|
||||
assert!(
|
||||
w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Weight should be at most 1 ms."
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Expose the auto generated weight files.
|
||||
|
||||
pub mod block_weights;
|
||||
pub mod extrinsic_weights;
|
||||
pub mod paritydb_weights;
|
||||
pub mod rocksdb_weights;
|
||||
|
||||
pub use block_weights::BlockExecutionWeight;
|
||||
pub use extrinsic_weights::ExtrinsicBaseWeight;
|
||||
pub use paritydb_weights::constants::ParityDbWeight;
|
||||
pub use rocksdb_weights::constants::RocksDbWeight;
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub mod constants {
|
||||
use pezframe_support::{
|
||||
parameter_types,
|
||||
weights::{constants, RuntimeDbWeight},
|
||||
};
|
||||
|
||||
parameter_types! {
|
||||
/// `ParityDB` can be enabled with a feature flag, but is still experimental. These weights
|
||||
/// are available for brave runtime engineers who may want to try this out as default.
|
||||
pub const ParityDbWeight: RuntimeDbWeight = RuntimeDbWeight {
|
||||
read: 8_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
|
||||
write: 50_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test_db_weights {
|
||||
use super::constants::ParityDbWeight as W;
|
||||
use pezframe_support::weights::constants;
|
||||
|
||||
/// Checks that all weights exist and have sane values.
|
||||
// NOTE: If this test fails but you are sure that the generated values are fine,
|
||||
// you can delete it.
|
||||
#[test]
|
||||
fn sane() {
|
||||
// At least 1 µs.
|
||||
assert!(
|
||||
W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Read weight should be at least 1 µs."
|
||||
);
|
||||
assert!(
|
||||
W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Write weight should be at least 1 µs."
|
||||
);
|
||||
// At most 1 ms.
|
||||
assert!(
|
||||
W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Read weight should be at most 1 ms."
|
||||
);
|
||||
assert!(
|
||||
W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Write weight should be at most 1 ms."
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub mod constants {
|
||||
use pezframe_support::{
|
||||
parameter_types,
|
||||
weights::{constants, RuntimeDbWeight},
|
||||
};
|
||||
|
||||
parameter_types! {
|
||||
/// By default, Bizinikiwi uses `RocksDB`, so this will be the weight used throughout
|
||||
/// the runtime.
|
||||
pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight {
|
||||
read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
|
||||
write: 100_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test_db_weights {
|
||||
use super::constants::RocksDbWeight as W;
|
||||
use pezframe_support::weights::constants;
|
||||
|
||||
/// Checks that all weights exist and have sane values.
|
||||
// NOTE: If this test fails but you are sure that the generated values are fine,
|
||||
// you can delete it.
|
||||
#[test]
|
||||
fn sane() {
|
||||
// At least 1 µs.
|
||||
assert!(
|
||||
W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Read weight should be at least 1 µs."
|
||||
);
|
||||
assert!(
|
||||
W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS,
|
||||
"Write weight should be at least 1 µs."
|
||||
);
|
||||
// At most 1 ms.
|
||||
assert!(
|
||||
W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Read weight should be at most 1 ms."
|
||||
);
|
||||
assert!(
|
||||
W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
|
||||
"Write weight should be at most 1 ms."
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Genesis configs presets for the Zagros runtime
|
||||
|
||||
use crate::{
|
||||
BabeConfig, BalancesConfig, ConfigurationConfig, RegistrarConfig, RuntimeGenesisConfig,
|
||||
SessionConfig, SessionKeys, StakingAhClientConfig, SudoConfig, BABE_GENESIS_EPOCH_CONFIG,
|
||||
};
|
||||
#[cfg(not(feature = "std"))]
|
||||
use alloc::format;
|
||||
use alloc::{string::ToString, vec, vec::Vec};
|
||||
use core::panic;
|
||||
use pezframe_support::build_struct_json_patch;
|
||||
use pezpallet_staking_async_rc_runtime_constants::currency::UNITS as ZGR;
|
||||
use pezkuwi_primitives::{AccountId, AssignmentId, SchedulerParams, ValidatorId};
|
||||
use pezsp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
|
||||
use pezsp_consensus_babe::AuthorityId as BabeId;
|
||||
use pezsp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId;
|
||||
use pezsp_consensus_grandpa::AuthorityId as GrandpaId;
|
||||
use pezsp_core::{crypto::get_public_from_string_or_panic, sr25519};
|
||||
use pezsp_genesis_builder::PresetId;
|
||||
use pezsp_keyring::Sr25519Keyring;
|
||||
|
||||
/// Helper function to generate stash, controller and session key from seed
|
||||
fn get_authority_keys_from_seed(
|
||||
seed: &str,
|
||||
) -> (
|
||||
AccountId,
|
||||
AccountId,
|
||||
BabeId,
|
||||
GrandpaId,
|
||||
ValidatorId,
|
||||
AssignmentId,
|
||||
AuthorityDiscoveryId,
|
||||
BeefyId,
|
||||
) {
|
||||
let keys = get_authority_keys_from_seed_no_beefy(seed);
|
||||
(
|
||||
keys.0,
|
||||
keys.1,
|
||||
keys.2,
|
||||
keys.3,
|
||||
keys.4,
|
||||
keys.5,
|
||||
keys.6,
|
||||
get_public_from_string_or_panic::<BeefyId>(seed),
|
||||
)
|
||||
}
|
||||
|
||||
/// Helper function to generate stash, controller and session key from seed
|
||||
fn get_authority_keys_from_seed_no_beefy(
|
||||
seed: &str,
|
||||
) -> (AccountId, AccountId, BabeId, GrandpaId, ValidatorId, AssignmentId, AuthorityDiscoveryId) {
|
||||
(
|
||||
get_public_from_string_or_panic::<sr25519::Public>(&format!("{}//stash", seed)).into(),
|
||||
get_public_from_string_or_panic::<sr25519::Public>(seed).into(),
|
||||
get_public_from_string_or_panic::<BabeId>(seed),
|
||||
get_public_from_string_or_panic::<GrandpaId>(seed),
|
||||
get_public_from_string_or_panic::<ValidatorId>(seed),
|
||||
get_public_from_string_or_panic::<AssignmentId>(seed),
|
||||
get_public_from_string_or_panic::<AuthorityDiscoveryId>(seed),
|
||||
)
|
||||
}
|
||||
|
||||
fn zagros_session_keys(
|
||||
babe: BabeId,
|
||||
grandpa: GrandpaId,
|
||||
para_validator: ValidatorId,
|
||||
para_assignment: AssignmentId,
|
||||
authority_discovery: AuthorityDiscoveryId,
|
||||
beefy: BeefyId,
|
||||
) -> SessionKeys {
|
||||
SessionKeys { babe, grandpa, para_validator, para_assignment, authority_discovery, beefy }
|
||||
}
|
||||
|
||||
fn default_teyrchains_host_configuration(
|
||||
) -> pezkuwi_runtime_teyrchains::configuration::HostConfiguration<pezkuwi_primitives::BlockNumber> {
|
||||
use pezkuwi_primitives::{
|
||||
node_features::FeatureIndex, ApprovalVotingParams, AsyncBackingParams, MAX_CODE_SIZE,
|
||||
MAX_POV_SIZE,
|
||||
};
|
||||
|
||||
pezkuwi_runtime_teyrchains::configuration::HostConfiguration {
|
||||
// Important configs are equal to what is on Pezkuwi. These configs can be tweaked to mimic
|
||||
// different VMP congestion scenarios.
|
||||
max_downward_message_size: 51200,
|
||||
max_upward_message_size: 65531,
|
||||
max_upward_message_num_per_candidate: 16,
|
||||
max_upward_queue_count: 174762,
|
||||
max_upward_queue_size: 1048576,
|
||||
|
||||
validation_upgrade_cooldown: 2u32,
|
||||
validation_upgrade_delay: 2,
|
||||
code_retention_period: 1200,
|
||||
max_code_size: MAX_CODE_SIZE,
|
||||
max_pov_size: MAX_POV_SIZE,
|
||||
max_head_data_size: 32 * 1024,
|
||||
hrmp_sender_deposit: 0,
|
||||
hrmp_recipient_deposit: 0,
|
||||
hrmp_channel_max_capacity: 8,
|
||||
hrmp_channel_max_total_size: 8 * 1024,
|
||||
hrmp_max_teyrchain_inbound_channels: 4,
|
||||
hrmp_channel_max_message_size: 1024 * 1024,
|
||||
hrmp_max_teyrchain_outbound_channels: 4,
|
||||
hrmp_max_message_num_per_candidate: 5,
|
||||
dispute_period: 6,
|
||||
no_show_slots: 2,
|
||||
n_delay_tranches: 25,
|
||||
needed_approvals: 2,
|
||||
relay_vrf_modulo_samples: 2,
|
||||
zeroth_delay_tranche_width: 0,
|
||||
minimum_validation_upgrade_delay: 5,
|
||||
async_backing_params: AsyncBackingParams {
|
||||
max_candidate_depth: 0,
|
||||
allowed_ancestry_len: 0,
|
||||
},
|
||||
node_features: bitvec::vec::BitVec::from_element(
|
||||
(1u8 << (FeatureIndex::ElasticScalingMVP as usize)) |
|
||||
(1u8 << (FeatureIndex::EnableAssignmentsV2 as usize)) |
|
||||
(1u8 << (FeatureIndex::CandidateReceiptV2 as usize)),
|
||||
),
|
||||
scheduler_params: SchedulerParams {
|
||||
lookahead: 3,
|
||||
group_rotation_frequency: 20,
|
||||
paras_availability_period: 4,
|
||||
..Default::default()
|
||||
},
|
||||
approval_voting_params: ApprovalVotingParams { max_approval_coalesce_count: 5 },
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn default_teyrchains_host_configuration_is_consistent() {
|
||||
default_teyrchains_host_configuration().panic_if_not_consistent();
|
||||
}
|
||||
|
||||
/// Helper function to create zagros runtime `GenesisConfig` patch for testing
|
||||
fn zagros_testnet_genesis(
|
||||
initial_authorities: Vec<(
|
||||
AccountId,
|
||||
AccountId,
|
||||
BabeId,
|
||||
GrandpaId,
|
||||
ValidatorId,
|
||||
AssignmentId,
|
||||
AuthorityDiscoveryId,
|
||||
BeefyId,
|
||||
)>,
|
||||
root_key: AccountId,
|
||||
preset: alloc::string::String,
|
||||
) -> serde_json::Value {
|
||||
let endowed_accounts =
|
||||
Sr25519Keyring::well_known().map(|k| k.to_account_id()).collect::<Vec<_>>();
|
||||
|
||||
const ENDOWMENT: u128 = 1_000_000 * ZGR;
|
||||
|
||||
build_struct_json_patch!(RuntimeGenesisConfig {
|
||||
balances: BalancesConfig {
|
||||
balances: endowed_accounts.iter().map(|k| (k.clone(), ENDOWMENT)).collect::<Vec<_>>(),
|
||||
},
|
||||
session: SessionConfig {
|
||||
keys: initial_authorities
|
||||
.iter()
|
||||
.map(|x| {
|
||||
(
|
||||
x.0.clone(),
|
||||
x.0.clone(),
|
||||
zagros_session_keys(
|
||||
x.2.clone(),
|
||||
x.3.clone(),
|
||||
x.4.clone(),
|
||||
x.5.clone(),
|
||||
x.6.clone(),
|
||||
x.7.clone(),
|
||||
),
|
||||
)
|
||||
})
|
||||
.collect::<Vec<_>>(),
|
||||
},
|
||||
babe: BabeConfig { epoch_config: BABE_GENESIS_EPOCH_CONFIG },
|
||||
sudo: SudoConfig { key: Some(root_key) },
|
||||
configuration: ConfigurationConfig { config: default_teyrchains_host_configuration() },
|
||||
registrar: RegistrarConfig { next_free_para_id: pezkuwi_primitives::LOWEST_PUBLIC_ID },
|
||||
preset_store: crate::PresetStoreConfig { preset, ..Default::default() },
|
||||
staking_ah_client: StakingAhClientConfig {
|
||||
operating_mode: pezpallet_staking_async_ah_client::OperatingMode::Active,
|
||||
..Default::default()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/// Provides the JSON representation of predefined genesis config for given `id`.
|
||||
pub fn get_preset(id: &PresetId) -> Option<Vec<u8>> {
|
||||
let patch = match id.as_ref() {
|
||||
"real-m" => zagros_testnet_genesis(
|
||||
vec![
|
||||
get_authority_keys_from_seed("Alice"),
|
||||
get_authority_keys_from_seed("Bob"),
|
||||
get_authority_keys_from_seed("Eve"),
|
||||
get_authority_keys_from_seed("Dave"),
|
||||
],
|
||||
Sr25519Keyring::Alice.to_account_id(),
|
||||
id.to_string(),
|
||||
),
|
||||
"real-s" => zagros_testnet_genesis(
|
||||
vec![get_authority_keys_from_seed("Alice"), get_authority_keys_from_seed("Bob")],
|
||||
Sr25519Keyring::Alice.to_account_id(),
|
||||
id.to_string(),
|
||||
),
|
||||
"fake-s" => zagros_testnet_genesis(
|
||||
vec![get_authority_keys_from_seed("Alice"), get_authority_keys_from_seed("Bob")],
|
||||
Sr25519Keyring::Alice.to_account_id(),
|
||||
id.to_string(),
|
||||
),
|
||||
_ => panic!("Unknown preset ID: {}", id),
|
||||
};
|
||||
Some(
|
||||
serde_json::to_string(&patch)
|
||||
.expect("serialization to json is expected to work. qed.")
|
||||
.into_bytes(),
|
||||
)
|
||||
}
|
||||
|
||||
/// List of supported presets.
|
||||
pub fn preset_names() -> Vec<PresetId> {
|
||||
vec![PresetId::from("real-m"), PresetId::from("real-s"), PresetId::from("fake-s")]
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! New governance configurations for the Kusama runtime.
|
||||
|
||||
use super::*;
|
||||
use crate::xcm_config::Collectives;
|
||||
use pezframe_support::{parameter_types, traits::EitherOf};
|
||||
use pezframe_system::EnsureRootWithSuccess;
|
||||
use pezpallet_xcm::{EnsureXcm, IsVoiceOfBody};
|
||||
use xcm::latest::BodyId;
|
||||
|
||||
mod origins;
|
||||
pub use origins::{
|
||||
pezpallet_custom_origins, AuctionAdmin, FellowshipAdmin, GeneralAdmin, LeaseAdmin,
|
||||
ReferendumCanceller, ReferendumKiller, Spender, StakingAdmin, Treasurer, WhitelistedCaller,
|
||||
};
|
||||
mod tracks;
|
||||
pub use tracks::TracksInfo;
|
||||
|
||||
parameter_types! {
|
||||
pub const VoteLockingPeriod: BlockNumber = 7 * DAYS;
|
||||
}
|
||||
|
||||
impl pezpallet_conviction_voting::Config for Runtime {
|
||||
type WeightInfo = weights::pezpallet_conviction_voting::WeightInfo<Self>;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type Currency = Balances;
|
||||
type VoteLockingPeriod = VoteLockingPeriod;
|
||||
type MaxVotes = ConstU32<512>;
|
||||
type MaxTurnout =
|
||||
pezframe_support::traits::tokens::currency::ActiveIssuanceOf<Balances, Self::AccountId>;
|
||||
type Polls = Referenda;
|
||||
type BlockNumberProvider = System;
|
||||
type VotingHooks = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub const AlarmInterval: BlockNumber = 1;
|
||||
pub const SubmissionDeposit: Balance = 1 * 3 * CENTS;
|
||||
pub const UndecidingTimeout: BlockNumber = 14 * DAYS;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub const MaxBalance: Balance = Balance::max_value();
|
||||
}
|
||||
pub type TreasurySpender = EitherOf<EnsureRootWithSuccess<AccountId, MaxBalance>, Spender>;
|
||||
|
||||
impl origins::pezpallet_custom_origins::Config for Runtime {}
|
||||
|
||||
parameter_types! {
|
||||
// Fellows pluralistic body.
|
||||
pub const FellowsBodyId: BodyId = BodyId::Technical;
|
||||
}
|
||||
|
||||
impl pezpallet_whitelist::Config for Runtime {
|
||||
type WeightInfo = weights::pezpallet_whitelist::WeightInfo<Self>;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type WhitelistOrigin = EitherOfDiverse<
|
||||
EnsureRoot<Self::AccountId>,
|
||||
EnsureXcm<IsVoiceOfBody<Collectives, FellowsBodyId>>,
|
||||
>;
|
||||
type DispatchWhitelistedOrigin = EitherOf<EnsureRoot<Self::AccountId>, WhitelistedCaller>;
|
||||
type Preimages = Preimage;
|
||||
}
|
||||
|
||||
impl pezpallet_referenda::Config for Runtime {
|
||||
type WeightInfo = weights::pezpallet_referenda_referenda::WeightInfo<Self>;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type Scheduler = Scheduler;
|
||||
type Currency = Balances;
|
||||
type SubmitOrigin = pezframe_system::EnsureSigned<AccountId>;
|
||||
type CancelOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumCanceller>;
|
||||
type KillOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumKiller>;
|
||||
type Slash = Treasury;
|
||||
type Votes = pezpallet_conviction_voting::VotesOf<Runtime>;
|
||||
type Tally = pezpallet_conviction_voting::TallyOf<Runtime>;
|
||||
type SubmissionDeposit = SubmissionDeposit;
|
||||
type MaxQueued = ConstU32<100>;
|
||||
type UndecidingTimeout = UndecidingTimeout;
|
||||
type AlarmInterval = AlarmInterval;
|
||||
type Tracks = TracksInfo;
|
||||
type Preimages = Preimage;
|
||||
type BlockNumberProvider = System;
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Custom origins for governance interventions.
|
||||
|
||||
pub use pezpallet_custom_origins::*;
|
||||
|
||||
#[pezframe_support::pallet]
|
||||
pub mod pezpallet_custom_origins {
|
||||
use crate::{Balance, CENTS, GRAND};
|
||||
use pezframe_support::pezpallet_prelude::*;
|
||||
|
||||
#[pallet::config]
|
||||
pub trait Config: pezframe_system::Config {}
|
||||
|
||||
#[pallet::pallet]
|
||||
pub struct Pallet<T>(_);
|
||||
|
||||
#[derive(
|
||||
PartialEq,
|
||||
Eq,
|
||||
Clone,
|
||||
MaxEncodedLen,
|
||||
Encode,
|
||||
Decode,
|
||||
DecodeWithMemTracking,
|
||||
TypeInfo,
|
||||
RuntimeDebug,
|
||||
)]
|
||||
#[pallet::origin]
|
||||
pub enum Origin {
|
||||
/// Origin for cancelling slashes.
|
||||
StakingAdmin,
|
||||
/// Origin for spending (any amount of) funds.
|
||||
Treasurer,
|
||||
/// Origin for managing the composition of the fellowship.
|
||||
FellowshipAdmin,
|
||||
/// Origin for managing the registrar.
|
||||
GeneralAdmin,
|
||||
/// Origin for starting auctions.
|
||||
AuctionAdmin,
|
||||
/// Origin able to force slot leases.
|
||||
LeaseAdmin,
|
||||
/// Origin able to cancel referenda.
|
||||
ReferendumCanceller,
|
||||
/// Origin able to kill referenda.
|
||||
ReferendumKiller,
|
||||
/// Origin able to spend up to 1 KSM from the treasury at once.
|
||||
SmallTipper,
|
||||
/// Origin able to spend up to 5 KSM from the treasury at once.
|
||||
BigTipper,
|
||||
/// Origin able to spend up to 50 KSM from the treasury at once.
|
||||
SmallSpender,
|
||||
/// Origin able to spend up to 500 KSM from the treasury at once.
|
||||
MediumSpender,
|
||||
/// Origin able to spend up to 5,000 KSM from the treasury at once.
|
||||
BigSpender,
|
||||
/// Origin able to dispatch a whitelisted call.
|
||||
WhitelistedCaller,
|
||||
/// Origin commanded by any members of the Pezkuwi Fellowship (no Dan grade needed).
|
||||
FellowshipInitiates,
|
||||
/// Origin commanded by Pezkuwi Fellows (3rd Dan fellows or greater).
|
||||
Fellows,
|
||||
/// Origin commanded by Pezkuwi Experts (5th Dan fellows or greater).
|
||||
FellowshipExperts,
|
||||
/// Origin commanded by Pezkuwi Masters (7th Dan fellows of greater).
|
||||
FellowshipMasters,
|
||||
/// Origin commanded by rank 1 of the Pezkuwi Fellowship and with a success of 1.
|
||||
Fellowship1Dan,
|
||||
/// Origin commanded by rank 2 of the Pezkuwi Fellowship and with a success of 2.
|
||||
Fellowship2Dan,
|
||||
/// Origin commanded by rank 3 of the Pezkuwi Fellowship and with a success of 3.
|
||||
Fellowship3Dan,
|
||||
/// Origin commanded by rank 4 of the Pezkuwi Fellowship and with a success of 4.
|
||||
Fellowship4Dan,
|
||||
/// Origin commanded by rank 5 of the Pezkuwi Fellowship and with a success of 5.
|
||||
Fellowship5Dan,
|
||||
/// Origin commanded by rank 6 of the Pezkuwi Fellowship and with a success of 6.
|
||||
Fellowship6Dan,
|
||||
/// Origin commanded by rank 7 of the Pezkuwi Fellowship and with a success of 7.
|
||||
Fellowship7Dan,
|
||||
/// Origin commanded by rank 8 of the Pezkuwi Fellowship and with a success of 8.
|
||||
Fellowship8Dan,
|
||||
/// Origin commanded by rank 9 of the Pezkuwi Fellowship and with a success of 9.
|
||||
Fellowship9Dan,
|
||||
}
|
||||
|
||||
macro_rules! decl_unit_ensures {
|
||||
( $name:ident: $success_type:ty = $success:expr ) => {
|
||||
pub struct $name;
|
||||
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||
EnsureOrigin<O> for $name
|
||||
{
|
||||
type Success = $success_type;
|
||||
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||
o.into().and_then(|o| match o {
|
||||
Origin::$name => Ok($success),
|
||||
r => Err(O::from(r)),
|
||||
})
|
||||
}
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
fn try_successful_origin() -> Result<O, ()> {
|
||||
Ok(O::from(Origin::$name))
|
||||
}
|
||||
}
|
||||
};
|
||||
( $name:ident ) => { decl_unit_ensures! { $name : () = () } };
|
||||
( $name:ident: $success_type:ty = $success:expr, $( $rest:tt )* ) => {
|
||||
decl_unit_ensures! { $name: $success_type = $success }
|
||||
decl_unit_ensures! { $( $rest )* }
|
||||
};
|
||||
( $name:ident, $( $rest:tt )* ) => {
|
||||
decl_unit_ensures! { $name }
|
||||
decl_unit_ensures! { $( $rest )* }
|
||||
};
|
||||
() => {}
|
||||
}
|
||||
decl_unit_ensures!(
|
||||
StakingAdmin,
|
||||
Treasurer,
|
||||
FellowshipAdmin,
|
||||
GeneralAdmin,
|
||||
AuctionAdmin,
|
||||
LeaseAdmin,
|
||||
ReferendumCanceller,
|
||||
ReferendumKiller,
|
||||
WhitelistedCaller,
|
||||
FellowshipInitiates: u16 = 0,
|
||||
Fellows: u16 = 3,
|
||||
FellowshipExperts: u16 = 5,
|
||||
FellowshipMasters: u16 = 7,
|
||||
);
|
||||
|
||||
macro_rules! decl_ensure {
|
||||
(
|
||||
$vis:vis type $name:ident: EnsureOrigin<Success = $success_type:ty> {
|
||||
$( $item:ident = $success:expr, )*
|
||||
}
|
||||
) => {
|
||||
$vis struct $name;
|
||||
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||
EnsureOrigin<O> for $name
|
||||
{
|
||||
type Success = $success_type;
|
||||
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||
o.into().and_then(|o| match o {
|
||||
$(
|
||||
Origin::$item => Ok($success),
|
||||
)*
|
||||
r => Err(O::from(r)),
|
||||
})
|
||||
}
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
fn try_successful_origin() -> Result<O, ()> {
|
||||
// By convention the more privileged origins go later, so for greatest chance
|
||||
// of success, we want the last one.
|
||||
let _result: Result<O, ()> = Err(());
|
||||
$(
|
||||
let _result: Result<O, ()> = Ok(O::from(Origin::$item));
|
||||
)*
|
||||
_result
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
decl_ensure! {
|
||||
pub type Spender: EnsureOrigin<Success = Balance> {
|
||||
SmallTipper = 250 * 3 * CENTS,
|
||||
BigTipper = 1 * GRAND,
|
||||
SmallSpender = 10 * GRAND,
|
||||
MediumSpender = 100 * GRAND,
|
||||
BigSpender = 1_000 * GRAND,
|
||||
Treasurer = 10_000 * GRAND,
|
||||
}
|
||||
}
|
||||
|
||||
decl_ensure! {
|
||||
pub type EnsureFellowship: EnsureOrigin<Success = u16> {
|
||||
Fellowship1Dan = 1,
|
||||
Fellowship2Dan = 2,
|
||||
Fellowship3Dan = 3,
|
||||
Fellowship4Dan = 4,
|
||||
Fellowship5Dan = 5,
|
||||
Fellowship6Dan = 6,
|
||||
Fellowship7Dan = 7,
|
||||
Fellowship8Dan = 8,
|
||||
Fellowship9Dan = 9,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,325 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Track configurations for governance.
|
||||
|
||||
use super::*;
|
||||
|
||||
use alloc::borrow::Cow;
|
||||
use pezsp_runtime::str_array as s;
|
||||
|
||||
const fn percent(x: i32) -> pezsp_arithmetic::FixedI64 {
|
||||
pezsp_arithmetic::FixedI64::from_rational(x as u128, 100)
|
||||
}
|
||||
use pezpallet_referenda::Curve;
|
||||
const APP_ROOT: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||
const SUP_ROOT: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||
const APP_STAKING_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_STAKING_ADMIN: Curve =
|
||||
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_TREASURER: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||
const SUP_TREASURER: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||
const APP_FELLOWSHIP_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_FELLOWSHIP_ADMIN: Curve =
|
||||
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_GENERAL_ADMIN: Curve =
|
||||
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||
const SUP_GENERAL_ADMIN: Curve =
|
||||
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||
const APP_AUCTION_ADMIN: Curve =
|
||||
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||
const SUP_AUCTION_ADMIN: Curve =
|
||||
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||
const APP_LEASE_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_LEASE_ADMIN: Curve = Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_REFERENDUM_CANCELLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_REFERENDUM_CANCELLER: Curve =
|
||||
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_REFERENDUM_KILLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_REFERENDUM_KILLER: Curve =
|
||||
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_SMALL_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||
const SUP_SMALL_TIPPER: Curve = Curve::make_reciprocal(1, 28, percent(4), percent(0), percent(50));
|
||||
const APP_BIG_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||
const SUP_BIG_TIPPER: Curve = Curve::make_reciprocal(8, 28, percent(1), percent(0), percent(50));
|
||||
const APP_SMALL_SPENDER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||
const SUP_SMALL_SPENDER: Curve =
|
||||
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||
const APP_MEDIUM_SPENDER: Curve = Curve::make_linear(23, 28, percent(50), percent(100));
|
||||
const SUP_MEDIUM_SPENDER: Curve =
|
||||
Curve::make_reciprocal(16, 28, percent(1), percent(0), percent(50));
|
||||
const APP_BIG_SPENDER: Curve = Curve::make_linear(28, 28, percent(50), percent(100));
|
||||
const SUP_BIG_SPENDER: Curve = Curve::make_reciprocal(20, 28, percent(1), percent(0), percent(50));
|
||||
const APP_WHITELISTED_CALLER: Curve =
|
||||
Curve::make_reciprocal(16, 28 * 24, percent(96), percent(50), percent(100));
|
||||
const SUP_WHITELISTED_CALLER: Curve =
|
||||
Curve::make_reciprocal(1, 28, percent(20), percent(5), percent(50));
|
||||
|
||||
const TRACKS_DATA: [pezpallet_referenda::Track<u16, Balance, BlockNumber>; 15] = [
|
||||
pezpallet_referenda::Track {
|
||||
id: 0,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("root"),
|
||||
max_deciding: 1,
|
||||
decision_deposit: 100 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 12 * MINUTES,
|
||||
min_enactment_period: 5 * MINUTES,
|
||||
min_approval: APP_ROOT,
|
||||
min_support: SUP_ROOT,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 1,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("whitelisted_caller"),
|
||||
max_deciding: 100,
|
||||
decision_deposit: 10 * GRAND,
|
||||
prepare_period: 6 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 4 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_WHITELISTED_CALLER,
|
||||
min_support: SUP_WHITELISTED_CALLER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 10,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("staking_admin"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 5 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_STAKING_ADMIN,
|
||||
min_support: SUP_STAKING_ADMIN,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 11,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("treasurer"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 1 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 5 * MINUTES,
|
||||
min_approval: APP_TREASURER,
|
||||
min_support: SUP_TREASURER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 12,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("lease_admin"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 5 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_LEASE_ADMIN,
|
||||
min_support: SUP_LEASE_ADMIN,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 13,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("fellowship_admin"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 5 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_FELLOWSHIP_ADMIN,
|
||||
min_support: SUP_FELLOWSHIP_ADMIN,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 14,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("general_admin"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 5 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_GENERAL_ADMIN,
|
||||
min_support: SUP_GENERAL_ADMIN,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 15,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("auction_admin"),
|
||||
max_deciding: 10,
|
||||
decision_deposit: 5 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_AUCTION_ADMIN,
|
||||
min_support: SUP_AUCTION_ADMIN,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 20,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("referendum_canceller"),
|
||||
max_deciding: 1_000,
|
||||
decision_deposit: 10 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 14 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_REFERENDUM_CANCELLER,
|
||||
min_support: SUP_REFERENDUM_CANCELLER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 21,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("referendum_killer"),
|
||||
max_deciding: 1_000,
|
||||
decision_deposit: 50 * GRAND,
|
||||
prepare_period: 8 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 8 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_REFERENDUM_KILLER,
|
||||
min_support: SUP_REFERENDUM_KILLER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 30,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("small_tipper"),
|
||||
max_deciding: 200,
|
||||
decision_deposit: 1 * 3 * CENTS,
|
||||
prepare_period: 1 * MINUTES,
|
||||
decision_period: 14 * MINUTES,
|
||||
confirm_period: 4 * MINUTES,
|
||||
min_enactment_period: 1 * MINUTES,
|
||||
min_approval: APP_SMALL_TIPPER,
|
||||
min_support: SUP_SMALL_TIPPER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 31,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("big_tipper"),
|
||||
max_deciding: 100,
|
||||
decision_deposit: 10 * 3 * CENTS,
|
||||
prepare_period: 4 * MINUTES,
|
||||
decision_period: 14 * MINUTES,
|
||||
confirm_period: 12 * MINUTES,
|
||||
min_enactment_period: 3 * MINUTES,
|
||||
min_approval: APP_BIG_TIPPER,
|
||||
min_support: SUP_BIG_TIPPER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 32,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("small_spender"),
|
||||
max_deciding: 50,
|
||||
decision_deposit: 100 * 3 * CENTS,
|
||||
prepare_period: 10 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 10 * MINUTES,
|
||||
min_enactment_period: 5 * MINUTES,
|
||||
min_approval: APP_SMALL_SPENDER,
|
||||
min_support: SUP_SMALL_SPENDER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 33,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("medium_spender"),
|
||||
max_deciding: 50,
|
||||
decision_deposit: 200 * 3 * CENTS,
|
||||
prepare_period: 10 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 12 * MINUTES,
|
||||
min_enactment_period: 5 * MINUTES,
|
||||
min_approval: APP_MEDIUM_SPENDER,
|
||||
min_support: SUP_MEDIUM_SPENDER,
|
||||
},
|
||||
},
|
||||
pezpallet_referenda::Track {
|
||||
id: 34,
|
||||
info: pezpallet_referenda::TrackInfo {
|
||||
name: s("big_spender"),
|
||||
max_deciding: 50,
|
||||
decision_deposit: 400 * 3 * CENTS,
|
||||
prepare_period: 10 * MINUTES,
|
||||
decision_period: 20 * MINUTES,
|
||||
confirm_period: 14 * MINUTES,
|
||||
min_enactment_period: 5 * MINUTES,
|
||||
min_approval: APP_BIG_SPENDER,
|
||||
min_support: SUP_BIG_SPENDER,
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
pub struct TracksInfo;
|
||||
impl pezpallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
|
||||
type Id = u16;
|
||||
type RuntimeOrigin = <RuntimeOrigin as pezframe_support::traits::OriginTrait>::PalletsOrigin;
|
||||
|
||||
fn tracks(
|
||||
) -> impl Iterator<Item = Cow<'static, pezpallet_referenda::Track<Self::Id, Balance, BlockNumber>>>
|
||||
{
|
||||
TRACKS_DATA.iter().map(Cow::Borrowed)
|
||||
}
|
||||
fn track_for(id: &Self::RuntimeOrigin) -> Result<Self::Id, ()> {
|
||||
if let Ok(system_origin) = pezframe_system::RawOrigin::try_from(id.clone()) {
|
||||
match system_origin {
|
||||
pezframe_system::RawOrigin::Root => Ok(0),
|
||||
_ => Err(()),
|
||||
}
|
||||
} else if let Ok(custom_origin) = origins::Origin::try_from(id.clone()) {
|
||||
match custom_origin {
|
||||
origins::Origin::WhitelistedCaller => Ok(1),
|
||||
// General admin
|
||||
origins::Origin::StakingAdmin => Ok(10),
|
||||
origins::Origin::Treasurer => Ok(11),
|
||||
origins::Origin::LeaseAdmin => Ok(12),
|
||||
origins::Origin::FellowshipAdmin => Ok(13),
|
||||
origins::Origin::GeneralAdmin => Ok(14),
|
||||
origins::Origin::AuctionAdmin => Ok(15),
|
||||
// Referendum admins
|
||||
origins::Origin::ReferendumCanceller => Ok(20),
|
||||
origins::Origin::ReferendumKiller => Ok(21),
|
||||
// Limited treasury spenders
|
||||
origins::Origin::SmallTipper => Ok(30),
|
||||
origins::Origin::BigTipper => Ok(31),
|
||||
origins::Origin::SmallSpender => Ok(32),
|
||||
origins::Origin::MediumSpender => Ok(33),
|
||||
origins::Origin::BigSpender => Ok(34),
|
||||
_ => Err(()),
|
||||
}
|
||||
} else {
|
||||
Err(())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::xcm_config;
|
||||
use alloc::{boxed::Box, vec};
|
||||
use codec::{Decode, Encode};
|
||||
use core::marker::PhantomData;
|
||||
use pezframe_support::pezpallet_prelude::DispatchResult;
|
||||
use pezframe_system::RawOrigin;
|
||||
use pezpallet_staking_async_rc_runtime_constants::currency::*;
|
||||
use pezkuwi_primitives::Balance;
|
||||
use pezkuwi_runtime_common::identity_migrator::{OnReapIdentity, WeightInfo};
|
||||
use xcm::{latest::prelude::*, VersionedLocation, VersionedXcm};
|
||||
use xcm_executor::traits::TransactAsset;
|
||||
|
||||
/// A type containing the encoding of the People Chain pallets in its runtime. Used to construct any
|
||||
/// remote calls. The codec index must correspond to the index of `IdentityMigrator` in the
|
||||
/// `construct_runtime` of the remote chain.
|
||||
#[derive(Encode, Decode)]
|
||||
enum PeopleRuntimePallets<AccountId: Encode> {
|
||||
#[codec(index = 248)]
|
||||
IdentityMigrator(IdentityMigratorCalls<AccountId>),
|
||||
}
|
||||
|
||||
/// Call encoding for the calls needed from the Identity Migrator pallet.
|
||||
#[derive(Encode, Decode)]
|
||||
enum IdentityMigratorCalls<AccountId: Encode> {
|
||||
#[codec(index = 1)]
|
||||
PokeDeposit(AccountId),
|
||||
}
|
||||
|
||||
/// Type that implements `OnReapIdentity` that will send the deposit needed to store the same
|
||||
/// information on a teyrchain, sends the deposit there, and then updates it.
|
||||
pub struct ToTeyrchainIdentityReaper<Runtime, AccountId>(PhantomData<(Runtime, AccountId)>);
|
||||
impl<Runtime, AccountId> ToTeyrchainIdentityReaper<Runtime, AccountId> {
|
||||
/// Calculate the balance needed on the remote chain based on the `IdentityInfo` and `Subs` on
|
||||
/// this chain. The total includes:
|
||||
///
|
||||
/// - Identity basic deposit
|
||||
/// - `IdentityInfo` byte deposit
|
||||
/// - Sub accounts deposit
|
||||
/// - 2x existential deposit (1 for account existence, 1 such that the user can transact)
|
||||
fn calculate_remote_deposit(bytes: u32, subs: u32) -> Balance {
|
||||
// Remote deposit constants. Teyrchain uses `deposit / 100`
|
||||
// Source:
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/blob/a146918/pezcumulus/parachains/common/src/westend.rs#L28
|
||||
//
|
||||
// Teyrchain Deposit Configuration:
|
||||
//
|
||||
// pub const BasicDeposit: Balance = deposit(1, 17);
|
||||
// pub const ByteDeposit: Balance = deposit(0, 1);
|
||||
// pub const SubAccountDeposit: Balance = deposit(1, 53);
|
||||
// pub const EXISTENTIAL_DEPOSIT: Balance = constants::currency::EXISTENTIAL_DEPOSIT / 10;
|
||||
let para_basic_deposit = deposit(1, 17) / 100;
|
||||
let para_byte_deposit = deposit(0, 1) / 100;
|
||||
let para_sub_account_deposit = deposit(1, 53) / 100;
|
||||
let para_existential_deposit = EXISTENTIAL_DEPOSIT / 10;
|
||||
|
||||
// pallet deposits
|
||||
let id_deposit =
|
||||
para_basic_deposit.saturating_add(para_byte_deposit.saturating_mul(bytes as Balance));
|
||||
let subs_deposit = para_sub_account_deposit.saturating_mul(subs as Balance);
|
||||
|
||||
id_deposit
|
||||
.saturating_add(subs_deposit)
|
||||
.saturating_add(para_existential_deposit.saturating_mul(2))
|
||||
}
|
||||
}
|
||||
|
||||
// Note / Warning: This implementation should only be used in a transactional context. If not, then
|
||||
// an error could result in assets being burned.
|
||||
impl<Runtime, AccountId> OnReapIdentity<AccountId> for ToTeyrchainIdentityReaper<Runtime, AccountId>
|
||||
where
|
||||
Runtime: pezframe_system::Config + pezpallet_xcm::Config,
|
||||
AccountId: Into<[u8; 32]> + Clone + Encode,
|
||||
{
|
||||
fn on_reap_identity(who: &AccountId, fields: u32, subs: u32) -> DispatchResult {
|
||||
use crate::{
|
||||
impls::IdentityMigratorCalls::PokeDeposit,
|
||||
weights::pezkuwi_runtime_common_identity_migrator::WeightInfo as MigratorWeights,
|
||||
};
|
||||
|
||||
let total_to_send = Self::calculate_remote_deposit(fields, subs);
|
||||
|
||||
// define asset / destination from relay perspective
|
||||
let wnd = Asset { id: AssetId(Here.into_location()), fun: Fungible(total_to_send) };
|
||||
// People Chain: ParaId 1004
|
||||
let destination: Location = Location::new(0, Teyrchain(1004));
|
||||
|
||||
// Do `check_out` accounting since the XCM Executor's `InitiateTeleport` doesn't support
|
||||
// unpaid teleports.
|
||||
|
||||
// withdraw the asset from `who`
|
||||
let who_origin =
|
||||
Junction::AccountId32 { network: None, id: who.clone().into() }.into_location();
|
||||
let _withdrawn = xcm_config::LocalAssetTransactor::withdraw_asset(&wnd, &who_origin, None)
|
||||
.map_err(|err| {
|
||||
log::error!(
|
||||
target: "runtime::on_reap_identity",
|
||||
"withdraw_asset(what: {:?}, who_origin: {:?}) error: {:?}",
|
||||
wnd, who_origin, err
|
||||
);
|
||||
pezpallet_xcm::Error::<Runtime>::LowBalance
|
||||
})?;
|
||||
|
||||
// check out
|
||||
xcm_config::LocalAssetTransactor::can_check_out(
|
||||
&destination,
|
||||
&wnd,
|
||||
// not used in AssetTransactor
|
||||
&XcmContext { origin: None, message_id: [0; 32], topic: None },
|
||||
)
|
||||
.map_err(|err| {
|
||||
log::error!(
|
||||
target: "runtime::on_reap_identity",
|
||||
"can_check_out(destination: {:?}, asset: {:?}, _) error: {:?}",
|
||||
destination, wnd, err
|
||||
);
|
||||
pezpallet_xcm::Error::<Runtime>::CannotCheckOutTeleport
|
||||
})?;
|
||||
xcm_config::LocalAssetTransactor::check_out(
|
||||
&destination,
|
||||
&wnd,
|
||||
// not used in AssetTransactor
|
||||
&XcmContext { origin: None, message_id: [0; 32], topic: None },
|
||||
);
|
||||
|
||||
// reanchor
|
||||
let wnd_reanchored: Assets =
|
||||
vec![Asset { id: AssetId(Location::new(1, Here)), fun: Fungible(total_to_send) }]
|
||||
.into();
|
||||
|
||||
let poke = PeopleRuntimePallets::<AccountId>::IdentityMigrator(PokeDeposit(who.clone()));
|
||||
let remote_weight_limit = MigratorWeights::<Runtime>::poke_deposit().saturating_mul(2);
|
||||
|
||||
// Actual program to execute on People Chain.
|
||||
let program: Xcm<()> = Xcm(vec![
|
||||
// Unpaid as this is constructed by the system, once per user. The user shouldn't have
|
||||
// their balance reduced by teleport fees for the favor of migrating.
|
||||
UnpaidExecution { weight_limit: Unlimited, check_origin: None },
|
||||
// Receive the asset into holding.
|
||||
ReceiveTeleportedAsset(wnd_reanchored),
|
||||
// Deposit into the user's account.
|
||||
DepositAsset {
|
||||
assets: Wild(AllCounted(1)),
|
||||
beneficiary: Junction::AccountId32 { network: None, id: who.clone().into() }
|
||||
.into_location()
|
||||
.into(),
|
||||
},
|
||||
// Poke the deposit to reserve the appropriate amount on the teyrchain.
|
||||
Transact {
|
||||
origin_kind: OriginKind::Superuser,
|
||||
call: poke.encode().into(),
|
||||
fallback_max_weight: Some(remote_weight_limit),
|
||||
},
|
||||
]);
|
||||
|
||||
// send
|
||||
let _ = <pezpallet_xcm::Pallet<Runtime>>::send(
|
||||
RawOrigin::Root.into(),
|
||||
Box::new(VersionedLocation::from(destination)),
|
||||
Box::new(VersionedXcm::from(program)),
|
||||
)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
fn ensure_successful_identity_reaping(_: &AccountId, _: u32, _: u32) {
|
||||
crate::Dmp::make_teyrchain_reachable(1004);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,215 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Tests for the Zagros Runtime Configuration
|
||||
|
||||
use std::collections::HashSet;
|
||||
|
||||
use crate::{xcm_config::LocationConverter, *};
|
||||
use pezframe_support::traits::WhitelistedStorageKeys;
|
||||
use pezsp_core::{crypto::Ss58Codec, hexdisplay::HexDisplay};
|
||||
use pezsp_keyring::Sr25519Keyring::Alice;
|
||||
use xcm_runtime_apis::conversions::LocationToAccountHelper;
|
||||
|
||||
#[test]
|
||||
fn remove_keys_weight_is_sensible() {
|
||||
use pezkuwi_runtime_common::crowdloan::WeightInfo;
|
||||
let max_weight = <Runtime as crowdloan::Config>::WeightInfo::refund(RemoveKeysLimit::get());
|
||||
// Max remove keys limit should be no more than half the total block weight.
|
||||
assert!((max_weight * 2).all_lt(BlockWeights::get().max_block));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sample_size_is_sensible() {
|
||||
use pezkuwi_runtime_common::auctions::WeightInfo;
|
||||
// Need to clean up all samples at the end of an auction.
|
||||
let samples: BlockNumber = EndingPeriod::get() / SampleLength::get();
|
||||
let max_weight: pezframe_support::weights::Weight =
|
||||
RocksDbWeight::get().reads_writes(samples.into(), samples.into());
|
||||
// Max sample cleanup should be no more than half the total block weight.
|
||||
assert!((max_weight * 2).all_lt(BlockWeights::get().max_block));
|
||||
assert!((<Runtime as auctions::Config>::WeightInfo::on_initialize() * 2)
|
||||
.all_lt(BlockWeights::get().max_block));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn call_size() {
|
||||
RuntimeCall::assert_size_under(256);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sanity_check_teleport_assets_weight() {
|
||||
// This test sanity checks that at least 50 teleports can exist in a block.
|
||||
// Usually when XCM runs into an issue, it will return a weight of `Weight::MAX`,
|
||||
// so this test will certainly ensure that this problem does not occur.
|
||||
use pezframe_support::dispatch::GetDispatchInfo;
|
||||
let weight = pezpallet_xcm::Call::<Runtime>::limited_teleport_assets {
|
||||
dest: Box::new(Here.into()),
|
||||
beneficiary: Box::new(Here.into()),
|
||||
assets: Box::new((Here, 200_000).into()),
|
||||
fee_asset_id: Box::new(Here.into()),
|
||||
weight_limit: Unlimited,
|
||||
}
|
||||
.get_dispatch_info()
|
||||
.call_weight;
|
||||
|
||||
assert!((weight * 50).all_lt(BlockWeights::get().max_block));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn check_whitelist() {
|
||||
let whitelist: HashSet<String> = AllPalletsWithSystem::whitelisted_storage_keys()
|
||||
.iter()
|
||||
.map(|e| HexDisplay::from(&e.key).to_string())
|
||||
.collect();
|
||||
|
||||
// Block number
|
||||
assert!(whitelist.contains("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac"));
|
||||
// Total issuance
|
||||
assert!(whitelist.contains("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80"));
|
||||
// Execution phase
|
||||
assert!(whitelist.contains("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a"));
|
||||
// Event count
|
||||
assert!(whitelist.contains("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850"));
|
||||
// System events
|
||||
assert!(whitelist.contains("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7"));
|
||||
// Configuration ActiveConfig
|
||||
assert!(whitelist.contains("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385"));
|
||||
// XcmPallet VersionDiscoveryQueue
|
||||
assert!(whitelist.contains("1405f2411d0af5a7ff397e7c9dc68d194a222ba0333561192e474c59ed8e30e1"));
|
||||
// XcmPallet SafeXcmVersion
|
||||
assert!(whitelist.contains("1405f2411d0af5a7ff397e7c9dc68d196323ae84c43568be0d1394d5d0d522c4"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn check_treasury_pallet_id() {
|
||||
assert_eq!(
|
||||
<Treasury as pezframe_support::traits::PalletInfoAccess>::index() as u8,
|
||||
pezpallet_staking_async_rc_runtime_constants::TREASURY_PALLET_ID
|
||||
);
|
||||
}
|
||||
|
||||
#[cfg(all(test, feature = "try-runtime"))]
|
||||
mod remote_tests {
|
||||
use super::*;
|
||||
use pezframe_try_runtime::{runtime_decl_for_try_runtime::TryRuntime, UpgradeCheckSelect};
|
||||
use remote_externalities::{
|
||||
Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport,
|
||||
};
|
||||
use std::env::var;
|
||||
|
||||
#[tokio::test]
|
||||
async fn run_migrations() {
|
||||
if var("RUN_MIGRATION_TESTS").is_err() {
|
||||
return;
|
||||
}
|
||||
|
||||
pezsp_tracing::try_init_simple();
|
||||
let transport: Transport =
|
||||
var("WS").unwrap_or("wss://zagros-rpc.pezkuwichain.io:443".to_string()).into();
|
||||
let maybe_state_snapshot: Option<SnapshotConfig> = var("SNAP").map(|s| s.into()).ok();
|
||||
let mut ext = Builder::<Block>::default()
|
||||
.mode(if let Some(state_snapshot) = maybe_state_snapshot {
|
||||
Mode::OfflineOrElseOnline(
|
||||
OfflineConfig { state_snapshot: state_snapshot.clone() },
|
||||
OnlineConfig {
|
||||
transport,
|
||||
state_snapshot: Some(state_snapshot),
|
||||
..Default::default()
|
||||
},
|
||||
)
|
||||
} else {
|
||||
Mode::Online(OnlineConfig { transport, ..Default::default() })
|
||||
})
|
||||
.build()
|
||||
.await
|
||||
.unwrap();
|
||||
ext.execute_with(|| Runtime::on_runtime_upgrade(UpgradeCheckSelect::PreAndPost));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn location_conversion_works() {
|
||||
// the purpose of hardcoded values is to catch an unintended location conversion logic change.
|
||||
struct TestCase {
|
||||
description: &'static str,
|
||||
location: Location,
|
||||
expected_account_id_str: &'static str,
|
||||
}
|
||||
|
||||
let test_cases = vec![
|
||||
// DescribeTerminus
|
||||
TestCase {
|
||||
description: "DescribeTerminus Child",
|
||||
location: Location::new(0, [Teyrchain(1111)]),
|
||||
expected_account_id_str: "5Ec4AhP4h37t7TFsAZ4HhFq6k92usAAJDUC3ADSZ4H4Acru3",
|
||||
},
|
||||
// DescribePalletTerminal
|
||||
TestCase {
|
||||
description: "DescribePalletTerminal Child",
|
||||
location: Location::new(0, [Teyrchain(1111), PalletInstance(50)]),
|
||||
expected_account_id_str: "5FjEBrKn3STAFsZpQF4jzwxUYHNGnNgzdZqSQfTzeJ82XKp6",
|
||||
},
|
||||
// DescribeAccountId32Terminal
|
||||
TestCase {
|
||||
description: "DescribeAccountId32Terminal Child",
|
||||
location: Location::new(
|
||||
0,
|
||||
[Teyrchain(1111), AccountId32 { network: None, id: AccountId::from(Alice).into() }],
|
||||
),
|
||||
expected_account_id_str: "5EEMro9RRDpne4jn9TuD7cTB6Amv1raVZ3xspSkqb2BF3FJH",
|
||||
},
|
||||
// DescribeAccountKey20Terminal
|
||||
TestCase {
|
||||
description: "DescribeAccountKey20Terminal Child",
|
||||
location: Location::new(
|
||||
0,
|
||||
[Teyrchain(1111), AccountKey20 { network: None, key: [0u8; 20] }],
|
||||
),
|
||||
expected_account_id_str: "5HohjXdjs6afcYcgHHSstkrtGfxgfGKsnZ1jtewBpFiGu4DL",
|
||||
},
|
||||
// DescribeTreasuryVoiceTerminal
|
||||
TestCase {
|
||||
description: "DescribeTreasuryVoiceTerminal Child",
|
||||
location: Location::new(
|
||||
0,
|
||||
[Teyrchain(1111), Plurality { id: BodyId::Treasury, part: BodyPart::Voice }],
|
||||
),
|
||||
expected_account_id_str: "5GenE4vJgHvwYVcD6b4nBvH5HNY4pzpVHWoqwFpNMFT7a2oX",
|
||||
},
|
||||
// DescribeBodyTerminal
|
||||
TestCase {
|
||||
description: "DescribeBodyTerminal Child",
|
||||
location: Location::new(
|
||||
0,
|
||||
[Teyrchain(1111), Plurality { id: BodyId::Unit, part: BodyPart::Voice }],
|
||||
),
|
||||
expected_account_id_str: "5DPgGBFTTYm1dGbtB1VWHJ3T3ScvdrskGGx6vSJZNP1WNStV",
|
||||
},
|
||||
];
|
||||
|
||||
for tc in test_cases {
|
||||
let expected =
|
||||
AccountId::from_string(tc.expected_account_id_str).expect("Invalid AccountId string");
|
||||
|
||||
let got = LocationToAccountHelper::<AccountId, LocationConverter>::convert_location(
|
||||
tc.location.into(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(got, expected, "{}", tc.description);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezframe_system`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezframe_system
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezframe_system`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezframe_system::WeightInfo for WeightInfo<T> {
|
||||
/// The range of component `b` is `[0, 3932160]`.
|
||||
fn remark(b: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_046_000 picoseconds.
|
||||
Weight::from_parts(2_092_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 160
|
||||
.saturating_add(Weight::from_parts(14_296, 0).saturating_mul(b.into()))
|
||||
}
|
||||
/// The range of component `b` is `[0, 3932160]`.
|
||||
fn remark_with_event(b: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_343_000 picoseconds.
|
||||
Weight::from_parts(6_529_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 158
|
||||
.saturating_add(Weight::from_parts(15_724, 0).saturating_mul(b.into()))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
|
||||
fn set_heap_pages() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_611_000 picoseconds.
|
||||
Weight::from_parts(3_856_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
|
||||
fn set_code() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4`
|
||||
// Estimated: `67035`
|
||||
// Minimum execution time: 186_708_046_000 picoseconds.
|
||||
Weight::from_parts(188_430_007_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 67035))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Skipped::Metadata` (r:0 w:0)
|
||||
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `i` is `[0, 1000]`.
|
||||
fn set_storage(i: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_067_000 picoseconds.
|
||||
Weight::from_parts(2_183_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 2_517
|
||||
.saturating_add(Weight::from_parts(739_980, 0).saturating_mul(i.into()))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
|
||||
}
|
||||
/// Storage: `Skipped::Metadata` (r:0 w:0)
|
||||
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `i` is `[0, 1000]`.
|
||||
fn kill_storage(i: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_996_000 picoseconds.
|
||||
Weight::from_parts(2_130_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 1_375
|
||||
.saturating_add(Weight::from_parts(575_422, 0).saturating_mul(i.into()))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
|
||||
}
|
||||
/// Storage: `Skipped::Metadata` (r:0 w:0)
|
||||
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `p` is `[0, 1000]`.
|
||||
fn kill_prefix(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `69 + p * (69 ±0)`
|
||||
// Estimated: `81 + p * (70 ±0)`
|
||||
// Minimum execution time: 3_947_000 picoseconds.
|
||||
Weight::from_parts(4_152_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 81))
|
||||
// Standard Error: 2_193
|
||||
.saturating_add(Weight::from_parts(1_392_480, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
|
||||
.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
|
||||
}
|
||||
/// Storage: `System::AuthorizedUpgrade` (r:0 w:1)
|
||||
/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
fn authorize_upgrade() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 17_968_000 picoseconds.
|
||||
Weight::from_parts(19_353_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
|
||||
/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
|
||||
fn apply_authorized_upgrade() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26`
|
||||
// Estimated: `67035`
|
||||
// Minimum execution time: 190_893_853_000 picoseconds.
|
||||
Weight::from_parts(193_181_367_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 67035))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Autogenerated weights for `pezframe_system_extensions`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezframe_system_extensions
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezframe_system_extensions`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezframe_system::ExtensionsWeightInfo for WeightInfo<T> {
|
||||
fn check_genesis() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `30`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_347_000 picoseconds.
|
||||
Weight::from_parts(3_488_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn check_mortality_mortal_transaction() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `68`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_549_000 picoseconds.
|
||||
Weight::from_parts(6_749_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn check_mortality_immortal_transaction() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `68`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_331_000 picoseconds.
|
||||
Weight::from_parts(6_678_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn check_non_zero_sender() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 503_000 picoseconds.
|
||||
Weight::from_parts(594_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn check_nonce() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 6_858_000 picoseconds.
|
||||
Weight::from_parts(7_072_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn check_spec_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 405_000 picoseconds.
|
||||
Weight::from_parts(446_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn check_tx_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 405_000 picoseconds.
|
||||
Weight::from_parts(468_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn check_weight() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_806_000 picoseconds.
|
||||
Weight::from_parts(3_935_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn weight_reclaim() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_214_000 picoseconds.
|
||||
Weight::from_parts(2_379_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! A list of the different weight modules for our runtime.
|
||||
|
||||
pub mod pezframe_system;
|
||||
pub mod pezframe_system_extensions;
|
||||
pub mod pezpallet_asset_rate;
|
||||
pub mod pezpallet_balances;
|
||||
pub mod pezpallet_beefy_mmr;
|
||||
pub mod pezpallet_conviction_voting;
|
||||
pub mod pezpallet_identity;
|
||||
pub mod pezpallet_indices;
|
||||
pub mod pezpallet_message_queue;
|
||||
pub mod pezpallet_migrations;
|
||||
pub mod pezpallet_mmr;
|
||||
pub mod pezpallet_multisig;
|
||||
pub mod pezpallet_parameters;
|
||||
pub mod pezpallet_preimage;
|
||||
pub mod pezpallet_proxy;
|
||||
pub mod pezpallet_referenda_referenda;
|
||||
pub mod pezpallet_scheduler;
|
||||
pub mod pezpallet_session;
|
||||
pub mod pezpallet_sudo;
|
||||
pub mod pezpallet_timestamp;
|
||||
pub mod pezpallet_transaction_payment;
|
||||
pub mod pezpallet_treasury;
|
||||
pub mod pezpallet_utility;
|
||||
pub mod pezpallet_vesting;
|
||||
pub mod pezpallet_whitelist;
|
||||
pub mod pezpallet_xcm;
|
||||
pub mod pezkuwi_runtime_common_assigned_slots;
|
||||
pub mod pezkuwi_runtime_common_auctions;
|
||||
pub mod pezkuwi_runtime_common_crowdloan;
|
||||
pub mod pezkuwi_runtime_common_identity_migrator;
|
||||
pub mod pezkuwi_runtime_common_paras_registrar;
|
||||
pub mod pezkuwi_runtime_common_slots;
|
||||
pub mod pezkuwi_runtime_teyrchains_configuration;
|
||||
pub mod pezkuwi_runtime_teyrchains_coretime;
|
||||
pub mod pezkuwi_runtime_teyrchains_disputes;
|
||||
pub mod pezkuwi_runtime_teyrchains_disputes_slashing;
|
||||
pub mod pezkuwi_runtime_teyrchains_hrmp;
|
||||
pub mod pezkuwi_runtime_teyrchains_inclusion;
|
||||
pub mod pezkuwi_runtime_teyrchains_initializer;
|
||||
pub mod pezkuwi_runtime_teyrchains_on_demand;
|
||||
pub mod pezkuwi_runtime_teyrchains_paras;
|
||||
pub mod pezkuwi_runtime_teyrchains_paras_inherent;
|
||||
pub mod xcm;
|
||||
@@ -0,0 +1,90 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_asset_rate`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_asset_rate
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_asset_rate`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_asset_rate::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
|
||||
/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
|
||||
fn create() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `4703`
|
||||
// Minimum execution time: 13_141_000 picoseconds.
|
||||
Weight::from_parts(13_549_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4703))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
|
||||
/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
|
||||
fn update() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `210`
|
||||
// Estimated: `4703`
|
||||
// Minimum execution time: 16_979_000 picoseconds.
|
||||
Weight::from_parts(17_951_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4703))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
|
||||
/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
|
||||
fn remove() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `210`
|
||||
// Estimated: `4703`
|
||||
// Minimum execution time: 18_364_000 picoseconds.
|
||||
Weight::from_parts(19_135_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4703))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_balances`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_balances
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_balances`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_balances::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn transfer_allow_death() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 52_576_000 picoseconds.
|
||||
Weight::from_parts(53_526_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn transfer_keep_alive() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 41_548_000 picoseconds.
|
||||
Weight::from_parts(42_237_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_set_balance_creating() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `174`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 19_240_000 picoseconds.
|
||||
Weight::from_parts(20_294_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_set_balance_killing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `174`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 27_274_000 picoseconds.
|
||||
Weight::from_parts(28_742_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_transfer() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `103`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 54_887_000 picoseconds.
|
||||
Weight::from_parts(56_002_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn transfer_all() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 51_421_000 picoseconds.
|
||||
Weight::from_parts(52_519_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_unreserve() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `174`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 22_311_000 picoseconds.
|
||||
Weight::from_parts(23_026_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:999 w:999)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `u` is `[1, 1000]`.
|
||||
fn upgrade_accounts(u: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0 + u * (136 ±0)`
|
||||
// Estimated: `990 + u * (2603 ±0)`
|
||||
// Minimum execution time: 18_042_000 picoseconds.
|
||||
Weight::from_parts(18_172_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 990))
|
||||
// Standard Error: 11_937
|
||||
.saturating_add(Weight::from_parts(15_351_977, 0).saturating_mul(u.into()))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
|
||||
}
|
||||
fn force_adjust_total_issuance() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_666_000 picoseconds.
|
||||
Weight::from_parts(7_042_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn burn_allow_death() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 32_955_000 picoseconds.
|
||||
Weight::from_parts(33_340_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn burn_keep_alive() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 22_425_000 picoseconds.
|
||||
Weight::from_parts(23_208_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_beefy_mmr`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_beefy_mmr
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_beefy_mmr`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_beefy_mmr::WeightInfo for WeightInfo<T> {
|
||||
/// The range of component `n` is `[2, 512]`.
|
||||
fn n_leafs_proof_is_optimal(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 629_000 picoseconds.
|
||||
Weight::from_parts(1_215_800, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 67
|
||||
.saturating_add(Weight::from_parts(1_275, 0).saturating_mul(n.into()))
|
||||
}
|
||||
/// Storage: `System::BlockHash` (r:1 w:0)
|
||||
/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
|
||||
fn extract_validation_context() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `68`
|
||||
// Estimated: `3509`
|
||||
// Minimum execution time: 9_629_000 picoseconds.
|
||||
Weight::from_parts(10_234_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3509))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Mmr::Nodes` (r:1 w:0)
|
||||
/// Proof: `Mmr::Nodes` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
fn read_peak() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `221`
|
||||
// Estimated: `3505`
|
||||
// Minimum execution time: 6_052_000 picoseconds.
|
||||
Weight::from_parts(6_388_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3505))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Mmr::RootHash` (r:1 w:0)
|
||||
/// Proof: `Mmr::RootHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Mmr::NumberOfLeaves` (r:1 w:0)
|
||||
/// Proof: `Mmr::NumberOfLeaves` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[2, 512]`.
|
||||
fn n_items_proof_is_non_canonical(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `213`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 12_197_000 picoseconds.
|
||||
Weight::from_parts(25_888_246, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
// Standard Error: 2_043
|
||||
.saturating_add(Weight::from_parts(1_304_917, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
}
|
||||
}
|
||||
+204
@@ -0,0 +1,204 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_conviction_voting`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_conviction_voting
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_conviction_voting`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_conviction_voting::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn vote_new() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `13408`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 151_930_000 picoseconds.
|
||||
Weight::from_parts(161_372_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn vote_existing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `14129`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 176_955_000 picoseconds.
|
||||
Weight::from_parts(185_290_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
}
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn remove_vote() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `13918`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 141_988_000 picoseconds.
|
||||
Weight::from_parts(149_871_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
fn remove_other_vote() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `13005`
|
||||
// Estimated: `30706`
|
||||
// Minimum execution time: 79_917_000 picoseconds.
|
||||
Weight::from_parts(84_349_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30706))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:50)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[0, 512]`.
|
||||
fn delegate(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `29603 + r * (365 ±0)`
|
||||
// Estimated: `83866 + r * (3411 ±0)`
|
||||
// Minimum execution time: 75_473_000 picoseconds.
|
||||
Weight::from_parts(873_424_384, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
// Standard Error: 60_903
|
||||
.saturating_add(Weight::from_parts(21_022_118, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(45))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||
}
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:50)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[0, 512]`.
|
||||
fn undelegate(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `29555 + r * (365 ±0)`
|
||||
// Estimated: `83866 + r * (3411 ±0)`
|
||||
// Minimum execution time: 47_752_000 picoseconds.
|
||||
Weight::from_parts(847_009_624, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
// Standard Error: 62_499
|
||||
.saturating_add(Weight::from_parts(21_293_933, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(43))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||
}
|
||||
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
fn unlock() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `12181`
|
||||
// Estimated: `30706`
|
||||
// Minimum execution time: 107_409_000 picoseconds.
|
||||
Weight::from_parts(114_301_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30706))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,570 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_identity`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_identity
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_identity`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_identity::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Identity::Registrars` (r:1 w:1)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 19]`.
|
||||
fn add_registrar(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32 + r * (57 ±0)`
|
||||
// Estimated: `2626`
|
||||
// Minimum execution time: 13_290_000 picoseconds.
|
||||
Weight::from_parts(13_987_666, 0)
|
||||
.saturating_add(Weight::from_parts(0, 2626))
|
||||
// Standard Error: 1_986
|
||||
.saturating_add(Weight::from_parts(118_336, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 20]`.
|
||||
fn set_identity(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `6977 + r * (5 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 118_150_000 picoseconds.
|
||||
Weight::from_parts(120_003_906, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 11_614
|
||||
.saturating_add(Weight::from_parts(237_861, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:100 w:100)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 100]`.
|
||||
fn set_subs_new(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `11003 + s * (2589 ±0)`
|
||||
// Minimum execution time: 17_851_000 picoseconds.
|
||||
Weight::from_parts(32_739_674, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 5_669
|
||||
.saturating_add(Weight::from_parts(3_789_127, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2589).saturating_mul(s.into()))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:0 w:100)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 100]`.
|
||||
fn set_subs_old(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `194 + p * (32 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 17_896_000 picoseconds.
|
||||
Weight::from_parts(32_581_610, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 4_474
|
||||
.saturating_add(Weight::from_parts(1_511_949, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
|
||||
}
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:0 w:100)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 20]`.
|
||||
/// The range of component `s` is `[0, 100]`.
|
||||
fn clear_identity(r: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7069 + r * (5 ±0) + s * (32 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 62_969_000 picoseconds.
|
||||
Weight::from_parts(63_397_496, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 17_822
|
||||
.saturating_add(Weight::from_parts(156_307, 0).saturating_mul(r.into()))
|
||||
// Standard Error: 3_477
|
||||
.saturating_add(Weight::from_parts(1_468_191, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
}
|
||||
/// Storage: `Identity::Registrars` (r:1 w:0)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 20]`.
|
||||
fn request_judgement(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `6967 + r * (57 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 85_331_000 picoseconds.
|
||||
Weight::from_parts(87_149_610, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 7_682
|
||||
.saturating_add(Weight::from_parts(161_766, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 20]`.
|
||||
fn cancel_request(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `6998`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 82_868_000 picoseconds.
|
||||
Weight::from_parts(84_836_576, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 5_840
|
||||
.saturating_add(Weight::from_parts(111_417, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::Registrars` (r:1 w:1)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 19]`.
|
||||
fn set_fee(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + r * (57 ±0)`
|
||||
// Estimated: `2626`
|
||||
// Minimum execution time: 9_998_000 picoseconds.
|
||||
Weight::from_parts(10_559_773, 0)
|
||||
.saturating_add(Weight::from_parts(0, 2626))
|
||||
// Standard Error: 1_526
|
||||
.saturating_add(Weight::from_parts(86_637, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::Registrars` (r:1 w:1)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 19]`.
|
||||
fn set_account_id(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + r * (57 ±0)`
|
||||
// Estimated: `2626`
|
||||
// Minimum execution time: 10_427_000 picoseconds.
|
||||
Weight::from_parts(10_967_798, 0)
|
||||
.saturating_add(Weight::from_parts(0, 2626))
|
||||
// Standard Error: 1_516
|
||||
.saturating_add(Weight::from_parts(64_950, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::Registrars` (r:1 w:1)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 19]`.
|
||||
fn set_fields(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + r * (57 ±0)`
|
||||
// Estimated: `2626`
|
||||
// Minimum execution time: 10_049_000 picoseconds.
|
||||
Weight::from_parts(10_518_238, 0)
|
||||
.saturating_add(Weight::from_parts(0, 2626))
|
||||
// Standard Error: 1_133
|
||||
.saturating_add(Weight::from_parts(70_941, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::Registrars` (r:1 w:0)
|
||||
/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 19]`.
|
||||
fn provide_judgement(r: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7045 + r * (57 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 106_329_000 picoseconds.
|
||||
Weight::from_parts(108_408_384, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 9_587
|
||||
.saturating_add(Weight::from_parts(73_218, 0).saturating_mul(r.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:0 w:100)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[1, 20]`.
|
||||
/// The range of component `s` is `[0, 100]`.
|
||||
fn kill_identity(r: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7276 + r * (5 ±0) + s * (32 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 68_530_000 picoseconds.
|
||||
Weight::from_parts(71_229_661, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 18_380
|
||||
.saturating_add(Weight::from_parts(193_976, 0).saturating_mul(r.into()))
|
||||
// Standard Error: 3_586
|
||||
.saturating_add(Weight::from_parts(1_446_685, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 99]`.
|
||||
fn add_sub(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `475 + s * (36 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 34_407_000 picoseconds.
|
||||
Weight::from_parts(39_732_661, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 1_673
|
||||
.saturating_add(Weight::from_parts(117_300, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[1, 100]`.
|
||||
fn rename_sub(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `591 + s * (3 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 21_851_000 picoseconds.
|
||||
Weight::from_parts(24_585_489, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 789
|
||||
.saturating_add(Weight::from_parts(70_051, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SuperOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[1, 100]`.
|
||||
fn remove_sub(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `638 + s * (35 ±0)`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 38_427_000 picoseconds.
|
||||
Weight::from_parts(42_500_800, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 1_267
|
||||
.saturating_add(Weight::from_parts(95_006, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Identity::SuperOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:0)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 99]`.
|
||||
fn quit_sub(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `704 + s * (37 ±0)`
|
||||
// Estimated: `6723`
|
||||
// Minimum execution time: 29_425_000 picoseconds.
|
||||
Weight::from_parts(32_022_317, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6723))
|
||||
// Standard Error: 928
|
||||
.saturating_add(Weight::from_parts(106_141, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Identity::AuthorityOf` (r:0 w:1)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn add_username_authority() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_523_000 picoseconds.
|
||||
Weight::from_parts(7_722_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn remove_username_authority() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `79`
|
||||
// Estimated: `3517`
|
||||
// Minimum execution time: 14_255_000 picoseconds.
|
||||
Weight::from_parts(15_084_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::PendingUsernames` (r:1 w:0)
|
||||
/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 1]`.
|
||||
fn set_username_for(_p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `219`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 71_739_000 picoseconds.
|
||||
Weight::from_parts(94_823_220, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Identity::PendingUsernames` (r:1 w:1)
|
||||
/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:0 w:1)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
fn accept_username() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `116`
|
||||
// Estimated: `3567`
|
||||
// Minimum execution time: 25_721_000 picoseconds.
|
||||
Weight::from_parts(26_422_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3567))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Identity::PendingUsernames` (r:1 w:1)
|
||||
/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 1]`.
|
||||
fn remove_expired_approval(_p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `347`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 25_492_000 picoseconds.
|
||||
Weight::from_parts(57_463_718, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:1 w:0)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:0 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
fn set_primary_username() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `172`
|
||||
// Estimated: `3563`
|
||||
// Minimum execution time: 17_653_000 picoseconds.
|
||||
Weight::from_parts(18_274_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3563))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:1 w:0)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UnbindingUsernames` (r:1 w:1)
|
||||
/// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
|
||||
fn unbind_username() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `236`
|
||||
// Estimated: `3563`
|
||||
// Minimum execution time: 22_190_000 picoseconds.
|
||||
Weight::from_parts(23_093_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3563))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::UnbindingUsernames` (r:1 w:1)
|
||||
/// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn remove_username() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `297`
|
||||
// Estimated: `3563`
|
||||
// Minimum execution time: 27_024_000 picoseconds.
|
||||
Weight::from_parts(28_770_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3563))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:1 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UnbindingUsernames` (r:1 w:1)
|
||||
/// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::AuthorityOf` (r:1 w:0)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 1]`.
|
||||
fn kill_username(_p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `508`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 24_819_000 picoseconds.
|
||||
Weight::from_parts(49_501_024, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:2 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:2 w:0)
|
||||
/// Storage: `Identity::AuthorityOf` (r:0 w:1)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn migration_v2_authority_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `147`
|
||||
// Estimated: `6087`
|
||||
// Minimum execution time: 9_126_000 picoseconds.
|
||||
Weight::from_parts(9_633_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6087))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:2 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:2 w:0)
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:0 w:1)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
fn migration_v2_username_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `159`
|
||||
// Estimated: `6099`
|
||||
// Minimum execution time: 8_795_000 picoseconds.
|
||||
Weight::from_parts(9_249_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6099))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:2 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::UsernameOf` (r:0 w:1)
|
||||
/// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
|
||||
fn migration_v2_identity_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7062`
|
||||
// Estimated: `21016`
|
||||
// Minimum execution time: 66_496_000 picoseconds.
|
||||
Weight::from_parts(67_500_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 21016))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Identity::PendingUsernames` (r:2 w:1)
|
||||
/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`)
|
||||
fn migration_v2_pending_username_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `201`
|
||||
// Estimated: `6144`
|
||||
// Minimum execution time: 11_523_000 picoseconds.
|
||||
Weight::from_parts(12_151_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6144))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::AuthorityOf` (r:2 w:0)
|
||||
/// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:1 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:1 w:1)
|
||||
fn migration_v2_cleanup_authority_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `288`
|
||||
// Estimated: `6044`
|
||||
// Minimum execution time: 15_382_000 picoseconds.
|
||||
Weight::from_parts(15_984_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6044))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Identity::UsernameInfoOf` (r:2 w:0)
|
||||
/// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:1 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:1 w:1)
|
||||
fn migration_v2_cleanup_username_step() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `290`
|
||||
// Estimated: `6136`
|
||||
// Minimum execution time: 14_213_000 picoseconds.
|
||||
Weight::from_parts(14_935_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6136))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_indices`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_indices
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_indices`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_indices::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Proxy::Announcements` (r:1 w:1)
|
||||
/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
|
||||
fn poke_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `487`
|
||||
// Estimated: `5698`
|
||||
// Minimum execution time: 47_219_000 picoseconds.
|
||||
Weight::from_parts(48_694_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5698))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Indices::Accounts` (r:1 w:1)
|
||||
/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
|
||||
fn claim() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4`
|
||||
// Estimated: `3534`
|
||||
// Minimum execution time: 26_421_000 picoseconds.
|
||||
Weight::from_parts(27_302_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3534))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Indices::Accounts` (r:1 w:1)
|
||||
/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn transfer() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `203`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 39_565_000 picoseconds.
|
||||
Weight::from_parts(40_741_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Indices::Accounts` (r:1 w:1)
|
||||
/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
|
||||
fn free() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `3534`
|
||||
// Minimum execution time: 28_046_000 picoseconds.
|
||||
Weight::from_parts(28_775_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3534))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Indices::Accounts` (r:1 w:1)
|
||||
/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_transfer() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `203`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 29_411_000 picoseconds.
|
||||
Weight::from_parts(30_698_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Indices::Accounts` (r:1 w:1)
|
||||
/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
|
||||
fn freeze() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `3534`
|
||||
// Minimum execution time: 30_839_000 picoseconds.
|
||||
Weight::from_parts(31_621_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3534))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,213 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_message_queue`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_message_queue
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_message_queue`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_message_queue::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `MessageQueue::ServiceHead` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
fn ready_ring_knit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `281`
|
||||
// Estimated: `6050`
|
||||
// Minimum execution time: 16_991_000 picoseconds.
|
||||
Weight::from_parts(17_813_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6050))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
|
||||
fn ready_ring_unknit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `281`
|
||||
// Estimated: `6050`
|
||||
// Minimum execution time: 16_268_000 picoseconds.
|
||||
Weight::from_parts(16_659_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6050))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
fn service_queue_base() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `42`
|
||||
// Estimated: `3520`
|
||||
// Minimum execution time: 4_901_000 picoseconds.
|
||||
Weight::from_parts(5_262_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3520))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
fn service_page_base_completion() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `115`
|
||||
// Estimated: `134587`
|
||||
// Minimum execution time: 10_587_000 picoseconds.
|
||||
Weight::from_parts(11_040_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
fn service_page_base_no_completion() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `115`
|
||||
// Estimated: `134587`
|
||||
// Minimum execution time: 10_729_000 picoseconds.
|
||||
Weight::from_parts(11_263_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:0 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::Pages` (r:0 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
fn service_page_item() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 381_300_000 picoseconds.
|
||||
Weight::from_parts(390_220_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
fn bump_service_head() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `220`
|
||||
// Estimated: `3520`
|
||||
// Minimum execution time: 12_503_000 picoseconds.
|
||||
Weight::from_parts(12_909_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3520))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::ServiceHead` (r:0 w:1)
|
||||
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
|
||||
fn set_service_head() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `220`
|
||||
// Estimated: `3520`
|
||||
// Minimum execution time: 11_071_000 picoseconds.
|
||||
Weight::from_parts(11_553_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3520))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
fn reap_page() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `131252`
|
||||
// Estimated: `134587`
|
||||
// Minimum execution time: 162_710_000 picoseconds.
|
||||
Weight::from_parts(166_261_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
fn execute_overweight_page_removed() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `131252`
|
||||
// Estimated: `134587`
|
||||
// Minimum execution time: 200_138_000 picoseconds.
|
||||
Weight::from_parts(210_177_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
fn execute_overweight_page_updated() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `131252`
|
||||
// Estimated: `134587`
|
||||
// Minimum execution time: 275_951_000 picoseconds.
|
||||
Weight::from_parts(284_857_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,225 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_migrations`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_migrations
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_migrations`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_migrations::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
fn onboard_new_mbms() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `133`
|
||||
// Estimated: `67035`
|
||||
// Minimum execution time: 8_277_000 picoseconds.
|
||||
Weight::from_parts(8_720_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 67035))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
fn progress_mbms_none() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4`
|
||||
// Estimated: `67035`
|
||||
// Minimum execution time: 2_126_000 picoseconds.
|
||||
Weight::from_parts(2_267_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 67035))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
fn exec_migration_completed() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `129`
|
||||
// Estimated: `3594`
|
||||
// Minimum execution time: 6_651_000 picoseconds.
|
||||
Weight::from_parts(6_996_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3594))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
|
||||
fn exec_migration_skipped_historic() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `187`
|
||||
// Estimated: `3731`
|
||||
// Minimum execution time: 15_181_000 picoseconds.
|
||||
Weight::from_parts(15_509_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3731))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
|
||||
fn exec_migration_advance() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `133`
|
||||
// Estimated: `3731`
|
||||
// Minimum execution time: 11_200_000 picoseconds.
|
||||
Weight::from_parts(11_718_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3731))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
|
||||
fn exec_migration_complete() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `133`
|
||||
// Estimated: `3731`
|
||||
// Minimum execution time: 12_857_000 picoseconds.
|
||||
Weight::from_parts(13_172_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3731))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
fn exec_migration_fail() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `133`
|
||||
// Estimated: `3731`
|
||||
// Minimum execution time: 13_892_000 picoseconds.
|
||||
Weight::from_parts(14_323_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3731))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn on_init_loop() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 190_000 picoseconds.
|
||||
Weight::from_parts(230_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
fn force_set_cursor() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_820_000 picoseconds.
|
||||
Weight::from_parts(2_944_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
fn force_set_active_cursor() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_222_000 picoseconds.
|
||||
Weight::from_parts(3_478_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
|
||||
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
|
||||
fn force_onboard_mbms() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `109`
|
||||
// Estimated: `67035`
|
||||
// Minimum execution time: 5_853_000 picoseconds.
|
||||
Weight::from_parts(6_097_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 67035))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
}
|
||||
/// Storage: `MultiBlockMigrations::Historic` (r:256 w:256)
|
||||
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[0, 256]`.
|
||||
fn clear_historic(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `984 + n * (271 ±0)`
|
||||
// Estimated: `3834 + n * (2740 ±0)`
|
||||
// Minimum execution time: 20_676_000 picoseconds.
|
||||
Weight::from_parts(19_067_906, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3834))
|
||||
// Standard Error: 3_366
|
||||
.saturating_add(Weight::from_parts(1_469_069, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2740).saturating_mul(n.into()))
|
||||
}
|
||||
/// Storage: `Skipped::Metadata` (r:0 w:0)
|
||||
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `n` is `[0, 2048]`.
|
||||
fn reset_pallet_migration(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1676 + n * (38 ±0)`
|
||||
// Estimated: `754 + n * (39 ±0)`
|
||||
// Minimum execution time: 1_916_000 picoseconds.
|
||||
Weight::from_parts(2_009_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 754))
|
||||
// Standard Error: 798
|
||||
.saturating_add(Weight::from_parts(880_656, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(Weight::from_parts(0, 39).saturating_mul(n.into()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_mmr`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_mmr
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_mmr`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_mmr::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Mmr::NumberOfLeaves` (r:1 w:1)
|
||||
/// Proof: `Mmr::NumberOfLeaves` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Paras::Heads` (r:1025 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `BeefyMmrLeaf::BeefyNextAuthorities` (r:1 w:0)
|
||||
/// Proof: `BeefyMmrLeaf::BeefyNextAuthorities` (`max_values`: Some(1), `max_size`: Some(44), added: 539, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Mmr::Nodes` (r:7 w:1)
|
||||
/// Proof: `Mmr::Nodes` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Mmr::UseLocalStorage` (r:1 w:0)
|
||||
/// Proof: `Mmr::UseLocalStorage` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Mmr::RootHash` (r:0 w:1)
|
||||
/// Proof: `Mmr::RootHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// The range of component `x` is `[1, 1000]`.
|
||||
fn on_initialize(x: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1071075`
|
||||
// Estimated: `3608924 + x * (8 ±0)`
|
||||
// Minimum execution time: 9_274_662_000 picoseconds.
|
||||
Weight::from_parts(9_403_577_378, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3608924))
|
||||
// Standard Error: 3_804
|
||||
.saturating_add(Weight::from_parts(97_770, 0).saturating_mul(x.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1032))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
.saturating_add(Weight::from_parts(0, 8).saturating_mul(x.into()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_multisig`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_multisig
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_multisig`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_multisig::WeightInfo for WeightInfo<T> {
|
||||
fn poke_deposit(_s: u32, ) -> Weight {
|
||||
Default::default()
|
||||
}
|
||||
/// The range of component `z` is `[0, 10000]`.
|
||||
fn as_multi_threshold_1(z: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 15_742_000 picoseconds.
|
||||
Weight::from_parts(16_689_158, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 4
|
||||
.saturating_add(Weight::from_parts(425, 0).saturating_mul(z.into()))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[2, 100]`.
|
||||
/// The range of component `z` is `[0, 10000]`.
|
||||
fn as_multi_create(s: u32, z: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `267 + s * (2 ±0)`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 51_695_000 picoseconds.
|
||||
Weight::from_parts(39_502_473, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 1_991
|
||||
.saturating_add(Weight::from_parts(149_722, 0).saturating_mul(s.into()))
|
||||
// Standard Error: 19
|
||||
.saturating_add(Weight::from_parts(1_920, 0).saturating_mul(z.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[3, 100]`.
|
||||
/// The range of component `z` is `[0, 10000]`.
|
||||
fn as_multi_approve(s: u32, z: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `286`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 36_027_000 picoseconds.
|
||||
Weight::from_parts(23_708_974, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 886
|
||||
.saturating_add(Weight::from_parts(135_578, 0).saturating_mul(s.into()))
|
||||
// Standard Error: 8
|
||||
.saturating_add(Weight::from_parts(1_977, 0).saturating_mul(z.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[2, 100]`.
|
||||
/// The range of component `z` is `[0, 10000]`.
|
||||
fn as_multi_complete(s: u32, z: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `392 + s * (33 ±0)`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 57_964_000 picoseconds.
|
||||
Weight::from_parts(41_322_769, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 1_938
|
||||
.saturating_add(Weight::from_parts(187_486, 0).saturating_mul(s.into()))
|
||||
// Standard Error: 18
|
||||
.saturating_add(Weight::from_parts(2_132, 0).saturating_mul(z.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[2, 100]`.
|
||||
fn approve_as_multi_create(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `267 + s * (2 ±0)`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 35_875_000 picoseconds.
|
||||
Weight::from_parts(37_310_784, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 1_591
|
||||
.saturating_add(Weight::from_parts(162_975, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[2, 100]`.
|
||||
fn approve_as_multi_approve(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `286`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 21_526_000 picoseconds.
|
||||
Weight::from_parts(22_387_339, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 706
|
||||
.saturating_add(Weight::from_parts(146_192, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Multisig::Multisigs` (r:1 w:1)
|
||||
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[2, 100]`.
|
||||
fn cancel_as_multi(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `458 + s * (1 ±0)`
|
||||
// Estimated: `6811`
|
||||
// Minimum execution time: 36_493_000 picoseconds.
|
||||
Weight::from_parts(38_162_969, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6811))
|
||||
// Standard Error: 1_164
|
||||
.saturating_add(Weight::from_parts(153_723, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_offences`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_offences
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_offences`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_offences::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Offences::ConcurrentReportsIndex` (r:1 w:1)
|
||||
/// Proof: `Offences::ConcurrentReportsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Offences::Reports` (r:1 w:1)
|
||||
/// Proof: `Offences::Reports` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStartSessionIndex` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStartSessionIndex` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::Invulnerables` (r:1 w:0)
|
||||
/// Proof: `Staking::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStakersOverview` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:1)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ValidatorSlashInEra` (r:1 w:1)
|
||||
/// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueue` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueue` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueueEras` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[0, 16]`.
|
||||
fn report_offence_grandpa(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `987`
|
||||
// Estimated: `4452`
|
||||
// Minimum execution time: 59_530_000 picoseconds.
|
||||
Weight::from_parts(63_406_319, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4452))
|
||||
// Standard Error: 9_603
|
||||
.saturating_add(Weight::from_parts(530_243, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
}
|
||||
/// Storage: `Offences::ConcurrentReportsIndex` (r:1 w:1)
|
||||
/// Proof: `Offences::ConcurrentReportsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Offences::Reports` (r:1 w:1)
|
||||
/// Proof: `Offences::Reports` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStartSessionIndex` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStartSessionIndex` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::Invulnerables` (r:1 w:0)
|
||||
/// Proof: `Staking::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStakersOverview` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:1)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ValidatorSlashInEra` (r:1 w:1)
|
||||
/// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueue` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueue` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueueEras` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[0, 16]`.
|
||||
fn report_offence_babe(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `987`
|
||||
// Estimated: `4452`
|
||||
// Minimum execution time: 59_407_000 picoseconds.
|
||||
Weight::from_parts(62_842_539, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4452))
|
||||
// Standard Error: 7_722
|
||||
.saturating_add(Weight::from_parts(546_569, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_parameters`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_parameters
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_parameters`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_parameters::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Parameters::Parameters` (r:1 w:1)
|
||||
/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
|
||||
fn set_parameter() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4`
|
||||
// Estimated: `3493`
|
||||
// Minimum execution time: 8_918_000 picoseconds.
|
||||
Weight::from_parts(9_567_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3493))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_preimage`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_preimage
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_preimage`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_preimage::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Holds` (r:1 w:1)
|
||||
/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 4194304]`.
|
||||
fn note_preimage(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `97`
|
||||
// Estimated: `3568`
|
||||
// Minimum execution time: 53_384_000 picoseconds.
|
||||
Weight::from_parts(54_357_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3568))
|
||||
// Standard Error: 169
|
||||
.saturating_add(Weight::from_parts(17_382, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 4194304]`.
|
||||
fn note_requested_preimage(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 21_147_000 picoseconds.
|
||||
Weight::from_parts(21_420_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
// Standard Error: 169
|
||||
.saturating_add(Weight::from_parts(17_415, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 4194304]`.
|
||||
fn note_no_deposit_preimage(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 20_034_000 picoseconds.
|
||||
Weight::from_parts(20_458_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
// Standard Error: 170
|
||||
.saturating_add(Weight::from_parts(17_397, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Holds` (r:1 w:1)
|
||||
/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
fn unnote_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `281`
|
||||
// Estimated: `3568`
|
||||
// Minimum execution time: 72_904_000 picoseconds.
|
||||
Weight::from_parts(75_167_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3568))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
fn unnote_no_deposit_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `144`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 43_235_000 picoseconds.
|
||||
Weight::from_parts(47_464_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn request_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `188`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 35_314_000 picoseconds.
|
||||
Weight::from_parts(38_994_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn request_no_deposit_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `144`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 32_514_000 picoseconds.
|
||||
Weight::from_parts(34_566_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn request_unnoted_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `42`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 24_339_000 picoseconds.
|
||||
Weight::from_parts(26_465_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn request_requested_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 24_256_000 picoseconds.
|
||||
Weight::from_parts(25_363_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:0 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
|
||||
fn unrequest_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `144`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 42_454_000 picoseconds.
|
||||
Weight::from_parts(46_055_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn unrequest_unnoted_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 24_498_000 picoseconds.
|
||||
Weight::from_parts(26_934_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn unrequest_multi_referenced_preimage() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 24_328_000 picoseconds.
|
||||
Weight::from_parts(25_802_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Preimage::StatusFor` (r:1023 w:1023)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1023 w:1023)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Holds` (r:1023 w:1023)
|
||||
/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:0 w:1023)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 1024]`.
|
||||
fn ensure_updated(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0 + n * (227 ±0)`
|
||||
// Estimated: `990 + n * (2603 ±0)`
|
||||
// Minimum execution time: 60_700_000 picoseconds.
|
||||
Weight::from_parts(61_580_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 990))
|
||||
// Standard Error: 73_173
|
||||
.saturating_add(Weight::from_parts(60_030_952, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2603).saturating_mul(n.into()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,230 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_proxy`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_proxy
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_proxy`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_proxy::WeightInfo for WeightInfo<T> {
|
||||
fn poke_deposit() -> Weight {
|
||||
Default::default()
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:0)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn proxy(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + p * (37 ±0)`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 17_743_000 picoseconds.
|
||||
Weight::from_parts(18_436_629, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 2_056
|
||||
.saturating_add(Weight::from_parts(43_916, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:0)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Proxy::Announcements` (r:1 w:1)
|
||||
/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `a` is `[0, 31]`.
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn proxy_announced(a: u32, p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416 + a * (68 ±0) + p * (37 ±0)`
|
||||
// Estimated: `5698`
|
||||
// Minimum execution time: 41_728_000 picoseconds.
|
||||
Weight::from_parts(42_605_142, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5698))
|
||||
// Standard Error: 2_675
|
||||
.saturating_add(Weight::from_parts(173_815, 0).saturating_mul(a.into()))
|
||||
// Standard Error: 2_764
|
||||
.saturating_add(Weight::from_parts(29_849, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Proxy::Announcements` (r:1 w:1)
|
||||
/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `a` is `[0, 31]`.
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn remove_announcement(a: u32, p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `331 + a * (68 ±0)`
|
||||
// Estimated: `5698`
|
||||
// Minimum execution time: 29_396_000 picoseconds.
|
||||
Weight::from_parts(31_069_465, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5698))
|
||||
// Standard Error: 2_248
|
||||
.saturating_add(Weight::from_parts(134_192, 0).saturating_mul(a.into()))
|
||||
// Standard Error: 2_322
|
||||
.saturating_add(Weight::from_parts(7_479, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Proxy::Announcements` (r:1 w:1)
|
||||
/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `a` is `[0, 31]`.
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn reject_announcement(a: u32, p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `331 + a * (68 ±0)`
|
||||
// Estimated: `5698`
|
||||
// Minimum execution time: 28_816_000 picoseconds.
|
||||
Weight::from_parts(30_383_460, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5698))
|
||||
// Standard Error: 2_128
|
||||
.saturating_add(Weight::from_parts(157_895, 0).saturating_mul(a.into()))
|
||||
// Standard Error: 2_198
|
||||
.saturating_add(Weight::from_parts(10_169, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:0)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Proxy::Announcements` (r:1 w:1)
|
||||
/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `a` is `[0, 31]`.
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn announce(a: u32, p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `348 + a * (68 ±0) + p * (37 ±0)`
|
||||
// Estimated: `5698`
|
||||
// Minimum execution time: 37_628_000 picoseconds.
|
||||
Weight::from_parts(39_513_043, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5698))
|
||||
// Standard Error: 2_451
|
||||
.saturating_add(Weight::from_parts(149_654, 0).saturating_mul(a.into()))
|
||||
// Standard Error: 2_533
|
||||
.saturating_add(Weight::from_parts(17_215, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn add_proxy(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + p * (37 ±0)`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 28_284_000 picoseconds.
|
||||
Weight::from_parts(29_549_215, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 4_083
|
||||
.saturating_add(Weight::from_parts(61_848, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn remove_proxy(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + p * (37 ±0)`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 28_231_000 picoseconds.
|
||||
Weight::from_parts(29_589_594, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 1_950
|
||||
.saturating_add(Weight::from_parts(54_339, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn remove_proxies(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89 + p * (37 ±0)`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 25_116_000 picoseconds.
|
||||
Weight::from_parts(26_314_944, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 1_968
|
||||
.saturating_add(Weight::from_parts(39_294, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[1, 31]`.
|
||||
fn create_pure(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 29_742_000 picoseconds.
|
||||
Weight::from_parts(31_063_206, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 2_575
|
||||
.saturating_add(Weight::from_parts(22_471, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Proxy::Proxies` (r:1 w:1)
|
||||
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 30]`.
|
||||
fn kill_pure(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `126 + p * (37 ±0)`
|
||||
// Estimated: `4706`
|
||||
// Minimum execution time: 26_141_000 picoseconds.
|
||||
Weight::from_parts(27_309_074, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4706))
|
||||
// Standard Error: 1_808
|
||||
.saturating_add(Weight::from_parts(37_564, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_recovery`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_recovery
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_recovery`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_recovery::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Recovery::Proxy` (r:1 w:0)
|
||||
/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
|
||||
fn as_recovered() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `182`
|
||||
// Estimated: `3545`
|
||||
// Minimum execution time: 13_838_000 picoseconds.
|
||||
Weight::from_parts(14_446_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3545))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Recovery::Proxy` (r:0 w:1)
|
||||
/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
|
||||
fn set_recovered() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_795_000 picoseconds.
|
||||
Weight::from_parts(8_019_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::Recoverable` (r:1 w:1)
|
||||
/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 9]`.
|
||||
fn create_recovery(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `76`
|
||||
// Estimated: `3816`
|
||||
// Minimum execution time: 28_263_000 picoseconds.
|
||||
Weight::from_parts(29_693_842, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3816))
|
||||
// Standard Error: 6_528
|
||||
.saturating_add(Weight::from_parts(122_020, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::Recoverable` (r:1 w:0)
|
||||
/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
|
||||
/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
|
||||
fn initiate_recovery() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `173`
|
||||
// Estimated: `3854`
|
||||
// Minimum execution time: 33_442_000 picoseconds.
|
||||
Weight::from_parts(35_142_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3854))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::Recoverable` (r:1 w:0)
|
||||
/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
|
||||
/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 9]`.
|
||||
fn vouch_recovery(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `261 + n * (64 ±0)`
|
||||
// Estimated: `3854`
|
||||
// Minimum execution time: 22_866_000 picoseconds.
|
||||
Weight::from_parts(23_906_291, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3854))
|
||||
// Standard Error: 4_647
|
||||
.saturating_add(Weight::from_parts(182_215, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::Recoverable` (r:1 w:0)
|
||||
/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
|
||||
/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Recovery::Proxy` (r:1 w:1)
|
||||
/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 9]`.
|
||||
fn claim_recovery(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `293 + n * (64 ±0)`
|
||||
// Estimated: `3854`
|
||||
// Minimum execution time: 27_549_000 picoseconds.
|
||||
Weight::from_parts(28_695_066, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3854))
|
||||
// Standard Error: 6_024
|
||||
.saturating_add(Weight::from_parts(122_957, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
|
||||
/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 9]`.
|
||||
fn close_recovery(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `414 + n * (32 ±0)`
|
||||
// Estimated: `3854`
|
||||
// Minimum execution time: 38_880_000 picoseconds.
|
||||
Weight::from_parts(40_901_189, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3854))
|
||||
// Standard Error: 8_408
|
||||
.saturating_add(Weight::from_parts(130_066, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
|
||||
/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Recovery::Recoverable` (r:1 w:1)
|
||||
/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 9]`.
|
||||
fn remove_recovery(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `170 + n * (32 ±0)`
|
||||
// Estimated: `3854`
|
||||
// Minimum execution time: 32_722_000 picoseconds.
|
||||
Weight::from_parts(34_426_673, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3854))
|
||||
// Standard Error: 7_747
|
||||
.saturating_add(Weight::from_parts(63_348, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Recovery::Proxy` (r:1 w:1)
|
||||
/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
|
||||
fn cancel_recovered() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `182`
|
||||
// Estimated: `3545`
|
||||
// Minimum execution time: 15_521_000 picoseconds.
|
||||
Weight::from_parts(15_984_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3545))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,518 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_referenda`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_referenda
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_referenda`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_referenda::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Referenda::ReferendumCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:0 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
fn submit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `185`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 40_477_000 picoseconds.
|
||||
Weight::from_parts(41_732_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn place_decision_deposit_preparing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `438`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 54_199_000 picoseconds.
|
||||
Weight::from_parts(56_479_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn place_decision_deposit_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3225`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 68_778_000 picoseconds.
|
||||
Weight::from_parts(71_611_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn place_decision_deposit_not_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3245`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 67_009_000 picoseconds.
|
||||
Weight::from_parts(69_038_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn place_decision_deposit_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `438`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 64_226_000 picoseconds.
|
||||
Weight::from_parts(66_127_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn place_decision_deposit_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `438`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 62_319_000 picoseconds.
|
||||
Weight::from_parts(63_894_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
fn refund_decision_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `279`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 32_005_000 picoseconds.
|
||||
Weight::from_parts(32_773_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
fn refund_submission_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `269`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 32_438_000 picoseconds.
|
||||
Weight::from_parts(33_359_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn cancel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `346`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 38_216_000 picoseconds.
|
||||
Weight::from_parts(39_246_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::MetadataOf` (r:1 w:0)
|
||||
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn kill() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `690`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 99_147_000 picoseconds.
|
||||
Weight::from_parts(101_951_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:0)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `102`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 10_746_000 picoseconds.
|
||||
Weight::from_parts(11_142_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn one_fewer_deciding_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3115`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 47_103_000 picoseconds.
|
||||
Weight::from_parts(47_665_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn one_fewer_deciding_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3115`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 48_466_000 picoseconds.
|
||||
Weight::from_parts(50_411_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2939`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 22_115_000 picoseconds.
|
||||
Weight::from_parts(22_942_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_requeued_slide() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2939`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 21_919_000 picoseconds.
|
||||
Weight::from_parts(23_171_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2943`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 28_236_000 picoseconds.
|
||||
Weight::from_parts(29_173_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_not_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2963`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 27_496_000 picoseconds.
|
||||
Weight::from_parts(28_821_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_no_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `298`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 27_704_000 picoseconds.
|
||||
Weight::from_parts(28_725_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_preparing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `346`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 27_023_000 picoseconds.
|
||||
Weight::from_parts(27_790_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_timed_out() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `206`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 17_950_000 picoseconds.
|
||||
Weight::from_parts(18_748_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `346`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 34_445_000 picoseconds.
|
||||
Weight::from_parts(35_513_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `346`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 36_060_000 picoseconds.
|
||||
Weight::from_parts(37_467_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_begin_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `399`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 28_267_000 picoseconds.
|
||||
Weight::from_parts(29_089_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_end_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `382`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 28_121_000 picoseconds.
|
||||
Weight::from_parts(28_786_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `399`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 26_833_000 picoseconds.
|
||||
Weight::from_parts(27_752_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_continue_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `403`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 25_584_000 picoseconds.
|
||||
Weight::from_parts(26_368_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Lookup` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_approved() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `403`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 39_108_000 picoseconds.
|
||||
Weight::from_parts(40_227_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
fn nudge_referendum_rejected() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `399`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 28_038_000 picoseconds.
|
||||
Weight::from_parts(28_536_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::MetadataOf` (r:0 w:1)
|
||||
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn set_some_metadata() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `350`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 25_211_000 picoseconds.
|
||||
Weight::from_parts(26_519_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Referenda::MetadataOf` (r:1 w:1)
|
||||
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||
fn clear_metadata() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `283`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 20_464_000 picoseconds.
|
||||
Weight::from_parts(21_232_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+523
@@ -0,0 +1,523 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_referenda`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2023-06-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-e8ezs4ez-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// ./target/production/pezkuwi
|
||||
// benchmark
|
||||
// pallet
|
||||
// --chain=kusama-dev
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --no-storage-info
|
||||
// --no-median-slopes
|
||||
// --no-min-squares
|
||||
// --pallet=pezpallet_referenda
|
||||
// --extrinsic=*
|
||||
// --execution=wasm
|
||||
// --wasm-execution=compiled
|
||||
// --header=./file_header.txt
|
||||
// --output=./runtime/kusama/src/weights/
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_referenda`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_referenda::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: Referenda ReferendumCount (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda ReferendumInfoFor (r:0 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
fn submit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `186`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 39_146_000 picoseconds.
|
||||
Weight::from_parts(40_383_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn place_decision_deposit_preparing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `439`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 51_385_000 picoseconds.
|
||||
Weight::from_parts(52_701_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn place_decision_deposit_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3196`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 70_018_000 picoseconds.
|
||||
Weight::from_parts(75_868_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn place_decision_deposit_not_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3216`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 69_311_000 picoseconds.
|
||||
Weight::from_parts(72_425_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn place_decision_deposit_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `439`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 64_385_000 picoseconds.
|
||||
Weight::from_parts(66_178_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn place_decision_deposit_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `439`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 62_200_000 picoseconds.
|
||||
Weight::from_parts(63_782_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
fn refund_decision_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `279`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 29_677_000 picoseconds.
|
||||
Weight::from_parts(30_603_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
fn refund_submission_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `269`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 29_897_000 picoseconds.
|
||||
Weight::from_parts(30_618_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn cancel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `347`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 37_697_000 picoseconds.
|
||||
Weight::from_parts(38_953_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda MetadataOf (r:1 w:0)
|
||||
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||
fn kill() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `588`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 106_001_000 picoseconds.
|
||||
Weight::from_parts(107_102_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda TrackQueue (r:1 w:0)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `102`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 8_987_000 picoseconds.
|
||||
Weight::from_parts(9_431_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn one_fewer_deciding_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3116`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 55_344_000 picoseconds.
|
||||
Weight::from_parts(58_026_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn one_fewer_deciding_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3116`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 57_003_000 picoseconds.
|
||||
Weight::from_parts(60_347_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2939`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 23_001_000 picoseconds.
|
||||
Weight::from_parts(24_812_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_requeued_slide() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2939`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 23_299_000 picoseconds.
|
||||
Weight::from_parts(24_465_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2943`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 28_223_000 picoseconds.
|
||||
Weight::from_parts(29_664_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_not_queued() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2963`
|
||||
// Estimated: `5477`
|
||||
// Minimum execution time: 27_474_000 picoseconds.
|
||||
Weight::from_parts(29_072_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5477))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_no_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `299`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 24_405_000 picoseconds.
|
||||
Weight::from_parts(25_184_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_preparing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `347`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 24_572_000 picoseconds.
|
||||
Weight::from_parts(25_287_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_timed_out() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `206`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 16_042_000 picoseconds.
|
||||
Weight::from_parts(16_610_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `347`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 33_639_000 picoseconds.
|
||||
Weight::from_parts(34_749_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `347`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 36_467_000 picoseconds.
|
||||
Weight::from_parts(37_693_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_begin_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `400`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 29_857_000 picoseconds.
|
||||
Weight::from_parts(30_840_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_end_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `383`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 31_028_000 picoseconds.
|
||||
Weight::from_parts(32_154_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `400`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 28_594_000 picoseconds.
|
||||
Weight::from_parts(29_092_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_continue_confirming() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `404`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 27_246_000 picoseconds.
|
||||
Weight::from_parts(28_003_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Lookup (r:1 w:1)
|
||||
/// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_approved() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `404`
|
||||
// Estimated: `83866`
|
||||
// Minimum execution time: 43_426_000 picoseconds.
|
||||
Weight::from_parts(44_917_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 83866))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||
fn nudge_referendum_rejected() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `400`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 30_285_000 picoseconds.
|
||||
Weight::from_parts(31_575_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Preimage StatusFor (r:1 w:0)
|
||||
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda MetadataOf (r:0 w:1)
|
||||
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||
fn set_some_metadata() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `350`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 19_254_000 picoseconds.
|
||||
Weight::from_parts(19_855_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||
/// Storage: Referenda MetadataOf (r:1 w:1)
|
||||
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||
fn clear_metadata() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `283`
|
||||
// Estimated: `4401`
|
||||
// Minimum execution time: 16_957_000 picoseconds.
|
||||
Weight::from_parts(17_556_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4401))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,291 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_scheduler`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_scheduler
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_scheduler`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_scheduler::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Scheduler::IncompleteSince` (r:1 w:1)
|
||||
/// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
fn service_agendas_base() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `68`
|
||||
// Estimated: `1489`
|
||||
// Minimum execution time: 4_441_000 picoseconds.
|
||||
Weight::from_parts(4_623_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1489))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 50]`.
|
||||
fn service_agenda_base(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `115 + s * (177 ±0)`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 4_664_000 picoseconds.
|
||||
Weight::from_parts(11_471_926, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 3_126
|
||||
.saturating_add(Weight::from_parts(360_894, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn service_task_base() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_795_000 picoseconds.
|
||||
Weight::from_parts(4_029_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Preimage::PreimageFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[128, 4194304]`.
|
||||
fn service_task_fetched(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `179 + s * (1 ±0)`
|
||||
// Estimated: `3644 + s * (1 ±0)`
|
||||
// Minimum execution time: 24_224_000 picoseconds.
|
||||
Weight::from_parts(24_784_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3644))
|
||||
// Standard Error: 343
|
||||
.saturating_add(Weight::from_parts(30_390, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into()))
|
||||
}
|
||||
/// Storage: `Scheduler::Lookup` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
fn service_task_named() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_459_000 picoseconds.
|
||||
Weight::from_parts(5_847_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn service_task_periodic() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_816_000 picoseconds.
|
||||
Weight::from_parts(3_937_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn execute_dispatch_signed() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_306_000 picoseconds.
|
||||
Weight::from_parts(2_511_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn execute_dispatch_unsigned() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_296_000 picoseconds.
|
||||
Weight::from_parts(2_431_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 49]`.
|
||||
fn schedule(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `115 + s * (177 ±0)`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 12_204_000 picoseconds.
|
||||
Weight::from_parts(18_541_327, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 3_093
|
||||
.saturating_add(Weight::from_parts(407_367, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Lookup` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[1, 50]`.
|
||||
fn cancel(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `115 + s * (177 ±0)`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 20_962_000 picoseconds.
|
||||
Weight::from_parts(21_273_113, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 1_869
|
||||
.saturating_add(Weight::from_parts(593_800, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Scheduler::Lookup` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[0, 49]`.
|
||||
fn schedule_named(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `292 + s * (185 ±0)`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 15_672_000 picoseconds.
|
||||
Weight::from_parts(23_639_859, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 4_219
|
||||
.saturating_add(Weight::from_parts(467_925, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Scheduler::Lookup` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[1, 50]`.
|
||||
fn cancel_named(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `318 + s * (185 ±0)`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 23_671_000 picoseconds.
|
||||
Weight::from_parts(24_871_802, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 1_859
|
||||
.saturating_add(Weight::from_parts(629_450, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
/// The range of component `s` is `[1, 50]`.
|
||||
fn schedule_retry(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `155`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 14_919_000 picoseconds.
|
||||
Weight::from_parts(15_402_950, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
// Standard Error: 751
|
||||
.saturating_add(Weight::from_parts(30_479, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn set_retry() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `8965`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 30_185_000 picoseconds.
|
||||
Weight::from_parts(31_937_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Scheduler::Lookup` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn set_retry_named() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `9643`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 38_375_000 picoseconds.
|
||||
Weight::from_parts(39_701_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn cancel_retry() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `8977`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 29_797_000 picoseconds.
|
||||
Weight::from_parts(30_298_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Scheduler::Lookup` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Agenda` (r:1 w:0)
|
||||
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Scheduler::Retries` (r:0 w:1)
|
||||
/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
|
||||
fn cancel_retry_named() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `9655`
|
||||
// Estimated: `42428`
|
||||
// Minimum execution time: 37_375_000 picoseconds.
|
||||
Weight::from_parts(38_679_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 42428))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_session`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_session
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_session`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_session::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Staking::Ledger` (r:1 w:0)
|
||||
/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Session::NextKeys` (r:1 w:1)
|
||||
/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::KeyOwner` (r:6 w:6)
|
||||
/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn set_keys() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1899`
|
||||
// Estimated: `17739`
|
||||
// Minimum execution time: 71_274_000 picoseconds.
|
||||
Weight::from_parts(73_693_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 17739))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
}
|
||||
/// Storage: `Staking::Ledger` (r:1 w:0)
|
||||
/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Session::NextKeys` (r:1 w:1)
|
||||
/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::KeyOwner` (r:0 w:6)
|
||||
/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn purge_keys() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1814`
|
||||
// Estimated: `5279`
|
||||
// Minimum execution time: 52_441_000 picoseconds.
|
||||
Weight::from_parts(55_437_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5279))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_sudo`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_sudo
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_sudo`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_sudo::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Sudo::Key` (r:1 w:1)
|
||||
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
fn set_key() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `165`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 14_510_000 picoseconds.
|
||||
Weight::from_parts(15_008_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Sudo::Key` (r:1 w:0)
|
||||
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
fn sudo() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `165`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 15_250_000 picoseconds.
|
||||
Weight::from_parts(15_782_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Sudo::Key` (r:1 w:0)
|
||||
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
fn sudo_as() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `165`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 15_455_000 picoseconds.
|
||||
Weight::from_parts(16_025_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `Sudo::Key` (r:1 w:1)
|
||||
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
fn remove_key() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `165`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 13_514_000 picoseconds.
|
||||
Weight::from_parts(14_155_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Sudo::Key` (r:1 w:0)
|
||||
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
fn check_only_sudo_account() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `165`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 7_772_000 picoseconds.
|
||||
Weight::from_parts(8_189_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_timestamp`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_timestamp
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_timestamp`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_timestamp::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Timestamp::Now` (r:1 w:1)
|
||||
/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Babe::CurrentSlot` (r:1 w:0)
|
||||
/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
fn set() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `173`
|
||||
// Estimated: `1493`
|
||||
// Minimum execution time: 12_078_000 picoseconds.
|
||||
Weight::from_parts(12_823_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1493))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn on_finalize() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `94`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 4_639_000 picoseconds.
|
||||
Weight::from_parts(4_786_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_transaction_payment`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_transaction_payment
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_transaction_payment`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_transaction_payment::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn charge_transaction_payment() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 42_713_000 picoseconds.
|
||||
Weight::from_parts(43_379_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_treasury`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_treasury
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_treasury`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_treasury::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Treasury::ProposalCount` (r:1 w:1)
|
||||
/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::Proposals` (r:0 w:1)
|
||||
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||
fn spend_local() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `1887`
|
||||
// Minimum execution time: 13_064_000 picoseconds.
|
||||
Weight::from_parts(13_610_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1887))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||
fn remove_approval() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `227`
|
||||
// Estimated: `1887`
|
||||
// Minimum execution time: 7_097_000 picoseconds.
|
||||
Weight::from_parts(7_538_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1887))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:0)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::Deactivated` (r:1 w:1)
|
||||
/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::LastSpendPeriod` (r:1 w:1)
|
||||
/// Proof: `Treasury::LastSpendPeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// The range of component `p` is `[0, 99]`.
|
||||
fn on_initialize_proposals(p: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `350 + p * (1 ±0)`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 17_293_000 picoseconds.
|
||||
Weight::from_parts(20_649_783, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
// Standard Error: 1_076
|
||||
.saturating_add(Weight::from_parts(61_157, 0).saturating_mul(p.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0)
|
||||
/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::SpendCount` (r:1 w:1)
|
||||
/// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Treasury::Spends` (r:0 w:1)
|
||||
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
|
||||
fn spend() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `214`
|
||||
// Estimated: `4703`
|
||||
// Minimum execution time: 23_796_000 picoseconds.
|
||||
Weight::from_parts(24_793_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4703))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Treasury::Spends` (r:1 w:1)
|
||||
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
|
||||
/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::Queries` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn payout() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `489`
|
||||
// Estimated: `5318`
|
||||
// Minimum execution time: 60_562_000 picoseconds.
|
||||
Weight::from_parts(62_867_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5318))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Treasury::Spends` (r:1 w:1)
|
||||
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
|
||||
/// Storage: `XcmPallet::Queries` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn check_status() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `305`
|
||||
// Estimated: `5318`
|
||||
// Minimum execution time: 28_594_000 picoseconds.
|
||||
Weight::from_parts(29_512_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5318))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Treasury::Spends` (r:1 w:1)
|
||||
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
|
||||
fn void_spend() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `277`
|
||||
// Estimated: `5318`
|
||||
// Minimum execution time: 18_432_000 picoseconds.
|
||||
Weight::from_parts(19_026_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5318))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_utility`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_utility
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_utility`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_utility::WeightInfo for WeightInfo<T> {
|
||||
/// The range of component `c` is `[0, 1000]`.
|
||||
fn batch(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_587_000 picoseconds.
|
||||
Weight::from_parts(5_743_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 1_917
|
||||
.saturating_add(Weight::from_parts(3_621_902, 0).saturating_mul(c.into()))
|
||||
}
|
||||
fn as_derivative() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 4_464_000 picoseconds.
|
||||
Weight::from_parts(4_707_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// The range of component `c` is `[0, 1000]`.
|
||||
fn batch_all(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_481_000 picoseconds.
|
||||
Weight::from_parts(5_555_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 2_110
|
||||
.saturating_add(Weight::from_parts(3_847_534, 0).saturating_mul(c.into()))
|
||||
}
|
||||
fn dispatch_as() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_415_000 picoseconds.
|
||||
Weight::from_parts(7_617_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// The range of component `c` is `[0, 1000]`.
|
||||
fn force_batch(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_332_000 picoseconds.
|
||||
Weight::from_parts(5_576_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 2_069
|
||||
.saturating_add(Weight::from_parts(3_625_441, 0).saturating_mul(c.into()))
|
||||
}
|
||||
fn dispatch_as_fallible() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_330_000 picoseconds.
|
||||
Weight::from_parts(7_583_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn if_else() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_846_000 picoseconds.
|
||||
Weight::from_parts(9_337_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,262 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_vesting`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_vesting
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_vesting`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_vesting::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[1, 28]`.
|
||||
fn vest_locked(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `345 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 38_225_000 picoseconds.
|
||||
Weight::from_parts(37_860_470, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_479
|
||||
.saturating_add(Weight::from_parts(41_149, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 2_631
|
||||
.saturating_add(Weight::from_parts(76_064, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[1, 28]`.
|
||||
fn vest_unlocked(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `345 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 40_682_000 picoseconds.
|
||||
Weight::from_parts(40_558_815, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_473
|
||||
.saturating_add(Weight::from_parts(35_138, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 2_620
|
||||
.saturating_add(Weight::from_parts(72_425, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[1, 28]`.
|
||||
fn vest_other_locked(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `448 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 40_813_000 picoseconds.
|
||||
Weight::from_parts(40_248_990, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_925
|
||||
.saturating_add(Weight::from_parts(47_778, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 3_425
|
||||
.saturating_add(Weight::from_parts(88_421, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[1, 28]`.
|
||||
fn vest_other_unlocked(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `448 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 43_330_000 picoseconds.
|
||||
Weight::from_parts(43_588_745, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 2_075
|
||||
.saturating_add(Weight::from_parts(35_838, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 3_693
|
||||
.saturating_add(Weight::from_parts(73_951, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[0, 27]`.
|
||||
fn vested_transfer(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `519 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 80_026_000 picoseconds.
|
||||
Weight::from_parts(82_148_674, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 3_243
|
||||
.saturating_add(Weight::from_parts(30_866, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 5_770
|
||||
.saturating_add(Weight::from_parts(99_755, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[0, 27]`.
|
||||
fn force_vested_transfer(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `622 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 81_979_000 picoseconds.
|
||||
Weight::from_parts(83_373_383, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
// Standard Error: 3_069
|
||||
.saturating_add(Weight::from_parts(49_002, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 5_460
|
||||
.saturating_add(Weight::from_parts(105_265, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[2, 28]`.
|
||||
fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `345 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 39_190_000 picoseconds.
|
||||
Weight::from_parts(38_673_517, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_789
|
||||
.saturating_add(Weight::from_parts(38_146, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 3_305
|
||||
.saturating_add(Weight::from_parts(97_870, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[2, 28]`.
|
||||
fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `345 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 42_229_000 picoseconds.
|
||||
Weight::from_parts(42_040_081, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_659
|
||||
.saturating_add(Weight::from_parts(38_531, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 3_065
|
||||
.saturating_add(Weight::from_parts(76_527, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Vesting::Vesting` (r:1 w:1)
|
||||
/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `l` is `[0, 49]`.
|
||||
/// The range of component `s` is `[2, 28]`.
|
||||
fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `519 + l * (25 ±0) + s * (36 ±0)`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 46_474_000 picoseconds.
|
||||
Weight::from_parts(46_105_020, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4764))
|
||||
// Standard Error: 1_706
|
||||
.saturating_add(Weight::from_parts(39_879, 0).saturating_mul(l.into()))
|
||||
// Standard Error: 3_151
|
||||
.saturating_add(Weight::from_parts(87_824, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_whitelist`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_whitelist
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_whitelist`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_whitelist::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn whitelist_call() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `118`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 23_699_000 picoseconds.
|
||||
Weight::from_parts(24_759_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
fn remove_whitelisted_call() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `247`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 24_245_000 picoseconds.
|
||||
Weight::from_parts(25_258_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::PreimageFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 4194294]`.
|
||||
fn dispatch_whitelisted_call(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `323 + n * (1 ±0)`
|
||||
// Estimated: `3787 + n * (1 ±0)`
|
||||
// Minimum execution time: 35_734_000 picoseconds.
|
||||
Weight::from_parts(36_868_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3787))
|
||||
// Standard Error: 344
|
||||
.saturating_add(Weight::from_parts(31_003, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
|
||||
}
|
||||
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
|
||||
/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[1, 10000]`.
|
||||
fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `247`
|
||||
// Estimated: `3556`
|
||||
// Minimum execution time: 27_147_000 picoseconds.
|
||||
Weight::from_parts(28_547_069, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3556))
|
||||
// Standard Error: 7
|
||||
.saturating_add(Weight::from_parts(1_405, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,390 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_xcm
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_xcm`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezpallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn send() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `3677`
|
||||
// Minimum execution time: 41_335_000 picoseconds.
|
||||
Weight::from_parts(42_659_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3677))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn teleport_assets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `315`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 146_685_000 picoseconds.
|
||||
Weight::from_parts(152_738_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn reserve_transfer_assets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `367`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 145_601_000 picoseconds.
|
||||
Weight::from_parts(153_228_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn transfer_assets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `315`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 148_866_000 picoseconds.
|
||||
Weight::from_parts(152_293_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn execute() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `1485`
|
||||
// Minimum execution time: 9_855_000 picoseconds.
|
||||
Weight::from_parts(10_341_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1485))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_483_000 picoseconds.
|
||||
Weight::from_parts(8_898_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn force_default_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_570_000 picoseconds.
|
||||
Weight::from_parts(2_709_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::Queries` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_subscribe_version_notify() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `3677`
|
||||
// Minimum execution time: 48_311_000 picoseconds.
|
||||
Weight::from_parts(49_878_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3677))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::Queries` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_unsubscribe_version_notify() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `392`
|
||||
// Estimated: `3857`
|
||||
// Minimum execution time: 53_270_000 picoseconds.
|
||||
Weight::from_parts(55_216_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3857))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `XcmPallet::XcmExecutionSuspended` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn force_suspension() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_538_000 picoseconds.
|
||||
Weight::from_parts(2_717_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:6 w:2)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn migrate_supported_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `22`
|
||||
// Estimated: `15862`
|
||||
// Minimum execution time: 22_579_000 picoseconds.
|
||||
Weight::from_parts(22_973_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15862))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifiers` (r:6 w:2)
|
||||
/// Proof: `XcmPallet::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn migrate_version_notifiers() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26`
|
||||
// Estimated: `15866`
|
||||
// Minimum execution time: 22_803_000 picoseconds.
|
||||
Weight::from_parts(23_241_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15866))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:7 w:0)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn already_notified_target() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `40`
|
||||
// Estimated: `18355`
|
||||
// Minimum execution time: 25_760_000 picoseconds.
|
||||
Weight::from_parts(26_511_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 18355))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:2 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn notify_current_targets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `211`
|
||||
// Estimated: `6151`
|
||||
// Minimum execution time: 36_850_000 picoseconds.
|
||||
Weight::from_parts(38_086_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6151))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:5 w:0)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn notify_target_migration_fail() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `40`
|
||||
// Estimated: `13405`
|
||||
// Minimum execution time: 17_893_000 picoseconds.
|
||||
Weight::from_parts(18_327_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13405))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:2)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn migrate_version_notify_targets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `33`
|
||||
// Estimated: `15873`
|
||||
// Minimum execution time: 22_807_000 picoseconds.
|
||||
Weight::from_parts(23_148_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15873))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:6 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn migrate_and_notify_old_targets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `211`
|
||||
// Estimated: `16051`
|
||||
// Minimum execution time: 48_558_000 picoseconds.
|
||||
Weight::from_parts(50_046_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 16051))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::Queries` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn new_query() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `1485`
|
||||
// Minimum execution time: 2_757_000 picoseconds.
|
||||
Weight::from_parts(2_981_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1485))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `XcmPallet::Queries` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn take_response() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7576`
|
||||
// Estimated: `11041`
|
||||
// Minimum execution time: 27_384_000 picoseconds.
|
||||
Weight::from_parts(27_705_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11041))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `XcmPallet::ShouldRecordXcm` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn claim_assets() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `23`
|
||||
// Estimated: `3488`
|
||||
// Minimum execution time: 40_784_000 picoseconds.
|
||||
Weight::from_parts(42_298_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3488))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn add_authorized_alias() -> Weight {
|
||||
Weight::from_parts(100_000, 0)
|
||||
}
|
||||
fn remove_authorized_alias() -> Weight {
|
||||
Weight::from_parts(100_000, 0)
|
||||
}
|
||||
|
||||
fn weigh_message() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_785_000 picoseconds.
|
||||
Weight::from_parts(8_077_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
}
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::assigned_slots`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::assigned_slots
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::assigned_slots`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::assigned_slots::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Registrar::Paras` (r:1 w:0)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `AssignedSlots::PermanentSlots` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::PermanentSlots` (`max_values`: None, `max_size`: Some(20), added: 2495, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::TemporarySlots` (r:1 w:0)
|
||||
/// Proof: `AssignedSlots::TemporarySlots` (`max_values`: None, `max_size`: Some(61), added: 2536, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Slots::Leases` (r:1 w:1)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `AssignedSlots::PermanentSlotCount` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::PermanentSlotCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::MaxPermanentSlots` (r:1 w:0)
|
||||
/// Proof: `AssignedSlots::MaxPermanentSlots` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn assign_perm_teyrchain_slot() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `660`
|
||||
// Estimated: `4125`
|
||||
// Minimum execution time: 81_431_000 picoseconds.
|
||||
Weight::from_parts(84_673_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4125))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Registrar::Paras` (r:1 w:0)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `AssignedSlots::PermanentSlots` (r:1 w:0)
|
||||
/// Proof: `AssignedSlots::PermanentSlots` (`max_values`: None, `max_size`: Some(20), added: 2495, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::TemporarySlots` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::TemporarySlots` (`max_values`: None, `max_size`: Some(61), added: 2536, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Slots::Leases` (r:1 w:1)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `AssignedSlots::TemporarySlotCount` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::TemporarySlotCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::MaxTemporarySlots` (r:1 w:0)
|
||||
/// Proof: `AssignedSlots::MaxTemporarySlots` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::ActiveTemporarySlotCount` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::ActiveTemporarySlotCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn assign_temp_teyrchain_slot() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `660`
|
||||
// Estimated: `4125`
|
||||
// Minimum execution time: 87_650_000 picoseconds.
|
||||
Weight::from_parts(91_880_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4125))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
}
|
||||
/// Storage: `AssignedSlots::PermanentSlots` (r:1 w:0)
|
||||
/// Proof: `AssignedSlots::PermanentSlots` (`max_values`: None, `max_size`: Some(20), added: 2495, mode: `MaxEncodedLen`)
|
||||
/// Storage: `AssignedSlots::TemporarySlots` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::TemporarySlots` (`max_values`: None, `max_size`: Some(61), added: 2536, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Slots::Leases` (r:1 w:1)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `AssignedSlots::TemporarySlotCount` (r:1 w:1)
|
||||
/// Proof: `AssignedSlots::TemporarySlotCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
fn unassign_teyrchain_slot() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `626`
|
||||
// Estimated: `4091`
|
||||
// Minimum execution time: 56_736_000 picoseconds.
|
||||
Weight::from_parts(60_568_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4091))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `AssignedSlots::MaxPermanentSlots` (r:0 w:1)
|
||||
/// Proof: `AssignedSlots::MaxPermanentSlots` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
fn set_max_permanent_slots() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_879_000 picoseconds.
|
||||
Weight::from_parts(6_200_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `AssignedSlots::MaxTemporarySlots` (r:0 w:1)
|
||||
/// Proof: `AssignedSlots::MaxTemporarySlots` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
fn set_max_temporary_slots() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_840_000 picoseconds.
|
||||
Weight::from_parts(6_113_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::auctions`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::auctions
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::auctions`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::auctions::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Auctions::AuctionInfo` (r:1 w:1)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::AuctionCounter` (r:1 w:1)
|
||||
/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
fn new_auction() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4`
|
||||
// Estimated: `1493`
|
||||
// Minimum execution time: 9_527_000 picoseconds.
|
||||
Weight::from_parts(9_961_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1493))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Slots::Leases` (r:1 w:0)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Auctions::Winning` (r:1 w:1)
|
||||
/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::ReservedAmounts` (r:2 w:2)
|
||||
/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn bid() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `767`
|
||||
// Estimated: `6060`
|
||||
// Minimum execution time: 85_758_000 picoseconds.
|
||||
Weight::from_parts(91_279_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6060))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Auctions::AuctionInfo` (r:1 w:1)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Babe::NextRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Babe::EpochStart` (r:1 w:0)
|
||||
/// Proof: `Babe::EpochStart` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::Winning` (r:3600 w:3600)
|
||||
/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::ReservedAmounts` (r:37 w:36)
|
||||
/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:36 w:36)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Slots::Leases` (r:7 w:7)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn on_initialize() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `6947156`
|
||||
// Estimated: `15822990`
|
||||
// Minimum execution time: 8_791_793_000 picoseconds.
|
||||
Weight::from_parts(8_956_541_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15822990))
|
||||
.saturating_add(T::DbWeight::get().reads(3687))
|
||||
.saturating_add(T::DbWeight::get().writes(3682))
|
||||
}
|
||||
/// Storage: `Auctions::ReservedAmounts` (r:37 w:36)
|
||||
/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:36 w:36)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::Winning` (r:3600 w:3600)
|
||||
/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::AuctionInfo` (r:0 w:1)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
fn cancel_auction() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `177903`
|
||||
// Estimated: `15822990`
|
||||
// Minimum execution time: 6_680_245_000 picoseconds.
|
||||
Weight::from_parts(6_821_440_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15822990))
|
||||
.saturating_add(T::DbWeight::get().reads(3673))
|
||||
.saturating_add(T::DbWeight::get().writes(3673))
|
||||
}
|
||||
}
|
||||
+222
@@ -0,0 +1,222 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::crowdloan`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::crowdloan
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::crowdloan`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::crowdloan::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Registrar::Paras` (r:1 w:0)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::NextFundIndex` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::NextFundIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn create() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `400`
|
||||
// Estimated: `3865`
|
||||
// Minimum execution time: 76_586_000 picoseconds.
|
||||
Weight::from_parts(81_924_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3865))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Slots::Leases` (r:1 w:0)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Crowdloan::EndingsCount` (r:1 w:0)
|
||||
/// Proof: `Crowdloan::EndingsCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
|
||||
fn contribute() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `530`
|
||||
// Estimated: `3995`
|
||||
// Minimum execution time: 160_999_000 picoseconds.
|
||||
Weight::from_parts(168_997_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3995))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: UNKNOWN KEY `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
|
||||
fn withdraw() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `687`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 108_145_000 picoseconds.
|
||||
Weight::from_parts(114_236_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Skipped::Metadata` (r:0 w:0)
|
||||
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `k` is `[0, 500]`.
|
||||
fn refund(k: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `316 + k * (189 ±0)`
|
||||
// Estimated: `325 + k * (190 ±0)`
|
||||
// Minimum execution time: 60_609_000 picoseconds.
|
||||
Weight::from_parts(63_614_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 325))
|
||||
// Standard Error: 17_663
|
||||
.saturating_add(Weight::from_parts(45_128_820, 0).saturating_mul(k.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(k.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(k.into())))
|
||||
.saturating_add(Weight::from_parts(0, 190).saturating_mul(k.into()))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn dissolve() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `514`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 69_115_000 picoseconds.
|
||||
Weight::from_parts(73_853_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn edit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `234`
|
||||
// Estimated: `3699`
|
||||
// Minimum execution time: 37_142_000 picoseconds.
|
||||
Weight::from_parts(39_142_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3699))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:0)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
|
||||
fn add_memo() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `412`
|
||||
// Estimated: `3877`
|
||||
// Minimum execution time: 41_654_000 picoseconds.
|
||||
Weight::from_parts(44_008_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3877))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Crowdloan::Funds` (r:1 w:0)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn poke() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `238`
|
||||
// Estimated: `3703`
|
||||
// Minimum execution time: 28_066_000 picoseconds.
|
||||
Weight::from_parts(30_228_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3703))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Crowdloan::EndingsCount` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::EndingsCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
|
||||
/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::Funds` (r:100 w:0)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
|
||||
/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:100 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Slots::Leases` (r:100 w:0)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Auctions::Winning` (r:1 w:1)
|
||||
/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Auctions::ReservedAmounts` (r:100 w:100)
|
||||
/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:100 w:100)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[2, 100]`.
|
||||
fn on_initialize(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `233 + n * (360 ±0)`
|
||||
// Estimated: `5385 + n * (2835 ±0)`
|
||||
// Minimum execution time: 154_127_000 picoseconds.
|
||||
Weight::from_parts(19_026_689, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5385))
|
||||
// Standard Error: 57_680
|
||||
.saturating_add(Weight::from_parts(65_569_682, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(n.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2835).saturating_mul(n.into()))
|
||||
}
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::identity_migrator`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::identity_migrator
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::identity_migrator`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::identity_migrator::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Identity::SuperOf` (r:0 w:100)
|
||||
/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||
/// The range of component `r` is `[0, 20]`.
|
||||
/// The range of component `s` is `[0, 100]`.
|
||||
fn reap_identity(r: u32, s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7488 + r * (5 ±0) + s * (32 ±0)`
|
||||
// Estimated: `11003 + r * (7 ±0) + s * (32 ±0)`
|
||||
// Minimum execution time: 182_585_000 picoseconds.
|
||||
Weight::from_parts(189_454_318, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
// Standard Error: 22_079
|
||||
.saturating_add(Weight::from_parts(181_699, 0).saturating_mul(r.into()))
|
||||
// Standard Error: 4_522
|
||||
.saturating_add(Weight::from_parts(1_520_911, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
.saturating_add(Weight::from_parts(0, 7).saturating_mul(r.into()))
|
||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(s.into()))
|
||||
}
|
||||
/// Storage: `Identity::IdentityOf` (r:1 w:1)
|
||||
/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Identity::SubsOf` (r:1 w:1)
|
||||
/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
|
||||
fn poke_deposit() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7241`
|
||||
// Estimated: `11003`
|
||||
// Minimum execution time: 124_068_000 picoseconds.
|
||||
Weight::from_parts(125_776_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11003))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
}
|
||||
+227
@@ -0,0 +1,227 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::paras_registrar`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::paras_registrar
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::paras_registrar`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::paras_registrar::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Registrar::NextFreeParaId` (r:1 w:1)
|
||||
/// Proof: `Registrar::NextFreeParaId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Registrar::Paras` (r:1 w:1)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn reserve() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `59`
|
||||
// Estimated: `3524`
|
||||
// Minimum execution time: 33_477_000 picoseconds.
|
||||
Weight::from_parts(34_970_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3524))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Registrar::Paras` (r:1 w:1)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:0 w:1)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpcomingParasGenesis` (r:0 w:1)
|
||||
/// Proof: `Paras::UpcomingParasGenesis` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn register() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `315`
|
||||
// Estimated: `3780`
|
||||
// Minimum execution time: 53_331_984_000 picoseconds.
|
||||
Weight::from_parts(53_731_706_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3780))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(8))
|
||||
}
|
||||
/// Storage: `Registrar::Paras` (r:1 w:1)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:0 w:1)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpcomingParasGenesis` (r:0 w:1)
|
||||
/// Proof: `Paras::UpcomingParasGenesis` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_register() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `232`
|
||||
// Estimated: `3697`
|
||||
// Minimum execution time: 53_277_823_000 picoseconds.
|
||||
Weight::from_parts(53_476_481_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3697))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(8))
|
||||
}
|
||||
/// Storage: `Registrar::Paras` (r:1 w:1)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Registrar::PendingSwap` (r:0 w:1)
|
||||
/// Proof: `Registrar::PendingSwap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn deregister() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `462`
|
||||
// Estimated: `3927`
|
||||
// Minimum execution time: 64_109_000 picoseconds.
|
||||
Weight::from_parts(70_181_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3927))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Registrar::Paras` (r:1 w:0)
|
||||
/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:2 w:2)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Registrar::PendingSwap` (r:1 w:1)
|
||||
/// Proof: `Registrar::PendingSwap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Crowdloan::Funds` (r:2 w:2)
|
||||
/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Slots::Leases` (r:2 w:2)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:0)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn swap() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `863`
|
||||
// Estimated: `6803`
|
||||
// Minimum execution time: 113_721_000 picoseconds.
|
||||
Weight::from_parts(119_828_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6803))
|
||||
.saturating_add(T::DbWeight::get().reads(14))
|
||||
.saturating_add(T::DbWeight::get().writes(8))
|
||||
}
|
||||
/// Storage: `Paras::FutureCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeRestrictionSignal` (r:1 w:1)
|
||||
/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeCooldowns` (r:1 w:1)
|
||||
/// Proof: `Paras::UpgradeCooldowns` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `b` is `[9, 3145728]`.
|
||||
fn schedule_code_upgrade(b: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `201`
|
||||
// Estimated: `3666`
|
||||
// Minimum execution time: 44_578_000 picoseconds.
|
||||
Weight::from_parts(45_244_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3666))
|
||||
// Standard Error: 130
|
||||
.saturating_add(Weight::from_parts(13_412, 0).saturating_mul(b.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
}
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `b` is `[1, 1048576]`.
|
||||
fn set_current_head(b: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_410_000 picoseconds.
|
||||
Weight::from_parts(7_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 42
|
||||
.saturating_add(Weight::from_parts(4_560, 0).saturating_mul(b.into()))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_common::slots`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_common::slots
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_common::slots`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_common::slots::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Slots::Leases` (r:1 w:1)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn force_lease() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `287`
|
||||
// Estimated: `3752`
|
||||
// Minimum execution time: 30_895_000 picoseconds.
|
||||
Weight::from_parts(32_407_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3752))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Paras::Teyrchains` (r:1 w:0)
|
||||
/// Proof: `Paras::Teyrchains` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Slots::Leases` (r:101 w:100)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:200 w:200)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 100]`.
|
||||
/// The range of component `t` is `[0, 100]`.
|
||||
fn manage_lease_period_start(c: u32, t: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `561 + c * (20 ±0) + t * (234 ±0)`
|
||||
// Estimated: `4032 + c * (2496 ±0) + t * (2709 ±0)`
|
||||
// Minimum execution time: 864_249_000 picoseconds.
|
||||
Weight::from_parts(871_593_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4032))
|
||||
// Standard Error: 106_900
|
||||
.saturating_add(Weight::from_parts(3_456_149, 0).saturating_mul(c.into()))
|
||||
// Standard Error: 106_900
|
||||
.saturating_add(Weight::from_parts(10_757_149, 0).saturating_mul(t.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(t.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(t.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2496).saturating_mul(c.into()))
|
||||
.saturating_add(Weight::from_parts(0, 2709).saturating_mul(t.into()))
|
||||
}
|
||||
/// Storage: `Slots::Leases` (r:1 w:1)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:8 w:8)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
fn clear_all_leases() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2759`
|
||||
// Estimated: `21814`
|
||||
// Minimum execution time: 151_565_000 picoseconds.
|
||||
Weight::from_parts(158_584_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 21814))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(9))
|
||||
}
|
||||
/// Storage: `Slots::Leases` (r:1 w:0)
|
||||
/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn trigger_onboard() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `579`
|
||||
// Estimated: `4044`
|
||||
// Minimum execution time: 43_389_000 picoseconds.
|
||||
Weight::from_parts(46_029_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4044))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
}
|
||||
+192
@@ -0,0 +1,192 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::configuration`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::configuration
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::configuration`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::configuration::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_block_number() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_475_000 picoseconds.
|
||||
Weight::from_parts(11_132_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_u32() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_419_000 picoseconds.
|
||||
Weight::from_parts(11_052_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_option_u32() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_613_000 picoseconds.
|
||||
Weight::from_parts(11_170_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn set_hrmp_open_request_ttl() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_000_000_000_000 picoseconds.
|
||||
Weight::from_parts(2_000_000_000_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_balance() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_818_000 picoseconds.
|
||||
Weight::from_parts(11_183_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_executor_params() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 12_672_000 picoseconds.
|
||||
Weight::from_parts(13_154_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_perbill() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_814_000 picoseconds.
|
||||
Weight::from_parts(11_120_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_node_feature() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 12_919_000 picoseconds.
|
||||
Weight::from_parts(13_455_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn set_config_with_scheduler_params() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_495_000 picoseconds.
|
||||
Weight::from_parts(11_189_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::coretime`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::coretime
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::coretime`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::coretime::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `OnDemandAssignmentProvider::Revenue` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Revenue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn request_revenue_at() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3083`
|
||||
// Estimated: `6548`
|
||||
// Minimum execution time: 99_512_000 picoseconds.
|
||||
Weight::from_parts(103_004_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6548))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
|
||||
/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
|
||||
/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn request_core_count() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `151`
|
||||
// Estimated: `1636`
|
||||
// Minimum execution time: 10_672_000 picoseconds.
|
||||
Weight::from_parts(11_107_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1636))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
|
||||
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `CoretimeAssignmentProvider::CoreSchedules` (r:0 w:1)
|
||||
/// Proof: `CoretimeAssignmentProvider::CoreSchedules` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[1, 100]`.
|
||||
fn assign_core(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `147`
|
||||
// Estimated: `3612`
|
||||
// Minimum execution time: 15_678_000 picoseconds.
|
||||
Weight::from_parts(16_437_686, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3612))
|
||||
// Standard Error: 342
|
||||
.saturating_add(Weight::from_parts(10_353, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `OnDemandAssignmentProvider::Credits` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Credits` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn credit_account() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `3607`
|
||||
// Minimum execution time: 10_043_000 picoseconds.
|
||||
Weight::from_parts(10_441_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3607))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::disputes`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::disputes
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::disputes`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::disputes::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `ParasDisputes::Frozen` (r:0 w:1)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn force_unfreeze() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_498_000 picoseconds.
|
||||
Weight::from_parts(2_743_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::disputes::slashing`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::disputes::slashing
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::disputes::slashing`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::disputes::slashing::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Session::CurrentIndex` (r:1 w:0)
|
||||
/// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Historical::HistoricalSessions` (r:1 w:0)
|
||||
/// Proof: `Historical::HistoricalSessions` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasSlashing::UnappliedSlashes` (r:1 w:1)
|
||||
/// Proof: `ParasSlashing::UnappliedSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Offences::ConcurrentReportsIndex` (r:1 w:1)
|
||||
/// Proof: `Offences::ConcurrentReportsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Offences::Reports` (r:1 w:1)
|
||||
/// Proof: `Offences::Reports` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStartSessionIndex` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStartSessionIndex` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::Invulnerables` (r:1 w:0)
|
||||
/// Proof: `Staking::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasStakersOverview` (r:1 w:0)
|
||||
/// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:1)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ValidatorSlashInEra` (r:1 w:1)
|
||||
/// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueue` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueue` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::OffenceQueueEras` (r:1 w:1)
|
||||
/// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`)
|
||||
/// The range of component `n` is `[4, 300]`.
|
||||
fn report_dispute_lost_unsigned(n: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2024 + n * (33 ±0)`
|
||||
// Estimated: `5386 + n * (34 ±0)`
|
||||
// Minimum execution time: 88_786_000 picoseconds.
|
||||
Weight::from_parts(127_346_367, 0)
|
||||
.saturating_add(Weight::from_parts(0, 5386))
|
||||
// Standard Error: 3_530
|
||||
.saturating_add(Weight::from_parts(144_389, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(14))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
.saturating_add(Weight::from_parts(0, 34).saturating_mul(n.into()))
|
||||
}
|
||||
}
|
||||
+384
@@ -0,0 +1,384 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::hrmp`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::hrmp
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::hrmp`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::hrmp::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn hrmp_init_open_channel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `477`
|
||||
// Estimated: `3942`
|
||||
// Minimum execution time: 56_211_000 picoseconds.
|
||||
Weight::from_parts(57_621_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3942))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn hrmp_accept_open_channel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `689`
|
||||
// Estimated: `4154`
|
||||
// Minimum execution time: 53_758_000 picoseconds.
|
||||
Weight::from_parts(56_592_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4154))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpCloseChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpCloseChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpCloseChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpCloseChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn hrmp_close_channel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `802`
|
||||
// Estimated: `4267`
|
||||
// Minimum execution time: 55_327_000 picoseconds.
|
||||
Weight::from_parts(57_050_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4267))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:254 w:254)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelContents` (r:0 w:254)
|
||||
/// Proof: `Hrmp::HrmpChannelContents` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `i` is `[0, 127]`.
|
||||
/// The range of component `e` is `[0, 127]`.
|
||||
fn force_clean_hrmp(i: u32, e: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `264 + e * (100 ±0) + i * (100 ±0)`
|
||||
// Estimated: `3726 + e * (2575 ±0) + i * (2575 ±0)`
|
||||
// Minimum execution time: 1_559_120_000 picoseconds.
|
||||
Weight::from_parts(1_571_304_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3726))
|
||||
// Standard Error: 144_726
|
||||
.saturating_add(Weight::from_parts(4_485_208, 0).saturating_mul(i.into()))
|
||||
// Standard Error: 144_726
|
||||
.saturating_add(Weight::from_parts(4_575_293, 0).saturating_mul(e.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(e.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(i.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(e.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2575).saturating_mul(e.into()))
|
||||
.saturating_add(Weight::from_parts(0, 2575).saturating_mul(i.into()))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:256 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:0 w:128)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 128]`.
|
||||
fn force_process_hrmp_open(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `492 + c * (136 ±0)`
|
||||
// Estimated: `1947 + c * (5086 ±0)`
|
||||
// Minimum execution time: 11_281_000 picoseconds.
|
||||
Weight::from_parts(11_631_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1947))
|
||||
// Standard Error: 20_254
|
||||
.saturating_add(Weight::from_parts(27_481_196, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((6_u64).saturating_mul(c.into())))
|
||||
.saturating_add(Weight::from_parts(0, 5086).saturating_mul(c.into()))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpCloseChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpCloseChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpCloseChannelRequests` (r:0 w:128)
|
||||
/// Proof: `Hrmp::HrmpCloseChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelContents` (r:0 w:128)
|
||||
/// Proof: `Hrmp::HrmpChannelContents` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 128]`.
|
||||
fn force_process_hrmp_close(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `335 + c * (124 ±0)`
|
||||
// Estimated: `1795 + c * (2600 ±0)`
|
||||
// Minimum execution time: 10_044_000 picoseconds.
|
||||
Weight::from_parts(10_289_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1795))
|
||||
// Standard Error: 14_359
|
||||
.saturating_add(Weight::from_parts(16_831_230, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(c.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2600).saturating_mul(c.into()))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 128]`.
|
||||
fn hrmp_cancel_open_request(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1026 + c * (13 ±0)`
|
||||
// Estimated: `4295 + c * (15 ±0)`
|
||||
// Minimum execution time: 25_372_000 picoseconds.
|
||||
Weight::from_parts(31_619_390, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4295))
|
||||
// Standard Error: 3_058
|
||||
.saturating_add(Weight::from_parts(234_494, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
.saturating_add(Weight::from_parts(0, 15).saturating_mul(c.into()))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:128 w:128)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 128]`.
|
||||
fn clean_open_channel_requests(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `243 + c * (63 ±0)`
|
||||
// Estimated: `1722 + c * (2538 ±0)`
|
||||
// Minimum execution time: 8_088_000 picoseconds.
|
||||
Weight::from_parts(2_136_112, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1722))
|
||||
// Standard Error: 7_192
|
||||
.saturating_add(Weight::from_parts(4_626_808, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2538).saturating_mul(c.into()))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:2 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:2 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[0, 1]`.
|
||||
fn force_open_hrmp_channel(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `477 + c * (235 ±0)`
|
||||
// Estimated: `6417 + c * (235 ±0)`
|
||||
// Minimum execution time: 79_061_000 picoseconds.
|
||||
Weight::from_parts(83_104_559, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6417))
|
||||
// Standard Error: 325_060
|
||||
.saturating_add(Weight::from_parts(16_143_240, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(16))
|
||||
.saturating_add(T::DbWeight::get().writes(8))
|
||||
.saturating_add(Weight::from_parts(0, 235).saturating_mul(c.into()))
|
||||
}
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:2 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:2 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:1 w:0)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn establish_system_channel() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `477`
|
||||
// Estimated: `6417`
|
||||
// Minimum execution time: 80_071_000 picoseconds.
|
||||
Weight::from_parts(83_317_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6417))
|
||||
.saturating_add(T::DbWeight::get().reads(16))
|
||||
.saturating_add(T::DbWeight::get().writes(8))
|
||||
}
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn poke_channel_deposits() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `263`
|
||||
// Estimated: `3728`
|
||||
// Minimum execution time: 18_706_000 picoseconds.
|
||||
Weight::from_parts(19_748_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3728))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Paras::ParaLifecycles` (r:2 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:2 w:2)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:2 w:0)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:2 w:0)
|
||||
/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:2 w:2)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:2 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:2 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:2 w:0)
|
||||
/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:2 w:2)
|
||||
/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn establish_channel_with_system() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `477`
|
||||
// Estimated: `6417`
|
||||
// Minimum execution time: 129_253_000 picoseconds.
|
||||
Weight::from_parts(134_005_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6417))
|
||||
.saturating_add(T::DbWeight::get().reads(23))
|
||||
.saturating_add(T::DbWeight::get().writes(11))
|
||||
}
|
||||
}
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::inclusion`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::inclusion
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::inclusion`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::inclusion::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
|
||||
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
|
||||
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeCooldowns` (r:1 w:1)
|
||||
/// Proof: `Paras::UpgradeCooldowns` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `MessageQueue::Pages` (r:1 w:2)
|
||||
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(131122), added: 133597, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Hrmp::HrmpChannelDigests` (r:3 w:3)
|
||||
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannels` (r:2 w:2)
|
||||
/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelContents` (r:2 w:2)
|
||||
/// Proof: `Hrmp::HrmpChannelContents` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
|
||||
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeRestrictionSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
|
||||
/// The range of component `u` is `[0, 2]`.
|
||||
/// The range of component `h` is `[0, 2]`.
|
||||
/// The range of component `c` is `[0, 1]`.
|
||||
fn enact_candidate(u: u32, h: u32, c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1447 + c * (15992 ±0) + h * (92 ±0) + u * (131259 ±0)`
|
||||
// Estimated: `134587 + c * (25419 ±939) + h * (29985 ±511) + u * (82828 ±511)`
|
||||
// Minimum execution time: 1_208_571_000 picoseconds.
|
||||
Weight::from_parts(156_323_556, 0)
|
||||
.saturating_add(Weight::from_parts(0, 134587))
|
||||
// Standard Error: 1_121_931
|
||||
.saturating_add(Weight::from_parts(529_418_705, 0).saturating_mul(u.into()))
|
||||
// Standard Error: 1_121_931
|
||||
.saturating_add(Weight::from_parts(527_179_667, 0).saturating_mul(h.into()))
|
||||
// Standard Error: 1_859_173
|
||||
.saturating_add(Weight::from_parts(45_652_413, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(h.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(c.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(u.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(h.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(c.into())))
|
||||
.saturating_add(Weight::from_parts(0, 25419).saturating_mul(c.into()))
|
||||
.saturating_add(Weight::from_parts(0, 29985).saturating_mul(h.into()))
|
||||
.saturating_add(Weight::from_parts(0, 82828).saturating_mul(u.into()))
|
||||
}
|
||||
}
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::initializer`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::initializer
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::initializer`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::initializer::WeightInfo for WeightInfo<T> {
|
||||
/// The range of component `d` is `[0, 65536]`.
|
||||
fn force_approve(d: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_139_000 picoseconds.
|
||||
Weight::from_parts(1_915_360, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 13
|
||||
.saturating_add(Weight::from_parts(792, 0).saturating_mul(d.into()))
|
||||
}
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::on_demand`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::on_demand
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::on_demand`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::on_demand::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `OnDemandAssignmentProvider::QueueStatus` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::QueueStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `OnDemandAssignmentProvider::Revenue` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Revenue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::ParaIdAffinity` (r:1 w:0)
|
||||
/// Proof: `OnDemandAssignmentProvider::ParaIdAffinity` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::FreeEntries` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::FreeEntries` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[1, 9999]`.
|
||||
fn place_order_keep_alive(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `270 + s * (8 ±0)`
|
||||
// Estimated: `3733 + s * (8 ±0)`
|
||||
// Minimum execution time: 49_279_000 picoseconds.
|
||||
Weight::from_parts(33_507_231, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3733))
|
||||
// Standard Error: 195
|
||||
.saturating_add(Weight::from_parts(30_042, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
.saturating_add(Weight::from_parts(0, 8).saturating_mul(s.into()))
|
||||
}
|
||||
/// Storage: `OnDemandAssignmentProvider::QueueStatus` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::QueueStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `OnDemandAssignmentProvider::Revenue` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Revenue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::ParaIdAffinity` (r:1 w:0)
|
||||
/// Proof: `OnDemandAssignmentProvider::ParaIdAffinity` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::FreeEntries` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::FreeEntries` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[1, 9999]`.
|
||||
fn place_order_allow_death(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `270 + s * (8 ±0)`
|
||||
// Estimated: `3733 + s * (8 ±0)`
|
||||
// Minimum execution time: 49_928_000 picoseconds.
|
||||
Weight::from_parts(37_696_286, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3733))
|
||||
// Standard Error: 202
|
||||
.saturating_add(Weight::from_parts(28_593, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
.saturating_add(Weight::from_parts(0, 8).saturating_mul(s.into()))
|
||||
}
|
||||
/// Storage: `OnDemandAssignmentProvider::QueueStatus` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::QueueStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::Credits` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Credits` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::Revenue` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::Revenue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::ParaIdAffinity` (r:1 w:0)
|
||||
/// Proof: `OnDemandAssignmentProvider::ParaIdAffinity` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `OnDemandAssignmentProvider::FreeEntries` (r:1 w:1)
|
||||
/// Proof: `OnDemandAssignmentProvider::FreeEntries` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[1, 9999]`.
|
||||
fn place_order_with_credits(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `304 + s * (8 ±0)`
|
||||
// Estimated: `3767 + s * (8 ±0)`
|
||||
// Minimum execution time: 28_187_000 picoseconds.
|
||||
Weight::from_parts(12_021_424, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3767))
|
||||
// Standard Error: 157
|
||||
.saturating_add(Weight::from_parts(27_490, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
.saturating_add(Weight::from_parts(0, 8).saturating_mul(s.into()))
|
||||
}
|
||||
}
|
||||
+339
@@ -0,0 +1,339 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::paras`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::paras
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::paras`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::paras::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PastCodeMeta` (r:1 w:1)
|
||||
/// Proof: `Paras::PastCodeMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PastCodePruning` (r:1 w:1)
|
||||
/// Proof: `Paras::PastCodePruning` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PastCodeHash` (r:0 w:1)
|
||||
/// Proof: `Paras::PastCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:0 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[9, 3145728]`.
|
||||
fn force_set_current_code(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `8309`
|
||||
// Estimated: `11774`
|
||||
// Minimum execution time: 38_573_000 picoseconds.
|
||||
Weight::from_parts(39_400_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11774))
|
||||
// Standard Error: 128
|
||||
.saturating_add(Weight::from_parts(13_197, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(6))
|
||||
}
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[9, 1048576]`.
|
||||
fn force_set_current_head(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_110_000 picoseconds.
|
||||
Weight::from_parts(7_328_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
// Standard Error: 41
|
||||
.saturating_add(Weight::from_parts(4_535, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_set_most_recent_context() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_564_000 picoseconds.
|
||||
Weight::from_parts(3_677_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Paras::FutureCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeCooldowns` (r:1 w:1)
|
||||
/// Proof: `Paras::UpgradeCooldowns` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeRestrictionSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[9, 3145728]`.
|
||||
fn force_schedule_code_upgrade(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `8452`
|
||||
// Estimated: `11917`
|
||||
// Minimum execution time: 52_408_000 picoseconds.
|
||||
Weight::from_parts(53_467_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11917))
|
||||
// Standard Error: 129
|
||||
.saturating_add(Weight::from_parts(13_193, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
}
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `s` is `[9, 1048576]`.
|
||||
fn force_note_new_head(s: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `268`
|
||||
// Estimated: `3733`
|
||||
// Minimum execution time: 14_751_000 picoseconds.
|
||||
Weight::from_parts(15_033_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3733))
|
||||
// Standard Error: 41
|
||||
.saturating_add(Weight::from_parts(4_536, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_queue_action() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `4312`
|
||||
// Estimated: `7777`
|
||||
// Minimum execution time: 24_624_000 picoseconds.
|
||||
Weight::from_parts(25_772_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 7777))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[9, 3145728]`.
|
||||
fn add_trusted_validation_code(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `683`
|
||||
// Estimated: `4148`
|
||||
// Minimum execution time: 89_347_000 picoseconds.
|
||||
Weight::from_parts(91_876_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 4148))
|
||||
// Standard Error: 127
|
||||
.saturating_add(Weight::from_parts(12_741, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:0)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:0 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn poke_unused_validation_code() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `28`
|
||||
// Estimated: `3493`
|
||||
// Minimum execution time: 6_736_000 picoseconds.
|
||||
Weight::from_parts(7_018_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3493))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn include_pvf_check_statement() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26706`
|
||||
// Estimated: `30171`
|
||||
// Minimum execution time: 112_868_000 picoseconds.
|
||||
Weight::from_parts(115_588_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30171))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpcomingUpgrades` (r:1 w:1)
|
||||
/// Proof: `Paras::UpcomingUpgrades` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:0 w:100)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn include_pvf_check_statement_finalize_upgrade_accept() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `27360`
|
||||
// Estimated: `30825`
|
||||
// Minimum execution time: 773_659_000 picoseconds.
|
||||
Weight::from_parts(794_204_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30825))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(103))
|
||||
}
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn include_pvf_check_statement_finalize_upgrade_reject() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `27338`
|
||||
// Estimated: `30803`
|
||||
// Minimum execution time: 108_485_000 picoseconds.
|
||||
Weight::from_parts(113_249_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30803))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ActionsQueue` (r:1 w:1)
|
||||
/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn include_pvf_check_statement_finalize_onboarding_accept() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26728`
|
||||
// Estimated: `30193`
|
||||
// Minimum execution time: 635_656_000 picoseconds.
|
||||
Weight::from_parts(643_507_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30193))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
|
||||
/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn include_pvf_check_statement_finalize_onboarding_reject() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26706`
|
||||
// Estimated: `30171`
|
||||
// Minimum execution time: 103_358_000 picoseconds.
|
||||
Weight::from_parts(107_759_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30171))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
|
||||
fn remove_upgrade_cooldown() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26706`
|
||||
// Estimated: `30171`
|
||||
// Minimum execution time: 103_358_000 picoseconds.
|
||||
Weight::from_parts(107_759_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 30171))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
|
||||
/// Storage: `Paras::AuthorizedCodeHash` (r:0 w:1)
|
||||
/// Proof: `Paras::AuthorizedCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn authorize_force_set_current_code_hash() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_112_000 picoseconds.
|
||||
Weight::from_parts(8_401_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Paras::AuthorizedCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::AuthorizedCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
|
||||
/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:1)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CodeByHash` (r:0 w:1)
|
||||
/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `c` is `[9, 3145728]`.
|
||||
fn apply_authorized_force_set_current_code(c: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `132`
|
||||
// Estimated: `3597`
|
||||
// Minimum execution time: 32_733_000 picoseconds.
|
||||
Weight::from_parts(33_172_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3597))
|
||||
// Standard Error: 133
|
||||
.saturating_add(Weight::from_parts(14_731, 0).saturating_mul(c.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(3))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
}
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezkuwi_runtime_teyrchains::paras_inherent`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezkuwi_runtime_teyrchains::paras_inherent
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezkuwi_runtime_teyrchains::paras_inherent`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> pezkuwi_runtime_teyrchains::paras_inherent::WeightInfo for WeightInfo<T> {
|
||||
/// Storage: `ParaInherent::Included` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
|
||||
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInclusion::V1` (r:1 w:0)
|
||||
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Initializer::BufferedSessionChanges` (r:1 w:0)
|
||||
/// Proof: `Initializer::BufferedSessionChanges` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:0)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn enter_empty() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `37558`
|
||||
// Estimated: `41023`
|
||||
// Minimum execution time: 204_765_000 picoseconds.
|
||||
Weight::from_parts(218_574_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 41023))
|
||||
.saturating_add(T::DbWeight::get().reads(15))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `ParaInherent::Included` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
|
||||
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
|
||||
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParaSessionInfo::Sessions` (r:1 w:0)
|
||||
/// Proof: `ParaSessionInfo::Sessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Disputes` (r:1 w:1)
|
||||
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::BackersOnDisputes` (r:1 w:1)
|
||||
/// Proof: `ParasDisputes::BackersOnDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Included` (r:1 w:1)
|
||||
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
|
||||
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
|
||||
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInclusion::V1` (r:2 w:1)
|
||||
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Initializer::BufferedSessionChanges` (r:1 w:0)
|
||||
/// Proof: `Initializer::BufferedSessionChanges` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:0)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
|
||||
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `v` is `[400, 1024]`.
|
||||
fn enter_variable_disputes(v: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `117466`
|
||||
// Estimated: `123406`
|
||||
// Minimum execution time: 18_505_556_000 picoseconds.
|
||||
Weight::from_parts(680_113_149, 0)
|
||||
.saturating_add(Weight::from_parts(0, 123406))
|
||||
// Standard Error: 16_387
|
||||
.saturating_add(Weight::from_parts(44_859_126, 0).saturating_mul(v.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(29))
|
||||
.saturating_add(T::DbWeight::get().writes(17))
|
||||
}
|
||||
/// Storage: `ParaInherent::Included` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
|
||||
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInclusion::V1` (r:2 w:1)
|
||||
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Initializer::BufferedSessionChanges` (r:1 w:0)
|
||||
/// Proof: `Initializer::BufferedSessionChanges` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:0)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn enter_bitfields() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74966`
|
||||
// Estimated: `80906`
|
||||
// Minimum execution time: 462_150_000 picoseconds.
|
||||
Weight::from_parts(479_816_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 80906))
|
||||
.saturating_add(T::DbWeight::get().reads(16))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `ParaInherent::Included` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
|
||||
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
|
||||
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInclusion::V1` (r:2 w:1)
|
||||
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
|
||||
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
|
||||
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Initializer::BufferedSessionChanges` (r:1 w:0)
|
||||
/// Proof: `Initializer::BufferedSessionChanges` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:0)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
|
||||
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Included` (r:0 w:1)
|
||||
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// The range of component `v` is `[2, 5]`.
|
||||
fn enter_backed_candidates_variable(v: u32, ) -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `76410`
|
||||
// Estimated: `82350`
|
||||
// Minimum execution time: 1_488_610_000 picoseconds.
|
||||
Weight::from_parts(1_450_591_151, 0)
|
||||
.saturating_add(Weight::from_parts(0, 82350))
|
||||
// Standard Error: 393_462
|
||||
.saturating_add(Weight::from_parts(44_344_438, 0).saturating_mul(v.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(29))
|
||||
.saturating_add(T::DbWeight::get().writes(15))
|
||||
}
|
||||
/// Storage: `ParaInherent::Included` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::ParentHash` (r:1 w:0)
|
||||
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
|
||||
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
|
||||
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
|
||||
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
|
||||
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
|
||||
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaInclusion::V1` (r:2 w:1)
|
||||
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
|
||||
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::Validators` (r:1 w:0)
|
||||
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Staking::ActiveEra` (r:1 w:0)
|
||||
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
|
||||
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
|
||||
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
|
||||
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
|
||||
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Initializer::BufferedSessionChanges` (r:1 w:0)
|
||||
/// Proof: `Initializer::BufferedSessionChanges` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::FutureCodeHash` (r:1 w:0)
|
||||
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeRestrictionSignal` (r:1 w:0)
|
||||
/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
|
||||
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
|
||||
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
|
||||
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Session::DisabledValidators` (r:1 w:0)
|
||||
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
|
||||
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParasDisputes::Included` (r:0 w:1)
|
||||
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
|
||||
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:0 w:1)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
|
||||
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
|
||||
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn enter_backed_candidate_code_upgrade() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `76423`
|
||||
// Estimated: `82363`
|
||||
// Minimum execution time: 83_641_026_000 picoseconds.
|
||||
Weight::from_parts(84_843_754_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 82363))
|
||||
.saturating_add(T::DbWeight::get().reads(31))
|
||||
.saturating_add(T::DbWeight::get().writes(15))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,319 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
mod pezpallet_xcm_benchmarks_fungible;
|
||||
mod pezpallet_xcm_benchmarks_generic;
|
||||
|
||||
use crate::Runtime;
|
||||
use alloc::vec::Vec;
|
||||
use pezframe_support::weights::Weight;
|
||||
use xcm::{
|
||||
latest::{prelude::*, QueryResponseInfo},
|
||||
DoubleEncoded,
|
||||
};
|
||||
|
||||
use pezpallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight;
|
||||
use pezpallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
|
||||
use pezsp_runtime::BoundedVec;
|
||||
use xcm::latest::AssetTransferFilter;
|
||||
|
||||
/// Types of asset supported by the zagros runtime.
|
||||
pub enum AssetTypes {
|
||||
/// An asset backed by `pezpallet-balances`.
|
||||
Balances,
|
||||
/// Unknown asset.
|
||||
Unknown,
|
||||
}
|
||||
|
||||
impl From<&Asset> for AssetTypes {
|
||||
fn from(asset: &Asset) -> Self {
|
||||
match asset {
|
||||
Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } =>
|
||||
AssetTypes::Balances,
|
||||
_ => AssetTypes::Unknown,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trait WeighAssets {
|
||||
fn weigh_assets(&self, balances_weight: Weight) -> Weight;
|
||||
}
|
||||
|
||||
// Zagros only knows about one asset, the balances pallet.
|
||||
const MAX_ASSETS: u64 = 1;
|
||||
|
||||
impl WeighAssets for AssetFilter {
|
||||
fn weigh_assets(&self, balances_weight: Weight) -> Weight {
|
||||
match self {
|
||||
Self::Definite(assets) => assets
|
||||
.inner()
|
||||
.into_iter()
|
||||
.map(From::from)
|
||||
.map(|t| match t {
|
||||
AssetTypes::Balances => balances_weight,
|
||||
AssetTypes::Unknown => Weight::MAX,
|
||||
})
|
||||
.fold(Weight::zero(), |acc, x| acc.saturating_add(x)),
|
||||
// We don't support any NFTs on Zagros, so these two variants will always match
|
||||
// only 1 kind of fungible asset.
|
||||
Self::Wild(AllOf { .. } | AllOfCounted { .. }) => balances_weight,
|
||||
Self::Wild(AllCounted(count)) =>
|
||||
balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)),
|
||||
Self::Wild(All) => balances_weight.saturating_mul(MAX_ASSETS),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl WeighAssets for Assets {
|
||||
fn weigh_assets(&self, balances_weight: Weight) -> Weight {
|
||||
self.inner()
|
||||
.into_iter()
|
||||
.map(|m| <AssetTypes as From<&Asset>>::from(m))
|
||||
.map(|t| match t {
|
||||
AssetTypes::Balances => balances_weight,
|
||||
AssetTypes::Unknown => Weight::MAX,
|
||||
})
|
||||
.fold(Weight::zero(), |acc, x| acc.saturating_add(x))
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ZagrosXcmWeight<RuntimeCall>(core::marker::PhantomData<RuntimeCall>);
|
||||
impl<RuntimeCall> XcmWeightInfo<RuntimeCall> for ZagrosXcmWeight<RuntimeCall> {
|
||||
fn withdraw_asset(assets: &Assets) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::withdraw_asset())
|
||||
}
|
||||
fn reserve_asset_deposited(assets: &Assets) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::reserve_asset_deposited())
|
||||
}
|
||||
fn receive_teleported_asset(assets: &Assets) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::receive_teleported_asset())
|
||||
}
|
||||
fn query_response(
|
||||
_query_id: &u64,
|
||||
_response: &Response,
|
||||
_max_weight: &Weight,
|
||||
_querier: &Option<Location>,
|
||||
) -> Weight {
|
||||
XcmGeneric::<Runtime>::query_response()
|
||||
}
|
||||
fn transfer_asset(assets: &Assets, _dest: &Location) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::transfer_asset())
|
||||
}
|
||||
fn transfer_reserve_asset(assets: &Assets, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::transfer_reserve_asset())
|
||||
}
|
||||
fn transact(
|
||||
_origin_kind: &OriginKind,
|
||||
_fallback_max_weight: &Option<Weight>,
|
||||
_call: &DoubleEncoded<RuntimeCall>,
|
||||
) -> Weight {
|
||||
XcmGeneric::<Runtime>::transact()
|
||||
}
|
||||
fn hrmp_new_channel_open_request(
|
||||
_sender: &u32,
|
||||
_max_message_size: &u32,
|
||||
_max_capacity: &u32,
|
||||
) -> Weight {
|
||||
// XCM Executor does not currently support HRMP channel operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn hrmp_channel_accepted(_recipient: &u32) -> Weight {
|
||||
// XCM Executor does not currently support HRMP channel operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> Weight {
|
||||
// XCM Executor does not currently support HRMP channel operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn clear_origin() -> Weight {
|
||||
XcmGeneric::<Runtime>::clear_origin()
|
||||
}
|
||||
fn descend_origin(_who: &InteriorLocation) -> Weight {
|
||||
XcmGeneric::<Runtime>::descend_origin()
|
||||
}
|
||||
fn report_error(_query_response_info: &QueryResponseInfo) -> Weight {
|
||||
XcmGeneric::<Runtime>::report_error()
|
||||
}
|
||||
|
||||
fn deposit_asset(assets: &AssetFilter, _dest: &Location) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::deposit_asset())
|
||||
}
|
||||
fn deposit_reserve_asset(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::deposit_reserve_asset())
|
||||
}
|
||||
fn exchange_asset(_give: &AssetFilter, _receive: &Assets, _maximal: &bool) -> Weight {
|
||||
// Zagros does not currently support exchange asset operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn initiate_reserve_withdraw(
|
||||
assets: &AssetFilter,
|
||||
_reserve: &Location,
|
||||
_xcm: &Xcm<()>,
|
||||
) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_reserve_withdraw())
|
||||
}
|
||||
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
|
||||
assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_teleport())
|
||||
}
|
||||
fn initiate_transfer(
|
||||
_dest: &Location,
|
||||
remote_fees: &Option<AssetTransferFilter>,
|
||||
_preserve_origin: &bool,
|
||||
assets: &BoundedVec<AssetTransferFilter, MaxAssetTransferFilters>,
|
||||
_xcm: &Xcm<()>,
|
||||
) -> Weight {
|
||||
let base_weight = XcmBalancesWeight::<Runtime>::initiate_transfer();
|
||||
let mut weight = if let Some(remote_fees) = remote_fees {
|
||||
let fees = remote_fees.inner();
|
||||
fees.weigh_assets(base_weight)
|
||||
} else {
|
||||
base_weight
|
||||
};
|
||||
for asset_filter in assets {
|
||||
let assets = asset_filter.inner();
|
||||
let extra = assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_transfer());
|
||||
weight = weight.saturating_add(extra);
|
||||
}
|
||||
weight
|
||||
}
|
||||
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
|
||||
XcmGeneric::<Runtime>::report_holding()
|
||||
}
|
||||
fn buy_execution(_fees: &Asset, _weight_limit: &WeightLimit) -> Weight {
|
||||
XcmGeneric::<Runtime>::buy_execution()
|
||||
}
|
||||
fn pay_fees(_asset: &Asset) -> Weight {
|
||||
XcmGeneric::<Runtime>::pay_fees()
|
||||
}
|
||||
fn refund_surplus() -> Weight {
|
||||
XcmGeneric::<Runtime>::refund_surplus()
|
||||
}
|
||||
fn set_error_handler(_xcm: &Xcm<RuntimeCall>) -> Weight {
|
||||
XcmGeneric::<Runtime>::set_error_handler()
|
||||
}
|
||||
fn set_appendix(_xcm: &Xcm<RuntimeCall>) -> Weight {
|
||||
XcmGeneric::<Runtime>::set_appendix()
|
||||
}
|
||||
fn clear_error() -> Weight {
|
||||
XcmGeneric::<Runtime>::clear_error()
|
||||
}
|
||||
fn set_hints(hints: &BoundedVec<Hint, HintNumVariants>) -> Weight {
|
||||
let mut weight = Weight::zero();
|
||||
for hint in hints {
|
||||
match hint {
|
||||
AssetClaimer { .. } => {
|
||||
weight = weight.saturating_add(XcmGeneric::<Runtime>::asset_claimer());
|
||||
},
|
||||
}
|
||||
}
|
||||
weight
|
||||
}
|
||||
fn claim_asset(_assets: &Assets, _ticket: &Location) -> Weight {
|
||||
XcmGeneric::<Runtime>::claim_asset()
|
||||
}
|
||||
fn trap(_code: &u64) -> Weight {
|
||||
XcmGeneric::<Runtime>::trap()
|
||||
}
|
||||
fn subscribe_version(_query_id: &QueryId, _max_response_weight: &Weight) -> Weight {
|
||||
XcmGeneric::<Runtime>::subscribe_version()
|
||||
}
|
||||
fn unsubscribe_version() -> Weight {
|
||||
XcmGeneric::<Runtime>::unsubscribe_version()
|
||||
}
|
||||
fn burn_asset(assets: &Assets) -> Weight {
|
||||
assets.weigh_assets(XcmGeneric::<Runtime>::burn_asset())
|
||||
}
|
||||
fn expect_asset(assets: &Assets) -> Weight {
|
||||
assets.weigh_assets(XcmGeneric::<Runtime>::expect_asset())
|
||||
}
|
||||
fn expect_origin(_origin: &Option<Location>) -> Weight {
|
||||
XcmGeneric::<Runtime>::expect_origin()
|
||||
}
|
||||
fn expect_error(_error: &Option<(u32, XcmError)>) -> Weight {
|
||||
XcmGeneric::<Runtime>::expect_error()
|
||||
}
|
||||
fn expect_transact_status(_transact_status: &MaybeErrorCode) -> Weight {
|
||||
XcmGeneric::<Runtime>::expect_transact_status()
|
||||
}
|
||||
fn query_pallet(_module_name: &Vec<u8>, _response_info: &QueryResponseInfo) -> Weight {
|
||||
XcmGeneric::<Runtime>::query_pallet()
|
||||
}
|
||||
fn expect_pallet(
|
||||
_index: &u32,
|
||||
_name: &Vec<u8>,
|
||||
_module_name: &Vec<u8>,
|
||||
_crate_major: &u32,
|
||||
_min_crate_minor: &u32,
|
||||
) -> Weight {
|
||||
XcmGeneric::<Runtime>::expect_pallet()
|
||||
}
|
||||
fn report_transact_status(_response_info: &QueryResponseInfo) -> Weight {
|
||||
XcmGeneric::<Runtime>::report_transact_status()
|
||||
}
|
||||
fn clear_transact_status() -> Weight {
|
||||
XcmGeneric::<Runtime>::clear_transact_status()
|
||||
}
|
||||
fn universal_origin(_: &Junction) -> Weight {
|
||||
// Zagros does not currently support universal origin operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight {
|
||||
// Zagros relay should not support export message operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn lock_asset(_: &Asset, _: &Location) -> Weight {
|
||||
// Zagros does not currently support asset locking operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn unlock_asset(_: &Asset, _: &Location) -> Weight {
|
||||
// Zagros does not currently support asset locking operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn note_unlockable(_: &Asset, _: &Location) -> Weight {
|
||||
// Zagros does not currently support asset locking operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn request_unlock(_: &Asset, _: &Location) -> Weight {
|
||||
// Zagros does not currently support asset locking operations
|
||||
Weight::MAX
|
||||
}
|
||||
fn set_fees_mode(_: &bool) -> Weight {
|
||||
XcmGeneric::<Runtime>::set_fees_mode()
|
||||
}
|
||||
fn set_topic(_topic: &[u8; 32]) -> Weight {
|
||||
XcmGeneric::<Runtime>::set_topic()
|
||||
}
|
||||
fn clear_topic() -> Weight {
|
||||
XcmGeneric::<Runtime>::clear_topic()
|
||||
}
|
||||
fn alias_origin(_: &Location) -> Weight {
|
||||
XcmGeneric::<Runtime>::alias_origin()
|
||||
}
|
||||
fn unpaid_execution(_: &WeightLimit, _: &Option<Location>) -> Weight {
|
||||
XcmGeneric::<Runtime>::unpaid_execution()
|
||||
}
|
||||
fn execute_with_origin(_: &Option<InteriorLocation>, _: &Xcm<RuntimeCall>) -> Weight {
|
||||
XcmGeneric::<Runtime>::execute_with_origin()
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn all_counted_has_a_sane_weight_upper_limit() {
|
||||
let assets = AssetFilter::Wild(AllCounted(4294967295));
|
||||
let weight = Weight::from_parts(1000, 1000);
|
||||
|
||||
assert_eq!(assets.weigh_assets(weight), weight * MAX_ASSETS);
|
||||
}
|
||||
+217
@@ -0,0 +1,217 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_xcm_benchmarks::fungible`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_xcm_benchmarks::fungible
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights/xcm
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --template=pezkuwi/xcm/pezpallet-xcm-benchmarks/template.hbs
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_xcm_benchmarks::fungible`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> WeightInfo<T> {
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
pub(crate) fn withdraw_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 32_959_000 picoseconds.
|
||||
Weight::from_parts(34_026_000, 3593)
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
pub(crate) fn transfer_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `101`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 45_561_000 picoseconds.
|
||||
Weight::from_parts(47_174_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `System::Account` (r:3 w:3)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn transfer_reserve_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `8799`
|
||||
// Minimum execution time: 122_629_000 picoseconds.
|
||||
Weight::from_parts(128_496_000, 8799)
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn reserve_asset_deposited() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn initiate_reserve_withdraw() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 87_970_000 picoseconds.
|
||||
Weight::from_parts(90_204_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
pub(crate) fn receive_teleported_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `103`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 33_369_000 picoseconds.
|
||||
Weight::from_parts(34_221_000, 3593)
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
pub(crate) fn deposit_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 25_481_000 picoseconds.
|
||||
Weight::from_parts(26_034_000, 3593)
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn deposit_reserve_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `3677`
|
||||
// Minimum execution time: 78_649_000 picoseconds.
|
||||
Weight::from_parts(81_856_000, 3677)
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:1 w:1)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn initiate_teleport() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `3677`
|
||||
// Minimum execution time: 80_300_000 picoseconds.
|
||||
Weight::from_parts(82_448_000, 3677)
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn initiate_transfer() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `315`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 100_996_000 picoseconds.
|
||||
Weight::from_parts(103_473_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
}
|
||||
+360
@@ -0,0 +1,360 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Autogenerated weights for `pezpallet_xcm_benchmarks::generic`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE BIZINIKIWI BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `3a2e9ae8a8f5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// frame-omni-bencher
|
||||
// v1
|
||||
// benchmark
|
||||
// pallet
|
||||
// --extrinsic=*
|
||||
// --runtime=target/production/wbuild/zagros-runtime/zagros_runtime.wasm
|
||||
// --pallet=pezpallet_xcm_benchmarks::generic
|
||||
// --header=/__w/pezkuwi-sdk/pezkuwi-sdk/pezkuwi/file_header.txt
|
||||
// --output=./pezkuwi/runtime/zagros/src/weights/xcm
|
||||
// --wasm-execution=compiled
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --heap-pages=4096
|
||||
// --template=pezkuwi/xcm/pezpallet-xcm-benchmarks/template.hbs
|
||||
// --no-storage-info
|
||||
// --no-min-squares
|
||||
// --no-median-slopes
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pezframe_support::{traits::Get, weights::Weight};
|
||||
use core::marker::PhantomData;
|
||||
|
||||
/// Weight functions for `pezpallet_xcm_benchmarks::generic`.
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: pezframe_system::Config> WeightInfo<T> {
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn report_holding() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 85_049_000 picoseconds.
|
||||
Weight::from_parts(86_990_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
pub(crate) fn buy_execution() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 765_000 picoseconds.
|
||||
Weight::from_parts(843_000, 0)
|
||||
}
|
||||
pub(crate) fn pay_fees() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_417_000 picoseconds.
|
||||
Weight::from_parts(3_570_000, 0)
|
||||
}
|
||||
pub(crate) fn asset_claimer() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 758_000 picoseconds.
|
||||
Weight::from_parts(827_000, 0)
|
||||
}
|
||||
/// Storage: `XcmPallet::Queries` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn query_response() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `3465`
|
||||
// Minimum execution time: 6_326_000 picoseconds.
|
||||
Weight::from_parts(6_588_000, 3465)
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
}
|
||||
pub(crate) fn transact() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_872_000 picoseconds.
|
||||
Weight::from_parts(8_163_000, 0)
|
||||
}
|
||||
pub(crate) fn refund_surplus() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_361_000 picoseconds.
|
||||
Weight::from_parts(1_477_000, 0)
|
||||
}
|
||||
pub(crate) fn set_error_handler() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 723_000 picoseconds.
|
||||
Weight::from_parts(827_000, 0)
|
||||
}
|
||||
pub(crate) fn set_appendix() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 752_000 picoseconds.
|
||||
Weight::from_parts(817_000, 0)
|
||||
}
|
||||
pub(crate) fn clear_error() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 729_000 picoseconds.
|
||||
Weight::from_parts(774_000, 0)
|
||||
}
|
||||
pub(crate) fn descend_origin() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 784_000 picoseconds.
|
||||
Weight::from_parts(834_000, 0)
|
||||
}
|
||||
pub(crate) fn execute_with_origin() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 836_000 picoseconds.
|
||||
Weight::from_parts(907_000, 0)
|
||||
}
|
||||
pub(crate) fn clear_origin() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 753_000 picoseconds.
|
||||
Weight::from_parts(808_000, 0)
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn report_error() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 82_051_000 picoseconds.
|
||||
Weight::from_parts(84_513_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
/// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn claim_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `23`
|
||||
// Estimated: `3488`
|
||||
// Minimum execution time: 9_753_000 picoseconds.
|
||||
Weight::from_parts(10_101_000, 3488)
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
pub(crate) fn trap() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 762_000 picoseconds.
|
||||
Weight::from_parts(825_000, 0)
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:1 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn subscribe_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `3677`
|
||||
// Minimum execution time: 42_745_000 picoseconds.
|
||||
Weight::from_parts(44_123_000, 3677)
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifyTargets` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn unsubscribe_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 3_198_000 picoseconds.
|
||||
Weight::from_parts(3_356_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
pub(crate) fn burn_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_122_000 picoseconds.
|
||||
Weight::from_parts(1_255_000, 0)
|
||||
}
|
||||
pub(crate) fn expect_asset() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 865_000 picoseconds.
|
||||
Weight::from_parts(911_000, 0)
|
||||
}
|
||||
pub(crate) fn expect_origin() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 748_000 picoseconds.
|
||||
Weight::from_parts(815_000, 0)
|
||||
}
|
||||
pub(crate) fn expect_error() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 724_000 picoseconds.
|
||||
Weight::from_parts(783_000, 0)
|
||||
}
|
||||
pub(crate) fn expect_transact_status() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 885_000 picoseconds.
|
||||
Weight::from_parts(973_000, 0)
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn query_pallet() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 92_780_000 picoseconds.
|
||||
Weight::from_parts(94_883_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
pub(crate) fn expect_pallet() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_284_000 picoseconds.
|
||||
Weight::from_parts(8_505_000, 0)
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Paras::Heads` (r:1 w:0)
|
||||
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `System::Account` (r:2 w:2)
|
||||
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
pub(crate) fn report_transact_status() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `416`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 82_598_000 picoseconds.
|
||||
Weight::from_parts(86_748_000, 6196)
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
}
|
||||
pub(crate) fn clear_transact_status() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 801_000 picoseconds.
|
||||
Weight::from_parts(853_000, 0)
|
||||
}
|
||||
pub(crate) fn set_topic() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 703_000 picoseconds.
|
||||
Weight::from_parts(782_000, 0)
|
||||
}
|
||||
pub(crate) fn clear_topic() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 674_000 picoseconds.
|
||||
Weight::from_parts(759_000, 0)
|
||||
}
|
||||
pub(crate) fn set_fees_mode() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 712_000 picoseconds.
|
||||
Weight::from_parts(793_000, 0)
|
||||
}
|
||||
pub(crate) fn unpaid_execution() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 745_000 picoseconds.
|
||||
Weight::from_parts(812_000, 0)
|
||||
}
|
||||
pub(crate) fn alias_origin() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 757_000 picoseconds.
|
||||
Weight::from_parts(799_000, 0)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,328 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Bizinikiwi is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Bizinikiwi is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Bizinikiwi. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! XCM configurations for Zagros.
|
||||
|
||||
use super::{
|
||||
teyrchains_origin, AccountId, AllPalletsWithSystem, Balances, Dmp, FellowshipAdmin,
|
||||
GeneralAdmin, ParaId, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, StakingAdmin,
|
||||
TransactionByteFee, Treasury, WeightToFee, XcmPallet,
|
||||
};
|
||||
use crate::{governance::pezpallet_custom_origins::Treasurer, Balance, RuntimeHoldReason};
|
||||
use pezframe_support::{
|
||||
parameter_types,
|
||||
traits::{
|
||||
fungible::HoldConsideration, Contains, Equals, Everything, LinearStoragePrice, Nothing,
|
||||
},
|
||||
};
|
||||
use pezframe_system::EnsureRoot;
|
||||
use pezpallet_staking_async_rc_runtime_constants::{
|
||||
currency::CENTS, system_teyrchain::*, xcm::body::FELLOWSHIP_ADMIN_INDEX,
|
||||
};
|
||||
use pezpallet_xcm::XcmPassthrough;
|
||||
use pezkuwi_runtime_common::{
|
||||
xcm_sender::{ChildTeyrchainRouter, ExponentialPrice},
|
||||
ToAuthor,
|
||||
};
|
||||
use pezsp_core::ConstU32;
|
||||
use xcm::latest::{prelude::*, ZAGROS_GENESIS_HASH};
|
||||
use xcm_builder::{
|
||||
AccountId32Aliases, AliasChildLocation, AllowExplicitUnpaidExecutionFrom,
|
||||
AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom,
|
||||
ChildTeyrchainAsNative, ChildTeyrchainConvertsVia, DescribeAllTerminal, DescribeFamily,
|
||||
FrameTransactionalProcessor, FungibleAdapter, HashedDescription, IsChildSystemTeyrchain,
|
||||
IsConcrete, MintLocation, OriginToPluralityVoice, SendXcmFeeToAccount,
|
||||
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
||||
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||
XcmFeeManagerFromComponents,
|
||||
};
|
||||
use xcm_executor::XcmExecutor;
|
||||
|
||||
parameter_types! {
|
||||
pub const TokenLocation: Location = Here.into_location();
|
||||
pub const RootLocation: Location = Location::here();
|
||||
pub const ThisNetwork: NetworkId = ByGenesis(ZAGROS_GENESIS_HASH);
|
||||
pub UniversalLocation: InteriorLocation = [GlobalConsensus(ThisNetwork::get())].into();
|
||||
pub CheckAccount: AccountId = XcmPallet::check_account();
|
||||
pub LocalCheckAccount: (AccountId, MintLocation) = (CheckAccount::get(), MintLocation::Local);
|
||||
pub TreasuryAccount: AccountId = Treasury::account_id();
|
||||
/// The asset ID for the asset that we use to pay for message delivery fees.
|
||||
pub FeeAssetId: AssetId = AssetId(TokenLocation::get());
|
||||
/// The base fee for the message delivery fees.
|
||||
pub const BaseDeliveryFee: u128 = CENTS.saturating_mul(3);
|
||||
/// Zagros does not have mint authority anymore after the Asset Hub migration.
|
||||
pub TeleportTracking: Option<(AccountId, MintLocation)> = None;
|
||||
}
|
||||
|
||||
pub type LocationConverter = (
|
||||
// We can convert a child teyrchain using the standard `AccountId` conversion.
|
||||
ChildTeyrchainConvertsVia<ParaId, AccountId>,
|
||||
// We can directly alias an `AccountId32` into a local account.
|
||||
AccountId32Aliases<ThisNetwork, AccountId>,
|
||||
// Foreign locations alias into accounts according to a hash of their standard description.
|
||||
HashedDescription<AccountId, DescribeFamily<DescribeAllTerminal>>,
|
||||
);
|
||||
|
||||
pub type LocalAssetTransactor = FungibleAdapter<
|
||||
// Use this currency:
|
||||
Balances,
|
||||
// Use this currency when it is a fungible asset matching the given location or name:
|
||||
IsConcrete<TokenLocation>,
|
||||
// We can convert the Locations with our converter above:
|
||||
LocationConverter,
|
||||
// Our chain's account ID type (we can't get away without mentioning it explicitly):
|
||||
AccountId,
|
||||
// Teleport tracking
|
||||
TeleportTracking,
|
||||
>;
|
||||
|
||||
type LocalOriginConverter = (
|
||||
// If the origin kind is `Sovereign`, then return a `Signed` origin with the account determined
|
||||
// by the `LocationConverter` converter.
|
||||
SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>,
|
||||
// If the origin kind is `Native` and the XCM origin is a child teyrchain, then we can express
|
||||
// it with the special `teyrchains_origin::Origin` origin variant.
|
||||
ChildTeyrchainAsNative<teyrchains_origin::Origin, RuntimeOrigin>,
|
||||
// If the origin kind is `Native` and the XCM origin is the `AccountId32` location, then it can
|
||||
// be expressed using the `Signed` origin variant.
|
||||
SignedAccountId32AsNative<ThisNetwork, RuntimeOrigin>,
|
||||
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
|
||||
XcmPassthrough<RuntimeOrigin>,
|
||||
);
|
||||
|
||||
pub type PriceForChildTeyrchainDelivery =
|
||||
ExponentialPrice<FeeAssetId, BaseDeliveryFee, TransactionByteFee, Dmp>;
|
||||
|
||||
/// The XCM router. When we want to send an XCM message, we use this type. It amalgamates all of our
|
||||
/// individual routers.
|
||||
pub type XcmRouter = WithUniqueTopic<
|
||||
// Only one router so far - use DMP to communicate with child teyrchains.
|
||||
ChildTeyrchainRouter<Runtime, XcmPallet, PriceForChildTeyrchainDelivery>,
|
||||
>;
|
||||
|
||||
parameter_types! {
|
||||
pub AssetHub: Location = Teyrchain(ASSET_HUB_ID).into_location();
|
||||
pub Collectives: Location = Teyrchain(COLLECTIVES_ID).into_location();
|
||||
pub BridgeHub: Location = Teyrchain(BRIDGE_HUB_ID).into_location();
|
||||
pub Encointer: Location = Teyrchain(ENCOINTER_ID).into_location();
|
||||
pub People: Location = Teyrchain(PEOPLE_ID).into_location();
|
||||
pub Broker: Location = Teyrchain(BROKER_ID).into_location();
|
||||
pub Zgr: AssetFilter = Wild(AllOf { fun: WildFungible, id: AssetId(TokenLocation::get()) });
|
||||
pub WndForAssetHub: (AssetFilter, Location) = (Zgr::get(), AssetHub::get());
|
||||
pub WndForCollectives: (AssetFilter, Location) = (Zgr::get(), Collectives::get());
|
||||
pub WndForBridgeHub: (AssetFilter, Location) = (Zgr::get(), BridgeHub::get());
|
||||
pub WndForEncointer: (AssetFilter, Location) = (Zgr::get(), Encointer::get());
|
||||
pub WndForPeople: (AssetFilter, Location) = (Zgr::get(), People::get());
|
||||
pub WndForBroker: (AssetFilter, Location) = (Zgr::get(), Broker::get());
|
||||
pub MaxInstructions: u32 = 100;
|
||||
pub MaxAssetsIntoHolding: u32 = 64;
|
||||
}
|
||||
|
||||
pub type TrustedTeleporters = (
|
||||
xcm_builder::Case<WndForAssetHub>,
|
||||
xcm_builder::Case<WndForCollectives>,
|
||||
xcm_builder::Case<WndForBridgeHub>,
|
||||
xcm_builder::Case<WndForEncointer>,
|
||||
xcm_builder::Case<WndForPeople>,
|
||||
xcm_builder::Case<WndForBroker>,
|
||||
);
|
||||
|
||||
pub struct OnlyTeyrchains;
|
||||
impl Contains<Location> for OnlyTeyrchains {
|
||||
fn contains(location: &Location) -> bool {
|
||||
matches!(location.unpack(), (0, [Teyrchain(_)]))
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Fellows;
|
||||
impl Contains<Location> for Fellows {
|
||||
fn contains(location: &Location) -> bool {
|
||||
matches!(
|
||||
location.unpack(),
|
||||
(0, [Teyrchain(COLLECTIVES_ID), Plurality { id: BodyId::Technical, .. }])
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
pub struct LocalPlurality;
|
||||
impl Contains<Location> for LocalPlurality {
|
||||
fn contains(loc: &Location) -> bool {
|
||||
matches!(loc.unpack(), (0, [Plurality { .. }]))
|
||||
}
|
||||
}
|
||||
|
||||
/// The barriers one of which must be passed for an XCM message to be executed.
|
||||
pub type Barrier = TrailingSetTopicAsId<(
|
||||
// Weight that is paid for may be consumed.
|
||||
TakeWeightCredit,
|
||||
// Expected responses are OK.
|
||||
AllowKnownQueryResponses<XcmPallet>,
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attempts to pay for execution, then allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Subscriptions for version tracking are OK.
|
||||
AllowSubscriptionsFrom<OnlyTeyrchains>,
|
||||
// Messages from system teyrchains or the Fellows plurality need not pay for execution.
|
||||
AllowExplicitUnpaidExecutionFrom<(IsChildSystemTeyrchain<ParaId>, Fellows)>,
|
||||
),
|
||||
UniversalLocation,
|
||||
ConstU32<8>,
|
||||
>,
|
||||
)>;
|
||||
|
||||
/// Locations that will not be charged fees in the executor, neither for execution nor delivery.
|
||||
/// We only waive fees for system functions, which these locations represent.
|
||||
pub type WaivedLocations = (SystemTeyrchains, Equals<RootLocation>, LocalPlurality);
|
||||
|
||||
/// We let locations alias into child locations of their own.
|
||||
/// This is a very simple aliasing rule, mimicking the behaviour of
|
||||
/// the `DescendOrigin` instruction.
|
||||
pub type Aliasers = AliasChildLocation;
|
||||
|
||||
pub struct XcmConfig;
|
||||
impl xcm_executor::Config for XcmConfig {
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type XcmSender = XcmRouter;
|
||||
type AssetTransactor = LocalAssetTransactor;
|
||||
type OriginConverter = LocalOriginConverter;
|
||||
type IsReserve = ();
|
||||
type XcmEventEmitter = XcmPallet;
|
||||
type IsTeleporter = TrustedTeleporters;
|
||||
type UniversalLocation = UniversalLocation;
|
||||
type Barrier = Barrier;
|
||||
type Weigher = WeightInfoBounds<
|
||||
crate::weights::xcm::ZagrosXcmWeight<RuntimeCall>,
|
||||
RuntimeCall,
|
||||
MaxInstructions,
|
||||
>;
|
||||
type Trader =
|
||||
UsingComponents<WeightToFee, TokenLocation, AccountId, Balances, ToAuthor<Runtime>>;
|
||||
type ResponseHandler = XcmPallet;
|
||||
type AssetTrap = XcmPallet;
|
||||
type AssetLocker = ();
|
||||
type AssetExchanger = ();
|
||||
type AssetClaims = XcmPallet;
|
||||
type SubscriptionService = XcmPallet;
|
||||
type PalletInstancesInfo = AllPalletsWithSystem;
|
||||
type MaxAssetsIntoHolding = MaxAssetsIntoHolding;
|
||||
type FeeManager = XcmFeeManagerFromComponents<
|
||||
WaivedLocations,
|
||||
SendXcmFeeToAccount<Self::AssetTransactor, TreasuryAccount>,
|
||||
>;
|
||||
type MessageExporter = ();
|
||||
type UniversalAliases = Nothing;
|
||||
type CallDispatcher = RuntimeCall;
|
||||
type SafeCallFilter = Everything;
|
||||
type Aliasers = Aliasers;
|
||||
type TransactionalProcessor = FrameTransactionalProcessor;
|
||||
type HrmpNewChannelOpenRequestHandler = ();
|
||||
type HrmpChannelAcceptedHandler = ();
|
||||
type HrmpChannelClosingHandler = ();
|
||||
type XcmRecorder = XcmPallet;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
// `GeneralAdmin` pluralistic body.
|
||||
pub const GeneralAdminBodyId: BodyId = BodyId::Administration;
|
||||
// StakingAdmin pluralistic body.
|
||||
pub const StakingAdminBodyId: BodyId = BodyId::Defense;
|
||||
// FellowshipAdmin pluralistic body.
|
||||
pub const FellowshipAdminBodyId: BodyId = BodyId::Index(FELLOWSHIP_ADMIN_INDEX);
|
||||
// `Treasurer` pluralistic body.
|
||||
pub const TreasurerBodyId: BodyId = BodyId::Treasury;
|
||||
|
||||
pub const DepositPerItem: Balance = crate::deposit(1, 0);
|
||||
pub const DepositPerByte: Balance = crate::deposit(0, 1);
|
||||
pub const AuthorizeAliasHoldReason: RuntimeHoldReason = RuntimeHoldReason::XcmPallet(pezpallet_xcm::HoldReason::AuthorizeAlias);
|
||||
}
|
||||
|
||||
/// Type to convert the `GeneralAdmin` origin to a Plurality `Location` value.
|
||||
pub type GeneralAdminToPlurality =
|
||||
OriginToPluralityVoice<RuntimeOrigin, GeneralAdmin, GeneralAdminBodyId>;
|
||||
|
||||
/// location of this chain.
|
||||
pub type LocalOriginToLocation = (
|
||||
GeneralAdminToPlurality,
|
||||
// And a usual Signed origin to be used in XCM as a corresponding AccountId32
|
||||
SignedToAccountId32<RuntimeOrigin, AccountId, ThisNetwork>,
|
||||
);
|
||||
|
||||
/// Type to convert the `StakingAdmin` origin to a Plurality `Location` value.
|
||||
pub type StakingAdminToPlurality =
|
||||
OriginToPluralityVoice<RuntimeOrigin, StakingAdmin, StakingAdminBodyId>;
|
||||
|
||||
/// Type to convert the `FellowshipAdmin` origin to a Plurality `Location` value.
|
||||
pub type FellowshipAdminToPlurality =
|
||||
OriginToPluralityVoice<RuntimeOrigin, FellowshipAdmin, FellowshipAdminBodyId>;
|
||||
|
||||
/// Type to convert the `Treasurer` origin to a Plurality `Location` value.
|
||||
pub type TreasurerToPlurality = OriginToPluralityVoice<RuntimeOrigin, Treasurer, TreasurerBodyId>;
|
||||
|
||||
/// Type to convert a pallet `Origin` type value into a `Location` value which represents an
|
||||
/// interior location of this chain for a destination chain.
|
||||
pub type LocalPalletOriginToLocation = (
|
||||
// GeneralAdmin origin to be used in XCM as a corresponding Plurality `Location` value.
|
||||
GeneralAdminToPlurality,
|
||||
// StakingAdmin origin to be used in XCM as a corresponding Plurality `Location` value.
|
||||
StakingAdminToPlurality,
|
||||
// FellowshipAdmin origin to be used in XCM as a corresponding Plurality `Location` value.
|
||||
FellowshipAdminToPlurality,
|
||||
// `Treasurer` origin to be used in XCM as a corresponding Plurality `Location` value.
|
||||
TreasurerToPlurality,
|
||||
);
|
||||
|
||||
impl pezpallet_xcm::Config for Runtime {
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
// Note that this configuration of `SendXcmOrigin` is different from the one present in
|
||||
// production.
|
||||
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<
|
||||
RuntimeOrigin,
|
||||
(LocalPalletOriginToLocation, LocalOriginToLocation),
|
||||
>;
|
||||
type XcmRouter = XcmRouter;
|
||||
// Anyone can execute XCM messages locally.
|
||||
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||
type XcmExecuteFilter = Everything;
|
||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||
type XcmTeleportFilter = Everything;
|
||||
type XcmReserveTransferFilter = Everything;
|
||||
type Weigher = WeightInfoBounds<
|
||||
crate::weights::xcm::ZagrosXcmWeight<RuntimeCall>,
|
||||
RuntimeCall,
|
||||
MaxInstructions,
|
||||
>;
|
||||
type UniversalLocation = UniversalLocation;
|
||||
type RuntimeOrigin = RuntimeOrigin;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
|
||||
type AdvertisedXcmVersion = pezpallet_xcm::CurrentXcmVersion;
|
||||
type Currency = Balances;
|
||||
type CurrencyMatcher = IsConcrete<TokenLocation>;
|
||||
type TrustedLockers = ();
|
||||
type SovereignAccountOf = LocationConverter;
|
||||
type MaxLockers = ConstU32<8>;
|
||||
type MaxRemoteLockConsumers = ConstU32<0>;
|
||||
type RemoteLockConsumerIdentifier = ();
|
||||
type WeightInfo = crate::weights::pezpallet_xcm::WeightInfo<Runtime>;
|
||||
type AdminOrigin = EnsureRoot<AccountId>;
|
||||
type AuthorizedAliasConsideration = HoldConsideration<
|
||||
AccountId,
|
||||
Balances,
|
||||
AuthorizeAliasHoldReason,
|
||||
LinearStoragePrice<DepositPerItem, DepositPerByte, Balance>,
|
||||
>;
|
||||
}
|
||||
@@ -0,0 +1,418 @@
|
||||
[package]
|
||||
name = "pezpallet-staking-async-teyrchain-runtime"
|
||||
version = "0.15.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
description = "A teyrchain runtime for staking-async"
|
||||
license.workspace = true
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
publish = false
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
codec = { features = ["derive", "max-encoded-len"], workspace = true }
|
||||
hex-literal = { workspace = true, default-features = true }
|
||||
log = { workspace = true }
|
||||
scale-info = { features = ["derive"], workspace = true }
|
||||
serde_json = { features = ["alloc"], workspace = true }
|
||||
|
||||
# Bizinikiwi
|
||||
pezframe-benchmarking = { optional = true, workspace = true }
|
||||
pezframe-election-provider-support = { workspace = true }
|
||||
pezframe-executive = { workspace = true }
|
||||
pezframe-metadata-hash-extension = { workspace = true }
|
||||
pezframe-support = { workspace = true }
|
||||
pezframe-system = { workspace = true }
|
||||
pezframe-system-benchmarking = { optional = true, workspace = true }
|
||||
pezframe-system-rpc-runtime-api = { workspace = true }
|
||||
pezframe-try-runtime = { optional = true, workspace = true }
|
||||
pezpallet-asset-conversion = { workspace = true }
|
||||
pezpallet-asset-conversion-ops = { workspace = true }
|
||||
pezpallet-asset-conversion-tx-payment = { workspace = true }
|
||||
pezpallet-asset-rate = { workspace = true }
|
||||
pezpallet-asset-rewards = { workspace = true }
|
||||
pezpallet-assets = { workspace = true }
|
||||
pezpallet-assets-freezer = { workspace = true }
|
||||
pezpallet-aura = { workspace = true }
|
||||
pezpallet-authorship = { workspace = true }
|
||||
pezpallet-bags-list = { workspace = true }
|
||||
pezpallet-balances = { workspace = true }
|
||||
pezpallet-conviction-voting = { workspace = true }
|
||||
pezpallet-delegated-staking = { workspace = true }
|
||||
pezpallet-election-provider-multi-block = { workspace = true }
|
||||
pezpallet-fast-unstake = { workspace = true }
|
||||
pezpallet-migrations = { workspace = true }
|
||||
pezpallet-multisig = { workspace = true }
|
||||
pezpallet-nft-fractionalization = { workspace = true }
|
||||
pezpallet-nfts = { workspace = true }
|
||||
pezpallet-nfts-runtime-api = { workspace = true }
|
||||
pezpallet-nomination-pools = { workspace = true }
|
||||
pezpallet-nomination-pools-runtime-api = { workspace = true }
|
||||
pezpallet-preimage = { workspace = true }
|
||||
pezpallet-proxy = { workspace = true }
|
||||
pezpallet-referenda = { workspace = true }
|
||||
pezpallet-scheduler = { workspace = true }
|
||||
pezpallet-session = { workspace = true }
|
||||
pezpallet-staking-async = { workspace = true }
|
||||
pezpallet-staking-async-preset-store = { workspace = true }
|
||||
pezpallet-staking-async-rc-client = { workspace = true }
|
||||
pezpallet-staking-async-runtime-api = { workspace = true }
|
||||
pezpallet-state-trie-migration = { workspace = true }
|
||||
pezpallet-sudo = { workspace = true }
|
||||
pezpallet-timestamp = { workspace = true }
|
||||
pezpallet-transaction-payment = { workspace = true }
|
||||
pezpallet-transaction-payment-rpc-runtime-api = { workspace = true }
|
||||
pezpallet-treasury = { workspace = true }
|
||||
pezpallet-uniques = { workspace = true }
|
||||
pezpallet-utility = { workspace = true }
|
||||
pezpallet-vesting = { workspace = true }
|
||||
pezpallet-whitelist = { workspace = true }
|
||||
pezsp-api = { workspace = true }
|
||||
pezsp-arithmetic = { workspace = true }
|
||||
pezsp-block-builder = { workspace = true }
|
||||
pezsp-consensus-aura = { workspace = true }
|
||||
pezsp-core = { workspace = true }
|
||||
pezsp-genesis-builder = { workspace = true }
|
||||
pezsp-inherents = { workspace = true }
|
||||
pezsp-keyring = { workspace = true }
|
||||
pezsp-npos-elections = { workspace = true }
|
||||
pezsp-offchain = { workspace = true }
|
||||
pezsp-runtime = { workspace = true }
|
||||
pezsp-session = { workspace = true }
|
||||
pezsp-staking = { workspace = true }
|
||||
pezsp-std = { workspace = true }
|
||||
pezsp-storage = { workspace = true }
|
||||
pezsp-transaction-pool = { workspace = true }
|
||||
pezsp-version = { workspace = true }
|
||||
|
||||
# num-traits feature needed for dex integer sq root:
|
||||
primitive-types = { features = [
|
||||
"codec",
|
||||
"num-traits",
|
||||
"scale-info",
|
||||
], workspace = true }
|
||||
|
||||
# Pezkuwi
|
||||
pezpallet-xcm = { workspace = true }
|
||||
pezpallet-xcm-benchmarks = { optional = true, workspace = true }
|
||||
pezkuwi-runtime-common = { workspace = true }
|
||||
pezkuwi-teyrchain-primitives = { workspace = true }
|
||||
xcm = { workspace = true }
|
||||
xcm-builder = { workspace = true }
|
||||
xcm-executor = { workspace = true }
|
||||
xcm-runtime-apis = { workspace = true }
|
||||
zagros-runtime-constants = { workspace = true }
|
||||
|
||||
# Pezcumulus
|
||||
assets-common = { workspace = true }
|
||||
pezcumulus-pezpallet-aura-ext = { workspace = true }
|
||||
pezcumulus-pezpallet-session-benchmarking = { workspace = true }
|
||||
pezcumulus-pezpallet-teyrchain-system = { workspace = true }
|
||||
pezcumulus-pezpallet-weight-reclaim = { workspace = true }
|
||||
pezcumulus-pezpallet-xcm = { workspace = true }
|
||||
pezcumulus-pezpallet-xcmp-queue = { features = ["bridging"], workspace = true }
|
||||
pezcumulus-primitives-aura = { workspace = true }
|
||||
pezcumulus-primitives-core = { workspace = true }
|
||||
pezcumulus-primitives-utility = { workspace = true }
|
||||
pezpallet-collator-selection = { workspace = true }
|
||||
pezpallet-message-queue = { workspace = true }
|
||||
testnet-teyrchains-constants = { features = ["zagros"], workspace = true }
|
||||
teyrchain-info = { workspace = true }
|
||||
teyrchains-common = { workspace = true }
|
||||
|
||||
# Bridges
|
||||
bp-asset-hub-pezkuwichain = { workspace = true }
|
||||
# bp-asset-hub-next-zagros = { workspace = true }
|
||||
bp-bridge-hub-pezkuwichain = { workspace = true }
|
||||
bp-bridge-hub-zagros = { workspace = true }
|
||||
pezpallet-xcm-bridge-hub-router = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
asset-test-utils = { workspace = true, default-features = true }
|
||||
pezframe-try-runtime = { workspace = true, default-features = true }
|
||||
pezpallet-bags-list-remote-tests = { workspace = true, default-features = true }
|
||||
remote-externalities = { workspace = true, default-features = true }
|
||||
pezsp-io = { workspace = true, default-features = true }
|
||||
pezsp-tracing = { workspace = true, default-features = true }
|
||||
teyrchains-runtimes-test-utils = { workspace = true, default-features = true }
|
||||
tokio = { features = ["macros"], workspace = true, default-features = true }
|
||||
|
||||
[build-dependencies]
|
||||
bizinikiwi-wasm-builder = { optional = true, workspace = true, default-features = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
runtime-benchmarks = [
|
||||
"asset-test-utils/runtime-benchmarks",
|
||||
"assets-common/runtime-benchmarks",
|
||||
"bp-asset-hub-pezkuwichain/runtime-benchmarks",
|
||||
"bp-bridge-hub-pezkuwichain/runtime-benchmarks",
|
||||
"bp-bridge-hub-zagros/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-aura-ext/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-session-benchmarking/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-teyrchain-system/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-weight-reclaim/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-xcm/runtime-benchmarks",
|
||||
"pezcumulus-pezpallet-xcmp-queue/runtime-benchmarks",
|
||||
"pezcumulus-primitives-aura/runtime-benchmarks",
|
||||
"pezcumulus-primitives-core/runtime-benchmarks",
|
||||
"pezcumulus-primitives-utility/runtime-benchmarks",
|
||||
"pezframe-benchmarking/runtime-benchmarks",
|
||||
"pezframe-election-provider-support/runtime-benchmarks",
|
||||
"pezframe-executive/runtime-benchmarks",
|
||||
"pezframe-metadata-hash-extension/runtime-benchmarks",
|
||||
"pezframe-support/runtime-benchmarks",
|
||||
"pezframe-system-benchmarking/runtime-benchmarks",
|
||||
"pezframe-system-rpc-runtime-api/runtime-benchmarks",
|
||||
"pezframe-system/runtime-benchmarks",
|
||||
"pezframe-try-runtime?/runtime-benchmarks",
|
||||
"pezpallet-asset-conversion-ops/runtime-benchmarks",
|
||||
"pezpallet-asset-conversion-tx-payment/runtime-benchmarks",
|
||||
"pezpallet-asset-conversion/runtime-benchmarks",
|
||||
"pezpallet-asset-rate/runtime-benchmarks",
|
||||
"pezpallet-asset-rewards/runtime-benchmarks",
|
||||
"pezpallet-assets-freezer/runtime-benchmarks",
|
||||
"pezpallet-assets/runtime-benchmarks",
|
||||
"pezpallet-aura/runtime-benchmarks",
|
||||
"pezpallet-authorship/runtime-benchmarks",
|
||||
"pezpallet-bags-list-remote-tests/runtime-benchmarks",
|
||||
"pezpallet-bags-list/runtime-benchmarks",
|
||||
"pezpallet-balances/runtime-benchmarks",
|
||||
"pezpallet-collator-selection/runtime-benchmarks",
|
||||
"pezpallet-conviction-voting/runtime-benchmarks",
|
||||
"pezpallet-delegated-staking/runtime-benchmarks",
|
||||
"pezpallet-election-provider-multi-block/runtime-benchmarks",
|
||||
"pezpallet-fast-unstake/runtime-benchmarks",
|
||||
"pezpallet-message-queue/runtime-benchmarks",
|
||||
"pezpallet-migrations/runtime-benchmarks",
|
||||
"pezpallet-multisig/runtime-benchmarks",
|
||||
"pezpallet-nft-fractionalization/runtime-benchmarks",
|
||||
"pezpallet-nfts-runtime-api/runtime-benchmarks",
|
||||
"pezpallet-nfts/runtime-benchmarks",
|
||||
"pezpallet-nomination-pools-runtime-api/runtime-benchmarks",
|
||||
"pezpallet-nomination-pools/runtime-benchmarks",
|
||||
"pezpallet-preimage/runtime-benchmarks",
|
||||
"pezpallet-proxy/runtime-benchmarks",
|
||||
"pezpallet-referenda/runtime-benchmarks",
|
||||
"pezpallet-scheduler/runtime-benchmarks",
|
||||
"pezpallet-session/runtime-benchmarks",
|
||||
"pezpallet-staking-async-preset-store/runtime-benchmarks",
|
||||
"pezpallet-staking-async-rc-client/runtime-benchmarks",
|
||||
"pezpallet-staking-async-runtime-api/runtime-benchmarks",
|
||||
"pezpallet-staking-async/runtime-benchmarks",
|
||||
"pezpallet-state-trie-migration/runtime-benchmarks",
|
||||
"pezpallet-sudo/runtime-benchmarks",
|
||||
"pezpallet-timestamp/runtime-benchmarks",
|
||||
"pezpallet-transaction-payment-rpc-runtime-api/runtime-benchmarks",
|
||||
"pezpallet-transaction-payment/runtime-benchmarks",
|
||||
"pezpallet-treasury/runtime-benchmarks",
|
||||
"pezpallet-uniques/runtime-benchmarks",
|
||||
"pezpallet-utility/runtime-benchmarks",
|
||||
"pezpallet-vesting/runtime-benchmarks",
|
||||
"pezpallet-whitelist/runtime-benchmarks",
|
||||
"pezpallet-xcm-benchmarks/runtime-benchmarks",
|
||||
"pezpallet-xcm-bridge-hub-router/runtime-benchmarks",
|
||||
"pezpallet-xcm/runtime-benchmarks",
|
||||
"pezkuwi-runtime-common/runtime-benchmarks",
|
||||
"pezkuwi-teyrchain-primitives/runtime-benchmarks",
|
||||
"remote-externalities/runtime-benchmarks",
|
||||
"pezsp-api/runtime-benchmarks",
|
||||
"pezsp-block-builder/runtime-benchmarks",
|
||||
"pezsp-consensus-aura/runtime-benchmarks",
|
||||
"pezsp-genesis-builder/runtime-benchmarks",
|
||||
"pezsp-inherents/runtime-benchmarks",
|
||||
"pezsp-io/runtime-benchmarks",
|
||||
"pezsp-keyring/runtime-benchmarks",
|
||||
"pezsp-npos-elections/runtime-benchmarks",
|
||||
"pezsp-offchain/runtime-benchmarks",
|
||||
"pezsp-runtime/runtime-benchmarks",
|
||||
"pezsp-session/runtime-benchmarks",
|
||||
"pezsp-staking/runtime-benchmarks",
|
||||
"pezsp-transaction-pool/runtime-benchmarks",
|
||||
"pezsp-version/runtime-benchmarks",
|
||||
"bizinikiwi-wasm-builder?/runtime-benchmarks",
|
||||
"testnet-teyrchains-constants/runtime-benchmarks",
|
||||
"teyrchain-info/runtime-benchmarks",
|
||||
"teyrchains-common/runtime-benchmarks",
|
||||
"teyrchains-runtimes-test-utils/runtime-benchmarks",
|
||||
"xcm-builder/runtime-benchmarks",
|
||||
"xcm-executor/runtime-benchmarks",
|
||||
"xcm-runtime-apis/runtime-benchmarks",
|
||||
"xcm/runtime-benchmarks",
|
||||
"zagros-runtime-constants/runtime-benchmarks",
|
||||
]
|
||||
try-runtime = [
|
||||
"asset-test-utils/try-runtime",
|
||||
"assets-common/try-runtime",
|
||||
"pezcumulus-pezpallet-aura-ext/try-runtime",
|
||||
"pezcumulus-pezpallet-teyrchain-system/try-runtime",
|
||||
"pezcumulus-pezpallet-weight-reclaim/try-runtime",
|
||||
"pezcumulus-pezpallet-xcm/try-runtime",
|
||||
"pezcumulus-pezpallet-xcmp-queue/try-runtime",
|
||||
"pezframe-election-provider-support/try-runtime",
|
||||
"pezframe-executive/try-runtime",
|
||||
"pezframe-support/try-runtime",
|
||||
"pezframe-system/try-runtime",
|
||||
"pezframe-try-runtime/try-runtime",
|
||||
"pezpallet-asset-conversion-ops/try-runtime",
|
||||
"pezpallet-asset-conversion-tx-payment/try-runtime",
|
||||
"pezpallet-asset-conversion/try-runtime",
|
||||
"pezpallet-asset-rate/try-runtime",
|
||||
"pezpallet-asset-rewards/try-runtime",
|
||||
"pezpallet-assets-freezer/try-runtime",
|
||||
"pezpallet-assets/try-runtime",
|
||||
"pezpallet-aura/try-runtime",
|
||||
"pezpallet-authorship/try-runtime",
|
||||
"pezpallet-bags-list/try-runtime",
|
||||
"pezpallet-balances/try-runtime",
|
||||
"pezpallet-collator-selection/try-runtime",
|
||||
"pezpallet-conviction-voting/try-runtime",
|
||||
"pezpallet-delegated-staking/try-runtime",
|
||||
"pezpallet-election-provider-multi-block/try-runtime",
|
||||
"pezpallet-fast-unstake/try-runtime",
|
||||
"pezpallet-message-queue/try-runtime",
|
||||
"pezpallet-migrations/try-runtime",
|
||||
"pezpallet-multisig/try-runtime",
|
||||
"pezpallet-nft-fractionalization/try-runtime",
|
||||
"pezpallet-nfts/try-runtime",
|
||||
"pezpallet-nomination-pools/try-runtime",
|
||||
"pezpallet-preimage/try-runtime",
|
||||
"pezpallet-proxy/try-runtime",
|
||||
"pezpallet-referenda/try-runtime",
|
||||
"pezpallet-scheduler/try-runtime",
|
||||
"pezpallet-session/try-runtime",
|
||||
"pezpallet-staking-async-rc-client/try-runtime",
|
||||
"pezpallet-staking-async/try-runtime",
|
||||
"pezpallet-state-trie-migration/try-runtime",
|
||||
"pezpallet-sudo/try-runtime",
|
||||
"pezpallet-timestamp/try-runtime",
|
||||
"pezpallet-transaction-payment/try-runtime",
|
||||
"pezpallet-treasury/try-runtime",
|
||||
"pezpallet-uniques/try-runtime",
|
||||
"pezpallet-utility/try-runtime",
|
||||
"pezpallet-vesting/try-runtime",
|
||||
"pezpallet-whitelist/try-runtime",
|
||||
"pezpallet-xcm-bridge-hub-router/try-runtime",
|
||||
"pezpallet-xcm/try-runtime",
|
||||
"pezkuwi-runtime-common/try-runtime",
|
||||
"pezsp-runtime/try-runtime",
|
||||
"teyrchain-info/try-runtime",
|
||||
"teyrchains-common/try-runtime",
|
||||
]
|
||||
std = [
|
||||
"assets-common/std",
|
||||
"bp-asset-hub-pezkuwichain/std",
|
||||
# "bp-asset-hub-next-zagros/std",
|
||||
"bp-bridge-hub-pezkuwichain/std",
|
||||
"bp-bridge-hub-zagros/std",
|
||||
"codec/std",
|
||||
"pezcumulus-pezpallet-aura-ext/std",
|
||||
"pezcumulus-pezpallet-session-benchmarking/std",
|
||||
"pezcumulus-pezpallet-teyrchain-system/std",
|
||||
"pezcumulus-pezpallet-weight-reclaim/std",
|
||||
"pezcumulus-pezpallet-xcm/std",
|
||||
"pezcumulus-pezpallet-xcmp-queue/std",
|
||||
"pezcumulus-primitives-aura/std",
|
||||
"pezcumulus-primitives-core/std",
|
||||
"pezcumulus-primitives-utility/std",
|
||||
"pezframe-benchmarking?/std",
|
||||
"pezframe-election-provider-support/std",
|
||||
"pezframe-executive/std",
|
||||
"pezframe-metadata-hash-extension/std",
|
||||
"pezframe-support/std",
|
||||
"pezframe-system-benchmarking?/std",
|
||||
"pezframe-system-rpc-runtime-api/std",
|
||||
"pezframe-system/std",
|
||||
"pezframe-try-runtime?/std",
|
||||
"log/std",
|
||||
"pezpallet-asset-conversion-ops/std",
|
||||
"pezpallet-asset-conversion-tx-payment/std",
|
||||
"pezpallet-asset-conversion/std",
|
||||
"pezpallet-asset-rate/std",
|
||||
"pezpallet-asset-rewards/std",
|
||||
"pezpallet-assets-freezer/std",
|
||||
"pezpallet-assets/std",
|
||||
"pezpallet-aura/std",
|
||||
"pezpallet-authorship/std",
|
||||
"pezpallet-bags-list/std",
|
||||
"pezpallet-balances/std",
|
||||
"pezpallet-collator-selection/std",
|
||||
"pezpallet-conviction-voting/std",
|
||||
"pezpallet-delegated-staking/std",
|
||||
"pezpallet-election-provider-multi-block/std",
|
||||
"pezpallet-fast-unstake/std",
|
||||
"pezpallet-message-queue/std",
|
||||
"pezpallet-migrations/std",
|
||||
"pezpallet-multisig/std",
|
||||
"pezpallet-nft-fractionalization/std",
|
||||
"pezpallet-nfts-runtime-api/std",
|
||||
"pezpallet-nfts/std",
|
||||
"pezpallet-nomination-pools-runtime-api/std",
|
||||
"pezpallet-nomination-pools/std",
|
||||
"pezpallet-preimage/std",
|
||||
"pezpallet-proxy/std",
|
||||
"pezpallet-referenda/std",
|
||||
"pezpallet-scheduler/std",
|
||||
"pezpallet-session/std",
|
||||
"pezpallet-staking-async-preset-store/std",
|
||||
"pezpallet-staking-async-rc-client/std",
|
||||
"pezpallet-staking-async-runtime-api/std",
|
||||
"pezpallet-staking-async/std",
|
||||
"pezpallet-state-trie-migration/std",
|
||||
"pezpallet-sudo/std",
|
||||
"pezpallet-timestamp/std",
|
||||
"pezpallet-transaction-payment-rpc-runtime-api/std",
|
||||
"pezpallet-transaction-payment/std",
|
||||
"pezpallet-treasury/std",
|
||||
"pezpallet-uniques/std",
|
||||
"pezpallet-utility/std",
|
||||
"pezpallet-vesting/std",
|
||||
"pezpallet-whitelist/std",
|
||||
"pezpallet-xcm-benchmarks?/std",
|
||||
"pezpallet-xcm-bridge-hub-router/std",
|
||||
"pezpallet-xcm/std",
|
||||
"pezkuwi-runtime-common/std",
|
||||
"pezkuwi-teyrchain-primitives/std",
|
||||
"primitive-types/std",
|
||||
"scale-info/std",
|
||||
"serde_json/std",
|
||||
"pezsp-api/std",
|
||||
"pezsp-arithmetic/std",
|
||||
"pezsp-block-builder/std",
|
||||
"pezsp-consensus-aura/std",
|
||||
"pezsp-core/std",
|
||||
"pezsp-genesis-builder/std",
|
||||
"pezsp-inherents/std",
|
||||
"pezsp-keyring/std",
|
||||
"pezsp-npos-elections/std",
|
||||
"pezsp-offchain/std",
|
||||
"pezsp-runtime/std",
|
||||
"pezsp-session/std",
|
||||
"pezsp-staking/std",
|
||||
"pezsp-std/std",
|
||||
"pezsp-storage/std",
|
||||
"pezsp-transaction-pool/std",
|
||||
"pezsp-version/std",
|
||||
"bizinikiwi-wasm-builder",
|
||||
"testnet-teyrchains-constants/std",
|
||||
"teyrchain-info/std",
|
||||
"teyrchains-common/std",
|
||||
"xcm-builder/std",
|
||||
"xcm-executor/std",
|
||||
"xcm-runtime-apis/std",
|
||||
"xcm/std",
|
||||
"zagros-runtime-constants/std",
|
||||
]
|
||||
|
||||
fast-runtime = []
|
||||
|
||||
# Enable the metadata hash generation in the wasm builder.
|
||||
metadata-hash = ["bizinikiwi-wasm-builder/metadata-hash"]
|
||||
|
||||
# A feature that should be enabled when the runtime should be built for on-chain
|
||||
# deployment. This will disable stuff that shouldn't be part of the on-chain wasm
|
||||
# to make it smaller, like logging for example.
|
||||
on-chain-release-build = ["metadata-hash"]
|
||||
@@ -0,0 +1,54 @@
|
||||
# run this, then copy all files to `bizinikiwi/frame/election-provider-multi-block/src/weights/`
|
||||
source ~/.zshrc
|
||||
|
||||
STEPS=2
|
||||
REPEAT=2
|
||||
|
||||
# if any of the command line arguments are equal to `--log=X`, set X to the below log levels
|
||||
LOG="runtime::multiblock-election=info,runtime::staking-async=info,pezkuwi_sdk_frame::benchmark=info"
|
||||
|
||||
if [[ "${NO_COMPILE}" == "1" ]]; then
|
||||
echo "Skipping compilation because 'NO_COMPILE' was set"
|
||||
else
|
||||
cargo build --release -p frame-omni-bencher
|
||||
FORCE_WASM_BUILD=$RANDOM WASMTIME_BACKTRACE_DETAILS=1 RUST_LOG=${LOG} cargo build --release -p pallet-staking-async-teyrchain-runtime --features runtime-benchmarks
|
||||
fi
|
||||
|
||||
WASM_BLOB_PATH=../../../../../target/release/wbuild/pallet-staking-async-teyrchain-runtime/pallet_staking_async_teyrchain_runtime.compact.wasm
|
||||
|
||||
echo "WASM_BLOB_PATH: $WASM_BLOB_PATH"
|
||||
echo "Last modified date of WASM_BLOB:"
|
||||
stat -f "%Sm" $WASM_BLOB_PATH
|
||||
|
||||
run_benchmark() {
|
||||
local pallet_name="$1"
|
||||
local genesis_preset="$2"
|
||||
local output_file="./${pallet_name}_${genesis_preset}.rs"
|
||||
|
||||
echo "Running benchmark for pallet '$pallet_name' with preset '$genesis_preset'..."
|
||||
echo "Outputting to '$output_file'"
|
||||
|
||||
WASMTIME_BACKTRACE_DETAILS=1 RUST_LOG=${LOG} \
|
||||
../../../../../target/release/frame-omni-bencher v1 benchmark pallet \
|
||||
--pallet "$pallet_name" \
|
||||
--extrinsic "*" \
|
||||
--runtime "$WASM_BLOB_PATH" \
|
||||
--steps "$STEPS" \
|
||||
--repeat "$REPEAT" \
|
||||
--genesis-builder-preset "$genesis_preset" \
|
||||
--template "../../../../../bizinikiwi/frame/election-provider-multi-block/src/template.hbs" \
|
||||
--heap-pages 65000 \
|
||||
--output "$output_file"
|
||||
}
|
||||
|
||||
# run_benchmark "pallet_staking_async" "fake-hez"
|
||||
run_benchmark "pallet_election_provider_multi_block" "fake-hez"
|
||||
run_benchmark "pallet_election_provider_multi_block_signed" "fake-hez"
|
||||
run_benchmark "pallet_election_provider_multi_block_unsigned" "fake-hez"
|
||||
run_benchmark "pallet_election_provider_multi_block_verifier" "fake-hez"
|
||||
|
||||
# run_benchmark "pallet_staking_async" "fake-ksm"
|
||||
run_benchmark "pallet_election_provider_multi_block" "fake-ksm"
|
||||
run_benchmark "pallet_election_provider_multi_block_signed" "fake-ksm"
|
||||
run_benchmark "pallet_election_provider_multi_block_unsigned" "fake-ksm"
|
||||
run_benchmark "pallet_election_provider_multi_block_verifier" "fake-ksm"
|
||||
@@ -0,0 +1,29 @@
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#[cfg(all(not(feature = "metadata-hash"), feature = "std"))]
|
||||
fn main() {
|
||||
bizinikiwi_wasm_builder::WasmBuilder::build_using_defaults();
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "metadata-hash", feature = "std"))]
|
||||
fn main() {
|
||||
bizinikiwi_wasm_builder::WasmBuilder::init_with_defaults()
|
||||
.enable_metadata_hash("ZGR", 12)
|
||||
.build();
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
fn main() {}
|
||||
@@ -0,0 +1,235 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Autogenerated voter bag thresholds.
|
||||
//!
|
||||
//! Generated on 2021-07-05T14:35:50.538338181+00:00
|
||||
//! for the zagros runtime.
|
||||
|
||||
/// Existential weight for this runtime.
|
||||
#[cfg(any(test, feature = "std"))]
|
||||
#[allow(unused)]
|
||||
pub const EXISTENTIAL_WEIGHT: u64 = 10_000_000_000;
|
||||
|
||||
/// Constant ratio between bags for this runtime.
|
||||
#[cfg(any(test, feature = "std"))]
|
||||
#[allow(unused)]
|
||||
pub const CONSTANT_RATIO: f64 = 1.1131723507077667;
|
||||
|
||||
/// Upper thresholds delimiting the bag list.
|
||||
pub const THRESHOLDS: [u64; 200] = [
|
||||
10_000_000_000,
|
||||
11_131_723_507,
|
||||
12_391_526_824,
|
||||
13_793_905_044,
|
||||
15_354_993_703,
|
||||
17_092_754_435,
|
||||
19_027_181_634,
|
||||
21_180_532_507,
|
||||
23_577_583_160,
|
||||
26_245_913_670,
|
||||
29_216_225_417,
|
||||
32_522_694_326,
|
||||
36_203_364_094,
|
||||
40_300_583_912,
|
||||
44_861_495_728,
|
||||
49_938_576_656,
|
||||
55_590_242_767,
|
||||
61_881_521_217,
|
||||
68_884_798_439,
|
||||
76_680_653_006,
|
||||
85_358_782_760,
|
||||
95_019_036_859,
|
||||
105_772_564_622,
|
||||
117_743_094_401,
|
||||
131_068_357_174,
|
||||
145_901_671_259,
|
||||
162_413_706_368,
|
||||
180_794_447_305,
|
||||
201_255_379_901,
|
||||
224_031_924_337,
|
||||
249_386_143_848,
|
||||
277_609_759_981,
|
||||
309_027_509_097,
|
||||
344_000_878_735,
|
||||
382_932_266_827,
|
||||
426_269_611_626,
|
||||
474_511_545_609,
|
||||
528_213_132_664,
|
||||
587_992_254_562,
|
||||
654_536_720_209,
|
||||
728_612_179_460,
|
||||
811_070_932_564,
|
||||
902_861_736_593,
|
||||
1_005_040_721_687,
|
||||
1_118_783_542_717,
|
||||
1_245_398_906_179,
|
||||
1_386_343_627_960,
|
||||
1_543_239_395_225,
|
||||
1_717_891_425_287,
|
||||
1_912_309_236_147,
|
||||
2_128_729_767_682,
|
||||
2_369_643_119_512,
|
||||
2_637_821_201_686,
|
||||
2_936_349_627_828,
|
||||
3_268_663_217_709,
|
||||
3_638_585_517_729,
|
||||
4_050_372_794_022,
|
||||
4_508_763_004_364,
|
||||
5_019_030_312_352,
|
||||
5_587_045_771_074,
|
||||
6_219_344_874_498,
|
||||
6_923_202_753_807,
|
||||
7_706_717_883_882,
|
||||
8_578_905_263_043,
|
||||
9_549_800_138_161,
|
||||
10_630_573_468_586,
|
||||
11_833_660_457_397,
|
||||
13_172_903_628_838,
|
||||
14_663_712_098_160,
|
||||
16_323_238_866_411,
|
||||
18_170_578_180_087,
|
||||
20_226_985_226_447,
|
||||
22_516_120_692_255,
|
||||
25_064_322_999_817,
|
||||
27_900_911_352_605,
|
||||
31_058_523_077_268,
|
||||
34_573_489_143_434,
|
||||
38_486_252_181_966,
|
||||
42_841_831_811_331,
|
||||
47_690_342_626_046,
|
||||
53_087_570_807_094,
|
||||
59_095_615_988_698,
|
||||
65_783_605_766_662,
|
||||
73_228_491_069_308,
|
||||
81_515_931_542_404,
|
||||
90_741_281_135_191,
|
||||
101_010_685_227_495,
|
||||
112_442_301_921_293,
|
||||
125_167_661_548_718,
|
||||
139_333_180_038_781,
|
||||
155_101_843_555_358,
|
||||
172_655_083_789_626,
|
||||
192_194_865_483_744,
|
||||
213_946_010_204_502,
|
||||
238_158_783_103_893,
|
||||
265_111_772_429_462,
|
||||
295_115_094_915_607,
|
||||
328_513_963_936_552,
|
||||
365_692_661_475_578,
|
||||
407_078_959_611_349,
|
||||
453_149_042_394_237,
|
||||
504_432_984_742_966,
|
||||
561_520_851_400_862,
|
||||
625_069_486_125_324,
|
||||
695_810_069_225_823,
|
||||
774_556_530_406_243,
|
||||
862_214_913_708_369,
|
||||
959_793_802_308_039,
|
||||
1_068_415_923_109_985,
|
||||
1_189_331_064_661_951,
|
||||
1_323_930_457_019_515,
|
||||
1_473_762_779_014_021,
|
||||
1_640_551_977_100_649,
|
||||
1_826_217_100_807_404,
|
||||
2_032_894_383_008_501,
|
||||
2_262_961_819_074_188,
|
||||
2_519_066_527_700_738,
|
||||
2_804_155_208_229_882,
|
||||
3_121_508_044_894_685,
|
||||
3_474_776_448_088_622,
|
||||
3_868_025_066_902_796,
|
||||
4_305_778_556_320_752,
|
||||
4_793_073_637_166_665,
|
||||
5_335_517_047_800_242,
|
||||
5_939_350_054_341_159,
|
||||
6_611_520_261_667_250,
|
||||
7_359_761_551_432_161,
|
||||
8_192_683_066_856_378,
|
||||
9_119_868_268_136_230,
|
||||
10_151_985_198_186_376,
|
||||
11_300_909_227_415_580,
|
||||
12_579_859_689_817_292,
|
||||
14_003_551_982_487_792,
|
||||
15_588_366_878_604_342,
|
||||
17_352_539_001_951_086,
|
||||
19_316_366_631_550_092,
|
||||
21_502_445_250_375_680,
|
||||
23_935_927_525_325_748,
|
||||
26_644_812_709_737_600,
|
||||
29_660_268_798_266_784,
|
||||
33_016_991_140_790_860,
|
||||
36_753_601_641_491_664,
|
||||
40_913_093_136_236_104,
|
||||
45_543_324_061_189_736,
|
||||
50_697_569_104_240_168,
|
||||
56_435_132_174_936_472,
|
||||
62_822_028_745_677_552,
|
||||
69_931_745_415_056_768,
|
||||
77_846_085_432_775_824,
|
||||
86_656_109_914_600_688,
|
||||
96_463_185_576_826_656,
|
||||
107_380_151_045_315_664,
|
||||
119_532_615_158_469_088,
|
||||
133_060_402_202_199_856,
|
||||
148_119_160_705_543_712,
|
||||
164_882_154_307_451_552,
|
||||
183_542_255_300_186_560,
|
||||
204_314_163_786_713_728,
|
||||
227_436_877_985_347_776,
|
||||
253_176_444_104_585_088,
|
||||
281_829_017_427_734_464,
|
||||
313_724_269_827_691_328,
|
||||
349_229_182_918_168_832,
|
||||
388_752_270_484_770_624,
|
||||
432_748_278_778_513_664,
|
||||
481_723_418_752_617_984,
|
||||
536_241_190_443_833_600,
|
||||
596_928_866_512_693_376,
|
||||
664_484_709_541_257_600,
|
||||
739_686_006_129_409_280,
|
||||
823_398_010_228_713_984,
|
||||
916_583_898_614_395_264,
|
||||
1_020_315_853_041_475_584,
|
||||
1_135_787_396_594_579_584,
|
||||
1_264_327_126_171_442_688,
|
||||
1_407_413_999_103_859_968,
|
||||
1_566_694_349_801_462_272,
|
||||
1_744_000_832_209_069_824,
|
||||
1_941_373_506_026_471_680,
|
||||
2_161_083_309_305_266_176,
|
||||
2_405_658_187_494_662_656,
|
||||
2_677_912_179_572_818_944,
|
||||
2_980_977_795_924_034_048,
|
||||
3_318_342_060_496_414_208,
|
||||
3_693_886_631_935_247_360,
|
||||
4_111_932_465_319_354_368,
|
||||
4_577_289_528_371_127_808,
|
||||
5_095_312_144_166_932_480,
|
||||
5_671_960_597_112_134_656,
|
||||
6_313_869_711_009_142_784,
|
||||
7_028_425_188_266_614_784,
|
||||
7_823_848_588_596_424_704,
|
||||
8_709_291_924_949_524_480,
|
||||
9_694_942_965_096_232_960,
|
||||
10_792_142_450_433_898_496,
|
||||
12_013_514_580_722_579_456,
|
||||
13_373_112_266_084_982_784,
|
||||
14_886_578_817_516_689_408,
|
||||
16_571_327_936_291_497_984,
|
||||
18_446_744_073_709_551_615,
|
||||
];
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user