From 61832571ea9f3412fa44aa48d754408bdf59d3a1 Mon Sep 17 00:00:00 2001 From: Frederik Gartenmeister Date: Wed, 26 Jun 2024 14:53:39 +0200 Subject: [PATCH] feat: passthrough router MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: adapt passthrough router fix: docs and hash chore: rm unused test Release v0.11.3 (#1886) * Switch to full wasm execution * feat: use correct encoded size. * fix: lint * refactor: reduce dev session duration from 6h to 2min * chore: update centrifuge weights * chore: update dev weights * chore: update altair weights * chore: update frame_system weights * fmt * fix: re-enable frame_system benches * chore: bump spec version * fmt: revert using latest nightly * v0.11.3-rc1: revert checkmetadata ext * feat: `CheckMetadataHash` extension (#1865) * set dependency versions * upgrade libs/* * upgrade pallet-anchors * upgrade pallet-fees * upgrade pallet-bridge * migrate simple pallets * migrate pallet-order-book * migrated collator-allowlist & swaps * upgrade rewards * upgraded pallet-mux * upgrade transfer-allowlist * fix hold reason in restricted tokens * simplify set_balance removing the holding part * upgrade restricted-xtokens * upgrade some pallets * upgrade pallet-ethereum-transaction * upgrade pallet-loans * upgrade pool-system * upgrade pool-fees * upgrade pool-registry * upgrade liquidity-pools stuffs * avoid duplicated polkadot-sdk repos * minor fixes * upgraded runtime-common * CfgLocation to RestrictedTransferLocation * restricted tokens with NativeIndex for native fungibles * rename dependency * upgraded development-runtime * fix partially benchmarks * fix benchmarks * overpass xcmp-queue integrity tests * minor coments * upgrade altair & centrifuge * remove some benchmarking pallets that are not needed * fix runtime upgrades * upgrade integration-test proc * upgrade integration-tests framework * upgraded all tests except liquidity pools * 99% upgraded liquidity-pools tests * fix lookup * cargo fmt * taplo fmt * using nightly cargo in CI * restore set_balance as it was * allow nightly support in CI * use restricted_tokens again to fetch from investement portfolio * Install rust-src for docs * fix tests * remove unused restricted tokens * fix block rewards * fix WrongWitness for some tests in IT * fix liquidity-pools * minor fixes * fix clippy * remove unneeded tests * feat: Update client to Polkadot v1.7.2 (#1844) * wip: update client * chore: update crate versions * chore: update anchor rpc api * chore: remove rewards, pools rpc * chore: compile with development runtime * fix: client for all runtimes * fix: build spec * feat: update relay docker images * fix: apply deprecation of export genesis state to scripts * fmt: taplo * refactor: use xcm v4 sugar * fix: revert tmp change in local para run * refactor: simplify xcm v4 locations in chain spec * cargo fmt * fix clippy * feat: Polkadot v1.7.2 migrations (#1849) * feat: add hold reason migration * feat: centrifuge migrations * feat: altair migrations * feat: dev + demo migrations * fix: clippy * fix: build * fmt: fix using nightly * last William iteration review * increase passed blocks * use rococo instead of polkadot-test-runtime * fix tests * remove line * dirty fix to fix Hrmp test issue * use default weights for treasury * remove getrandom unused dep * upgrade to last polkadot-sdk version * feat: `CheckMetadataHash` extension * fix it (#1866) * fmt: taplo * refactor: signed ext order * fix: signed ext order for ITs * IT: more support for router tests (#1885) * move routers to its own module * remove outdated markers * for all runtimes * remove previous tests * minor fixes * v0.11.2 rc * panic if event is not found in the expected blocks (#1880) * fix: ci * remove generic module (#1887) * revert check metadata hash disable * fix: disable metadata hash check for integration tests --------- Co-authored-by: lemunozm --------- Co-authored-by: Bastian Köcher Co-authored-by: Frederik Gartenmeister Co-authored-by: lemunozm Refactor: Decoupling routers from gateway (#1891) * decoupling routers from gateway. Use Vec * gateway adapted * fix imports * move test msg to cfg-traits * fix imports feat: Open Gov for Development and Altair Runtimes (#1828) * chore: add OpenGov pallets to root toml * feat: add OpenGov tracks to runtime common * feat: add technical committee migration tc: fix clippy * refactor: move origins from primitives to common common: fix typo common: fix test after HalfOfCouncil refactor * feat: add OpenGov to Development fix: complete Development OpenGov development: finalize opengov development: add proxy calls development: overwrite missing origins dev: fix treasury spender dev: remove crowdloan pallets dev: taplo fmt * feat: add OpenGov to Altair fix: complete Altair OpenGov fix: add missing technical fellowship weights Altair altair: finalize opengov altair: rename track tests altair: gather imports altair: remove crowdloan pallets altair: taplo fmt * feat: add OpenGov to Centrifuge chain fix: centrifuge toml chore: minor centrifuge chain improvements refactor: Centrifuge OpenGov centrifuge: finalize opengov centrifuge: fix cargo tml cfg: fix clippy test * Revert "feat: add OpenGov to Centrifuge chain" This reverts commit 4d78c10a92c86a39ed9d7f4dfa9564e0e54b553f. * fix: clippy * tests: fix CouncilCollective import path * fix: technical committee migrations * altair: configure tc migration (incomplete) * dev: configure tc migration * chore: cleanup altair dep diff * chore: remove unused getrandom crate from runtimes * chore: add missing Altair TC members * refactor: move to_ppm and to_percent to utils * Merge remote-tracking branch 'origin/main' into feat/open-gov-2 * fix: issues after rebasing * fmt * fix: imports * feat: v0.12.0 for altair RU Altair: release v0.12.0 (#1896) * fix: altair chain spec * chore: update gov2 weights * chore: update dev OpenGov weights * fix: weight declaration Fix RustDocs deployment & codecov patch checks (#1870) * Fix deploy docs * Make patch checks also informational (not fail) LP Message with custom data format for serialization/deserialization (#1889) * test compiling * fix Domain serialization * fix issues * some reorganizations * using bincode 2 with non-std support * use custom trait * tests passing for lp * remove ENCODED_MSG constant * fix runtimes compilation * cargo fmt & taplo fmt * cargo clippy * minor change * add custom serializer passing all tests * no_std support * minor renames * cargo fmt * cargo clippy * minor comment change * cargo fmt extra Succeed when patch codecov fails (#1900) Liquidity pools: Add UTs to for `update_token_price()` (#1890) * add token price UTs * update IT * fix tests compilation remove some unused code investment-related (#1902) Release v0.13.0 (#1898) * chore: update deps to enable metadata hash check * chore: update srtool + add on-chain-release-build opts * chore: bump spec versions + cleanup migrations * fmt: taplo * ci: fix srtool fmt * ci: apply proper CLI * attempt2 to enable on-chain-release-build * change srtool build for chevdor/strool-actions action * desperate attempts to get it working * override workdir * Try to set permissions wide open before running docker * add RUST_BACKTRACE * revert to our GHA manual process & add enhancements * fix package name * Output information about srtool * Revert "desperate attempts to get it working" This reverts commit a882fd96926383f1000e1bdda7a6a42e87c297ac. * fix: some scripts * fix bad colon on echo command * Fix missing colon and remove docker publish release * upload wasm to release * fix issue with gchr tags * more semicolon issues * unique name for delete untagged * fix delete_untagged * move delete_untagged under workflows * move delete untagged to manual runs * review bash syntax for wasm build * recover cache and limit sanity check build time --------- Co-authored-by: Guillermo Perez cargo update (#1904) add uts (#1905) IT: Support `#ignore = reason` for `test_runtimes` macro (#1908) * support #ignore = reason for test_runtimes macro * fix clippy ci: disable checks for drafts (#1913) LP: Unitary testing for add_currency (#1912) * port add-currency tests into uts * remove LiquidityPoolsWrappedToken struct * remove unused code * fix compilation issues * fix clippy * fix clippy feat: adatpt to latest version LP: Unitary testing for all pending extrinsics (#1916) * allow and disallow currency tests * schedule_upgrade cancel_upgrade and update_tranche_token_metadata Feat: Adapt proxy settings (#1922) * feat: adapt proxy settings * fix: match pattern Small CI improvements (#1924) LP: Unitary testing for inbound messages (#1927) * tests inbound messages * some cleanings * some adjustements fix: array size fix: clippy + fmt fix: update blake hash fix: compilation Refactor: Transform `TrancheCurrency` type in a tuple (#1926) * remove TrancheCurrency type * fix benchmarks * fix clippy fix: std import KeccakHasher --- .github/workflows/build-docker.yml | 17 +- .github/workflows/build-wasm.yml | 109 +- .github/workflows/codecov.yml | 13 +- .github/workflows/delete_untagged.yml | 45 + .github/workflows/deploy-docs.yml | 16 +- .github/workflows/sanity-checks.yml | 7 +- Cargo.lock | 1240 +++++++++-------- Cargo.toml | 11 +- codecov.yaml | 6 +- libs/mocks/src/investment.rs | 20 - libs/mocks/src/lib.rs | 2 +- libs/mocks/src/liquidity_pools.rs | 39 +- .../src/liquidity_pools_gateway_routers.rs | 17 +- libs/mocks/src/pools.rs | 40 +- libs/primitives/Cargo.toml | 4 + libs/primitives/src/lib.rs | 37 +- libs/traits/src/investments.rs | 28 +- libs/traits/src/lib.rs | 29 +- libs/traits/src/liquidity_pools.rs | 35 +- libs/types/src/domain_address.rs | 42 +- libs/types/src/tokens.rs | 97 +- libs/utils/src/lib.rs | 60 +- node/src/chain_spec.rs | 11 +- node/src/command.rs | 101 +- node/src/service.rs | 115 +- node/src/service/evm.rs | 59 +- pallets/foreign-investments/src/mock.rs | 33 +- pallets/foreign-investments/src/tests.rs | 2 +- pallets/investments/src/benchmarking.rs | 2 +- pallets/investments/src/lib.rs | 24 - pallets/investments/src/mock.rs | 65 +- .../routers/Cargo.toml | 4 - .../routers/src/lib.rs | 49 +- .../routers/src/mock.rs | 41 +- .../routers/src/routers/axelar_evm.rs | 24 +- .../routers/src/routers/axelar_xcm.rs | 27 +- .../routers/src/routers/ethereum_xcm.rs | 27 +- .../routers/src/routers/mod.rs | 18 - .../routers/src/tests.rs | 24 +- pallets/liquidity-pools-gateway/src/lib.rs | 10 +- pallets/liquidity-pools-gateway/src/mock.rs | 33 +- pallets/liquidity-pools-gateway/src/tests.rs | 93 +- pallets/liquidity-pools/Cargo.toml | 3 + pallets/liquidity-pools/src/gmpf/de.rs | 241 ++++ pallets/liquidity-pools/src/gmpf/error.rs | 45 + pallets/liquidity-pools/src/gmpf/ser.rs | 296 ++++ pallets/liquidity-pools/src/hooks.rs | 54 +- pallets/liquidity-pools/src/inbound.rs | 37 +- pallets/liquidity-pools/src/lib.rs | 242 ++-- pallets/liquidity-pools/src/message.rs | 816 ++--------- pallets/liquidity-pools/src/mock.rs | 116 +- pallets/liquidity-pools/src/tests.rs | 1107 ++++++++++++--- pallets/liquidity-pools/src/tests/inbound.rs | 792 +++++++++++ pallets/loans/src/tests/mock.rs | 3 +- pallets/oracle-feed/src/lib.rs | 11 +- pallets/pool-fees/src/mock.rs | 2 - pallets/pool-registry/src/benchmarking.rs | 17 +- pallets/pool-registry/src/lib.rs | 21 +- pallets/pool-registry/src/mock.rs | 11 +- pallets/pool-system/src/benchmarking.rs | 13 +- pallets/pool-system/src/impls.rs | 20 +- pallets/pool-system/src/mock.rs | 22 +- pallets/pool-system/src/tests/mod.rs | 93 +- pallets/pool-system/src/tests/ratios.rs | 36 +- pallets/pool-system/src/tranches.rs | 27 +- runtime/altair/Cargo.toml | 33 +- runtime/altair/build.rs | 19 +- runtime/altair/src/lib.rs | 252 +++- runtime/altair/src/migrations.rs | 25 +- runtime/altair/src/tracks.rs | 434 ++++++ .../src/weights/cumulus_pallet_xcmp_queue.rs | 30 +- runtime/altair/src/weights/frame_system.rs | 50 +- runtime/altair/src/weights/mod.rs | 7 +- runtime/altair/src/weights/pallet_anchors.rs | 18 +- runtime/altair/src/weights/pallet_balances.rs | 42 +- .../src/weights/pallet_block_rewards.rs | 14 +- .../src/weights/pallet_collator_allowlist.rs | 10 +- .../src/weights/pallet_collator_selection.rs | 90 +- .../src/weights/pallet_collective_council.rs} | 196 +-- .../pallet_collective_technical_fellowship.rs | 282 ++++ .../src/weights/pallet_conviction_voting.rs | 176 +++ .../altair/src/weights/pallet_democracy.rs | 146 +- .../src/weights/pallet_elections_phragmen.rs | 90 +- runtime/altair/src/weights/pallet_fees.rs | 6 +- runtime/altair/src/weights/pallet_identity.rs | 166 +-- .../src/weights/pallet_interest_accrual.rs | 10 +- .../altair/src/weights/pallet_investments.rs | 26 +- runtime/altair/src/weights/pallet_keystore.rs | 22 +- .../src/weights/pallet_liquidity_rewards.rs | 46 +- runtime/altair/src/weights/pallet_loans.rs | 102 +- .../altair/src/weights/pallet_membership.rs | 186 +++ runtime/altair/src/weights/pallet_multisig.rs | 68 +- .../src/weights/pallet_oracle_collection.rs | 32 +- .../altair/src/weights/pallet_oracle_feed.rs | 10 +- .../altair/src/weights/pallet_order_book.rs | 22 +- .../altair/src/weights/pallet_permissions.rs | 26 +- .../altair/src/weights/pallet_pool_fees.rs | 46 +- .../src/weights/pallet_pool_registry.rs | 58 +- .../altair/src/weights/pallet_pool_system.rs | 70 +- runtime/altair/src/weights/pallet_preimage.rs | 78 +- runtime/altair/src/weights/pallet_proxy.rs | 94 +- .../altair/src/weights/pallet_referenda.rs | 484 +++++++ runtime/altair/src/weights/pallet_remarks.rs | 10 +- .../src/weights/pallet_restricted_tokens.rs | 42 +- .../altair/src/weights/pallet_scheduler.rs | 80 +- runtime/altair/src/weights/pallet_session.rs | 10 +- .../altair/src/weights/pallet_timestamp.rs | 10 +- .../altair/src/weights/pallet_token_mux.rs | 14 +- .../src/weights/pallet_transfer_allowlist.rs | 50 +- runtime/altair/src/weights/pallet_uniques.rs | 122 +- runtime/altair/src/weights/pallet_utility.rs | 34 +- runtime/altair/src/weights/pallet_vesting.rs | 110 +- .../altair/src/weights/pallet_whitelist.rs | 107 ++ runtime/altair/src/weights/pallet_xcm.rs | 34 +- runtime/altair/src/xcm.rs | 2 +- runtime/centrifuge/Cargo.toml | 12 + runtime/centrifuge/build.rs | 19 +- runtime/centrifuge/src/lib.rs | 117 +- runtime/centrifuge/src/migrations.rs | 41 +- .../src/weights/cumulus_pallet_xcmp_queue.rs | 30 +- .../centrifuge/src/weights/frame_system.rs | 50 +- .../centrifuge/src/weights/pallet_anchors.rs | 18 +- .../centrifuge/src/weights/pallet_balances.rs | 42 +- .../src/weights/pallet_block_rewards.rs | 14 +- .../src/weights/pallet_collator_allowlist.rs | 10 +- .../src/weights/pallet_collator_selection.rs | 90 +- .../src/weights/pallet_collective.rs | 128 +- .../src/weights/pallet_democracy.rs | 146 +- .../src/weights/pallet_elections_phragmen.rs | 88 +- runtime/centrifuge/src/weights/pallet_fees.rs | 6 +- .../centrifuge/src/weights/pallet_identity.rs | 166 +-- .../src/weights/pallet_interest_accrual.rs | 10 +- .../src/weights/pallet_investments.rs | 26 +- .../centrifuge/src/weights/pallet_keystore.rs | 22 +- .../src/weights/pallet_liquidity_rewards.rs | 46 +- .../centrifuge/src/weights/pallet_loans.rs | 102 +- .../centrifuge/src/weights/pallet_multisig.rs | 66 +- .../src/weights/pallet_oracle_collection.rs | 32 +- .../src/weights/pallet_oracle_feed.rs | 10 +- .../src/weights/pallet_order_book.rs | 22 +- .../src/weights/pallet_permissions.rs | 26 +- .../src/weights/pallet_pool_fees.rs | 46 +- .../src/weights/pallet_pool_registry.rs | 58 +- .../src/weights/pallet_pool_system.rs | 70 +- .../centrifuge/src/weights/pallet_preimage.rs | 70 +- .../centrifuge/src/weights/pallet_proxy.rs | 90 +- .../centrifuge/src/weights/pallet_remarks.rs | 10 +- .../src/weights/pallet_restricted_tokens.rs | 42 +- .../src/weights/pallet_scheduler.rs | 74 +- .../centrifuge/src/weights/pallet_session.rs | 10 +- .../src/weights/pallet_timestamp.rs | 10 +- .../src/weights/pallet_token_mux.rs | 14 +- .../src/weights/pallet_transfer_allowlist.rs | 50 +- .../centrifuge/src/weights/pallet_uniques.rs | 122 +- .../centrifuge/src/weights/pallet_utility.rs | 34 +- .../centrifuge/src/weights/pallet_vesting.rs | 110 +- runtime/centrifuge/src/weights/pallet_xcm.rs | 34 +- runtime/centrifuge/src/xcm.rs | 2 +- runtime/common/Cargo.toml | 7 - runtime/common/src/evm/mod.rs | 81 +- runtime/common/src/lib.rs | 74 +- runtime/common/src/migrations/mod.rs | 1 + .../src/migrations/technical_comittee.rs | 90 ++ runtime/common/src/oracle.rs | 10 +- runtime/common/src/origins.rs | 132 ++ runtime/common/src/xcm.rs | 7 +- runtime/development/Cargo.toml | 30 + runtime/development/build.rs | 19 +- runtime/development/src/lib.rs | 250 +++- runtime/development/src/migrations.rs | 137 +- runtime/development/src/tracks.rs | 176 +++ .../src/weights/cumulus_pallet_xcmp_queue.rs | 30 +- .../development/src/weights/frame_system.rs | 50 +- runtime/development/src/weights/mod.rs | 7 +- .../development/src/weights/pallet_anchors.rs | 18 +- .../src/weights/pallet_balances.rs | 42 +- .../src/weights/pallet_block_rewards.rs | 14 +- .../src/weights/pallet_collator_allowlist.rs | 10 +- .../src/weights/pallet_collator_selection.rs | 90 +- .../src/weights/pallet_collective_council.rs} | 196 +-- .../pallet_collective_technical_fellowship.rs | 282 ++++ .../src/weights/pallet_conviction_voting.rs | 176 +++ .../src/weights/pallet_democracy.rs | 146 +- .../src/weights/pallet_elections_phragmen.rs | 88 +- .../development/src/weights/pallet_fees.rs | 6 +- .../src/weights/pallet_identity.rs | 166 +-- .../src/weights/pallet_interest_accrual.rs | 10 +- .../src/weights/pallet_investments.rs | 26 +- .../src/weights/pallet_keystore.rs | 22 +- .../src/weights/pallet_liquidity_rewards.rs | 46 +- .../development/src/weights/pallet_loans.rs | 102 +- .../src/weights/pallet_membership.rs | 186 +++ .../src/weights/pallet_multisig.rs | 66 +- .../src/weights/pallet_oracle_collection.rs | 32 +- .../src/weights/pallet_oracle_feed.rs | 10 +- .../src/weights/pallet_order_book.rs | 22 +- .../src/weights/pallet_permissions.rs | 26 +- .../src/weights/pallet_pool_fees.rs | 46 +- .../src/weights/pallet_pool_registry.rs | 58 +- .../src/weights/pallet_pool_system.rs | 70 +- .../src/weights/pallet_preimage.rs | 78 +- .../development/src/weights/pallet_proxy.rs | 90 +- .../src/weights/pallet_referenda.rs | 484 +++++++ .../development/src/weights/pallet_remarks.rs | 10 +- .../src/weights/pallet_restricted_tokens.rs | 42 +- .../src/weights/pallet_scheduler.rs | 80 +- .../development/src/weights/pallet_session.rs | 10 +- .../src/weights/pallet_timestamp.rs | 10 +- .../src/weights/pallet_token_mux.rs | 14 +- .../src/weights/pallet_transfer_allowlist.rs | 50 +- .../development/src/weights/pallet_uniques.rs | 122 +- .../development/src/weights/pallet_utility.rs | 34 +- .../development/src/weights/pallet_vesting.rs | 110 +- .../src/weights/pallet_whitelist.rs | 107 ++ runtime/development/src/weights/pallet_xcm.rs | 34 +- runtime/development/src/xcm.rs | 2 +- runtime/integration-tests/Cargo.toml | 1 + .../integration-tests/procedural/src/lib.rs | 36 +- .../integration-tests/procedural/tests/lib.rs | 12 + .../src/cases/investments.rs | 10 +- .../src/cases/liquidity_pools.rs | 934 +------------ .../src/cases/lp/investments.rs | 22 +- .../src/cases/lp/pool_management.rs | 33 +- .../src/cases/lp/transfers.rs | 2 +- .../integration-tests/src/cases/precompile.rs | 11 +- .../integration-tests/src/cases/routers.rs | 4 +- runtime/integration-tests/src/config.rs | 28 +- runtime/integration-tests/src/env.rs | 1 + .../integration-tests/src/envs/runtime_env.rs | 4 +- runtime/integration-tests/src/lib.rs | 37 +- .../integration-tests/src/utils/genesis.rs | 3 +- runtime/integration-tests/src/utils/mod.rs | 16 +- scripts/check_benchmarks.sh | 6 +- scripts/export_parachain_files.sh | 2 +- scripts/init.sh | 6 +- .../runtime-upgrade-remote/configs/demo.json | 2 +- .../runtime-upgrade-remote/perform-upgrade.sh | 2 +- scripts/run_collator.sh | 2 +- scripts/runtime_benchmarks.sh | 13 +- 239 files changed, 11287 insertions(+), 7211 deletions(-) create mode 100644 .github/workflows/delete_untagged.yml delete mode 100644 pallets/liquidity-pools-gateway/routers/src/routers/mod.rs create mode 100644 pallets/liquidity-pools/src/gmpf/de.rs create mode 100644 pallets/liquidity-pools/src/gmpf/error.rs create mode 100644 pallets/liquidity-pools/src/gmpf/ser.rs create mode 100644 pallets/liquidity-pools/src/tests/inbound.rs create mode 100644 runtime/altair/src/tracks.rs rename runtime/{development/src/weights/pallet_collective.rs => altair/src/weights/pallet_collective_council.rs} (68%) create mode 100644 runtime/altair/src/weights/pallet_collective_technical_fellowship.rs create mode 100644 runtime/altair/src/weights/pallet_conviction_voting.rs create mode 100644 runtime/altair/src/weights/pallet_membership.rs create mode 100644 runtime/altair/src/weights/pallet_referenda.rs create mode 100644 runtime/altair/src/weights/pallet_whitelist.rs create mode 100644 runtime/common/src/migrations/technical_comittee.rs create mode 100644 runtime/common/src/origins.rs create mode 100644 runtime/development/src/tracks.rs rename runtime/{altair/src/weights/pallet_collective.rs => development/src/weights/pallet_collective_council.rs} (68%) create mode 100644 runtime/development/src/weights/pallet_collective_technical_fellowship.rs create mode 100644 runtime/development/src/weights/pallet_conviction_voting.rs create mode 100644 runtime/development/src/weights/pallet_membership.rs create mode 100644 runtime/development/src/weights/pallet_referenda.rs create mode 100644 runtime/development/src/weights/pallet_whitelist.rs mode change 100644 => 100755 scripts/js/runtime-upgrade-remote/perform-upgrade.sh diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index b7a1574731..885320f8ca 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -86,6 +86,7 @@ jobs: - name: Build and push centrifugeio/centrifuge-chain uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 #v5.3.0 with: + provenance: false # Solves untagged containers getting into the GH registry https://github.com/docker/build-push-action/issues/894 context: . file: ./docker/centrifuge-chain/Dockerfile build-args: | @@ -111,14 +112,14 @@ jobs: short-description: ${{ github.event.repository.description }} enable-url-completion: true - - name: Update GitHub release - if: github.event_name == 'release' && github.event.action == 'released' && matrix.target == 'release' - uses: softprops/action-gh-release@v1 - with: - append_body: true - body: | - **Docker tags (${{ env.NOW }}):** - ${{ steps.meta.outputs.tags }} + # - name: Update GitHub release + # if: github.event_name == 'release' && github.event.action == 'released' && matrix.target == 'release' + # uses: softprops/action-gh-release@v1 + # with: + # append_body: true + # body: | + # **Docker tags (${{ env.NOW }}):** + # ${{ steps.meta.outputs.tags }} - if: failure() name: Check available space after build failed diff --git a/.github/workflows/build-wasm.yml b/.github/workflows/build-wasm.yml index ee19e6c085..6ac6189d7b 100644 --- a/.github/workflows/build-wasm.yml +++ b/.github/workflows/build-wasm.yml @@ -18,14 +18,16 @@ jobs: # Benchmark (with cache hit) # ubuntu-latest 50 min # ubuntu-latest-4-cores 34 min - runs-on: ubuntu-latest-4-cores + # As this is not a critical PR feedback item, we can run it on free ubuntu-latest + runs-on: ubuntu-latest strategy: matrix: - target: [build-runtime] - package: [altair-runtime, centrifuge-runtime, development-runtime] - name: ${{ matrix.target }}-${{ matrix.package }} + chain: [ altair, centrifuge, development ] + name: build-runtime-${{ matrix.chain }} + env: + SRTOOL_IMAGE: "paritytech/srtool:1.77.0-0.15.0" steps: - # PREP + # PREP - name: Check out code uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b #4.1.4 @@ -42,22 +44,13 @@ jobs: ./target/srtool cache-directories: ./runtime - # BUILD - - name: Run srtool # https://docs.substrate.io/reference/command-line-tools/srtool/ - run: > - docker run --rm --user root --platform=linux/amd64 - -e PACKAGE=${{ matrix.package }} -v /home/runner/.cargo:/cargo-home - -v ${{ github.workspace }}:/build paritytech/srtool:1.75.0-0.14.0 - /srtool/build --app - - # Alternative way of running SRTool that allows for "script-like" execution, - # extremely useful to debug: - + # Use this to debug what's going on inside the srtool container # - name: Run Docker SRTool # uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185 #v3 # with: # image: paritytech/srtool:${{ matrix.rust_version }} - # options: --user root -v /home/runner/.cargo:/cargo-home -v ${{ github.workspace }}:/build -e BUILD_OPTS=${{ env.BUILD_OPTS || ''}} -e PACKAGE=${{ matrix.package }} + # options: --user root -v /home/runner/.cargo:/cargo-home -v ${{ github.workspace }}:/build -e BUILD_OPTS=${{ env.BUILD_OPTS || ''}} -e PACKAGE=${{ matrix.chain }}-runtime + # options: --user root -v /home/runner/.cargo:/cargo-home -v ${{ github.workspace }}:/build -e BUILD_OPTS=${{ env.BUILD_OPTS || ''}} -e PACKAGE=${{ matrix.chain }}-runtime # run: | # echo "---- Env VARS ----" # echo "BUILD_OPT=${BUILD_OPT}" @@ -66,13 +59,47 @@ jobs: # ls -la /cargo-home/ # du -sh /cargo-home/* # echo "---- RUNNING BUILD ----" - # /srtool/build --save - - - name: Upload srtool report - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 - with: - name: srtool-wasm-report.txt - path: ./${{ matrix.package }}-srtool-wasm-report.json + # /srtool/build --app --json -cM + + + # Build and setup env vars: + - name: Run srtool # https://docs.substrate.io/reference/command-line-tools/srtool/ + id: srtool_build + shell: bash + run: | + ##"RUNNING SRTOOL" + echo ::group::Docker run srtool build ${{ inputs.chain }} + CMD="docker run --rm --user root --platform=linux/amd64 + -e PROFILE=release -e PACKAGE=${{ matrix.chain }}-runtime -e BUILD_OPTS="--features=on-chain-release-build" + -v /home/runner/.cargo:/cargo-home -v ${{ github.workspace }}:/build + ${{ env.SRTOOL_IMAGE }} /srtool/build --app --json -cM" + echo ::debug::build::docker_run $CMD + echo ::endgroup + # here we keep streaming the progress and fetch the last line for the json result + stdbuf -oL $CMD | { + while IFS= read -r line + do + echo ║ $line + JSON="$line" + done + echo "json=$JSON" >> $GITHUB_OUTPUT + + WASM=`echo $JSON | jq -r .runtimes.compact.wasm` + echo "wasm=$WASM" >> $GITHUB_OUTPUT + + Z_WASM=`echo $JSON | jq -r .runtimes.compressed.wasm` + echo "wasm_compressed=$Z_WASM" >> $GITHUB_OUTPUT + } + + - name: Summary + run: | + ## JSON output + echo "::group::JSON output" + PRETTY_JSON=$(echo '${{ steps.srtool_build.outputs.json }}' | jq .) + echo '${{ steps.srtool_build.outputs.json }}' | jq . > "${{ matrix.chain }}-srtool-digest.json" + echo "JSON Output:" + cat "${{ matrix.chain }}-srtool-digest.json" + echo "::endgroup" - id: 'auth' if: github.event_name != 'pull_request' @@ -89,8 +116,34 @@ jobs: if: ${{ steps.auth.outcome == 'success' }} shell: bash run: | - runtime_name=$(echo "${{ matrix.package }}" | sed -e "s/-runtime$//" ) - filename=$(echo "${{ matrix.package }}" | sed -e 's/-/_/g' ) + ## Publish WASM and JSON summary + echo '${{ steps.srtool_build.outputs.json }}' | jq . > "${{ matrix.chain }}-srtool-digest.json" + gsutil cp \ + "${{ steps.srtool_build.wasm_compressed }}" \ + "gs://centrifuge-wasm-repo/${{ matrix.chain }}/${{ matrix.chain }}-$(git rev-parse --short HEAD).wasm" + ## Publish WASM and JSON summary + echo '${{ steps.srtool_build.outputs.json }}' | jq . > "${{ matrix.chain }}-srtool-digest.json" gsutil cp \ - ./runtime/${runtime_name}/target/srtool/release/wbuild/${{ matrix.package }}/${filename}.compact.compressed.wasm \ - gs://centrifuge-wasm-repo/${runtime_name}/${runtime_name}-$(git rev-parse --short HEAD).wasm + "${{ steps.srtool_build.wasm_compressed }}" \ + "gs://centrifuge-wasm-repo/${{ matrix.chain }}/${{ matrix.chain }}-$(git rev-parse --short HEAD).wasm" + gsutil cp \ + "${{ matrix.chain }}-srtool-digest.json" \ + "gs://centrifuge-wasm-repo/${{ matrix.chain }}/${{ matrix.chain }}-$(git rev-parse --short HEAD)-srtool-digest.json" + + - name: Upload WASM to release tag ${{ github.ref_name }} + uses: ncipollo/release-action@a2e71bdd4e7dab70ca26a852f29600c98b33153e # @v1 + if: github.event_name == 'release' + # https://github.com/ncipollo/release-action + with: + tag: ${{ github.ref_name }} + commit: ${{ github.sha }} + artifacts: "${{ steps.srtool_build.wasm_compressed }}, ${{ matrix.chain }}-srtool-digest.json" + replacesArtifacts: true + allowUpdates: true + artifactErrorsFailBuild: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + omitPrereleaseDuringUpdate: true + # updateOnlyUnreleased: true # When allowUpdates is enabled, this will fail the action if the release it is updating is not a draft or a prerelease. + \ No newline at end of file diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 29c544a396..ccb532ca56 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -2,6 +2,10 @@ on: push: branches: [main] pull_request: + types: [opened, synchronize, reopened, ready_for_review] + pull_request_review: + types: [submitted] + workflow_dispatch: name: Code coverage concurrency: group: 'codecov-${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' @@ -11,8 +15,13 @@ permissions: contents: read jobs: codecov: - runs-on: ubuntu-latest-8-cores - if: github.event.pull_request.draft == false || github.ref == 'refs/heads/main' + runs-on: ubuntu-latest-4-cores + if: > + github.event.pull_request.draft == false || + github.ref == 'refs/heads/main' || + (github.event_name == 'pull_request_review' && github.event.review.state == 'approved') || + github.event.action == 'ready_for_review' || + github.event_name == 'workflow_dispatch' steps: - uses: actions/checkout@master diff --git a/.github/workflows/delete_untagged.yml b/.github/workflows/delete_untagged.yml new file mode 100644 index 0000000000..2499e3bb29 --- /dev/null +++ b/.github/workflows/delete_untagged.yml @@ -0,0 +1,45 @@ +name: Delete untagged +on: + workflow_dispatch: +jobs: + delete_untagged: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + # id-token: write + steps: + - name: Delete untagged ghcr + uses: Chizkiyahu/delete-untagged-ghcr-action@v3 + with: + # Personal access token (PAT) used to fetch the repository. The PAT is configured + # with the local git config, which enables your scripts to run authenticated git + # commands. The post-job step removes the PAT. + # needs delete:packages permissions + # required: true + # [Learn more about creating and using encrypted secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets) + token: ${{ secrets.GITHUB_TOKEN }} + # Repository name or name with owner + # Delete only from repository name + # Default: ${{ github.repository }} + repository: 'centrifuge-chain' + # 'The repository owner name' + # Default: ${{ github.repository_owner }} + # repository_owner: '' + # 'The package names' + # Delete only from comma separated package names + # required: false + package_name: 'centrifuge-chain' + # Delete only package versions without tag + # required: false + # Default: true + # choices: true, false + untagged_only: true + # Except untagged multiplatform packages from deletion + # only for untagged_only=true + # needs docker installed + except_untagged_multiplatform: false + # the owner type + # required: true + # choices: org, user + owner_type: 'org' \ No newline at end of file diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 52ee539c27..eb02a52824 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -57,12 +57,18 @@ jobs: echo "::warning title=Invalid file permissions automatically fixed::$line" done - - name: upload Docs files - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + # - name: upload Docs files + # uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + # with: + # name: github-pages + # path: ./target/doc + # retention-days: 1 + # https://github.com/actions/deploy-pages/issues/179 + + - name: Upload Docs + uses: actions/upload-pages-artifact@v3 with: - name: github-pages - path: ./target/doc - retention-days: 1 + path: ./target/doc - name: Deploy Docs # if: github.ref == 'refs/heads/main' diff --git a/.github/workflows/sanity-checks.yml b/.github/workflows/sanity-checks.yml index bc6f41776e..d102ab1f31 100644 --- a/.github/workflows/sanity-checks.yml +++ b/.github/workflows/sanity-checks.yml @@ -1,5 +1,6 @@ on: pull_request: + types: [opened, synchronize, reopened, ready_for_review] name: Sanity checks concurrency: group: 'tests-${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' @@ -9,6 +10,8 @@ permissions: contents: read jobs: test-n-lint: + if: ${{ !github.event.pull_request.draft }} + timeout-minutes: 90 name: ${{ matrix.target }} runs-on: ubuntu-latest-8-cores strategy: @@ -40,11 +43,13 @@ jobs: RUSTC_WRAPPER: "sccache" benchmark-check: + if: ${{ !github.event.pull_request.draft }} + # timeout-minutes: 90 # <- Not needed as ubunt-latest is free of charge name: bench-check-${{ matrix.runtime }} runs-on: ubuntu-latest #-4-cores strategy: matrix: - runtime: [ altair, centrifuge ] + runtime: [ centrifuge ] steps: - name: Check out code uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b #4.1.4 diff --git a/Cargo.lock b/Cargo.lock index 5f272b6ec9..132b334230 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,7 +68,7 @@ dependencies = [ "cipher 0.4.4", "ctr", "ghash", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -121,12 +121,13 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "altair-runtime" -version = "0.11.0" +version = "0.13.0" dependencies = [ "axelar-gateway-precompile", "cfg-primitives", "cfg-traits", "cfg-types", + "cfg-utils", "chainbridge", "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -141,6 +142,7 @@ dependencies = [ "fp-self-contained", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -166,6 +168,7 @@ dependencies = [ "pallet-collator-allowlist", "pallet-collator-selection", "pallet-collective", + "pallet-conviction-voting", "pallet-democracy", "pallet-elections-phragmen", "pallet-ethereum", @@ -194,6 +197,7 @@ dependencies = [ "pallet-pool-system", "pallet-preimage", "pallet-proxy", + "pallet-referenda", "pallet-remarks", "pallet-restricted-tokens", "pallet-restricted-xtokens", @@ -211,6 +215,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-vesting", + "pallet-whitelist", "pallet-xcm", "pallet-xcm-transactor", "parity-scale-codec", @@ -220,6 +225,7 @@ dependencies = [ "scale-info", "serde", "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-core", @@ -347,7 +353,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -795,7 +801,7 @@ dependencies = [ "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.1", + "polling 3.7.2", "rustix 0.38.34", "slab", "tracing", @@ -852,9 +858,9 @@ dependencies = [ [[package]] name = "async-signal" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ "async-io 2.3.3", "async-lock 3.4.0", @@ -876,13 +882,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -918,7 +924,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -952,16 +958,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.35.0", + "object 0.36.1", "rustc-demangle", ] @@ -1030,7 +1036,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "hash-db", "log", @@ -1063,7 +1069,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1093,9 +1099,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitvec" @@ -1231,7 +1237,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -1283,9 +1289,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" [[package]] name = "byteorder" @@ -1360,9 +1366,9 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.0.99" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" dependencies = [ "jobserver", "libc", @@ -1371,7 +1377,7 @@ dependencies = [ [[package]] name = "centrifuge-chain" -version = "0.11.0" +version = "0.13.0" dependencies = [ "altair-runtime", "async-trait", @@ -1464,7 +1470,7 @@ dependencies = [ [[package]] name = "centrifuge-runtime" -version = "0.11.0" +version = "0.13.0" dependencies = [ "axelar-gateway-precompile", "cfg-primitives", @@ -1484,6 +1490,7 @@ dependencies = [ "fp-self-contained", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -1637,6 +1644,7 @@ dependencies = [ "frame-support", "frame-system", "pallet-collective", + "pallet-membership", "parity-scale-codec", "scale-info", "serde", @@ -1796,7 +1804,7 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1854,9 +1862,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.6" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" dependencies = [ "clap_builder", "clap_derive", @@ -1864,9 +1872,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.6" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" dependencies = [ "anstream", "anstyle", @@ -1877,14 +1885,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1926,7 +1934,7 @@ version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "strum 0.26.2", + "strum 0.26.3", "strum_macros 0.26.4", "unicode-width", ] @@ -1934,7 +1942,7 @@ dependencies = [ [[package]] name = "common" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +source = "git+https://github.com/w3f/ring-proof#96137b150288a66bc9e4df495efc64769b5d1321" dependencies = [ "ark-ec", "ark-ff", @@ -2239,7 +2247,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -2271,17 +2279,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] name = "crypto-mac" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ "generic-array 0.14.7", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -2296,7 +2304,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "clap", "parity-scale-codec", @@ -2313,7 +2321,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2336,7 +2344,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2378,7 +2386,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2407,7 +2415,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "anyhow", "async-trait", @@ -2422,7 +2430,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2445,7 +2453,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2469,7 +2477,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2493,7 +2501,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2529,7 +2537,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2547,7 +2555,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -2565,7 +2573,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2599,18 +2607,18 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "cumulus-pallet-session-benchmarking" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -2624,7 +2632,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2640,7 +2648,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2665,7 +2673,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2679,7 +2687,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2696,7 +2704,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2711,7 +2719,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", @@ -2721,7 +2729,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "futures", @@ -2734,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2755,7 +2763,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2779,7 +2787,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2797,7 +2805,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -2838,7 +2846,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2877,7 +2885,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2897,24 +2905,23 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rustc_version", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -2926,7 +2933,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -2944,9 +2951,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8194f089b6da4751d6c1da1ef37c17255df51f9346cdb160f8b096562ae4a85c" +checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" dependencies = [ "cc", "cxxbridge-flags", @@ -2956,9 +2963,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8df9a089caae66634d754672d5f909395f30f38af6ff19366980d8a8b57501" +checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" dependencies = [ "cc", "codespan-reporting", @@ -2966,24 +2973,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "cxxbridge-flags" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25290be4751803672a70b98c68b51c1e7d0a640ab5a4377f240f9d2e70054cd1" +checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" [[package]] name = "cxxbridge-macro" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cb317cb13604b4752416783bb25070381c36e844743e4146b7f8e55de7d140" +checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3075,30 +3082,31 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.70", ] [[package]] name = "development-runtime" -version = "0.11.0" +version = "0.13.0" dependencies = [ "axelar-gateway-precompile", "cfg-primitives", "cfg-traits", "cfg-types", + "cfg-utils", "chainbridge", "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -3113,6 +3121,7 @@ dependencies = [ "fp-self-contained", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -3139,6 +3148,7 @@ dependencies = [ "pallet-collator-allowlist", "pallet-collator-selection", "pallet-collective", + "pallet-conviction-voting", "pallet-democracy", "pallet-elections-phragmen", "pallet-ethereum", @@ -3167,6 +3177,7 @@ dependencies = [ "pallet-pool-system", "pallet-preimage", "pallet-proxy", + "pallet-referenda", "pallet-remarks", "pallet-restricted-tokens", "pallet-restricted-xtokens", @@ -3184,6 +3195,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-vesting", + "pallet-whitelist", "pallet-xcm", "pallet-xcm-transactor", "parity-scale-codec", @@ -3193,6 +3205,7 @@ dependencies = [ "scale-info", "serde", "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-core", @@ -3248,7 +3261,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -3295,13 +3308,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3341,7 +3354,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.66", + "syn 2.0.70", "termcolor", "toml 0.8.14", "walkdir", @@ -3422,12 +3435,12 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -3451,7 +3464,7 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519", "hashbrown 0.14.5", "hex", @@ -3462,9 +3475,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -3481,7 +3494,7 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -3520,7 +3533,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3531,7 +3544,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3676,7 +3689,7 @@ dependencies = [ [[package]] name = "evm" version = "0.41.1" -source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#5ebf882aa99ba449ecf01ba3c29a00ab05cffb17" dependencies = [ "auto_impl", "environmental", @@ -3696,7 +3709,7 @@ dependencies = [ [[package]] name = "evm-core" version = "0.41.0" -source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#5ebf882aa99ba449ecf01ba3c29a00ab05cffb17" dependencies = [ "parity-scale-codec", "primitive-types", @@ -3707,7 +3720,7 @@ dependencies = [ [[package]] name = "evm-gasometer" version = "0.41.0" -source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#5ebf882aa99ba449ecf01ba3c29a00ab05cffb17" dependencies = [ "environmental", "evm-core", @@ -3718,7 +3731,7 @@ dependencies = [ [[package]] name = "evm-runtime" version = "0.41.0" -source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#5ebf882aa99ba449ecf01ba3c29a00ab05cffb17" dependencies = [ "auto_impl", "environmental", @@ -3750,15 +3763,17 @@ dependencies = [ [[package]] name = "expander" -version = "2.0.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" dependencies = [ "blake2 0.10.6", + "file-guard", "fs-err", + "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3988,7 +4003,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -4010,6 +4025,16 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "file-guard" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "file-per-thread-logger" version = "0.1.6" @@ -4095,7 +4120,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", ] @@ -4226,7 +4251,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-support-procedural", @@ -4251,7 +4276,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -4299,18 +4324,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "frame-election-provider-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4327,7 +4352,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -4357,7 +4382,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "docify", @@ -4372,7 +4397,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "indicatif", @@ -4394,7 +4419,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -4435,12 +4460,12 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse 0.1.5", - "expander 2.0.0", + "expander 2.2.1", "frame-support-procedural-tools", "itertools 0.10.5", "macro_magic", @@ -4448,35 +4473,35 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cfg-if", "docify", @@ -4496,7 +4521,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -4511,7 +4536,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "sp-api", @@ -4520,7 +4545,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "parity-scale-codec", @@ -4739,7 +4764,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4901,7 +4926,7 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -5008,6 +5033,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -5045,7 +5076,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac 0.11.1", "digest 0.9.0", ] @@ -5119,9 +5150,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -5137,9 +5168,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -5288,18 +5319,18 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -5384,7 +5415,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -5419,7 +5450,7 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.52.0", ] @@ -5708,11 +5739,11 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin 0.9.8", ] [[package]] @@ -5729,12 +5760,12 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6142,7 +6173,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -6188,7 +6219,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -6304,7 +6335,6 @@ dependencies = [ "pallet-evm", "pallet-evm-chain-id", "pallet-evm-precompile-simple", - "pallet-liquidity-pools-gateway", "pallet-timestamp", "pallet-xcm-transactor", "parity-scale-codec", @@ -6331,9 +6361,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" @@ -6361,9 +6391,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" dependencies = [ "libc", "lz4-sys", @@ -6371,9 +6401,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" dependencies = [ "cc", "libc", @@ -6390,50 +6420,50 @@ dependencies = [ [[package]] name = "macro_magic" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d" +checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "macro_magic_core" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" +checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" dependencies = [ "const-random", - "derive-syn-parse 0.1.5", + "derive-syn-parse 0.2.0", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "macro_magic_core_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" +checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "macro_magic_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" +checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -6475,9 +6505,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memfd" @@ -6524,6 +6554,20 @@ dependencies = [ "hash-db", ] +[[package]] +name = "merkleized-metadata" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f313fcff1d2a4bcaa2deeaa00bf7530d77d5f7bd0467a117dde2e29a75a7a17a" +dependencies = [ + "array-bytes 6.2.3", + "blake3", + "frame-metadata", + "parity-scale-codec", + "scale-decode", + "scale-info", +] + [[package]] name = "merlin" version = "3.0.0" @@ -6555,9 +6599,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -6584,7 +6628,7 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "either", "hashlink", "lioness", @@ -6593,7 +6637,7 @@ dependencies = [ "rand", "rand_chacha 0.3.1", "rand_distr", - "subtle 2.5.0", + "subtle 2.4.1", "thiserror", "zeroize", ] @@ -6601,7 +6645,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "log", @@ -6620,7 +6664,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6635,7 +6679,7 @@ dependencies = [ [[package]] name = "mock-builder" version = "0.2.0" -source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#e27ed4ebffc8800683773aac686938fbbe0a67ef" +source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#8ca5efb3e1eaeb87cc2cdc1a4c3057f15b899907" [[package]] name = "mockall" @@ -6789,7 +6833,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "synstructure 0.13.1", ] @@ -6815,9 +6859,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.5" +version = "0.32.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea4908d4f23254adda3daa60ffef0f1ac7b8c3e9a864cf3cc154b251908a2ef" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" dependencies = [ "approx", "matrixmultiply", @@ -6831,13 +6875,13 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.70", ] [[package]] @@ -6938,7 +6982,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "libc", ] @@ -6952,7 +6996,7 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" [[package]] name = "node-primitives" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-core", "sp-runtime", @@ -7002,9 +7046,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -7082,7 +7126,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -7124,7 +7168,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -7147,9 +7191,9 @@ dependencies = [ [[package]] name = "object" -version = "0.35.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -7216,7 +7260,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" dependencies = [ - "expander 2.0.0", + "expander 2.2.1", "indexmap 2.2.6", "itertools 0.11.0", "petgraph", @@ -7402,7 +7446,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7420,7 +7464,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7435,7 +7479,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -7452,7 +7496,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -7468,7 +7512,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -7482,7 +7526,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7506,7 +7550,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "aquamarine", "docify", @@ -7528,7 +7572,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -7558,7 +7602,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -7578,7 +7622,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -7632,7 +7676,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7672,7 +7716,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "frame-benchmarking", @@ -7689,7 +7733,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7724,7 +7768,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7744,7 +7788,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7761,7 +7805,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7778,7 +7822,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -7796,7 +7840,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7819,7 +7863,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7833,7 +7877,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8018,7 +8062,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -8075,7 +8119,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8098,7 +8142,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8115,7 +8159,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8135,7 +8179,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8227,6 +8271,8 @@ dependencies = [ "orml-traits", "parity-scale-codec", "scale-info", + "serde", + "serde-big-array", "sp-core", "sp-io", "sp-runtime", @@ -8307,7 +8353,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8324,7 +8370,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "environmental", "frame-benchmarking", @@ -8344,7 +8390,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8362,7 +8408,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8378,7 +8424,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8394,7 +8440,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -8413,7 +8459,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8433,7 +8479,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -8444,7 +8490,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -8461,7 +8507,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8651,7 +8697,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8668,7 +8714,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8683,7 +8729,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8702,7 +8748,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8717,7 +8763,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8736,7 +8782,7 @@ dependencies = [ [[package]] name = "pallet-remarks" version = "0.0.1" -source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#e27ed4ebffc8800683773aac686938fbbe0a67ef" +source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#8ca5efb3e1eaeb87cc2cdc1a4c3057f15b899907" dependencies = [ "frame-benchmarking", "frame-support", @@ -8809,7 +8855,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -8824,7 +8870,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -8842,7 +8888,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -8864,7 +8910,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8881,7 +8927,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8899,7 +8945,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8922,18 +8968,18 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "pallet-staking-reward-fn" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "log", "sp-arithmetic", @@ -8942,7 +8988,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "sp-api", @@ -8952,7 +8998,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -8969,7 +9015,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -9000,7 +9046,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -9020,7 +9066,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9064,7 +9110,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -9080,7 +9126,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9096,7 +9142,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9127,7 +9173,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "frame-benchmarking", @@ -9146,7 +9192,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9161,7 +9207,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9177,7 +9223,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9192,7 +9238,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9207,7 +9253,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9230,7 +9276,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-benchmarking", "frame-support", @@ -9378,9 +9424,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -9401,7 +9447,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac 0.11.1", ] [[package]] @@ -9436,9 +9482,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -9447,9 +9493,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -9457,22 +9503,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -9506,7 +9552,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -9554,16 +9600,10 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "polkadot-approval-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "futures", @@ -9583,7 +9623,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "always-assert", "futures", @@ -9599,7 +9639,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "derive_more", "fatality", @@ -9622,7 +9662,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "fatality", @@ -9645,7 +9685,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cfg-if", "clap", @@ -9673,7 +9713,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "fatality", @@ -9695,7 +9735,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -9707,7 +9747,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "derive_more", "fatality", @@ -9732,7 +9772,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -9746,7 +9786,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "futures-timer", @@ -9768,7 +9808,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "always-assert", "async-trait", @@ -9791,7 +9831,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "parity-scale-codec", @@ -9809,7 +9849,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "derive_more", @@ -9842,7 +9882,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "futures", @@ -9864,7 +9904,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "fatality", @@ -9884,7 +9924,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "polkadot-node-subsystem", @@ -9899,7 +9939,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -9920,7 +9960,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "polkadot-node-metrics", @@ -9934,7 +9974,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "futures-timer", @@ -9951,7 +9991,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "fatality", "futures", @@ -9970,7 +10010,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -9987,7 +10027,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "fatality", @@ -10004,7 +10044,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "fatality", @@ -10021,7 +10061,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -10054,7 +10094,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "polkadot-node-primitives", @@ -10070,7 +10110,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cfg-if", "cpu-time", @@ -10097,7 +10137,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "polkadot-node-metrics", @@ -10112,7 +10152,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "lazy_static", "log", @@ -10130,7 +10170,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bs58 0.5.1", "futures", @@ -10149,7 +10189,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10173,7 +10213,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "bounded-vec", @@ -10196,7 +10236,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10206,7 +10246,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "bitvec", @@ -10234,7 +10274,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "derive_more", @@ -10269,7 +10309,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -10291,7 +10331,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bounded-collections", "derive_more", @@ -10308,7 +10348,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "hex-literal", @@ -10335,7 +10375,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10368,7 +10408,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitvec", "frame-benchmarking", @@ -10420,7 +10460,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bs58 0.5.1", "frame-benchmarking", @@ -10433,7 +10473,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -10482,7 +10522,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "frame-benchmarking", @@ -10599,7 +10639,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -10622,7 +10662,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -10648,13 +10688,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite 0.2.14", "rustix 0.38.34", "tracing", @@ -10790,7 +10830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -10899,14 +10939,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -10945,7 +10985,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -11013,7 +11053,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -11232,11 +11272,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -11279,7 +11319,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -11296,14 +11336,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -11317,13 +11357,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -11334,9 +11374,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "resolv-conf" @@ -11361,13 +11401,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] name = "ring" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +source = "git+https://github.com/w3f/ring-proof#96137b150288a66bc9e4df495efc64769b5d1321" dependencies = [ "ark-ec", "ark-ff", @@ -11454,7 +11494,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "binary-merkle-tree", "frame-benchmarking", @@ -11551,7 +11591,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "polkadot-primitives", @@ -11739,6 +11779,7 @@ dependencies = [ "ethereum", "fp-evm", "fp-self-contained", + "frame-metadata-hash-extension", "frame-support", "frame-system", "fudge", @@ -11854,7 +11895,7 @@ dependencies = [ "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -11927,7 +11968,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -12025,9 +12066,9 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe_arch" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" dependencies = [ "bytemuck", ] @@ -12044,7 +12085,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "log", "sp-core", @@ -12055,7 +12096,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -12084,7 +12125,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "futures-timer", @@ -12106,7 +12147,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "sp-api", @@ -12121,7 +12162,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "docify", @@ -12147,18 +12188,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "bip39", @@ -12199,7 +12240,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "fnv", "futures", @@ -12226,7 +12267,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "hash-db", "kvdb", @@ -12252,7 +12293,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -12277,7 +12318,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -12306,7 +12347,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "fork-tree", @@ -12342,7 +12383,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "jsonrpsee", @@ -12364,7 +12405,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -12400,7 +12441,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "jsonrpsee", @@ -12419,7 +12460,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "fork-tree", "parity-scale-codec", @@ -12432,7 +12473,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -12475,7 +12516,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "finality-grandpa", "futures", @@ -12495,7 +12536,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -12518,7 +12559,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -12540,7 +12581,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -12552,7 +12593,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "anyhow", "cfg-if", @@ -12570,7 +12611,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ansi_term", "futures", @@ -12587,7 +12628,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.3", @@ -12601,7 +12642,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", @@ -12630,7 +12671,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -12673,7 +12714,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-channel 1.9.0", "cid", @@ -12693,7 +12734,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -12710,7 +12751,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ahash 0.8.11", "futures", @@ -12729,7 +12770,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -12750,7 +12791,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -12786,7 +12827,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "futures", @@ -12805,7 +12846,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -12839,7 +12880,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -12848,7 +12889,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "jsonrpsee", @@ -12880,7 +12921,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12900,7 +12941,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "http", "jsonrpsee", @@ -12915,7 +12956,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "futures", @@ -12945,7 +12986,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "directories", @@ -13008,7 +13049,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "log", "parity-scale-codec", @@ -13019,7 +13060,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "clap", "fs4", @@ -13032,7 +13073,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13051,7 +13092,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "derive_more", "futures", @@ -13072,7 +13113,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "chrono", "futures", @@ -13091,7 +13132,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ansi_term", "chrono", @@ -13121,18 +13162,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -13159,7 +13200,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -13175,7 +13216,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-channel 1.9.0", "futures", @@ -13187,6 +13228,29 @@ dependencies = [ "sp-arithmetic", ] +[[package]] +name = "scale-bits" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" +dependencies = [ + "parity-scale-codec", + "scale-type-resolver", +] + +[[package]] +name = "scale-decode" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" +dependencies = [ + "derive_more", + "parity-scale-codec", + "scale-bits", + "scale-type-resolver", + "smallvec", +] + [[package]] name = "scale-info" version = "2.11.3" @@ -13213,6 +13277,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" + [[package]] name = "schannel" version = "0.1.23" @@ -13258,13 +13328,13 @@ dependencies = [ "aead", "arrayref", "arrayvec 0.7.4", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -13300,7 +13370,7 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -13346,7 +13416,7 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -13389,38 +13459,47 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -13582,7 +13661,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "enumn", "parity-scale-codec", @@ -13728,12 +13807,12 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "ring 0.17.8", "rustc_version", "sha2 0.10.8", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -13776,7 +13855,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "hash-db", "log", @@ -13797,21 +13876,21 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", "blake2 0.10.6", - "expander 2.0.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -13824,7 +13903,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "integer-sqrt", "num-traits", @@ -13856,7 +13935,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -13869,7 +13948,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-api", "sp-inherents", @@ -13880,7 +13959,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "futures", "log", @@ -13898,7 +13977,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "futures", @@ -13913,7 +13992,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "parity-scale-codec", @@ -13930,7 +14009,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "parity-scale-codec", @@ -13949,7 +14028,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "lazy_static", "parity-scale-codec", @@ -13969,7 +14048,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "finality-grandpa", "log", @@ -13987,7 +14066,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -13999,7 +14078,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "bandersnatch_vrfs", @@ -14045,7 +14124,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-crypto-hashing", ] @@ -14053,7 +14132,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -14074,7 +14153,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "blake2b_simd", "byteorder", @@ -14087,17 +14166,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -14106,27 +14185,27 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "environmental", "parity-scale-codec", @@ -14137,7 +14216,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "environmental", "parity-scale-codec", @@ -14148,7 +14227,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "serde_json", "sp-api", @@ -14159,7 +14238,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -14173,7 +14252,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bytes", "ed25519-dalek", @@ -14198,7 +14277,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-core", "sp-runtime", @@ -14208,7 +14287,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -14220,7 +14299,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "thiserror", "zstd 0.12.4", @@ -14229,7 +14308,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -14240,7 +14319,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -14252,7 +14331,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -14270,7 +14349,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -14284,7 +14363,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-api", "sp-core", @@ -14294,7 +14373,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "backtrace", "lazy_static", @@ -14304,7 +14383,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "rustc-hash", "serde", @@ -14314,7 +14393,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "docify", "either", @@ -14338,7 +14417,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -14356,7 +14435,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -14374,33 +14453,33 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", - "expander 2.0.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", - "expander 2.0.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "scale-info", @@ -14415,7 +14494,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -14429,7 +14508,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "hash-db", "log", @@ -14450,10 +14529,10 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -14475,17 +14554,17 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14498,7 +14577,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14511,7 +14590,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "parity-scale-codec", @@ -14524,7 +14603,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", @@ -14536,7 +14615,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", @@ -14548,7 +14627,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "sp-api", "sp-runtime", @@ -14557,7 +14636,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "parity-scale-codec", @@ -14572,7 +14651,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "ahash 0.8.11", "hash-db", @@ -14596,7 +14675,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14613,18 +14692,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -14637,7 +14716,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -14650,7 +14729,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -14719,7 +14798,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -14733,7 +14812,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "array-bytes 6.2.3", "bounded-collections", @@ -14751,7 +14830,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "frame-system", @@ -14773,7 +14852,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "environmental", "frame-benchmarking", @@ -14834,7 +14913,7 @@ dependencies = [ "bitflags 1.3.2", "byteorder", "keccak", - "subtle 2.5.0", + "subtle 2.4.1", "zeroize", ] @@ -14855,9 +14934,9 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" [[package]] name = "strum_macros" @@ -14882,7 +14961,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -14914,12 +14993,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -14938,7 +15017,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "hyper", "log", @@ -14950,7 +15029,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "jsonrpsee", @@ -14963,7 +15042,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -14980,14 +15059,23 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ + "array-bytes 6.2.3", "build-helper", "cargo_metadata", "console", "filetime", + "frame-metadata", + "merkleized-metadata", + "parity-scale-codec", "parity-wasm", + "sc-executor", + "sp-core", + "sp-io", "sp-maybe-compressed-blob", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-version", "strum 0.24.1", "tempfile", "toml 0.8.14", @@ -15009,9 +15097,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subtle-ng" @@ -15032,9 +15120,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" dependencies = [ "proc-macro2", "quote", @@ -15061,7 +15149,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15093,9 +15181,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "tempfile" @@ -15160,7 +15248,7 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15171,7 +15259,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15275,9 +15363,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -15315,7 +15403,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15383,7 +15471,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.15", ] [[package]] @@ -15430,9 +15518,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" dependencies = [ "indexmap 2.2.6", "serde", @@ -15462,7 +15550,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytes", "futures-core", "futures-util", @@ -15506,7 +15594,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15532,7 +15620,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "coarsetime", "polkadot-primitives", @@ -15543,13 +15631,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ - "expander 2.0.0", + "expander 2.2.1", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -15673,7 +15761,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "async-trait", "clap", @@ -15788,7 +15876,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.5.0", + "subtle 2.4.1", ] [[package]] @@ -15817,9 +15905,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna 0.5.0", @@ -15828,9 +15916,9 @@ dependencies = [ [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" @@ -15947,7 +16035,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "wasm-bindgen-shared", ] @@ -15981,7 +16069,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -16333,7 +16421,7 @@ dependencies = [ [[package]] name = "westend-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "binary-merkle-tree", "bitvec", @@ -16440,7 +16528,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "frame-support", "polkadot-primitives", @@ -16467,9 +16555,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.23" +version = "0.7.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1134eff459f1063780b94cc78b704e2212cac12abd554e4268f5b8f9dfcc1883" +checksum = "2caba658a80831539b30698ae9862a72db6697dfdd7151e46920f5f2755c3ce2" dependencies = [ "bytemuck", "safe_arch", @@ -16537,7 +16625,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -16564,7 +16652,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -16599,18 +16687,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -16627,9 +16715,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -16645,9 +16733,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -16663,15 +16751,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -16687,9 +16775,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -16705,9 +16793,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -16723,9 +16811,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -16741,9 +16829,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -16799,7 +16887,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "serde", "zeroize", @@ -16855,12 +16943,12 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#e73d252e3e13b27a1127bde9a7c47febf70cc9ab" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -16888,22 +16976,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -16923,7 +17011,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -16966,9 +17054,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index abc49e02e4..0e68906b5c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,14 +53,15 @@ license = "LGPL-3.0" homepage = "https://centrifuge.io/" repository = "https://github.com/centrifuge/centrifuge-chain" documentation = "https://reference.centrifuge.io/centrifuge_chain/index.html" -version = "0.11.0" +version = "0.13.0" [workspace.dependencies] hex-literal = { version = "0.4.1" } hex = { version = "0.4.3", default-features = false } smallvec = "1.11.0" -serde = { version = "1.0.195", default-features = false, features = ["derive"] } +serde = { version = "1.0.195", default-features = false, features = ["alloc", "derive"] } serde_json = { version = "1.0.111" } +serde-big-array = { version = "0.5" } parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] } scale-info = { version = "2.10.0", default-features = false, features = ["derive"] } log = { version = "0.4.20", default-features = false } @@ -173,6 +174,7 @@ sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", default-featu sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } frame-support = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, features = [ "tuples-96", ], branch = "release-polkadot-v1.7.2" } # Check when tuples-96 can be removed @@ -187,11 +189,14 @@ pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-feat pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-elections-phragmen = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } @@ -204,7 +209,7 @@ pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", default- pallet-uniques = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } -pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } diff --git a/codecov.yaml b/codecov.yaml index 429e2a3a5e..c0e817cf82 100644 --- a/codecov.yaml +++ b/codecov.yaml @@ -4,4 +4,8 @@ coverage: status: project: default: - informational: true \ No newline at end of file + informational: true + patch: + default: + informational: true + if_ci_failed: success diff --git a/libs/mocks/src/investment.rs b/libs/mocks/src/investment.rs index ac903527a6..4a972688c5 100644 --- a/libs/mocks/src/investment.rs +++ b/libs/mocks/src/investment.rs @@ -55,18 +55,6 @@ pub mod pallet { ) { register_call!(move |(a, b)| f(a, b)); } - - pub fn mock_investment_requires_collect( - f: impl Fn(&T::AccountId, T::InvestmentId) -> bool + 'static, - ) { - register_call!(move |(a, b)| f(a, b)); - } - - pub fn mock_redemption_requires_collect( - f: impl Fn(&T::AccountId, T::InvestmentId) -> bool + 'static, - ) { - register_call!(move |(a, b)| f(a, b)); - } } impl Investment for Pallet { @@ -105,14 +93,6 @@ pub mod pallet { ) -> Result { execute_call!((a, b)) } - - fn investment_requires_collect(a: &T::AccountId, b: T::InvestmentId) -> bool { - execute_call!((a, b)) - } - - fn redemption_requires_collect(a: &T::AccountId, b: T::InvestmentId) -> bool { - execute_call!((a, b)) - } } impl InvestmentCollector for Pallet { diff --git a/libs/mocks/src/lib.rs b/libs/mocks/src/lib.rs index de52496021..34694093cc 100644 --- a/libs/mocks/src/lib.rs +++ b/libs/mocks/src/lib.rs @@ -25,7 +25,7 @@ pub use currency_conversion::pallet as pallet_mock_currency_conversion; pub use data::pallet as pallet_mock_data; pub use fees::pallet as pallet_mock_fees; pub use investment::pallet as pallet_mock_investment; -pub use liquidity_pools::{pallet as pallet_mock_liquidity_pools, MessageMock}; +pub use liquidity_pools::pallet as pallet_mock_liquidity_pools; pub use liquidity_pools_gateway_routers::{pallet as pallet_mock_routers, RouterMock}; pub use pay_fee::pallet as pallet_mock_pay_fee; pub use permissions::pallet as pallet_mock_permissions; diff --git a/libs/mocks/src/liquidity_pools.rs b/libs/mocks/src/liquidity_pools.rs index 0b94debc7a..59db34dd59 100644 --- a/libs/mocks/src/liquidity_pools.rs +++ b/libs/mocks/src/liquidity_pools.rs @@ -1,46 +1,9 @@ -use cfg_traits::liquidity_pools::Codec; -use parity_scale_codec::{Decode, Encode, Error, Input, MaxEncodedLen}; -use scale_info::TypeInfo; - -#[derive(Debug, Eq, PartialEq, Clone, Encode, Decode, TypeInfo, MaxEncodedLen)] -pub enum MessageMock { - First, - Second, -} - -impl MessageMock { - fn call_type(&self) -> u8 { - match self { - MessageMock::First => 0, - MessageMock::Second => 1, - } - } -} - -impl Codec for MessageMock { - fn serialize(&self) -> Vec { - vec![self.call_type()] - } - - fn deserialize(input: &mut I) -> Result { - let call_type = input.read_byte()?; - - match call_type { - 0 => Ok(MessageMock::First), - 1 => Ok(MessageMock::Second), - _ => Err("unsupported message".into()), - } - } -} - #[frame_support::pallet(dev_mode)] pub mod pallet { use cfg_traits::liquidity_pools::InboundQueue; use frame_support::pallet_prelude::*; use mock_builder::{execute_call, register_call}; - use crate::liquidity_pools::MessageMock; - #[pallet::config] pub trait Config: frame_system::Config { type DomainAddress; @@ -54,7 +17,7 @@ pub mod pallet { type CallIds = StorageMap<_, _, String, mock_builder::CallId>; impl Pallet { - pub fn mock_submit(f: impl Fn(T::DomainAddress, MessageMock) -> DispatchResult + 'static) { + pub fn mock_submit(f: impl Fn(T::DomainAddress, T::Message) -> DispatchResult + 'static) { register_call!(move |(sender, msg)| f(sender, msg)); } } diff --git a/libs/mocks/src/liquidity_pools_gateway_routers.rs b/libs/mocks/src/liquidity_pools_gateway_routers.rs index af00e0adc3..22bfdf1bb0 100644 --- a/libs/mocks/src/liquidity_pools_gateway_routers.rs +++ b/libs/mocks/src/liquidity_pools_gateway_routers.rs @@ -3,8 +3,6 @@ use frame_support::{dispatch::DispatchResult, pallet_prelude::*}; use mock_builder::{execute_call, register_call}; use sp_std::default::Default; -use crate::MessageMock; - #[frame_support::pallet(dev_mode)] pub mod pallet { use super::*; @@ -24,21 +22,20 @@ pub mod pallet { } pub fn mock_send( - f: impl Fn(T::AccountId, MessageMock) -> DispatchResultWithPostInfo + 'static, + f: impl Fn(T::AccountId, Vec) -> DispatchResultWithPostInfo + 'static, ) { register_call!(move |(sender, message)| f(sender, message)); } } impl MockedRouter for Pallet { - type Message = MessageMock; type Sender = T::AccountId; fn init() -> DispatchResult { execute_call!(()) } - fn send(sender: Self::Sender, message: MessageMock) -> DispatchResultWithPostInfo { + fn send(sender: Self::Sender, message: Vec) -> DispatchResultWithPostInfo { execute_call!((sender, message)) } } @@ -67,7 +64,7 @@ impl RouterMock { pub fn mock_send( &self, - f: impl Fn(T::AccountId, MessageMock) -> DispatchResultWithPostInfo + 'static, + f: impl Fn(T::AccountId, Vec) -> DispatchResultWithPostInfo + 'static, ) { pallet::Pallet::::mock_send(f) } @@ -76,14 +73,13 @@ impl RouterMock { /// Here we implement the actual Router trait for the `RouterMock` which in turn /// calls the `MockedRouter` trait implementation. impl Router for RouterMock { - type Message = MessageMock; type Sender = T::AccountId; fn init(&self) -> DispatchResult { pallet::Pallet::::init() } - fn send(&self, sender: Self::Sender, message: Self::Message) -> DispatchResultWithPostInfo { + fn send(&self, sender: Self::Sender, message: Vec) -> DispatchResultWithPostInfo { pallet::Pallet::::send(sender, message) } } @@ -98,12 +94,9 @@ trait MockedRouter { /// The sender type of the outbound message. type Sender; - /// The outbound message type. - type Message; - /// Initialize the router. fn init() -> DispatchResult; /// Send the message to the router's destination. - fn send(sender: Self::Sender, message: Self::Message) -> DispatchResultWithPostInfo; + fn send(sender: Self::Sender, message: Vec) -> DispatchResultWithPostInfo; } diff --git a/libs/mocks/src/pools.rs b/libs/mocks/src/pools.rs index 23f6da4fa7..d1849b345b 100644 --- a/libs/mocks/src/pools.rs +++ b/libs/mocks/src/pools.rs @@ -1,8 +1,7 @@ #[frame_support::pallet(dev_mode)] pub mod pallet { use cfg_traits::{ - investments::InvestmentAccountant, PoolInspect, PoolReserve, PriceValue, Seconds, - TrancheTokenPrice, + investments::InvestmentAccountant, PoolInspect, PoolReserve, Seconds, TrancheTokenPrice, }; use cfg_types::investments::InvestmentInfo; use frame_support::pallet_prelude::*; @@ -26,7 +25,6 @@ pub mod pallet { type Balance; type BalanceRatio; type CurrencyId; - type TrancheCurrency; } #[pallet::pallet] @@ -66,43 +64,56 @@ pub mod pallet { pub fn mock_info( f: impl Fn( - T::TrancheCurrency, + (T::PoolId, T::TrancheId), ) -> Result< - InvestmentInfo, + InvestmentInfo, DispatchError, > + 'static, ) { register_call!(f); } - pub fn mock_balance(f: impl Fn(T::TrancheCurrency, &T::AccountId) -> T::Balance + 'static) { + pub fn mock_balance( + f: impl Fn((T::PoolId, T::TrancheId), &T::AccountId) -> T::Balance + 'static, + ) { register_call!(move |(a, b)| f(a, b)); } pub fn mock_transfer( - f: impl Fn(T::TrancheCurrency, &T::AccountId, &T::AccountId, T::Balance) -> DispatchResult + f: impl Fn( + (T::PoolId, T::TrancheId), + &T::AccountId, + &T::AccountId, + T::Balance, + ) -> DispatchResult + 'static, ) { register_call!(move |(a, b, c, d)| f(a, b, c, d)); } + pub fn mock_get_price( + f: impl Fn(T::PoolId, T::TrancheId) -> Option<(T::BalanceRatio, Seconds)> + 'static, + ) { + register_call!(move |(a, b)| f(a, b)); + } + #[allow(non_snake_case)] pub fn mock_InvestmentAccountant_deposit( - f: impl Fn(&T::AccountId, T::TrancheCurrency, T::Balance) -> DispatchResult + 'static, + f: impl Fn(&T::AccountId, (T::PoolId, T::TrancheId), T::Balance) -> DispatchResult + 'static, ) { register_call!(move |(a, b, c)| f(a, b, c)); } #[allow(non_snake_case)] pub fn mock_InvestmentAccountant_withdraw( - f: impl Fn(&T::AccountId, T::TrancheCurrency, T::Balance) -> DispatchResult + 'static, + f: impl Fn(&T::AccountId, (T::PoolId, T::TrancheId), T::Balance) -> DispatchResult + 'static, ) { register_call!(move |(a, b, c)| f(a, b, c)); } #[cfg(feature = "runtime-benchmarks")] pub fn mock_bench_default_investment_id( - f: impl Fn(T::PoolId) -> T::TrancheCurrency + 'static, + f: impl Fn(T::PoolId) -> (T::PoolId, T::TrancheId) + 'static, ) { register_call!(f); } @@ -133,7 +144,7 @@ pub mod pallet { impl InvestmentAccountant for Pallet { type Amount = T::Balance; type Error = DispatchError; - type InvestmentId = T::TrancheCurrency; + type InvestmentId = (T::PoolId, T::TrancheId); type InvestmentInfo = InvestmentInfo; fn info(a: Self::InvestmentId) -> Result { @@ -168,10 +179,7 @@ pub mod pallet { type PoolId = T::PoolId; type TrancheId = T::TrancheId; - fn get( - a: T::PoolId, - b: T::TrancheId, - ) -> Option> { + fn get_price(a: T::PoolId, b: T::TrancheId) -> Option<(T::BalanceRatio, Seconds)> { execute_call!((a, b)) } } @@ -209,7 +217,7 @@ pub mod pallet { #[cfg(feature = "runtime-benchmarks")] impl cfg_traits::benchmarking::InvestmentIdBenchmarkHelper for Pallet { - type InvestmentId = T::TrancheCurrency; + type InvestmentId = (T::PoolId, T::TrancheId); type PoolId = T::PoolId; fn bench_default_investment_id(a: Self::PoolId) -> Self::InvestmentId { diff --git a/libs/primitives/Cargo.toml b/libs/primitives/Cargo.toml index bbd0a006f2..f8c83f3c8d 100644 --- a/libs/primitives/Cargo.toml +++ b/libs/primitives/Cargo.toml @@ -29,6 +29,7 @@ sp-std = { workspace = true } frame-support = { workspace = true } frame-system = { workspace = true } pallet-collective = { workspace = true } +pallet-membership = { workspace = true } # cumulus primitives dependencies cumulus-primitives-core = { workspace = true } @@ -45,6 +46,7 @@ std = [ "frame-support/std", "frame-system/std", "pallet-collective/std", + "pallet-membership/std", "scale-info/std", "serde/std", "sp-arithmetic/std", @@ -60,6 +62,7 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-collective/runtime-benchmarks", + "pallet-membership/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "staging-xcm-executor/runtime-benchmarks", ] @@ -67,5 +70,6 @@ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "pallet-collective/try-runtime", + "pallet-membership/try-runtime", "sp-runtime/try-runtime", ] diff --git a/libs/primitives/src/lib.rs b/libs/primitives/src/lib.rs index cf1ad99966..5ad94ae463 100644 --- a/libs/primitives/src/lib.rs +++ b/libs/primitives/src/lib.rs @@ -23,9 +23,6 @@ pub use types::*; /// Common types for all runtimes pub mod types { - use frame_support::traits::EitherOfDiverse; - use frame_system::EnsureRoot; - use pallet_collective::EnsureProportionAtLeast; use parity_scale_codec::{CompactAs, Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; #[cfg(feature = "std")] @@ -46,24 +43,6 @@ pub mod types { /// EpochId type we use to identify epochs in our revolving pools pub type PoolEpochId = u32; - // Ensure that origin is either Root or fallback to use EnsureOrigin `O` - pub type EnsureRootOr = EitherOfDiverse, O>; - - /// The council - pub type CouncilCollective = pallet_collective::Instance1; - - /// All council members must vote yes to create this origin. - pub type AllOfCouncil = EnsureProportionAtLeast; - - /// 1/2 of all council members must vote yes to create this origin. - pub type HalfOfCouncil = EnsureProportionAtLeast; - - /// 2/3 of all council members must vote yes to create this origin. - pub type TwoThirdOfCouncil = EnsureProportionAtLeast; - - /// 3/4 of all council members must vote yes to create this origin. - pub type ThreeFourthOfCouncil = EnsureProportionAtLeast; - /// An index to a block. pub type BlockNumber = u32; @@ -145,6 +124,9 @@ pub mod types { /// A representation of a tranche identifier pub type TrancheId = [u8; 16]; + /// A representation of an investment + pub type InvestmentId = (PoolId, TrancheId); + /// A representation of a tranche weight, used to weight /// importance of a tranche #[derive(Encode, Decode, Copy, Debug, Default, Clone, PartialEq, Eq, TypeInfo, CompactAs)] @@ -286,6 +268,19 @@ pub mod constants { /// Identification of the native token of the chain. Used in XCM locations. pub const NATIVE_KEY: &[u8] = &[0, 1]; + + /// The index of the root OpenGov track + pub const TRACK_INDEX_ROOT: u16 = 0; + /// The index of the whitelisted caller OpenGov track + pub const TRACK_INDEX_WHITELISTED_CALLER: u16 = 1; + /// The index of the pool admin OpenGov track + pub const TRACK_INDEX_POOL_ADMIN: u16 = 10; + /// The index of the treasurer OpenGov track + pub const TRACK_INDEX_TREASURER: u16 = 11; + /// The index of the referendum canceller OpenGov track + pub const TRACK_INDEX_REF_CANCELLER: u16 = 20; + /// The index of the referendum killer OpenGov track + pub const TRACK_INDEX_REF_KILLER: u16 = 21; } /// Listing of parachains we integrate with. diff --git a/libs/traits/src/investments.rs b/libs/traits/src/investments.rs index 7cbe2c2b28..6d1466c0a0 100644 --- a/libs/traits/src/investments.rs +++ b/libs/traits/src/investments.rs @@ -23,6 +23,20 @@ pub trait TrancheCurrency { fn of_tranche(&self) -> TrancheId; } +impl TrancheCurrency for (PoolId, TrancheId) { + fn generate(pool_id: PoolId, tranche_id: TrancheId) -> Self { + (pool_id, tranche_id) + } + + fn of_pool(&self) -> PoolId { + self.0.clone() + } + + fn of_tranche(&self) -> TrancheId { + self.1.clone() + } +} + /// A trait, when implemented allows to invest into /// investment classes pub trait Investment { @@ -73,20 +87,6 @@ pub trait Investment { who: &AccountId, investment_id: Self::InvestmentId, ) -> Result; - - /// Checks whether an investment requires to be collected before it can be - /// updated. - /// - /// NOTE: Defaults to false if the investment does not exist. - fn investment_requires_collect(investor: &AccountId, investment_id: Self::InvestmentId) - -> bool; - - /// Checks whether a redemption requires to be collected before it can be - /// further updated. - /// - /// NOTE: Defaults to false if the redemption does not exist. - fn redemption_requires_collect(investor: &AccountId, investment_id: Self::InvestmentId) - -> bool; } /// A trait which allows to collect existing investments and redemptions. diff --git a/libs/traits/src/lib.rs b/libs/traits/src/lib.rs index ec97102eb5..d7eb9042b0 100644 --- a/libs/traits/src/lib.rs +++ b/libs/traits/src/lib.rs @@ -96,10 +96,10 @@ pub trait TrancheTokenPrice { type BalanceRatio; type Moment; - fn get( + fn get_price( pool_id: Self::PoolId, tranche_id: Self::TrancheId, - ) -> Option>; + ) -> Option<(Self::BalanceRatio, Self::Moment)>; } /// Variants for valid Pool updates to send out as events @@ -206,31 +206,6 @@ pub trait PoolWriteOffPolicyMutate { fn worst_case_policy() -> Self::Policy; } -/// A trait that can be used to retrieve the current price for a currency -pub struct CurrencyPair { - pub base: CurrencyId, - pub quote: CurrencyId, -} - -pub struct PriceValue { - pub pair: CurrencyPair, - pub price: Rate, - pub last_updated: Moment, -} - -pub trait CurrencyPrice { - type Rate; - type Moment; - - /// Retrieve the latest price of `base` currency, denominated in the `quote` - /// currency If `quote` currency is not passed, then the default `quote` - /// currency is used (when possible) - fn get_latest( - base: CurrencyId, - quote: Option, - ) -> Option>; -} - pub trait Permissions { type Scope; type Role; diff --git a/libs/traits/src/liquidity_pools.rs b/libs/traits/src/liquidity_pools.rs index d4aa0ae880..ab747a9ea9 100644 --- a/libs/traits/src/liquidity_pools.rs +++ b/libs/traits/src/liquidity_pools.rs @@ -12,14 +12,38 @@ // GNU General Public License for more details. use frame_support::dispatch::{DispatchResult, DispatchResultWithPostInfo}; -use parity_scale_codec::Input; +use sp_runtime::DispatchError; use sp_std::vec::Vec; /// An encoding & decoding trait for the purpose of meeting the /// LiquidityPools General Message Passing Format -pub trait Codec: Sized { +pub trait LPEncoding: Sized { fn serialize(&self) -> Vec; - fn deserialize(input: &mut I) -> Result; + fn deserialize(input: &[u8]) -> Result; +} + +#[cfg(any(test, feature = "std"))] +pub mod test_util { + use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; + use scale_info::TypeInfo; + + use super::*; + + #[derive(Debug, Eq, PartialEq, Clone, Encode, Decode, TypeInfo, MaxEncodedLen)] + pub struct Message; + impl LPEncoding for Message { + fn serialize(&self) -> Vec { + vec![0x42] + } + + fn deserialize(input: &[u8]) -> Result { + match input.first() { + Some(0x42) => Ok(Self), + Some(_) => Err("unsupported message".into()), + None => Err("empty message".into()), + } + } + } } /// The trait required for sending outbound messages. @@ -27,14 +51,11 @@ pub trait Router { /// The sender type of the outbound message. type Sender; - /// The outbound message type. - type Message; - /// Initialize the router. fn init(&self) -> DispatchResult; /// Send the message to the router's destination. - fn send(&self, sender: Self::Sender, message: Self::Message) -> DispatchResultWithPostInfo; + fn send(&self, sender: Self::Sender, message: Vec) -> DispatchResultWithPostInfo; } /// The trait required for processing outbound messages. diff --git a/libs/types/src/domain_address.rs b/libs/types/src/domain_address.rs index f3a19eb094..cedc209a4d 100644 --- a/libs/types/src/domain_address.rs +++ b/libs/types/src/domain_address.rs @@ -10,20 +10,15 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_traits::liquidity_pools::Codec; -use cfg_utils::{decode_be_bytes, vec_to_fixed_array}; +use cfg_utils::vec_to_fixed_array; use frame_support::pallet_prelude::RuntimeDebug; -use parity_scale_codec::{Decode, Encode, Input, MaxEncodedLen}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_runtime::traits::AccountIdConversion; -use sp_std::{vec, vec::Vec}; use crate::EVMChainId; /// A Domain is a chain or network we can send a message to. -/// The domain indices need to match those used in the EVM contracts and these -/// need to pass the Centrifuge domain to send tranche tokens from the other -/// domain here. Therefore, DO NOT remove or move variants around. #[derive(Encode, Decode, Clone, Eq, MaxEncodedLen, PartialEq, RuntimeDebug, TypeInfo)] pub enum Domain { /// Referring to the Centrifuge Parachain. Will be used for handling @@ -36,33 +31,6 @@ pub enum Domain { EVM(EVMChainId), } -impl Codec for Domain { - fn serialize(&self) -> Vec { - match self { - Self::Centrifuge => vec![0; 9], - Self::EVM(chain_id) => { - let mut output: Vec = 1u8.encode(); - output.append(&mut chain_id.to_be_bytes().to_vec()); - - output - } - } - } - - fn deserialize(input: &mut I) -> Result { - let variant = input.read_byte()?; - - match variant { - 0 => Ok(Self::Centrifuge), - 1 => { - let chain_id = decode_be_bytes::<8, _, _>(input)?; - Ok(Self::EVM(chain_id)) - } - _ => Err(parity_scale_codec::Error::from("Unknown Domain variant")), - } - } -} - impl Domain { pub fn into_account(&self) -> AccountId { DomainLocator { @@ -95,6 +63,12 @@ impl DomainAddress { } } +impl From<(EVMChainId, [u8; 20])> for DomainAddress { + fn from((chain_id, address): (EVMChainId, [u8; 20])) -> Self { + Self::evm(chain_id, address) + } +} + impl From for Domain { fn from(x: DomainAddress) -> Self { match x { diff --git a/libs/types/src/tokens.rs b/libs/types/src/tokens.rs index 824e6a5608..9bfce63432 100644 --- a/libs/types/src/tokens.rs +++ b/libs/types/src/tokens.rs @@ -16,14 +16,14 @@ use cfg_primitives::{ types::{PoolId, TrancheId}, Balance, }; -use cfg_traits::{investments::TrancheCurrency as TrancheCurrencyT, HasLocalAssetRepresentation}; +use cfg_traits::HasLocalAssetRepresentation; use orml_traits::asset_registry; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; use sp_runtime::{traits::Get, DispatchError, TokenError}; -use crate::{domain_address::DomainAddress, xcm::XcmMetadata, EVMChainId}; +use crate::{xcm::XcmMetadata, EVMChainId}; pub const MAX_ASSET_STRING_LIMIT: u32 = 128; @@ -121,6 +121,12 @@ impl TryFrom for LocalAssetId { } } +impl From<(PoolId, TrancheId)> for CurrencyId { + fn from((pool_id, tranche_id): (PoolId, TrancheId)) -> Self { + CurrencyId::Tranche(pool_id, tranche_id) + } +} + #[derive( Clone, Copy, @@ -230,55 +236,6 @@ where } } -/// A Currency that is solely used by tranches. -/// -/// We distinguish here between the enum variant CurrencyId::Tranche(PoolId, -/// TranchId) in order to be able to have a clear separation of concerns. This -/// enables us to use the `TrancheCurrency` type separately where solely this -/// enum variant would be relevant. Most notably, in the `struct Tranche`. -#[derive( - Clone, - Copy, - PartialOrd, - Ord, - PartialEq, - Eq, - Debug, - Encode, - Decode, - TypeInfo, - MaxEncodedLen, - Serialize, - Deserialize, -)] -pub struct TrancheCurrency { - pub pool_id: PoolId, - pub tranche_id: TrancheId, -} - -impl From for CurrencyId { - fn from(x: TrancheCurrency) -> Self { - CurrencyId::Tranche(x.pool_id, x.tranche_id) - } -} - -impl TrancheCurrencyT for TrancheCurrency { - fn generate(pool_id: PoolId, tranche_id: TrancheId) -> Self { - Self { - pool_id, - tranche_id, - } - } - - fn of_pool(&self) -> PoolId { - self.pool_id - } - - fn of_tranche(&self) -> TrancheId { - self.tranche_id - } -} - /// A type describing our custom additional metadata stored in the /// OrmlAssetRegistry. #[derive( @@ -395,44 +352,6 @@ impl CrossChainTransferability { } } -/// Liquidity Pools-wrapped tokens -/// -/// Currently, LiquidityPools are only deployed on EVM-based chains and -/// therefore we only support EVM tokens. In the far future, we might support -/// wrapped tokens from other chains such as Cosmos based ones. -#[derive( - Clone, - Copy, - PartialOrd, - Ord, - PartialEq, - Eq, - Debug, - Encode, - Decode, - TypeInfo, - MaxEncodedLen, - Serialize, - Deserialize, -)] -pub enum LiquidityPoolsWrappedToken { - /// An EVM-native token - EVM { - /// The EVM chain id where the token is deployed - chain_id: EVMChainId, - /// The token contract address - address: [u8; 20], - }, -} - -impl From for DomainAddress { - fn from(token: LiquidityPoolsWrappedToken) -> Self { - match token { - LiquidityPoolsWrappedToken::EVM { chain_id, address } => Self::EVM(chain_id, address), - } - } -} - #[derive( Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Debug, Encode, Decode, TypeInfo, MaxEncodedLen, )] diff --git a/libs/utils/src/lib.rs b/libs/utils/src/lib.rs index dd447833bd..a1f8bc7412 100644 --- a/libs/utils/src/lib.rs +++ b/libs/utils/src/lib.rs @@ -13,8 +13,8 @@ // Ensure we're `no_std` when compiling for WebAssembly. #![cfg_attr(not(feature = "std"), no_std)] -use parity_scale_codec::{Decode, Encode, Error, Input}; -use sp_std::{cmp::min, vec::Vec}; +use parity_scale_codec::Encode; +use sp_std::cmp::min; /// Build a fixed-size array using as many elements from `src` as possible /// without overflowing and ensuring that the array is 0 padded in the case @@ -27,34 +27,6 @@ pub fn vec_to_fixed_array(src: impl AsRef<[u8]>) -> [u8; S] { dest } -/// Encode a value in its big-endian representation of which all we know is that -/// it implements Encode. We use this for number types to make sure they are -/// encoded the way they are expected to be decoded on the Solidity side. -pub fn encode_be(x: impl Encode) -> Vec { - let mut output = x.encode(); - output.reverse(); - output -} - -/// Decode a type O by reading S bytes from I. Those bytes are expected to be -/// encoded as big-endian and thus needs reversing to little-endian before -/// decoding to O. -pub fn decode_be_bytes(input: &mut I) -> Result { - let mut bytes = [0; S]; - input.read(&mut bytes[..])?; - bytes.reverse(); - - O::decode(&mut bytes.as_slice()) -} - -/// Decode a type 0 by reading S bytes from I. -pub fn decode(input: &mut I) -> Result { - let mut bytes = [0; S]; - input.read(&mut bytes[..])?; - - O::decode(&mut bytes.as_slice()) -} - /// Function that initializes the frame system & Aura, so a timestamp can be set /// and pass validation #[cfg(any(feature = "runtime-benchmarks", feature = "std"))] @@ -153,6 +125,34 @@ pub mod math { } } + /// Converts the given number to percent. + /// + /// # Example + /// + /// ``` + /// use sp_arithmetic::FixedI64; + /// use cfg_utils::math::to_percent; + /// + /// assert_eq!(to_percent(3u128), FixedI64::from_rational(3, 100)); + /// ``` + pub const fn to_percent(x: u128) -> sp_arithmetic::FixedI64 { + sp_arithmetic::FixedI64::from_rational(x, 100) + } + + /// Converts the given number to parts per million + /// + /// # Example + /// + /// ``` + /// use sp_arithmetic::FixedI64; + /// use cfg_utils::math::to_ppm; + /// + /// assert_eq!(to_ppm(3u128), FixedI64::from_rational(3, 1_000_000)); + /// ``` + pub const fn to_ppm(x: u128) -> sp_arithmetic::FixedI64 { + sp_arithmetic::FixedI64::from_rational(x, 1_000_000) + } + #[cfg(test)] mod test_y_coord_in_function_with_2_points { use super::*; diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 9a7f3a5776..4db6f2cec8 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -352,7 +352,7 @@ fn centrifuge_genesis( "chainId": Into::::into(chain_id), }, "evm": { - "accounts": runtime_common::evm::precompile::utils::precompile_account_genesis::(), + "accounts": runtime_common::evm::utils::account_genesis::(), }, "polkadotXcm": { "safeXcmVersion": Some(SAFE_XCM_VERSION), @@ -393,7 +393,7 @@ fn altair_genesis( serde_json::json!({ "balances": { "balances": balances }, "council": { - "members": council_members, + "members": council_members.clone(), }, "fees": { "initialFees": vec![( @@ -446,11 +446,14 @@ fn altair_genesis( "chainId": Into::::into(chain_id), }, "evm": { - "accounts": runtime_common::evm::precompile::utils::precompile_account_genesis::(), + "accounts": runtime_common::evm::utils::account_genesis::(), }, "polkadotXcm": { "safeXcmVersion": Some(SAFE_XCM_VERSION), }, + "technicalCommittee": { + "members": council_members + } }) } @@ -589,7 +592,7 @@ fn development_genesis( "chainId": Into::::into(chain_id), }, "evm": { - "accounts": runtime_common::evm::precompile::utils::precompile_account_genesis::(), + "accounts": runtime_common::evm::utils::account_genesis::(), }, "polkadotXcm": { "safeXcmVersion": Some(SAFE_XCM_VERSION), diff --git a/node/src/command.rs b/node/src/command.rs index 15803399c7..cb0f2c433c 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -27,7 +27,7 @@ use sp_runtime::traits::AccountIdConversion; use crate::{ chain_spec, cli::{Cli, RelayChainCli, Subcommand}, - service::{evm, AltairRuntimeExecutor, CentrifugeRuntimeExecutor, DevelopmentRuntimeExecutor}, + service::evm, }; pub const LOCAL_PARA_ID: ParaId = ParaId::new(2000u32); @@ -165,28 +165,28 @@ macro_rules! construct_async_run { match runner.config().chain_spec.identify() { ChainIdentity::Altair => runner.async_run(|$config| { - let $components = evm::new_partial::( + let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_import_queue:: + crate::service::build_import_queue:: )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) }), ChainIdentity::Centrifuge => runner.async_run(|$config| { - let $components = evm::new_partial::( + let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_import_queue::, + crate::service::build_import_queue::, )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) }), ChainIdentity::Development => runner.async_run(|$config| { - let $components = evm::new_partial::( + let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_import_queue::, + crate::service::build_import_queue::, )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) @@ -351,51 +351,48 @@ pub fn run() -> Result<()> { ); match config.chain_spec.identify() { - ChainIdentity::Altair => crate::service::start_node::< - altair_runtime::RuntimeApi, - AltairRuntimeExecutor, - >( - config, - polkadot_config, - cli.eth, - collator_options, - id, - hwbench, - first_evm_block, - ) - .await - .map(|r| r.0) - .map_err(Into::into), - ChainIdentity::Centrifuge => crate::service::start_node::< - centrifuge_runtime::RuntimeApi, - CentrifugeRuntimeExecutor, - >( - config, - polkadot_config, - cli.eth, - collator_options, - id, - hwbench, - first_evm_block, - ) - .await - .map(|r| r.0) - .map_err(Into::into), - ChainIdentity::Development => crate::service::start_node::< - development_runtime::RuntimeApi, - DevelopmentRuntimeExecutor, - >( - config, - polkadot_config, - cli.eth, - collator_options, - id, - hwbench, - first_evm_block, - ) - .await - .map(|r| r.0) - .map_err(Into::into), + ChainIdentity::Altair => { + crate::service::start_node::( + config, + polkadot_config, + cli.eth, + collator_options, + id, + hwbench, + first_evm_block, + ) + .await + .map(|r| r.0) + .map_err(Into::into) + } + ChainIdentity::Centrifuge => { + crate::service::start_node::( + config, + polkadot_config, + cli.eth, + collator_options, + id, + hwbench, + first_evm_block, + ) + .await + .map(|r| r.0) + .map_err(Into::into) + } + ChainIdentity::Development => { + crate::service::start_node::( + config, + polkadot_config, + cli.eth, + collator_options, + id, + hwbench, + first_evm_block, + ) + .await + .map(|r| r.0) + .map_err(Into::into) + } } }) } diff --git a/node/src/service.rs b/node/src/service.rs index 428b4f9a5e..15adf0eef4 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -26,7 +26,7 @@ use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; use fc_db::Backend as FrontierBackend; use fc_rpc::pending::{AuraConsensusDataProvider, ConsensusDataProvider}; use polkadot_primitives::CollatorPair; -use sc_executor::NativeElseWasmExecutor; +use sc_executor::WasmExecutor; use sc_network_sync::SyncingService; use sc_service::{Configuration, TFullBackend, TFullClient, TaskManager}; use sc_telemetry::TelemetryHandle; @@ -40,13 +40,21 @@ use crate::rpc::{self}; pub(crate) mod evm; use evm::EthConfiguration; -type FullClient = - TFullClient>; +#[cfg(feature = "runtime-benchmarks")] +type HostFunctions = ( + sp_io::SubstrateHostFunctions, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(not(feature = "runtime-benchmarks"))] +type HostFunctions = sp_io::SubstrateHostFunctions; + +type FullClient = TFullClient>; type FullBackend = TFullBackend; -type ParachainBlockImport = - TParachainBlockImport>, FullBackend>; +type ParachainBlockImport = + TParachainBlockImport>, FullBackend>; pub trait RuntimeApiCollection: sp_transaction_pool::runtime_api::TaggedTransactionQueue @@ -82,71 +90,8 @@ impl RuntimeApiCollection for Api where { } -// Native Altair executor instance. -pub struct AltairRuntimeExecutor; - -impl sc_executor::NativeExecutionDispatch for AltairRuntimeExecutor { - /// Only enable the benchmarking host functions when we actually want to - /// benchmark. - #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - /// Otherwise we only use the default Substrate host functions. - #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); - - fn dispatch(method: &str, data: &[u8]) -> Option> { - altair_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - altair_runtime::native_version() - } -} - -// Native Centrifuge executor instance. -pub struct CentrifugeRuntimeExecutor; - -impl sc_executor::NativeExecutionDispatch for CentrifugeRuntimeExecutor { - /// Only enable the benchmarking host functions when we actually want to - /// benchmark. - #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - /// Otherwise we only use the default Substrate host functions. - #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); - - fn dispatch(method: &str, data: &[u8]) -> Option> { - centrifuge_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - centrifuge_runtime::native_version() - } -} - -// Native Development executor instance. -pub struct DevelopmentRuntimeExecutor; - -impl sc_executor::NativeExecutionDispatch for DevelopmentRuntimeExecutor { - /// Only enable the benchmarking host functions when we actually want to - /// benchmark. - #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - /// Otherwise we only use the default Substrate host functions. - #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); - - fn dispatch(method: &str, data: &[u8]) -> Option> { - development_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - development_runtime::native_version() - } -} - /// Start a generic parachain node. -pub async fn start_node( +pub async fn start_node( parachain_config: Configuration, polkadot_config: Configuration, eth_config: EthConfiguration, @@ -154,16 +99,14 @@ pub async fn start_node( id: ParaId, hwbench: Option, first_evm_block: BlockNumber, -) -> sc_service::error::Result<(TaskManager, Arc>)> +) -> sc_service::error::Result<(TaskManager, Arc>)> where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, - Executor: sc_executor::NativeExecutionDispatch + 'static, { let is_authority = parachain_config.role.is_authority(); - evm::start_node_impl::( + evm::start_node_impl::( parachain_config, polkadot_config, eth_config, @@ -234,7 +177,7 @@ where )?; Ok(module) }, - build_import_queue::, + build_import_queue::, ) .await } @@ -243,9 +186,9 @@ where /// /// NOTE: Almost entirely taken from Polkadot SDK. #[allow(clippy::type_complexity)] -pub fn build_import_queue( - client: Arc>, - block_import: ParachainBlockImport, +pub fn build_import_queue( + client: Arc>, + block_import: ParachainBlockImport, config: &Configuration, telemetry: Option, task_manager: &TaskManager, @@ -253,10 +196,8 @@ pub fn build_import_queue( first_evm_block: BlockNumber, ) -> Result, sc_service::Error> where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, - Executor: sc_executor::NativeExecutionDispatch + 'static, { let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; let block_import = evm::BlockImport::new( @@ -293,14 +234,14 @@ where /// NOTE: Taken from Polkadot SDK because Moonbeam uses their custom Nimbus /// consensus #[allow(clippy::too_many_arguments)] -fn start_consensus( - client: Arc>, - block_import: ParachainBlockImport, +fn start_consensus( + client: Arc>, + block_import: ParachainBlockImport, prometheus_registry: Option<&Registry>, telemetry: Option, task_manager: &TaskManager, relay_chain_interface: Arc, - transaction_pool: Arc>>, + transaction_pool: Arc>>, sync_oracle: Arc>, keystore: KeystorePtr, relay_chain_slot_duration: Duration, @@ -310,10 +251,8 @@ fn start_consensus( announce_block: Arc>) + Send + Sync>, ) -> Result<(), sc_service::Error> where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, - Executor: sc_executor::NativeExecutionDispatch + 'static, { use cumulus_client_consensus_aura::collators::basic::{ self as basic_aura, Params as BasicAuraParams, diff --git a/node/src/service/evm.rs b/node/src/service/evm.rs index 6323ed2c3a..74b7038ec5 100644 --- a/node/src/service/evm.rs +++ b/node/src/service/evm.rs @@ -167,14 +167,14 @@ fn db_config_dir(config: &Configuration) -> PathBuf { /// Assembly of PartialComponents (enough to run chain ops subcommands) /// /// NOTE: Based on Polkadot SDK -pub type Service = PartialComponents< - FullClient, +pub type Service = PartialComponents< + FullClient, FullBackend, (), sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool>, + sc_transaction_pool::FullPool>, ( - ParachainBlockImport, + ParachainBlockImport, Option, Option, FrontierBackend, @@ -188,20 +188,18 @@ pub type Service = PartialComponents< /// Use this macro if you don't actually need the full service, but just the /// builder in order to be able to perform chain operations. #[allow(clippy::type_complexity)] -pub fn new_partial( +pub fn new_partial( config: &Configuration, first_evm_block: BlockNumber, build_import_queue: BIQ, -) -> Result, sc_service::Error> +) -> Result, sc_service::Error> where - Executor: sc_executor::NativeExecutionDispatch + 'static, - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, sc_client_api::StateBackendFor: sc_client_api::StateBackend, BIQ: FnOnce( - Arc>, - ParachainBlockImport, + Arc>, + ParachainBlockImport, &Configuration, Option, &TaskManager, @@ -229,7 +227,7 @@ where } }); - let wasm = sc_executor::WasmExecutor::builder() + let executor = sc_executor::WasmExecutor::builder() .with_execution_method(config.wasm_method) .with_onchain_heap_alloc_strategy(heap_pages) .with_offchain_heap_alloc_strategy(heap_pages) @@ -237,8 +235,6 @@ where .with_runtime_cache_size(config.runtime_cache_size) .build(); - let executor = sc_executor::NativeElseWasmExecutor::::new_with_wasm_executor(wasm); - let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( config, @@ -313,7 +309,7 @@ where /// runtime api. #[allow(clippy::too_many_arguments)] #[sc_tracing::logging::prefix_logs_with("🌀Parachain")] -pub(crate) async fn start_node_impl( +pub(crate) async fn start_node_impl( parachain_config: Configuration, polkadot_config: Configuration, eth_config: EthConfiguration, @@ -323,16 +319,14 @@ pub(crate) async fn start_node_impl( first_evm_block: BlockNumber, rpc_ext_builder: RB, build_import_queue: BIQ, -) -> sc_service::error::Result<(TaskManager, Arc>)> +) -> sc_service::error::Result<(TaskManager, Arc>)> where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, sc_client_api::StateBackendFor: sc_client_api::StateBackend, - Executor: sc_executor::NativeExecutionDispatch + 'static, RB: Fn( - Arc>, - Arc>>, + Arc>, + Arc>>, DenyUnsafe, SubscriptionTaskExecutor, Arc>, @@ -345,8 +339,8 @@ where ) -> Result + 'static, BIQ: FnOnce( - Arc>, - ParachainBlockImport, + Arc>, + ParachainBlockImport, &Configuration, Option, &TaskManager, @@ -356,11 +350,8 @@ where { let parachain_config = prepare_node_config(parachain_config); - let params = new_partial::( - ¶chain_config, - first_evm_block, - build_import_queue, - )?; + let params = + new_partial::(¶chain_config, first_evm_block, build_import_queue)?; let ( block_import, mut telemetry, @@ -456,7 +447,7 @@ where telemetry: telemetry.as_mut(), })?; - spawn_frontier_tasks::( + spawn_frontier_tasks::( &task_manager, client.clone(), backend.clone(), @@ -524,7 +515,7 @@ where // Follows Polkadot SDK if validator { - start_consensus::( + start_consensus::( client.clone(), block_import, prometheus_registry.as_ref(), @@ -548,9 +539,9 @@ where #[allow(clippy::too_many_arguments)] #[allow(clippy::extra_unused_type_parameters)] -fn spawn_frontier_tasks( +fn spawn_frontier_tasks( task_manager: &TaskManager, - client: Arc>, + client: Arc>, backend: Arc, frontier_backend: FrontierBackend, filter_pool: FilterPool, @@ -564,10 +555,8 @@ fn spawn_frontier_tasks( >, >, ) where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, - Executor: sc_executor::NativeExecutionDispatch + 'static, { match frontier_backend { FrontierBackend::KeyValue(fb) => { diff --git a/pallets/foreign-investments/src/mock.rs b/pallets/foreign-investments/src/mock.rs index f772a2093c..1126049e9a 100644 --- a/pallets/foreign-investments/src/mock.rs +++ b/pallets/foreign-investments/src/mock.rs @@ -1,8 +1,5 @@ -use cfg_traits::investments::TrancheCurrency; use cfg_types::investments::{ExecutedForeignCollect, ExecutedForeignDecreaseInvest}; use frame_support::derive_impl; -use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; use sp_runtime::FixedU128; use crate::{pallet as pallet_foreign_investments, FulfilledSwapHook, SwapId}; @@ -15,25 +12,6 @@ pub type OrderId = u64; pub type CurrencyId = u8; pub type Ratio = FixedU128; -#[derive( - Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Encode, Decode, TypeInfo, MaxEncodedLen, -)] -pub struct InvestmentId(pub PoolId, pub TrancheId); - -impl TrancheCurrency for InvestmentId { - fn generate(pool_id: PoolId, tranche_id: TrancheId) -> Self { - Self(pool_id, tranche_id) - } - - fn of_pool(&self) -> PoolId { - self.0 - } - - fn of_tranche(&self) -> TrancheId { - self.1 - } -} - frame_support::construct_runtime!( pub enum Runtime { System: frame_system, @@ -56,7 +34,7 @@ impl frame_system::Config for Runtime { impl cfg_mocks::investment::pallet::Config for Runtime { type Amount = Balance; type CurrencyId = CurrencyId; - type InvestmentId = InvestmentId; + type InvestmentId = (PoolId, TrancheId); type TrancheAmount = Balance; } @@ -70,19 +48,19 @@ impl cfg_mocks::token_swaps::pallet::Config for Runtime { type Hook1 = cfg_mocks::status_notification::pallet::Instance1; impl cfg_mocks::status_notification::pallet::Config for Runtime { - type Id = (AccountId, InvestmentId); + type Id = (AccountId, (PoolId, TrancheId)); type Status = ExecutedForeignDecreaseInvest; } type Hook2 = cfg_mocks::status_notification::pallet::Instance2; impl cfg_mocks::status_notification::pallet::Config for Runtime { - type Id = (AccountId, InvestmentId); + type Id = (AccountId, (PoolId, TrancheId)); type Status = ExecutedForeignCollect; } type Hook3 = cfg_mocks::status_notification::pallet::Instance3; impl cfg_mocks::status_notification::pallet::Config for Runtime { - type Id = (AccountId, InvestmentId); + type Id = (AccountId, (PoolId, TrancheId)); type Status = ExecutedForeignCollect; } @@ -91,7 +69,6 @@ impl cfg_mocks::pools::pallet::Config for Runtime { type BalanceRatio = Ratio; type CurrencyId = CurrencyId; type PoolId = PoolId; - type TrancheCurrency = InvestmentId; type TrancheId = TrancheId; } @@ -111,7 +88,7 @@ impl pallet_foreign_investments::Config for Runtime { type DecreasedForeignInvestOrderHook = MockDecreaseInvestHook; type ForeignBalance = Balance; type Investment = MockInvestment; - type InvestmentId = InvestmentId; + type InvestmentId = (PoolId, TrancheId); type PoolBalance = Balance; type PoolInspect = MockPools; type RuntimeEvent = RuntimeEvent; diff --git a/pallets/foreign-investments/src/tests.rs b/pallets/foreign-investments/src/tests.rs index 715e03f63a..d8b6b21107 100644 --- a/pallets/foreign-investments/src/tests.rs +++ b/pallets/foreign-investments/src/tests.rs @@ -19,7 +19,7 @@ use crate::{ }; const USER: AccountId = 1; -const INVESTMENT_ID: InvestmentId = InvestmentId(42, 23); +const INVESTMENT_ID: (PoolId, TrancheId) = (42, 23); const FOREIGN_CURR: CurrencyId = 5; const POOL_CURR: CurrencyId = 10; const STABLE_RATIO: Balance = 10; // Means: 1 foreign curr is 10 pool curr diff --git a/pallets/investments/src/benchmarking.rs b/pallets/investments/src/benchmarking.rs index 039e72a571..61be489504 100644 --- a/pallets/investments/src/benchmarking.rs +++ b/pallets/investments/src/benchmarking.rs @@ -39,7 +39,7 @@ where #[cfg(test)] crate::mock::MockAccountant::mock_bench_default_investment_id(|_| { - crate::mock::InvestmentId::default() + cfg_primitives::InvestmentId::default() }); T::Accountant::bench_create_funded_pool(pool_id, &pool_admin); diff --git a/pallets/investments/src/lib.rs b/pallets/investments/src/lib.rs index 18c7388c73..ef9ecd6967 100644 --- a/pallets/investments/src/lib.rs +++ b/pallets/investments/src/lib.rs @@ -1123,30 +1123,6 @@ impl Investment for Pallet { Ok(RedeemOrders::::get(who, investment_id) .map_or_else(Zero::zero, |order| order.amount())) } - - fn investment_requires_collect( - investor: &T::AccountId, - investment_id: Self::InvestmentId, - ) -> bool { - InvestOrders::::get(investor, investment_id) - .map(|order| { - let cur_order_id = InvestOrderId::::get(investment_id); - order.submitted_at() != cur_order_id - }) - .unwrap_or(false) - } - - fn redemption_requires_collect( - investor: &T::AccountId, - investment_id: Self::InvestmentId, - ) -> bool { - RedeemOrders::::get(investor, investment_id) - .map(|order| { - let cur_order_id = RedeemOrderId::::get(investment_id); - order.submitted_at() != cur_order_id - }) - .unwrap_or(false) - } } impl OrderManager for Pallet { diff --git a/pallets/investments/src/mock.rs b/pallets/investments/src/mock.rs index e405d63aae..57b7a287e1 100644 --- a/pallets/investments/src/mock.rs +++ b/pallets/investments/src/mock.rs @@ -35,9 +35,6 @@ use frame_support::{ }, }; use orml_traits::GetByKey; -use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; -use serde::{Deserialize, Serialize}; use sp_arithmetic::{FixedPointNumber, Perquintill}; use sp_io::TestExternalities; use sp_runtime::{traits::AccountIdConversion, BuildStorage, DispatchError, DispatchResult}; @@ -111,7 +108,6 @@ impl cfg_mocks::pallet_mock_pools::Config for Runtime { type BalanceRatio = Quantity; type CurrencyId = CurrencyId; type PoolId = PoolId; - type TrancheCurrency = InvestmentId; type TrancheId = TrancheId; } @@ -153,51 +149,6 @@ impl PreConditions for Always { } } -// TODO: This struct should be temporarily needed only -// We should add the possibility to use subsets of the -// global CurrencyId enum -#[derive( - Copy, - Clone, - Encode, - Decode, - PartialEq, - Debug, - Ord, - PartialOrd, - Eq, - TypeInfo, - Serialize, - Deserialize, - MaxEncodedLen, -)] -pub enum InvestmentId { - PoolTranche { - pool_id: PoolId, - tranche_id: TrancheId, - }, -} - -impl Default for InvestmentId { - fn default() -> Self { - Self::PoolTranche { - pool_id: Default::default(), - tranche_id: Default::default(), - } - } -} - -impl From for CurrencyId { - fn from(val: InvestmentId) -> Self { - match val { - InvestmentId::PoolTranche { - pool_id, - tranche_id, - } => CurrencyId::Tranche(pool_id, tranche_id), - } - } -} - // Test externalities builder // // This type is mainly used for mocking storage in tests. It is the type alias @@ -226,21 +177,13 @@ pub const TRANCHE_ID_1: [u8; 16] = [1u8; 16]; pub const OWNER_START_BALANCE: u128 = 100_000_000 * CURRENCY; /// The investment-id for investing into pool 0 and tranche 0 -pub const INVESTMENT_0_0: InvestmentId = InvestmentId::PoolTranche { - pool_id: POOL_ID, - tranche_id: TRANCHE_ID_0, -}; +pub const INVESTMENT_0_0: InvestmentId = (POOL_ID, TRANCHE_ID_0); + /// The investment-id for investing into pool 0 and tranche 1 -pub const INVESTMENT_0_1: InvestmentId = InvestmentId::PoolTranche { - pool_id: POOL_ID, - tranche_id: TRANCHE_ID_1, -}; +pub const INVESTMENT_0_1: InvestmentId = (POOL_ID, TRANCHE_ID_1); /// An unknown investment id -> i.e. a not yet created pool -pub const UNKNOWN_INVESTMENT: InvestmentId = InvestmentId::PoolTranche { - pool_id: 1, - tranche_id: TRANCHE_ID_0, -}; +pub const UNKNOWN_INVESTMENT: InvestmentId = (1, TRANCHE_ID_0); /// The currency id for the AUSD token pub const AUSD_CURRENCY_ID: CurrencyId = CurrencyId::ForeignAsset(1); diff --git a/pallets/liquidity-pools-gateway/routers/Cargo.toml b/pallets/liquidity-pools-gateway/routers/Cargo.toml index 7e5ba91264..3fde07c088 100644 --- a/pallets/liquidity-pools-gateway/routers/Cargo.toml +++ b/pallets/liquidity-pools-gateway/routers/Cargo.toml @@ -37,7 +37,6 @@ cfg-traits = { workspace = true } # Local pallets pallet-ethereum-transaction = { workspace = true } -pallet-liquidity-pools-gateway = { workspace = true } [dev-dependencies] cfg-types = { workspace = true, default-features = true } @@ -73,7 +72,6 @@ std = [ "sp-std/std", "sp-core/std", "staging-xcm/std", - "pallet-liquidity-pools-gateway/std", "pallet-xcm-transactor/std", "pallet-ethereum/std", "pallet-ethereum-transaction/std", @@ -90,7 +88,6 @@ runtime-benchmarks = [ "cfg-primitives/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", - "pallet-liquidity-pools-gateway/runtime-benchmarks", "pallet-ethereum/runtime-benchmarks", "pallet-ethereum-transaction/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", @@ -107,7 +104,6 @@ try-runtime = [ "cfg-primitives/try-runtime", "cfg-types/try-runtime", "cfg-mocks/try-runtime", - "pallet-liquidity-pools-gateway/try-runtime", "pallet-ethereum/try-runtime", "pallet-ethereum-transaction/try-runtime", "pallet-xcm-transactor/try-runtime", diff --git a/pallets/liquidity-pools-gateway/routers/src/lib.rs b/pallets/liquidity-pools-gateway/routers/src/lib.rs index a2e9f4184c..7f004c3442 100644 --- a/pallets/liquidity-pools-gateway/routers/src/lib.rs +++ b/pallets/liquidity-pools-gateway/routers/src/lib.rs @@ -61,13 +61,15 @@ mod mock; #[cfg(test)] mod tests; -pub mod routers; - -pub use routers::*; +pub mod routers { + pub mod axelar_evm; + pub mod axelar_xcm; + pub mod ethereum_xcm; +} -type CurrencyIdOf = ::CurrencyId; -type MessageOf = ::Message; -type AccountIdOf = ::AccountId; +pub use routers::{ + axelar_evm::AxelarEVMRouter, axelar_xcm::AxelarXCMRouter, ethereum_xcm::EthereumXCMRouter, +}; /// Maximum size allowed for a byte representation of an Axelar EVM chain /// string, as found below: @@ -87,11 +89,7 @@ const AXELAR_PAYLOAD_PARAM: &str = "payload"; #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] pub enum DomainRouter where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config - + pallet_ethereum_transaction::Config - + pallet_evm::Config, + T: pallet_xcm_transactor::Config + pallet_ethereum_transaction::Config + pallet_evm::Config, T::AccountId: AsRef<[u8; 32]>, OriginFor: From + Into>>, @@ -103,17 +101,12 @@ where impl Router for DomainRouter where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config - + pallet_ethereum_transaction::Config - + pallet_evm::Config, + T: pallet_xcm_transactor::Config + pallet_ethereum_transaction::Config + pallet_evm::Config, T::AccountId: AsRef<[u8; 32]>, OriginFor: From + Into>>, { - type Message = MessageOf; - type Sender = AccountIdOf; + type Sender = T::AccountId; fn init(&self) -> DispatchResult { match self { @@ -123,7 +116,7 @@ where } } - fn send(&self, sender: Self::Sender, message: Self::Message) -> DispatchResultWithPostInfo { + fn send(&self, sender: Self::Sender, message: Vec) -> DispatchResultWithPostInfo { match self { DomainRouter::EthereumXCM(r) => r.do_send(sender, message), DomainRouter::AxelarEVM(r) => r.do_send(sender, message), @@ -136,7 +129,7 @@ where #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] pub struct EVMRouter where - T: frame_system::Config + pallet_ethereum_transaction::Config + pallet_evm::Config, + T: pallet_ethereum_transaction::Config + pallet_evm::Config, OriginFor: From + Into>>, { @@ -146,7 +139,7 @@ where impl EVMRouter where - T: frame_system::Config + pallet_ethereum_transaction::Config + pallet_evm::Config, + T: pallet_ethereum_transaction::Config + pallet_evm::Config, OriginFor: From + Into>>, { @@ -160,7 +153,7 @@ where impl EVMRouter where - T: frame_system::Config + pallet_ethereum_transaction::Config + pallet_evm::Config, + T: pallet_ethereum_transaction::Config + pallet_evm::Config, T::AccountId: AsRef<[u8; 32]>, OriginFor: From + Into>>, @@ -229,17 +222,11 @@ pub struct FeeValues { /// A generic router used for executing XCM calls. #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] -pub struct XCMRouter -where - T: frame_system::Config + pallet_xcm_transactor::Config, -{ +pub struct XCMRouter { pub xcm_domain: XcmDomain, } -impl XCMRouter -where - T: frame_system::Config + pallet_xcm_transactor::Config, -{ +impl XCMRouter { /// Sets the weight information for the provided XCM domain location, and /// the fee per second for the provided fee asset location. pub fn do_init(&self) -> DispatchResult { @@ -286,7 +273,7 @@ pub(crate) fn get_encoded_ethereum_xcm_call( msg: Vec, ) -> Result, ()> where - T: frame_system::Config + pallet_xcm_transactor::Config, + T: pallet_xcm_transactor::Config, { let input = BoundedVec::>::try_from(msg) diff --git a/pallets/liquidity-pools-gateway/routers/src/mock.rs b/pallets/liquidity-pools-gateway/routers/src/mock.rs index 7671f21263..c48a5563c9 100644 --- a/pallets/liquidity-pools-gateway/routers/src/mock.rs +++ b/pallets/liquidity-pools-gateway/routers/src/mock.rs @@ -1,8 +1,7 @@ use std::str::FromStr; -use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, MessageMock, RouterMock}; -use cfg_primitives::{OutboundMessageNonce, BLOCK_STORAGE_LIMIT, MAX_POV_SIZE}; -use cfg_traits::TryConvert; +use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers}; +use cfg_primitives::{BLOCK_STORAGE_LIMIT, MAX_POV_SIZE}; use cfg_types::domain_address::DomainAddress; use cumulus_primitives_core::{Instruction, PalletInstance, Parachain, SendError, Xcm, XcmHash}; use frame_support::{ @@ -17,10 +16,9 @@ use pallet_evm::{ FixedGasWeightMapping, IsPrecompileResult, Precompile, PrecompileHandle, PrecompileResult, PrecompileSet, SubstrateBlockHashMapping, }; -use pallet_liquidity_pools_gateway::EnsureLocal; use parity_scale_codec::{Decode, Encode}; -use sp_core::{crypto::AccountId32, ByteArray, ConstU32, H160, H256, U256}; -use sp_runtime::{traits::IdentityLookup, ConsensusEngineId, DispatchError}; +use sp_core::{crypto::AccountId32, ByteArray, ConstU32, H160, U256}; +use sp_runtime::{traits::IdentityLookup, ConsensusEngineId}; use sp_std::{cell::RefCell, marker::PhantomData}; use staging_xcm::latest::{ opaque, Asset, Assets, Error as XcmError, InteriorLocation, Junction, Location, NetworkId, @@ -41,7 +39,6 @@ frame_support::construct_runtime!( System: frame_system, Balances: pallet_balances, MockLiquidityPools: pallet_mock_liquidity_pools, - LiquidityPoolsGateway: pallet_liquidity_pools_gateway, XcmTransactor: pallet_xcm_transactor, EVM: pallet_evm, Timestamp: pallet_timestamp, @@ -79,41 +76,13 @@ impl pallet_balances::Config for Runtime { impl pallet_mock_liquidity_pools::Config for Runtime { type DomainAddress = DomainAddress; - type Message = MessageMock; + type Message = (); } impl pallet_ethereum_transaction::Config for Runtime {} impl pallet_mock_routers::Config for Runtime {} -pub struct MockOriginRecovery; -impl TryConvert<(Vec, Vec), DomainAddress> for MockOriginRecovery { - type Error = DispatchError; - - fn try_convert(_: (Vec, Vec)) -> Result { - Err(DispatchError::Other("Unimplemented")) - } -} - -parameter_types! { - pub Sender: AccountId32 = AccountId32::from(H256::from_low_u64_be(1).to_fixed_bytes()); -} - -impl pallet_liquidity_pools_gateway::Config for Runtime { - type AdminOrigin = EnsureRoot; - type InboundQueue = MockLiquidityPools; - type LocalEVMOrigin = EnsureLocal; - type MaxIncomingMessageSize = MaxIncomingMessageSize; - type Message = MessageMock; - type OriginRecovery = MockOriginRecovery; - type OutboundMessageNonce = OutboundMessageNonce; - type Router = RouterMock; - type RuntimeEvent = RuntimeEvent; - type RuntimeOrigin = RuntimeOrigin; - type Sender = Sender; - type WeightInfo = (); -} - parameter_types! { pub const MinimumPeriod: u64 = 1000; } diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs index 7aea971fc8..670bb8b4dd 100644 --- a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs +++ b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs @@ -9,7 +9,7 @@ // 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. -use cfg_traits::liquidity_pools::Codec; + use ethabi::{Contract, Function, Param, ParamType, Token}; use frame_support::{ dispatch::{DispatchResult, DispatchResultWithPostInfo}, @@ -25,19 +25,15 @@ use sp_core::{bounded::BoundedVec, ConstU32, H160}; use sp_std::{collections::btree_map::BTreeMap, vec, vec::Vec}; use crate::{ - AccountIdOf, EVMRouter, MessageOf, AXELAR_DESTINATION_CHAIN_PARAM, - AXELAR_DESTINATION_CONTRACT_ADDRESS_PARAM, AXELAR_FUNCTION_NAME, AXELAR_PAYLOAD_PARAM, - MAX_AXELAR_EVM_CHAIN_SIZE, + EVMRouter, AXELAR_DESTINATION_CHAIN_PARAM, AXELAR_DESTINATION_CONTRACT_ADDRESS_PARAM, + AXELAR_FUNCTION_NAME, AXELAR_PAYLOAD_PARAM, MAX_AXELAR_EVM_CHAIN_SIZE, }; /// The router used for executing the LiquidityPools contract via Axelar. #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] pub struct AxelarEVMRouter where - T: frame_system::Config - + pallet_liquidity_pools_gateway::Config - + pallet_ethereum_transaction::Config - + pallet_evm::Config, + T: pallet_ethereum_transaction::Config + pallet_evm::Config, OriginFor: From + Into>>, { @@ -48,10 +44,7 @@ where impl AxelarEVMRouter where - T: frame_system::Config - + pallet_liquidity_pools_gateway::Config - + pallet_ethereum_transaction::Config - + pallet_evm::Config, + T: pallet_ethereum_transaction::Config + pallet_evm::Config, T::AccountId: AsRef<[u8; 32]>, OriginFor: From + Into>>, @@ -73,11 +66,10 @@ where self.router.do_init() } - /// Encodes the message to the required format, - /// then executes the EVM call using the generic EVM router. - pub fn do_send(&self, sender: AccountIdOf, msg: MessageOf) -> DispatchResultWithPostInfo { + /// Executes the EVM call using the generic EVM router. + pub fn do_send(&self, sender: T::AccountId, msg: Vec) -> DispatchResultWithPostInfo { let eth_msg = get_axelar_encoded_msg( - msg.serialize(), + msg, self.evm_chain.clone().into_inner(), self.liquidity_pools_contract_address, ) diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_xcm.rs b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_xcm.rs index fa245b0036..4ec4003212 100644 --- a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_xcm.rs +++ b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_xcm.rs @@ -10,40 +10,25 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_traits::liquidity_pools::Codec; use frame_support::dispatch::{DispatchResult, DispatchResultWithPostInfo}; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_core::{bounded::BoundedVec, ConstU32, H160}; use sp_runtime::DispatchError; +use sp_std::vec::Vec; -use crate::{ - axelar_evm::get_axelar_encoded_msg, AccountIdOf, CurrencyIdOf, MessageOf, XCMRouter, XcmDomain, - MAX_AXELAR_EVM_CHAIN_SIZE, -}; - -pub type AxelarXcmDomain = XcmDomain>; +use crate::{routers::axelar_evm::get_axelar_encoded_msg, XCMRouter, MAX_AXELAR_EVM_CHAIN_SIZE}; /// The router used for submitting a message using Axelar via /// Moonbeam XCM. #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] -pub struct AxelarXCMRouter -where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config, -{ +pub struct AxelarXCMRouter { pub router: XCMRouter, pub axelar_target_chain: BoundedVec>, pub axelar_target_contract: H160, } -impl AxelarXCMRouter -where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config, -{ +impl AxelarXCMRouter { /// Calls the init function on the EVM router. pub fn do_init(&self) -> DispatchResult { self.router.do_init() @@ -51,9 +36,9 @@ where /// Encodes the message to the required format, /// then executes the EVM call using the generic XCM router. - pub fn do_send(&self, sender: AccountIdOf, msg: MessageOf) -> DispatchResultWithPostInfo { + pub fn do_send(&self, sender: T::AccountId, msg: Vec) -> DispatchResultWithPostInfo { let contract_call = get_axelar_encoded_msg( - msg.serialize(), + msg, self.axelar_target_chain.clone().into_inner(), self.axelar_target_contract, ) diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs b/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs index 26aa2c7afc..571cd5cfc0 100644 --- a/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs +++ b/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs @@ -9,7 +9,7 @@ // 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. -use cfg_traits::liquidity_pools::Codec; + use ethabi::{Bytes, Contract}; use frame_support::{ dispatch::{DispatchResult, DispatchResultWithPostInfo}, @@ -19,34 +19,23 @@ use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_std::{collections::btree_map::BTreeMap, vec, vec::Vec}; -use crate::{AccountIdOf, MessageOf, XCMRouter, FUNCTION_NAME, MESSAGE_PARAM}; +use crate::{XCMRouter, FUNCTION_NAME, MESSAGE_PARAM}; /// The router used for submitting a message via Moonbeam XCM. #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] -pub struct EthereumXCMRouter -where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config, -{ +pub struct EthereumXCMRouter { pub router: XCMRouter, } -impl EthereumXCMRouter -where - T: frame_system::Config - + pallet_xcm_transactor::Config - + pallet_liquidity_pools_gateway::Config, -{ +impl EthereumXCMRouter { /// Calls the init function on the EVM router. pub fn do_init(&self) -> DispatchResult { self.router.do_init() } - /// Encodes the message to the required format and executes the - /// call via the XCM router. - pub fn do_send(&self, sender: AccountIdOf, msg: MessageOf) -> DispatchResultWithPostInfo { - let contract_call = get_encoded_contract_call(msg.serialize()) + /// Executes the call via the XCM router. + pub fn do_send(&self, sender: T::AccountId, msg: Vec) -> DispatchResultWithPostInfo { + let contract_call = get_encoded_contract_call(msg) .map_err(|_| DispatchError::Other("encoded contract call retrieval"))?; self.router.do_send(sender, contract_call) @@ -70,7 +59,7 @@ pub(crate) fn get_encoded_contract_call(encoded_msg: Vec) -> Result Contract { +fn get_xcm_router_contract() -> Contract { let mut functions = BTreeMap::new(); #[allow(deprecated)] functions.insert( diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/mod.rs b/pallets/liquidity-pools-gateway/routers/src/routers/mod.rs deleted file mode 100644 index 2f932293c9..0000000000 --- a/pallets/liquidity-pools-gateway/routers/src/routers/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2021 Centrifuge Foundation (centrifuge.io). -// -// This file is part of the Centrifuge chain project. -// Centrifuge 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 (see http://www.gnu.org/licenses). -// Centrifuge 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. -pub mod axelar_evm; -pub mod axelar_xcm; -pub mod ethereum_xcm; - -pub use axelar_evm::*; -pub use axelar_xcm::*; -pub use ethereum_xcm::*; diff --git a/pallets/liquidity-pools-gateway/routers/src/tests.rs b/pallets/liquidity-pools-gateway/routers/src/tests.rs index 88dfdd17dd..7db8b6569d 100644 --- a/pallets/liquidity-pools-gateway/routers/src/tests.rs +++ b/pallets/liquidity-pools-gateway/routers/src/tests.rs @@ -1,6 +1,5 @@ -use cfg_mocks::MessageMock; use cfg_primitives::CFG; -use cfg_traits::liquidity_pools::{Codec, Router}; +use cfg_traits::liquidity_pools::Router; use frame_support::{assert_noop, assert_ok, traits::fungible::Mutate}; use lazy_static::lazy_static; use pallet_evm::AddressMapping; @@ -14,7 +13,10 @@ use staging_xcm::latest::{ }; use super::mock::*; -use crate::*; +use crate::{ + routers::{axelar_evm::get_axelar_encoded_msg, ethereum_xcm::get_encoded_contract_call}, + *, +}; lazy_static! { static ref TEST_EVM_CHAIN: BoundedVec> = @@ -318,7 +320,7 @@ mod axelar_evm { pub sender: AccountId32, pub sender_h160: H160, pub derived_sender: AccountId32, - pub msg: MessageMock, + pub msg: Vec, } pub fn get_test_data() -> AxelarEVMTestData { @@ -342,7 +344,7 @@ mod axelar_evm { H160::from_slice(&>::as_ref(&sender)[0..20]); let derived_sender = IdentityAddressMapping::into_account_id(sender_h160); - let msg = MessageMock::Second; + let msg = vec![0x42]; AxelarEVMTestData { axelar_contract_address, @@ -496,7 +498,7 @@ mod axelar_xcm { pub axelar_target_chain: BoundedVec>, pub axelar_target_contract: H160, pub sender: AccountId32, - pub msg: MessageMock, + pub msg: Vec, } pub fn get_test_data() -> AxelarXCMTestData { @@ -518,7 +520,7 @@ mod axelar_xcm { let sender: AccountId32 = [0; 32].into(); - let msg = MessageMock::First; + let msg = vec![0x42]; AxelarXCMTestData { currency_id, @@ -599,7 +601,7 @@ mod axelar_xcm { })); let contract_call = get_axelar_encoded_msg( - test_data.msg.serialize(), + test_data.msg, test_data.axelar_target_chain.clone().into_inner(), test_data.axelar_target_contract, ) @@ -635,7 +637,7 @@ mod ethereum_xcm { pub axelar_target_chain: BoundedVec>, pub axelar_target_contract: H160, pub sender: AccountId32, - pub msg: MessageMock, + pub msg: Vec, } pub fn get_test_data() -> EthereumXCMTestData { @@ -657,7 +659,7 @@ mod ethereum_xcm { let sender: AccountId32 = [0; 32].into(); - let msg = MessageMock::First; + let msg = vec![0x42]; EthereumXCMTestData { currency_id, @@ -730,7 +732,7 @@ mod ethereum_xcm { weight_limit: WeightLimit::Limited(test_data.xcm_domain.overall_weight), })); - let contract_call = get_encoded_contract_call(test_data.msg.serialize()).unwrap(); + let contract_call = get_encoded_contract_call(test_data.msg).unwrap(); let expected_call = get_encoded_ethereum_xcm_call::( test_data.xcm_domain.clone(), contract_call, diff --git a/pallets/liquidity-pools-gateway/src/lib.rs b/pallets/liquidity-pools-gateway/src/lib.rs index c0b0ad13af..c8c162388a 100644 --- a/pallets/liquidity-pools-gateway/src/lib.rs +++ b/pallets/liquidity-pools-gateway/src/lib.rs @@ -29,7 +29,7 @@ use core::fmt::Debug; use cfg_traits::{ - liquidity_pools::{Codec, InboundQueue, OutboundQueue, Router as DomainRouter}, + liquidity_pools::{InboundQueue, LPEncoding, OutboundQueue, Router as DomainRouter}, TryConvert, }; use cfg_types::domain_address::{Domain, DomainAddress}; @@ -122,10 +122,10 @@ pub mod pallet { /// /// NOTE - this `Codec` trait is the Centrifuge trait for liquidity /// pools' messages. - type Message: Codec + Clone + Debug + PartialEq + MaxEncodedLen + TypeInfo + FullCodec; + type Message: LPEncoding + Clone + Debug + PartialEq + MaxEncodedLen + TypeInfo + FullCodec; /// The message router type that is stored for each domain. - type Router: DomainRouter + type Router: DomainRouter + Clone + Debug + MaxEncodedLen @@ -634,7 +634,7 @@ pub mod pallet { Error::::UnknownInstance, ); - let incoming_msg = T::Message::deserialize(&mut msg.as_slice()) + let incoming_msg = T::Message::deserialize(msg.as_slice()) .map_err(|_| Error::::MessageDecodingFailed)?; Ok((address, incoming_msg)) @@ -744,7 +744,7 @@ pub mod pallet { } }; - match router.send(sender, message) { + match router.send(sender, message.serialize()) { Ok(dispatch_info) => Ok(post_dispatch_info_fn( dispatch_info.actual_weight, read_weight, diff --git a/pallets/liquidity-pools-gateway/src/mock.rs b/pallets/liquidity-pools-gateway/src/mock.rs index 4f0f2c78de..a64ac20dbc 100644 --- a/pallets/liquidity-pools-gateway/src/mock.rs +++ b/pallets/liquidity-pools-gateway/src/mock.rs @@ -1,15 +1,14 @@ -use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, MessageMock, RouterMock}; +use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, RouterMock}; use cfg_primitives::OutboundMessageNonce; +use cfg_traits::liquidity_pools::test_util::Message; use cfg_types::domain_address::DomainAddress; use frame_support::derive_impl; use frame_system::EnsureRoot; -use sp_core::{crypto::AccountId32, ConstU128, H256}; -use sp_runtime::{traits::IdentityLookup, BuildStorage}; +use sp_core::{crypto::AccountId32, H256}; +use sp_runtime::traits::IdentityLookup; use crate::{pallet as pallet_liquidity_pools_gateway, EnsureLocal}; -pub type Balance = u128; - pub const LENGTH_SOURCE_CHAIN: usize = 10; pub const SOURCE_CHAIN: [u8; LENGTH_SOURCE_CHAIN] = *b"ethereum-2"; pub const SOURCE_CHAIN_EVM_ID: u64 = 1; @@ -20,7 +19,6 @@ pub const SOURCE_ADDRESS: [u8; LENGTH_SOURCE_ADDRESS] = [0u8; LENGTH_SOURCE_ADDR frame_support::construct_runtime!( pub enum Runtime { System: frame_system, - Balances: pallet_balances, MockLiquidityPools: pallet_mock_liquidity_pools, MockRouters: pallet_mock_routers, MockOriginRecovery: cfg_mocks::converter::pallet, @@ -30,24 +28,14 @@ frame_support::construct_runtime!( #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)] impl frame_system::Config for Runtime { - type AccountData = pallet_balances::AccountData; type AccountId = AccountId32; type Block = frame_system::mocking::MockBlock; type Lookup = IdentityLookup; } -#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] -impl pallet_balances::Config for Runtime { - type AccountStore = System; - type Balance = Balance; - type DustRemoval = (); - type ExistentialDeposit = ConstU128<1>; - type RuntimeHoldReason = (); -} - impl pallet_mock_liquidity_pools::Config for Runtime { type DomainAddress = DomainAddress; - type Message = MessageMock; + type Message = Message; } impl pallet_mock_routers::Config for Runtime {} @@ -67,7 +55,7 @@ impl pallet_liquidity_pools_gateway::Config for Runtime { type InboundQueue = MockLiquidityPools; type LocalEVMOrigin = EnsureLocal; type MaxIncomingMessageSize = MaxIncomingMessageSize; - type Message = MessageMock; + type Message = Message; type OriginRecovery = MockOriginRecovery; type OutboundMessageNonce = OutboundMessageNonce; type Router = RouterMock; @@ -78,12 +66,5 @@ impl pallet_liquidity_pools_gateway::Config for Runtime { } pub fn new_test_ext() -> sp_io::TestExternalities { - let storage = frame_system::GenesisConfig::::default() - .build_storage() - .unwrap(); - - let mut ext = sp_io::TestExternalities::new(storage); - ext.execute_with(|| frame_system::Pallet::::set_block_number(1)); - - ext + System::externalities() } diff --git a/pallets/liquidity-pools-gateway/src/tests.rs b/pallets/liquidity-pools-gateway/src/tests.rs index 60185de92f..ad4630d478 100644 --- a/pallets/liquidity-pools-gateway/src/tests.rs +++ b/pallets/liquidity-pools-gateway/src/tests.rs @@ -1,6 +1,6 @@ use cfg_mocks::*; use cfg_primitives::OutboundMessageNonce; -use cfg_traits::liquidity_pools::{Codec, OutboundQueue}; +use cfg_traits::liquidity_pools::{test_util::Message, LPEncoding, OutboundQueue}; use cfg_types::domain_address::*; use frame_support::{ assert_noop, assert_ok, @@ -385,7 +385,7 @@ mod process_msg_axelar_relay { )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let expected_domain_address = domain_address.clone(); MockLiquidityPools::mock_submit(move |domain, message| { @@ -405,10 +405,8 @@ mod process_msg_axelar_relay { Ok(expected_domain_address.clone()) }); - // NOTE: A solidity generated payload. The most important part about this is the new decoding of the address. - // The message was cut out and replaced with a single byte of value 0 in order to decode correctly to this - // mocks message type. - let payload = hex::decode("0000000a657468657265756d2d320000002a30783835303362343435324266363233386343373643646245453232336234366437313936623163393300").unwrap(); + let solidity_header = "0000000a657468657265756d2d320000002a307838353033623434353242663632333863433736436462454532323362343664373139366231633933"; + let payload = [hex::decode(solidity_header).unwrap(), Message.serialize()].concat(); assert_ok!(LiquidityPoolsGateway::process_msg( GatewayOrigin::AxelarRelay(relayer_address).into(), @@ -434,7 +432,7 @@ mod process_msg_axelar_relay { relayer_address.clone(), )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let expected_domain_address = domain_address.clone(); let mut msg = Vec::new(); @@ -480,7 +478,7 @@ mod process_msg_axelar_relay { relayer_address.clone(), )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let mut msg = Vec::new(); @@ -522,7 +520,7 @@ mod process_msg_axelar_relay { relayer_address.clone(), )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let mut msg = Vec::new(); msg.extend_from_slice(&(LENGTH_SOURCE_CHAIN as u32).to_be_bytes()); @@ -570,13 +568,6 @@ mod process_msg_axelar_relay { )); let encoded_msg: Vec = vec![11]; - let mut msg = Vec::new(); - msg.extend_from_slice(&(LENGTH_SOURCE_CHAIN as u32).to_be_bytes()); - msg.extend_from_slice(&SOURCE_CHAIN); - msg.extend_from_slice(&(LENGTH_SOURCE_ADDRESS as u32).to_be_bytes()); - msg.extend_from_slice(&SOURCE_ADDRESS); - msg.extend_from_slice(&encoded_msg); - let expected_domain_address = domain_address.clone(); MockOriginRecovery::mock_try_convert(move |origin| { @@ -615,39 +606,21 @@ mod process_msg_axelar_relay { relayer_address.clone(), )); - let expected_msg = MessageMock::First; - - let mut msg = Vec::new(); - msg.extend_from_slice(&(LENGTH_SOURCE_CHAIN as u32).to_be_bytes()); - msg.extend_from_slice(&SOURCE_CHAIN); - msg.extend_from_slice(&(LENGTH_SOURCE_ADDRESS as u32).to_be_bytes()); - msg.extend_from_slice(&SOURCE_ADDRESS); - msg.extend_from_slice(&expected_msg.serialize()); + let expected_msg = Message; + let encoded_msg = expected_msg.serialize(); let expected_domain_address = domain_address.clone(); - MockOriginRecovery::mock_try_convert(move |origin| { - let (source_chain, source_address) = origin; - - assert_eq!(&source_chain, SOURCE_CHAIN.as_slice()); - assert_eq!(&source_address, SOURCE_ADDRESS.as_slice()); - - Ok(expected_domain_address.clone()) - }); + MockOriginRecovery::mock_try_convert(move |_| Ok(expected_domain_address.clone())); let err = sp_runtime::DispatchError::from("liquidity_pools error"); - let expected_domain_address = domain_address.clone(); - MockLiquidityPools::mock_submit(move |domain, message| { - assert_eq!(domain, expected_domain_address.clone()); - assert_eq!(message, expected_msg); - Err(err) - }); + MockLiquidityPools::mock_submit(move |_, _| Err(err)); assert_noop!( LiquidityPoolsGateway::process_msg( GatewayOrigin::Domain(domain_address).into(), - BoundedVec::::try_from(msg).unwrap() + BoundedVec::::try_from(encoded_msg).unwrap() ), err, ); @@ -671,7 +644,7 @@ mod process_msg_domain { domain_address.clone(), )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let encoded_msg = expected_msg.serialize(); let expected_domain_address = domain_address.clone(); @@ -692,7 +665,7 @@ mod process_msg_domain { #[test] fn bad_origin() { new_test_ext().execute_with(|| { - let encoded_msg = MessageMock::First.serialize(); + let encoded_msg = Message.serialize(); assert_noop!( LiquidityPoolsGateway::process_msg( @@ -708,7 +681,7 @@ mod process_msg_domain { fn invalid_message_origin() { new_test_ext().execute_with(|| { let domain_address = DomainAddress::Centrifuge(get_test_account_id().into()); - let encoded_msg = MessageMock::First.serialize(); + let encoded_msg = Message.serialize(); assert_noop!( LiquidityPoolsGateway::process_msg( @@ -725,7 +698,7 @@ mod process_msg_domain { new_test_ext().execute_with(|| { let address = H160::from_slice(&get_test_account_id().as_slice()[..20]); let domain_address = DomainAddress::EVM(0, address.into()); - let encoded_msg = MessageMock::First.serialize(); + let encoded_msg = Message.serialize(); assert_noop!( LiquidityPoolsGateway::process_msg( @@ -771,7 +744,7 @@ mod process_msg_domain { domain_address.clone(), )); - let expected_msg = MessageMock::First; + let expected_msg = Message; let encoded_msg = expected_msg.serialize(); let expected_domain_address = domain_address.clone(); @@ -813,7 +786,7 @@ mod process_outbound_message { )); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; router.mock_send({ let sender = sender.clone(); @@ -821,7 +794,7 @@ mod process_outbound_message { move |mock_sender, mock_msg| { assert_eq!(sender, mock_sender); - assert_eq!(msg, mock_msg); + assert_eq!(msg.serialize(), mock_msg); Ok(PostDispatchInfo { actual_weight: Some(Weight::from_parts(100, 100)), @@ -881,18 +854,13 @@ mod process_outbound_message { )); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; let err = DispatchError::Unavailable; router.mock_send({ - let sender = sender.clone(); - let msg = msg.clone(); let err = err.clone(); - move |mock_sender, mock_msg| { - assert_eq!(sender, mock_sender); - assert_eq!(msg, mock_msg); - + move |_, _| { Err(DispatchErrorWithPostInfo { post_info: PostDispatchInfo { actual_weight: Some(Weight::from_parts(100, 100)), @@ -954,7 +922,7 @@ mod process_failed_outbound_message { )); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; let err = DispatchError::Unavailable; router.mock_send({ @@ -963,7 +931,7 @@ mod process_failed_outbound_message { move |mock_sender, mock_msg| { assert_eq!(sender, mock_sender); - assert_eq!(msg, mock_msg); + assert_eq!(msg.serialize(), mock_msg); Ok(PostDispatchInfo { actual_weight: Some(Weight::from_parts(100, 100)), @@ -1023,18 +991,13 @@ mod process_failed_outbound_message { )); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; let err = DispatchError::Unavailable; router.mock_send({ - let sender = sender.clone(); - let msg = msg.clone(); let err = err.clone(); - move |mock_sender, mock_msg| { - assert_eq!(sender, mock_sender); - assert_eq!(msg, mock_msg); - + move |_, _| { Err(DispatchErrorWithPostInfo { post_info: PostDispatchInfo { actual_weight: Some(Weight::from_parts(100, 100)), @@ -1078,7 +1041,7 @@ mod outbound_queue_impl { new_test_ext().execute_with(|| { let domain = Domain::EVM(0); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; let router = RouterMock::::default(); router.mock_init(move || Ok(())); @@ -1116,7 +1079,7 @@ mod outbound_queue_impl { new_test_ext().execute_with(|| { let domain = Domain::Centrifuge; let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; assert_noop!( LiquidityPoolsGateway::submit(sender, domain, msg), @@ -1130,7 +1093,7 @@ mod outbound_queue_impl { new_test_ext().execute_with(|| { let domain = Domain::EVM(0); let sender = get_test_account_id(); - let msg = MessageMock::First; + let msg = Message; assert_noop!( LiquidityPoolsGateway::submit(sender, domain, msg), diff --git a/pallets/liquidity-pools/Cargo.toml b/pallets/liquidity-pools/Cargo.toml index a5c8dfbf01..9b2bab88a5 100644 --- a/pallets/liquidity-pools/Cargo.toml +++ b/pallets/liquidity-pools/Cargo.toml @@ -19,6 +19,8 @@ hex = { workspace = true } orml-traits = { workspace = true } parity-scale-codec = { workspace = true } scale-info = { workspace = true } +serde = { workspace = true } +serde-big-array = { workspace = true } sp-core = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } @@ -50,6 +52,7 @@ std = [ "orml-traits/std", "staging-xcm/std", "scale-info/std", + "serde/std", ] runtime-benchmarks = [ "orml-tokens/runtime-benchmarks", diff --git a/pallets/liquidity-pools/src/gmpf/de.rs b/pallets/liquidity-pools/src/gmpf/de.rs new file mode 100644 index 0000000000..f4f7e9e020 --- /dev/null +++ b/pallets/liquidity-pools/src/gmpf/de.rs @@ -0,0 +1,241 @@ +use serde::{ + de::{self, DeserializeSeed, EnumAccess, IntoDeserializer, SeqAccess, VariantAccess, Visitor}, + Deserialize, +}; + +use super::error::{Error, Result}; + +struct Deserializer<'de> { + input: &'de [u8], +} + +impl<'de> Deserializer<'de> { + fn from_slice(input: &'de [u8]) -> Self { + Deserializer { input } + } +} + +pub fn from_slice<'a, T: Deserialize<'a>>(s: &'a [u8]) -> Result { + let mut deserializer = Deserializer::from_slice(s); + T::deserialize(&mut deserializer) +} + +impl<'de> Deserializer<'de> { + fn consume(&mut self) -> Result<&[u8; N]> { + match self.input.split_first_chunk::() { + Some((consumed, remaining)) => { + self.input = remaining; + Ok(consumed) + } + None => Err(Error::Eof), + } + } +} + +impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> { + type Error = Error; + + fn deserialize_any>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_bool>(self, visitor: V) -> Result { + visitor.visit_bool(self.consume::<1>()?[0] != 0) + } + + fn deserialize_i8>(self, visitor: V) -> Result { + visitor.visit_i8(i8::from_be_bytes(*self.consume::<1>()?)) + } + + fn deserialize_i16>(self, visitor: V) -> Result { + visitor.visit_i16(i16::from_be_bytes(*self.consume::<2>()?)) + } + + fn deserialize_i32>(self, visitor: V) -> Result { + visitor.visit_i32(i32::from_be_bytes(*self.consume::<4>()?)) + } + + fn deserialize_i64>(self, visitor: V) -> Result { + visitor.visit_i64(i64::from_be_bytes(*self.consume::<8>()?)) + } + + fn deserialize_i128>(self, visitor: V) -> Result { + visitor.visit_i128(i128::from_be_bytes(*self.consume::<16>()?)) + } + + fn deserialize_u8>(self, visitor: V) -> Result { + visitor.visit_u8(u8::from_be_bytes(*self.consume::<1>()?)) + } + + fn deserialize_u16>(self, visitor: V) -> Result { + visitor.visit_u16(u16::from_be_bytes(*self.consume::<2>()?)) + } + + fn deserialize_u32>(self, visitor: V) -> Result { + visitor.visit_u32(u32::from_be_bytes(*self.consume::<4>()?)) + } + + fn deserialize_u64>(self, visitor: V) -> Result { + visitor.visit_u64(u64::from_be_bytes(*self.consume::<8>()?)) + } + + fn deserialize_u128>(self, visitor: V) -> Result { + visitor.visit_u128(u128::from_be_bytes(*self.consume::<16>()?)) + } + + fn deserialize_f32>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_f64>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_char>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_str>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_string>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_bytes>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_byte_buf>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_option>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_unit>(self, visitor: V) -> Result { + visitor.visit_unit() + } + + fn deserialize_unit_struct>( + self, + _name: &'static str, + visitor: V, + ) -> Result { + visitor.visit_unit() + } + + fn deserialize_newtype_struct>( + self, + _name: &'static str, + visitor: V, + ) -> Result { + visitor.visit_newtype_struct(self) + } + + fn deserialize_seq>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_tuple>(self, len: usize, visitor: V) -> Result { + struct SeqDeserializer<'a, 'de>(&'a mut Deserializer<'de>, usize); + + impl<'de, 'a> SeqAccess<'de> for SeqDeserializer<'a, 'de> { + type Error = Error; + + fn next_element_seed>( + &mut self, + seed: T, + ) -> Result> { + if self.1 > 0 { + self.1 -= 1; + let value = de::DeserializeSeed::deserialize(seed, &mut *self.0)?; + Ok(Some(value)) + } else { + Ok(None) + } + } + + fn size_hint(&self) -> Option { + Some(self.1) + } + } + + visitor.visit_seq(SeqDeserializer(self, len)) + } + + fn deserialize_tuple_struct>( + self, + _name: &'static str, + len: usize, + visitor: V, + ) -> Result { + self.deserialize_tuple(len, visitor) + } + + fn deserialize_map>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_struct>( + self, + _name: &'static str, + fields: &'static [&'static str], + visitor: V, + ) -> Result { + self.deserialize_tuple(fields.len(), visitor) + } + + fn deserialize_enum>( + self, + _name: &'static str, + _variants: &'static [&'static str], + visitor: V, + ) -> Result { + visitor.visit_enum(self) + } + + fn deserialize_identifier>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } + + fn deserialize_ignored_any>(self, _visitor: V) -> Result { + Err(Error::Unimplemented) + } +} + +impl<'de, 'a> EnumAccess<'de> for &'a mut Deserializer<'de> { + type Error = Error; + type Variant = Self; + + fn variant_seed>(self, seed: V) -> Result<(V::Value, Self::Variant)> { + let index = self.consume::<1>()?[0]; + Ok((seed.deserialize(index.into_deserializer())?, self)) + } +} + +impl<'de, 'a> VariantAccess<'de> for &'a mut Deserializer<'de> { + type Error = Error; + + fn unit_variant(self) -> Result<()> { + Ok(()) + } + + fn newtype_variant_seed>(self, seed: T) -> Result { + DeserializeSeed::deserialize(seed, self) + } + + fn tuple_variant>(self, len: usize, visitor: V) -> Result { + de::Deserializer::deserialize_tuple(self, len, visitor) + } + + fn struct_variant>( + self, + fields: &'static [&'static str], + visitor: V, + ) -> Result { + de::Deserializer::deserialize_tuple(self, fields.len(), visitor) + } +} diff --git a/pallets/liquidity-pools/src/gmpf/error.rs b/pallets/liquidity-pools/src/gmpf/error.rs new file mode 100644 index 0000000000..fc35ad5a6c --- /dev/null +++ b/pallets/liquidity-pools/src/gmpf/error.rs @@ -0,0 +1,45 @@ +use scale_info::prelude::string::ToString; +use serde::{de, ser}; +use sp_std::{ + fmt::{self, Display}, + vec::Vec, +}; + +pub type Result = sp_std::result::Result; + +#[derive(Debug)] +pub enum Error { + Message(Vec), + EnumSize, + Unimplemented, + UnknownSize, + Eof, +} + +impl ser::Error for Error { + fn custom(msg: T) -> Self { + Error::Message(msg.to_string().into_bytes()) + } +} + +impl de::Error for Error { + fn custom(msg: T) -> Self { + Error::Message(msg.to_string().into_bytes()) + } +} + +impl Display for Error { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + let msg = match self { + Error::Message(msg) => sp_std::str::from_utf8(msg).unwrap_or(""), + Error::EnumSize => "enum variant size too large to serialize(> 255)", + Error::Unimplemented => "unimplemented serialization", + Error::UnknownSize => "sequence size is not known", + Error::Eof => "End of file", + }; + + formatter.write_str(msg) + } +} + +impl ser::StdError for Error {} diff --git a/pallets/liquidity-pools/src/gmpf/ser.rs b/pallets/liquidity-pools/src/gmpf/ser.rs new file mode 100644 index 0000000000..83c7589f50 --- /dev/null +++ b/pallets/liquidity-pools/src/gmpf/ser.rs @@ -0,0 +1,296 @@ +use serde::{ser, Serialize}; +use sp_std::vec::Vec; + +use super::error::{Error, Result}; + +struct Serializer { + output: Vec, +} + +pub fn to_vec(value: &T) -> Result> { + let mut serializer = Serializer { + output: Vec::default(), + }; + value.serialize(&mut serializer)?; + Ok(serializer.output) +} + +impl<'a> ser::Serializer for &'a mut Serializer { + type Error = Error; + type Ok = (); + type SerializeMap = Self; + type SerializeSeq = Self; + type SerializeStruct = Self; + type SerializeStructVariant = Self; + type SerializeTuple = Self; + type SerializeTupleStruct = Self; + type SerializeTupleVariant = Self; + + fn serialize_bool(self, v: bool) -> Result<()> { + self.output.push(v as u8); + Ok(()) + } + + fn serialize_i8(self, v: i8) -> Result<()> { + self.output.push(v as u8); + Ok(()) + } + + fn serialize_i16(self, v: i16) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_i32(self, v: i32) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_i64(self, v: i64) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_i128(self, v: i128) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_u8(self, v: u8) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_u16(self, v: u16) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_u32(self, v: u32) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_u64(self, v: u64) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_u128(self, v: u128) -> Result<()> { + self.output.extend(&v.to_be_bytes()); + Ok(()) + } + + fn serialize_f32(self, _v: f32) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_f64(self, _v: f64) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_char(self, _v: char) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_str(self, _v: &str) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_bytes(self, v: &[u8]) -> Result<()> { + self.output.extend(v); + Ok(()) + } + + fn serialize_none(self) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_some(self, _value: &T) -> Result<()> { + Err(Error::Unimplemented) + } + + fn serialize_unit(self) -> Result<()> { + Ok(()) + } + + fn serialize_unit_struct(self, _name: &'static str) -> Result<()> { + Ok(()) + } + + fn serialize_unit_variant( + self, + _name: &'static str, + variant_index: u32, + _variant: &'static str, + ) -> Result<()> { + let index = u8::try_from(variant_index).map_err(|_| Error::EnumSize)?; + self.output.push(index); + Ok(()) + } + + fn serialize_newtype_struct(self, _name: &'static str, _value: &T) -> Result<()> + where + T: ?Sized + Serialize, + { + Ok(()) + } + + fn serialize_newtype_variant( + self, + _name: &'static str, + variant_index: u32, + _variant: &'static str, + value: &T, + ) -> Result<()> + where + T: ?Sized + Serialize, + { + let index = u8::try_from(variant_index).map_err(|_| Error::EnumSize)?; + self.output.push(index); + value.serialize(self) + } + + fn serialize_seq(self, _len: Option) -> Result { + Err(Error::Unimplemented) + } + + fn serialize_tuple(self, _len: usize) -> Result { + Ok(self) + } + + fn serialize_tuple_struct( + self, + _name: &'static str, + _len: usize, + ) -> Result { + Ok(self) + } + + fn serialize_tuple_variant( + self, + _name: &'static str, + variant_index: u32, + _variant: &'static str, + _len: usize, + ) -> Result { + let index = u8::try_from(variant_index).map_err(|_| Error::EnumSize)?; + self.output.push(index); + Ok(self) + } + + fn serialize_map(self, _len: Option) -> Result { + Err(Error::Unimplemented) + } + + fn serialize_struct(self, _name: &'static str, _len: usize) -> Result { + Ok(self) + } + + fn serialize_struct_variant( + self, + _name: &'static str, + variant_index: u32, + _variant: &'static str, + _len: usize, + ) -> Result { + let index = u8::try_from(variant_index).map_err(|_| Error::EnumSize)?; + self.output.push(index); + Ok(self) + } +} + +impl<'a> ser::SerializeSeq for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_element(&mut self, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeTuple for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_element(&mut self, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeTupleStruct for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_field(&mut self, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeTupleVariant for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_field(&mut self, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeMap for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_key(&mut self, key: &T) -> Result<()> { + key.serialize(&mut **self) + } + + fn serialize_value(&mut self, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeStruct for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_field(&mut self, _: &'static str, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} + +impl<'a> ser::SerializeStructVariant for &'a mut Serializer { + type Error = Error; + type Ok = (); + + fn serialize_field(&mut self, _: &'static str, value: &T) -> Result<()> { + value.serialize(&mut **self) + } + + fn end(self) -> Result<()> { + Ok(()) + } +} diff --git a/pallets/liquidity-pools/src/hooks.rs b/pallets/liquidity-pools/src/hooks.rs index 50421af6ce..8375b097ae 100644 --- a/pallets/liquidity-pools/src/hooks.rs +++ b/pallets/liquidity-pools/src/hooks.rs @@ -11,9 +11,7 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_traits::{ - investments::TrancheCurrency, liquidity_pools::OutboundQueue, StatusNotificationHook, -}; +use cfg_traits::{liquidity_pools::OutboundQueue, StatusNotificationHook}; use cfg_types::{ domain_address::DomainAddress, investments::{ExecutedForeignCollect, ExecutedForeignDecreaseInvest}, @@ -29,7 +27,7 @@ use sp_core::Get; use sp_runtime::{DispatchError, DispatchResult}; use sp_std::marker::PhantomData; -use crate::{pallet::Config, Message, MessageOf, Pallet}; +use crate::{pallet::Config, Message, Pallet}; /// The hook struct which acts upon a finalized investment decrement. pub struct DecreasedForeignInvestOrderHook(PhantomData); @@ -39,12 +37,12 @@ where ::AccountId: Into<[u8; 32]>, { type Error = DispatchError; - type Id = (T::AccountId, T::TrancheCurrency); + type Id = (T::AccountId, (T::PoolId, T::TrancheId)); type Status = ExecutedForeignDecreaseInvest; #[transactional] fn notify_status_change( - (investor, investment_id): (T::AccountId, T::TrancheCurrency), + (investor, (pool_id, tranche_id)): Self::Id, status: ExecutedForeignDecreaseInvest, ) -> DispatchResult { let currency = Pallet::::try_get_general_index(status.foreign_currency)?; @@ -59,13 +57,13 @@ where Fortitude::Polite, )?; - let message: MessageOf = Message::ExecutedDecreaseInvestOrder { - pool_id: investment_id.of_pool(), - tranche_id: investment_id.of_tranche(), + let message = Message::ExecutedDecreaseInvestOrder { + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), investor: investor.into(), currency, - currency_payout: status.amount_decreased, - remaining_invest_amount: status.amount_remaining, + currency_payout: status.amount_decreased.into(), + remaining_invest_amount: status.amount_remaining.into(), }; T::OutboundQueue::submit(T::TreasuryAccount::get(), domain_address.domain(), message)?; @@ -82,12 +80,12 @@ where ::AccountId: Into<[u8; 32]>, { type Error = DispatchError; - type Id = (T::AccountId, T::TrancheCurrency); + type Id = (T::AccountId, (T::PoolId, T::TrancheId)); type Status = ExecutedForeignCollect; #[transactional] fn notify_status_change( - (investor, investment_id): (T::AccountId, T::TrancheCurrency), + (investor, (pool_id, tranche_id)): Self::Id, status: ExecutedForeignCollect, ) -> DispatchResult { let currency = Pallet::::try_get_general_index(status.currency)?; @@ -102,14 +100,14 @@ where Fortitude::Polite, )?; - let message: MessageOf = Message::ExecutedCollectRedeem { - pool_id: investment_id.of_pool(), - tranche_id: investment_id.of_tranche(), + let message = Message::ExecutedCollectRedeem { + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), investor: investor.into(), currency, - currency_payout: status.amount_currency_payout, - tranche_tokens_payout: status.amount_tranche_tokens_payout, - remaining_redeem_amount: status.amount_remaining, + currency_payout: status.amount_currency_payout.into(), + tranche_tokens_payout: status.amount_tranche_tokens_payout.into(), + remaining_redeem_amount: status.amount_remaining.into(), }; T::OutboundQueue::submit(T::TreasuryAccount::get(), domain_address.domain(), message)?; @@ -126,12 +124,12 @@ where ::AccountId: Into<[u8; 32]>, { type Error = DispatchError; - type Id = (T::AccountId, T::TrancheCurrency); + type Id = (T::AccountId, (T::PoolId, T::TrancheId)); type Status = ExecutedForeignCollect; #[transactional] fn notify_status_change( - (investor, investment_id): (T::AccountId, T::TrancheCurrency), + (investor, (pool_id, tranche_id)): Self::Id, status: ExecutedForeignCollect, ) -> DispatchResult { let currency = Pallet::::try_get_general_index(status.currency)?; @@ -139,21 +137,21 @@ where let domain_address: DomainAddress = wrapped_token.into(); T::Tokens::transfer( - investment_id.clone().into(), + (pool_id, tranche_id).into(), &investor, &domain_address.domain().into_account(), status.amount_tranche_tokens_payout, Preservation::Expendable, )?; - let message: MessageOf = Message::ExecutedCollectInvest { - pool_id: investment_id.of_pool(), - tranche_id: investment_id.of_tranche(), + let message = Message::ExecutedCollectInvest { + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), investor: investor.into(), currency, - currency_payout: status.amount_currency_payout, - tranche_tokens_payout: status.amount_tranche_tokens_payout, - remaining_invest_amount: status.amount_remaining, + currency_payout: status.amount_currency_payout.into(), + tranche_tokens_payout: status.amount_tranche_tokens_payout.into(), + remaining_invest_amount: status.amount_remaining.into(), }; T::OutboundQueue::submit(T::TreasuryAccount::get(), domain_address.domain(), message)?; diff --git a/pallets/liquidity-pools/src/inbound.rs b/pallets/liquidity-pools/src/inbound.rs index 185d04cbd4..35a52deef0 100644 --- a/pallets/liquidity-pools/src/inbound.rs +++ b/pallets/liquidity-pools/src/inbound.rs @@ -28,7 +28,7 @@ use sp_runtime::{ DispatchResult, }; -use crate::{pallet::Error, Config, GeneralCurrencyIndexOf, Message, MessageOf, Pallet}; +use crate::{pallet::Error, Config, GeneralCurrencyIndexOf, Message, Pallet}; impl Pallet where @@ -117,7 +117,7 @@ where currency_index: GeneralCurrencyIndexOf, amount: ::Balance, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let payment_currency = Self::try_get_currency_id(currency_index)?; // Mint additional amount of payment currency @@ -149,7 +149,7 @@ where currency_index: GeneralCurrencyIndexOf, amount: ::Balance, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let payout_currency = Self::try_get_currency_id(currency_index)?; T::ForeignInvestment::decrease_foreign_investment( @@ -177,7 +177,7 @@ where investor: T::AccountId, currency_index: GeneralCurrencyIndexOf, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let amount = T::ForeignInvestment::investment(&investor, invest_id)?; Self::handle_decrease_invest_order(pool_id, tranche_id, investor, currency_index, amount) @@ -199,13 +199,13 @@ where currency_index: GeneralCurrencyIndexOf, sending_domain: DomainAddress, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let payout_currency = Self::try_get_currency_id(currency_index)?; // Transfer tranche tokens from `DomainLocator` account of // origination domain T::Tokens::transfer( - invest_id.clone().into(), + invest_id.into(), &sending_domain.domain().into_account(), &investor, amount, @@ -238,35 +238,32 @@ where currency_index: GeneralCurrencyIndexOf, destination: DomainAddress, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let currency_u128 = currency_index.index; let payout_currency = Self::try_get_currency_id(currency_index)?; T::ForeignInvestment::decrease_foreign_redemption( &investor, - invest_id.clone(), + invest_id, tranche_tokens_payout, payout_currency, )?; T::Tokens::transfer( - invest_id.clone().into(), + invest_id.into(), &investor, &destination.domain().into_account(), tranche_tokens_payout, Preservation::Expendable, )?; - let message: MessageOf = Message::ExecutedDecreaseRedeemOrder { - pool_id, - tranche_id, + let message: Message = Message::ExecutedDecreaseRedeemOrder { + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), investor: investor.clone().into(), currency: currency_u128, - tranche_tokens_payout, - remaining_redeem_amount: T::ForeignInvestment::redemption( - &investor, - invest_id.clone(), - )?, + tranche_tokens_payout: tranche_tokens_payout.into(), + remaining_redeem_amount: T::ForeignInvestment::redemption(&investor, invest_id)?.into(), }; T::OutboundQueue::submit(T::TreasuryAccount::get(), destination.domain(), message)?; @@ -286,7 +283,7 @@ where currency_index: GeneralCurrencyIndexOf, destination: DomainAddress, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let amount = T::ForeignInvestment::redemption(&investor, invest_id)?; Self::handle_decrease_redeem_order( @@ -316,7 +313,7 @@ where investor: T::AccountId, currency_index: GeneralCurrencyIndexOf, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let payment_currency = Self::try_get_currency_id(currency_index)?; // NOTE: Dispatch of `ExecutedCollectInvest` is handled by @@ -343,7 +340,7 @@ where investor: T::AccountId, currency_index: GeneralCurrencyIndexOf, ) -> DispatchResult { - let invest_id: T::TrancheCurrency = Self::derive_invest_id(pool_id, tranche_id)?; + let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; let payout_currency = Self::try_get_currency_id(currency_index)?; T::ForeignInvestment::collect_foreign_redemption(&investor, invest_id, payout_currency)?; diff --git a/pallets/liquidity-pools/src/lib.rs b/pallets/liquidity-pools/src/lib.rs index 76d8c827b6..2814efe8fa 100644 --- a/pallets/liquidity-pools/src/lib.rs +++ b/pallets/liquidity-pools/src/lib.rs @@ -43,6 +43,7 @@ use core::convert::TryFrom; use cfg_traits::{ liquidity_pools::{InboundQueue, OutboundQueue}, + swaps::TokenSwaps, PreConditions, }; use cfg_types::{ @@ -60,7 +61,7 @@ use frame_support::{ use orml_traits::asset_registry::{self, Inspect as _}; pub use pallet::*; use sp_runtime::{ - traits::{AtLeast32BitUnsigned, Convert}, + traits::{AtLeast32BitUnsigned, Convert, EnsureMul}, FixedPointNumber, SaturatedConversion, }; use sp_std::{convert::TryInto, vec}; @@ -73,6 +74,16 @@ use staging_xcm::{ // be defensive. pub mod defensive_weights; +/// Serializer for the LiquidityPool's Generic Message Passing Format (GMPF) +mod gmpf { + mod de; + mod error; + mod ser; + + pub use de::from_slice; + pub use ser::to_vec; +} + mod message; pub use message::Message; @@ -85,15 +96,6 @@ mod mock; #[cfg(test)] mod tests; -// Type aliases -pub type MessageOf = Message< - Domain, - ::PoolId, - ::TrancheId, - ::Balance, - ::BalanceRatio, ->; - pub type GeneralCurrencyIndexType = u128; pub type GeneralCurrencyIndexOf = @@ -102,12 +104,12 @@ pub type GeneralCurrencyIndexOf = #[frame_support::pallet] pub mod pallet { use cfg_traits::{ - investments::{ForeignInvestment, TrancheCurrency}, - CurrencyInspect, Permissions, PoolInspect, Seconds, TimeAsSecs, TrancheTokenPrice, + investments::ForeignInvestment, CurrencyInspect, Permissions, PoolInspect, Seconds, + TimeAsSecs, TrancheTokenPrice, }; use cfg_types::{ permissions::{PermissionScope, PoolRole, Role}, - tokens::{CustomMetadata, LiquidityPoolsWrappedToken}, + tokens::CustomMetadata, EVMChainId, }; use frame_support::{ @@ -136,7 +138,9 @@ pub mod pallet { + Default + Copy + MaybeSerializeDeserialize - + MaxEncodedLen; + + MaxEncodedLen + + Into + + From; type PoolId: Member + Parameter @@ -144,7 +148,9 @@ pub mod pallet { + Copy + HasCompact + MaxEncodedLen - + core::fmt::Debug; + + core::fmt::Debug + + Into + + From; type TrancheId: Member + Parameter @@ -152,13 +158,14 @@ pub mod pallet { + Copy + MaxEncodedLen + TypeInfo - + From<[u8; 16]>; + + From<[u8; 16]> + + Into<[u8; 16]>; /// The fixed point number representation for higher precision. type BalanceRatio: Parameter + Member + MaybeSerializeDeserialize - + FixedPointNumber + + FixedPointNumber + TypeInfo; /// The source of truth for pool inspection operations such as its @@ -197,11 +204,6 @@ pub mod pallet { type Tokens: Mutate + Inspect; - /// The currency type of investments. - type TrancheCurrency: TrancheCurrency - + Into - + Clone; - /// Enables investing and redeeming into investment classes with foreign /// currencies. type ForeignInvestment: ForeignInvestment< @@ -210,7 +212,7 @@ pub mod pallet { TrancheAmount = Self::Balance, CurrencyId = Self::CurrencyId, Error = DispatchError, - InvestmentId = ::TrancheCurrency, + InvestmentId = (Self::PoolId, Self::TrancheId), >; /// The source of truth for the transferability of assets via the @@ -232,7 +234,8 @@ pub mod pallet { + TryInto, Error = DispatchError> + TryFrom, Error = DispatchError> // Enables checking whether currency is tranche token - + CurrencyInspect; + + CurrencyInspect + + From<(Self::PoolId, Self::TrancheId)>; /// The converter from a DomainAddress to a Substrate AccountId. type DomainAddressToAccountId: Convert; @@ -243,7 +246,7 @@ pub mod pallet { /// The type for processing outgoing messages. type OutboundQueue: OutboundQueue< Sender = Self::AccountId, - Message = MessageOf, + Message = Message, Destination = Domain, >; @@ -265,6 +268,13 @@ pub mod pallet { Result = DispatchResult, >; + /// Type used to retrive market ratio information about currencies + type MarketRatio: TokenSwaps< + Self::AccountId, + CurrencyId = Self::CurrencyId, + Ratio = Self::BalanceRatio, + >; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; } @@ -276,7 +286,7 @@ pub mod pallet { /// detected and is further processed IncomingMessage { sender: DomainAddress, - message: MessageOf, + message: Message, }, } @@ -292,7 +302,7 @@ pub mod pallet { /// The metadata of the given asset does not declare it as transferable /// via LiquidityPools'. AssetNotLiquidityPoolsTransferable, - /// The asset is not a [LiquidityPoolsWrappedToken] and thus cannot be + /// The asset is not a a wrapped token and thus cannot be /// transferred via liquidity pools. AssetNotLiquidityPoolsWrappedToken, /// A pool could not be found. @@ -355,7 +365,13 @@ pub mod pallet { Error::::NotPoolAdmin ); - T::OutboundQueue::submit(who, domain, Message::AddPool { pool_id })?; + T::OutboundQueue::submit( + who, + domain, + Message::AddPool { + pool_id: pool_id.into(), + }, + )?; Ok(()) } @@ -391,8 +407,8 @@ pub mod pallet { who, domain, Message::AddTranche { - pool_id, - tranche_id, + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), decimals: metadata.decimals.saturated_into(), token_name, token_symbol, @@ -423,32 +439,33 @@ pub mod pallet { ) -> DispatchResult { let who = ensure_signed(origin.clone())?; - // TODO(future): Once we diverge from 1-to-1 conversions for foreign and pool - // currencies, this price must be first converted into the currency_id and then - // re-denominated to 18 decimals (i.e. `Ratio` precision) - let price_value = T::TrancheTokenPrice::get(pool_id, tranche_id) + let (price, computed_at) = T::TrancheTokenPrice::get_price(pool_id, tranche_id) .ok_or(Error::::MissingTranchePrice)?; + let foreign_price = T::MarketRatio::market_ratio( + currency_id, + T::PoolInspect::currency_for(pool_id).ok_or(Error::::PoolNotFound)?, + )? + .ensure_mul(price)?; + // Check that the registered asset location matches the destination - match Self::try_get_wrapped_token(¤cy_id)? { - LiquidityPoolsWrappedToken::EVM { chain_id, .. } => { - ensure!( - Domain::EVM(chain_id) == destination, - Error::::InvalidDomain - ); - } - } + let (chain_id, ..) = Self::try_get_wrapped_token(¤cy_id)?; + ensure!( + Domain::EVM(chain_id) == destination, + Error::::InvalidDomain + ); + let currency = Self::try_get_general_index(currency_id)?; T::OutboundQueue::submit( who, destination, Message::UpdateTrancheTokenPrice { - pool_id, - tranche_id, + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), currency, - price: price_value.price, - computed_at: price_value.last_updated, + price: foreign_price.into_inner(), + computed_at, }, )?; @@ -495,8 +512,8 @@ pub mod pallet { who, domain_address.domain(), Message::UpdateMember { - pool_id, - tranche_id, + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), valid_until, member: domain_address.address(), }, @@ -535,11 +552,7 @@ pub mod pallet { // Ensure pool and tranche exist and derive invest id let invest_id = Self::derive_invest_id(pool_id, tranche_id)?; - T::PreTransferFilter::check(( - who.clone(), - domain_address.clone(), - invest_id.clone().into(), - ))?; + T::PreTransferFilter::check((who.clone(), domain_address.clone(), invest_id.into()))?; // Transfer to the domain account for bookkeeping T::Tokens::transfer( @@ -555,10 +568,10 @@ pub mod pallet { who.clone(), domain_address.domain(), Message::TransferTrancheTokens { - pool_id, - tranche_id, - amount, - domain: domain_address.domain(), + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), + amount: amount.into(), + domain: domain_address.domain().into(), sender: who.into(), receiver: domain_address.address(), }, @@ -591,14 +604,11 @@ pub mod pallet { let currency = Self::try_get_general_index(currency_id)?; // Check that the registered asset location matches the destination - match Self::try_get_wrapped_token(¤cy_id)? { - LiquidityPoolsWrappedToken::EVM { chain_id, .. } => { - ensure!( - Domain::EVM(chain_id) == receiver.domain(), - Error::::InvalidDomain - ); - } - } + let (chain_id, ..) = Self::try_get_wrapped_token(¤cy_id)?; + ensure!( + Domain::EVM(chain_id) == receiver.domain(), + Error::::InvalidDomain + ); T::PreTransferFilter::check((who.clone(), receiver.clone(), currency_id))?; @@ -632,7 +642,7 @@ pub mod pallet { who.clone(), receiver.domain(), Message::Transfer { - amount, + amount: amount.into(), currency, sender: who.into(), receiver: receiver.address(), @@ -651,10 +661,7 @@ pub mod pallet { let currency = Self::try_get_general_index(currency_id)?; - let LiquidityPoolsWrappedToken::EVM { - chain_id, - address: evm_address, - } = Self::try_get_wrapped_token(¤cy_id)?; + let (chain_id, evm_address) = Self::try_get_wrapped_token(¤cy_id)?; T::OutboundQueue::submit( who, @@ -696,7 +703,10 @@ pub mod pallet { T::OutboundQueue::submit( who, Domain::EVM(chain_id), - Message::AllowInvestmentCurrency { pool_id, currency }, + Message::AllowInvestmentCurrency { + pool_id: pool_id.into(), + currency, + }, )?; Ok(()) @@ -751,11 +761,6 @@ pub mod pallet { ) -> DispatchResult { let who = ensure_signed(origin.clone())?; - ensure!( - T::PoolInspect::tranche_exists(pool_id, tranche_id), - Error::::TrancheNotFound - ); - let investment_id = Self::derive_invest_id(pool_id, tranche_id)?; let metadata = T::AssetRegistry::metadata(&investment_id.into()) .ok_or(Error::::TrancheMetadataNotFound)?; @@ -766,8 +771,8 @@ pub mod pallet { who, domain, Message::UpdateTrancheTokenMetadata { - pool_id, - tranche_id, + pool_id: pool_id.into(), + tranche_id: tranche_id.into(), token_name, token_symbol, }, @@ -799,7 +804,10 @@ pub mod pallet { T::OutboundQueue::submit( who, Domain::EVM(chain_id), - Message::DisallowInvestmentCurrency { pool_id, currency }, + Message::DisallowInvestmentCurrency { + pool_id: pool_id.into(), + currency, + }, )?; Ok(()) @@ -843,13 +851,12 @@ pub mod pallet { } /// Checks whether the given currency is transferable via LiquidityPools - /// and whether its metadata contains a location which can be - /// converted to [LiquidityPoolsWrappedToken]. + /// and whether its metadata contains an evm location. /// /// Requires the currency to be registered in the `AssetRegistry`. pub fn try_get_wrapped_token( currency_id: &T::CurrencyId, - ) -> Result { + ) -> Result<(EVMChainId, [u8; 20]), DispatchError> { let meta = T::AssetRegistry::metadata(currency_id).ok_or(Error::::AssetNotFound)?; ensure!( meta.additional.transferability.includes_liquidity_pools(), @@ -875,9 +882,7 @@ pub mod pallet { network: None, key: address, }], - ) if Some(pallet_instance.into()) == pallet_index => { - Ok(LiquidityPoolsWrappedToken::EVM { chain_id, address }) - } + ) if Some(pallet_instance.into()) == pallet_index => Ok((chain_id, address)), _ => Err(Error::::AssetNotLiquidityPoolsWrappedToken.into()), } } @@ -887,7 +892,7 @@ pub mod pallet { pub fn derive_invest_id( pool_id: T::PoolId, tranche_id: T::TrancheId, - ) -> Result<::TrancheCurrency, DispatchError> { + ) -> Result<(T::PoolId, T::TrancheId), DispatchError> { ensure!( T::PoolInspect::pool_exists(pool_id), Error::::PoolNotFound @@ -897,7 +902,7 @@ pub mod pallet { Error::::TrancheNotFound ); - Ok(TrancheCurrency::generate(pool_id, tranche_id)) + Ok((pool_id, tranche_id)) } /// Performs multiple checks for the provided currency and returns its @@ -905,6 +910,10 @@ pub mod pallet { pub fn validate_investment_currency( currency_id: T::CurrencyId, ) -> Result<(u128, EVMChainId), DispatchError> { + let currency = Self::try_get_general_index(currency_id)?; + + let (chain_id, ..) = Self::try_get_wrapped_token(¤cy_id)?; + // Ensure the currency is enabled as pool_currency let metadata = T::AssetRegistry::metadata(¤cy_id).ok_or(Error::::AssetNotFound)?; @@ -913,11 +922,6 @@ pub mod pallet { Error::::AssetMetadataNotPoolCurrency ); - let currency = Self::try_get_general_index(currency_id)?; - - let LiquidityPoolsWrappedToken::EVM { chain_id, .. } = - Self::try_get_wrapped_token(¤cy_id)?; - Ok((currency, chain_id)) } @@ -931,11 +935,11 @@ pub mod pallet { where ::AccountId: From<[u8; 32]> + Into<[u8; 32]>, { - type Message = MessageOf; + type Message = Message; type Sender = DomainAddress; #[transactional] - fn submit(sender: DomainAddress, msg: MessageOf) -> DispatchResult { + fn submit(sender: DomainAddress, msg: Message) -> DispatchResult { Self::deposit_event(Event::::IncomingMessage { sender: sender.clone(), message: msg.clone(), @@ -947,7 +951,7 @@ pub mod pallet { receiver, amount, .. - } => Self::handle_transfer(currency.into(), receiver.into(), amount), + } => Self::handle_transfer(currency.into(), receiver.into(), amount.into()), Message::TransferTrancheTokens { pool_id, tranche_id, @@ -956,11 +960,11 @@ pub mod pallet { amount, .. } => Self::handle_tranche_tokens_transfer( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), sender.domain(), - T::DomainAccountToDomainAddress::convert((domain, receiver)), - amount, + T::DomainAccountToDomainAddress::convert((domain.try_into()?, receiver)), + amount.into(), ), Message::IncreaseInvestOrder { pool_id, @@ -969,11 +973,11 @@ pub mod pallet { currency, amount, } => Self::handle_increase_invest_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), - amount, + amount.into(), ), Message::DecreaseInvestOrder { pool_id, @@ -982,11 +986,11 @@ pub mod pallet { currency, amount, } => Self::handle_decrease_invest_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), - amount, + amount.into(), ), Message::IncreaseRedeemOrder { pool_id, @@ -995,10 +999,10 @@ pub mod pallet { amount, currency, } => Self::handle_increase_redeem_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), - amount, + amount.into(), currency.into(), sender, ), @@ -1009,10 +1013,10 @@ pub mod pallet { currency, amount, } => Self::handle_decrease_redeem_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), - amount, + amount.into(), currency.into(), sender, ), @@ -1022,8 +1026,8 @@ pub mod pallet { investor, currency, } => Self::handle_collect_investment( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), ), @@ -1033,8 +1037,8 @@ pub mod pallet { investor, currency, } => Self::handle_collect_redemption( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), ), @@ -1044,8 +1048,8 @@ pub mod pallet { investor, currency, } => Self::handle_cancel_invest_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), ), @@ -1055,8 +1059,8 @@ pub mod pallet { investor, currency, } => Self::handle_cancel_redeem_order( - pool_id, - tranche_id, + pool_id.into(), + tranche_id.into(), Self::domain_account_to_account_id((sender.domain(), investor)), currency.into(), sender, diff --git a/pallets/liquidity-pools/src/message.rs b/pallets/liquidity-pools/src/message.rs index d268876f02..dda8193977 100644 --- a/pallets/liquidity-pools/src/message.rs +++ b/pallets/liquidity-pools/src/message.rs @@ -1,9 +1,20 @@ -use cfg_traits::{liquidity_pools::Codec, Seconds}; -use cfg_utils::{decode, decode_be_bytes, encode_be}; +//! A message requires a custom decoding & encoding, meeting the +//! LiquidityPool Generic Message Passing Format (GMPF): Every message is +//! encoded with a u8 at head flagging the message type, followed by its field. +//! Integers are big-endian encoded and enum values (such as `[crate::Domain]`) +//! also have a custom GMPF implementation, aiming for a fixed-size encoded +//! representation for each message variant. + +use cfg_traits::{liquidity_pools::LPEncoding, Seconds}; +use cfg_types::domain_address::Domain; use frame_support::pallet_prelude::RuntimeDebug; -use parity_scale_codec::{Decode, Encode, Input, MaxEncodedLen}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; -use sp_std::{vec, vec::Vec}; +use serde::{Deserialize, Serialize}; +use sp_runtime::DispatchError; +use sp_std::vec::Vec; + +use crate::gmpf; // Generic Message Passing Format /// Address type /// Note: It can be used to represent any address type with a length <= 32 @@ -11,32 +22,64 @@ use sp_std::{vec, vec::Vec}; /// padding it with 12 zeros. type Address = [u8; 32]; +type TrancheId = [u8; 16]; + /// The fixed size for the array representing a tranche token name pub const TOKEN_NAME_SIZE: usize = 128; // The fixed size for the array representing a tranche token symbol pub const TOKEN_SYMBOL_SIZE: usize = 32; +/// An isometric type to `Domain` that serializes as expected +#[derive( + Encode, + Decode, + Serialize, + Deserialize, + Clone, + PartialEq, + Eq, + RuntimeDebug, + TypeInfo, + MaxEncodedLen, +)] +pub struct SerializableDomain(u8, u64); + +impl From for SerializableDomain { + fn from(domain: Domain) -> Self { + match domain { + Domain::Centrifuge => Self(0, 0), + Domain::EVM(chain_id) => Self(1, chain_id), + } + } +} + +impl TryInto for SerializableDomain { + type Error = DispatchError; + + fn try_into(self) -> Result { + match self.0 { + 0 => Ok(Domain::Centrifuge), + 1 => Ok(Domain::EVM(self.1)), + _ => Err(DispatchError::Other("Unknown domain")), + } + } +} + /// A LiquidityPools Message -/// -/// A message requires a custom decoding & encoding, meeting the -/// LiquidityPool Generic Message Passing Format (GMPF): Every message is -/// encoded with a u8 at head flagging the message type, followed by its field. -/// Integers are big-endian encoded and enum values (such as `[crate::Domain]`) -/// also have a custom GMPF implementation, aiming for a fixed-size encoded -/// representation for each message variant. -/// -/// NOTE: The sender of a message cannot ensure whether the -/// corresponding receiver rejects it. -#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo, MaxEncodedLen)] -pub enum Message -where - Domain: Codec, - PoolId: Encode + Decode, - TrancheId: Encode + Decode, - Balance: Encode + Decode, - Ratio: Encode + Decode, -{ +#[derive( + Encode, + Decode, + Serialize, + Deserialize, + Clone, + PartialEq, + Eq, + RuntimeDebug, + TypeInfo, + MaxEncodedLen, +)] +pub enum Message { Invalid, /// Add a currency to a domain, i.e, register the mapping of a currency id /// to the corresponding EVM Address. @@ -50,13 +93,13 @@ where /// /// Directionality: Centrifuge -> EVM Domain. AddPool { - pool_id: PoolId, + pool_id: u64, }, /// Allow a currency to be used as a pool currency and to invest in a pool. /// /// Directionality: Centrifuge -> EVM Domain. AllowInvestmentCurrency { - pool_id: PoolId, + pool_id: u64, currency: u128, }, /// Add a tranche to an already existing pool on the target domain. @@ -66,8 +109,9 @@ where /// /// Directionality: Centrifuge -> EVM Domain. AddTranche { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, + #[serde(with = "serde_big_array::BigArray")] token_name: [u8; TOKEN_NAME_SIZE], token_symbol: [u8; TOKEN_SYMBOL_SIZE], decimals: u8, @@ -79,10 +123,10 @@ where /// /// Directionality: Centrifuge -> EVM Domain. UpdateTrancheTokenPrice { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, currency: u128, - price: Ratio, + price: u128, /// The timestamp at which the price was computed computed_at: Seconds, }, @@ -91,7 +135,7 @@ where /// /// Directionality: Centrifuge -> EVM Domain. UpdateMember { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, member: Address, valid_until: Seconds, @@ -109,29 +153,29 @@ where currency: u128, sender: Address, receiver: Address, - amount: Balance, + amount: u128, }, /// Transfer tranche tokens between domains. /// /// Directionality: Centrifuge <-> EVM Domain. TransferTrancheTokens { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, sender: Address, - domain: Domain, + domain: SerializableDomain, receiver: Address, - amount: Balance, + amount: u128, }, /// Increase the invest order amount for the specified pair of pool and /// tranche token. /// /// Directionality: Centrifuge <- EVM Domain. IncreaseInvestOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, - amount: Balance, + amount: u128, }, /// Reduce the invest order amount for the specified pair of pool and /// tranche token. @@ -143,22 +187,22 @@ where /// /// Directionality: Centrifuge <- EVM Domain. DecreaseInvestOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, - amount: Balance, + amount: u128, }, /// Increase the redeem order amount for the specified pair of pool and /// tranche token. /// /// Directionality: Centrifuge <- EVM Domain. IncreaseRedeemOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, - amount: Balance, + amount: u128, }, /// Reduce the redeem order amount for the specified pair of pool and /// tranche token. @@ -170,11 +214,11 @@ where /// /// Directionality: Centrifuge <- EVM Domain. DecreaseRedeemOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, - amount: Balance, + amount: u128, }, /// Collect the investment for the specified pair of pool and /// tranche token. @@ -186,7 +230,7 @@ where /// /// Directionality: Centrifuge <- EVM Domain. CollectInvest { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, @@ -201,7 +245,7 @@ where /// /// Directionality: Centrifuge <- EVM Domain. CollectRedeem { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, @@ -213,7 +257,7 @@ where /// Directionality: Centrifuge -> EVM Domain. ExecutedDecreaseInvestOrder { /// The pool id - pool_id: PoolId, + pool_id: u64, /// The tranche id tranche_id: TrancheId, /// The investor's address @@ -223,11 +267,11 @@ where /// The amount of `currency` that was actually executed in the original /// `DecreaseInvestOrder` message, i.e., the amount by which the /// investment order was actually decreased by. - currency_payout: Balance, + currency_payout: u128, /// The remaining investment amount denominated in the `foreign` payment /// currency. It reflects the sum of the unprocessed as well as the /// processed but not yet collected amounts. - remaining_invest_amount: Balance, + remaining_invest_amount: u128, }, /// The message sent back to the domain from which a `DecreaseRedeemOrder` /// message was received, ensuring the correct state update on said domain @@ -236,7 +280,7 @@ where /// Directionality: Centrifuge -> EVM Domain. ExecutedDecreaseRedeemOrder { /// The pool id - pool_id: PoolId, + pool_id: u64, /// The tranche id tranche_id: TrancheId, /// The investor's address @@ -246,11 +290,11 @@ where /// The amount of tranche tokens that was actually executed in the /// original `DecreaseRedeemOrder` message, i.e., the amount by which /// the redeem order was actually decreased by. - tranche_tokens_payout: Balance, + tranche_tokens_payout: u128, /// The remaining redemption amount. It reflects the sum of the /// unprocessed as well as the processed but not yet collected amount of /// tranche tokens. - remaining_redeem_amount: Balance, + remaining_redeem_amount: u128, }, /// The message sent back to the domain from which a `CollectInvest` message /// has been received, which will ensure the `investor` gets the payout @@ -259,7 +303,7 @@ where /// Directionality: Centrifuge -> EVM Domain. ExecutedCollectInvest { /// The pool id - pool_id: PoolId, + pool_id: u64, /// The tranche tranche_id: TrancheId, /// The investor's address @@ -267,13 +311,13 @@ where /// The currency in which the investment was realised currency: u128, /// The amount that was actually collected, in `currency` units - currency_payout: Balance, + currency_payout: u128, /// The amount of tranche tokens received for the investment made - tranche_tokens_payout: Balance, + tranche_tokens_payout: u128, /// The remaining investment amount denominated in the `foreign` payment /// currency. It reflects the sum of the unprocessed as well as the /// processed but not yet collected amounts. - remaining_invest_amount: Balance, + remaining_invest_amount: u128, }, /// The message sent back to the domain from which a `CollectRedeem` message /// has been received, which will ensure the `investor` gets the payout @@ -282,7 +326,7 @@ where /// Directionality: Centrifuge -> EVM Domain. ExecutedCollectRedeem { /// The pool id - pool_id: PoolId, + pool_id: u64, /// The tranche id tranche_id: TrancheId, /// The investor's address @@ -290,13 +334,13 @@ where /// The stable coin currency in which the payout takes place currency: u128, /// The amount of `currency` being paid out to the investor - currency_payout: Balance, + currency_payout: u128, /// How many tranche tokens were actually redeemed - tranche_tokens_payout: Balance, + tranche_tokens_payout: u128, /// The remaining redemption amount. It reflects the sum of the /// unprocessed as well as the processed but not yet collected amount of /// tranche tokens. - remaining_redeem_amount: Balance, + remaining_redeem_amount: u128, }, /// Cancel an unprocessed invest order for the specified pair of pool and /// tranche token. @@ -311,7 +355,7 @@ where /// /// Directionality: Centrifuge <- EVM Domain. CancelInvestOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, @@ -329,7 +373,7 @@ where /// /// Directionality: Centrifuge <- EVM Domain. CancelRedeemOrder { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, investor: Address, currency: u128, @@ -357,8 +401,9 @@ where /// /// Directionality: Centrifuge -> EVM Domain. UpdateTrancheTokenMetadata { - pool_id: PoolId, + pool_id: u64, tranche_id: TrancheId, + #[serde(with = "serde_big_array::BigArray")] token_name: [u8; TOKEN_NAME_SIZE], token_symbol: [u8; TOKEN_SYMBOL_SIZE], }, @@ -367,608 +412,62 @@ where /// /// Directionality: Centrifuge -> EVM Domain. DisallowInvestmentCurrency { - pool_id: PoolId, + pool_id: u64, currency: u128, }, } -impl< - Domain: Codec, - PoolId: Encode + Decode, - TrancheId: Encode + Decode, - Balance: Encode + Decode, - Ratio: Encode + Decode, - > Message -{ - /// The call type that identifies a specific Message variant. This value is - /// used to encode/decode a Message to/from a bytearray, whereas the head of - /// the bytearray is the call type, followed by each message's param values. - /// - /// NOTE: Each message must immutably map to the same u8. Messages are - /// decoded in other domains and MUST follow the defined standard. - fn call_type(&self) -> u8 { - match self { - Self::Invalid { .. } => 0, - Self::AddCurrency { .. } => 1, - Self::AddPool { .. } => 2, - Self::AllowInvestmentCurrency { .. } => 3, - Self::AddTranche { .. } => 4, - Self::UpdateTrancheTokenPrice { .. } => 5, - Self::UpdateMember { .. } => 6, - Self::Transfer { .. } => 7, - Self::TransferTrancheTokens { .. } => 8, - Self::IncreaseInvestOrder { .. } => 9, - Self::DecreaseInvestOrder { .. } => 10, - Self::IncreaseRedeemOrder { .. } => 11, - Self::DecreaseRedeemOrder { .. } => 12, - Self::CollectInvest { .. } => 13, - Self::CollectRedeem { .. } => 14, - Self::ExecutedDecreaseInvestOrder { .. } => 15, - Self::ExecutedDecreaseRedeemOrder { .. } => 16, - Self::ExecutedCollectInvest { .. } => 17, - Self::ExecutedCollectRedeem { .. } => 18, - Self::CancelInvestOrder { .. } => 19, - Self::CancelRedeemOrder { .. } => 20, - Self::ScheduleUpgrade { .. } => 21, - Self::CancelUpgrade { .. } => 22, - Self::UpdateTrancheTokenMetadata { .. } => 23, - Self::DisallowInvestmentCurrency { .. } => 24, - } - } -} - -impl< - Domain: Codec, - PoolId: Encode + Decode, - TrancheId: Encode + Decode, - Balance: Encode + Decode, - Ratio: Encode + Decode, - > Codec for Message -{ +impl LPEncoding for Message { fn serialize(&self) -> Vec { - match self { - Message::Invalid => vec![self.call_type()], - Message::AddCurrency { - currency, - evm_address, - } => encoded_message( - self.call_type(), - vec![encode_be(currency), evm_address.to_vec()], - ), - Message::AddPool { pool_id } => { - encoded_message(self.call_type(), vec![encode_be(pool_id)]) - } - Message::AllowInvestmentCurrency { pool_id, currency } => encoded_message( - self.call_type(), - vec![encode_be(pool_id), encode_be(currency)], - ), - Message::AddTranche { - pool_id, - tranche_id, - token_name, - token_symbol, - decimals, - restriction_set, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - token_name.encode(), - token_symbol.encode(), - decimals.encode(), - restriction_set.encode(), - ], - ), - Message::UpdateTrancheTokenPrice { - pool_id, - tranche_id, - currency, - price, - computed_at, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - encode_be(currency), - encode_be(price), - computed_at.to_be_bytes().to_vec(), - ], - ), - Message::UpdateMember { - pool_id, - tranche_id, - member, - valid_until, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - member.to_vec(), - valid_until.to_be_bytes().to_vec(), - ], - ), - Message::Transfer { - currency, - sender, - receiver, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(currency), - sender.to_vec(), - receiver.to_vec(), - encode_be(amount), - ], - ), - Message::TransferTrancheTokens { - pool_id, - tranche_id, - sender, - domain, - receiver, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - sender.to_vec(), - domain.serialize(), - receiver.to_vec(), - encode_be(amount), - ], - ), - Message::IncreaseInvestOrder { - pool_id, - tranche_id, - investor: address, - currency, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - address.to_vec(), - encode_be(currency), - encode_be(amount), - ], - ), - Message::DecreaseInvestOrder { - pool_id, - tranche_id, - investor, - currency, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(amount), - ], - ), - Message::IncreaseRedeemOrder { - pool_id, - tranche_id, - investor, - currency, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(amount), - ], - ), - Message::DecreaseRedeemOrder { - pool_id, - tranche_id, - investor, - currency, - amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(amount), - ], - ), - Message::CollectInvest { - pool_id, - tranche_id, - investor, - currency, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - ], - ), - Message::CollectRedeem { - pool_id, - tranche_id, - investor, - currency, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - ], - ), - Message::ExecutedDecreaseInvestOrder { - pool_id, - tranche_id, - investor, - currency, - currency_payout, - remaining_invest_amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(currency_payout), - encode_be(remaining_invest_amount), - ], - ), - Message::ExecutedDecreaseRedeemOrder { - pool_id, - tranche_id, - investor, - currency, - tranche_tokens_payout, - remaining_redeem_amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(tranche_tokens_payout), - encode_be(remaining_redeem_amount), - ], - ), - Message::ExecutedCollectInvest { - pool_id, - tranche_id, - investor, - currency, - currency_payout, - tranche_tokens_payout, - remaining_invest_amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(currency_payout), - encode_be(tranche_tokens_payout), - encode_be(remaining_invest_amount), - ], - ), - Message::ExecutedCollectRedeem { - pool_id, - tranche_id, - investor, - currency, - currency_payout, - tranche_tokens_payout, - remaining_redeem_amount, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - encode_be(currency_payout), - encode_be(tranche_tokens_payout), - encode_be(remaining_redeem_amount), - ], - ), - Message::CancelInvestOrder { - pool_id, - tranche_id, - investor, - currency, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - ], - ), - Message::CancelRedeemOrder { - pool_id, - tranche_id, - investor, - currency, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - investor.to_vec(), - encode_be(currency), - ], - ), - Message::ScheduleUpgrade { contract } => { - encoded_message(self.call_type(), vec![contract.to_vec()]) - } - Message::CancelUpgrade { contract } => { - encoded_message(self.call_type(), vec![contract.to_vec()]) - } - Message::UpdateTrancheTokenMetadata { - pool_id, - tranche_id, - token_name, - token_symbol, - } => encoded_message( - self.call_type(), - vec![ - encode_be(pool_id), - tranche_id.encode(), - token_name.encode(), - token_symbol.encode(), - ], - ), - Message::DisallowInvestmentCurrency { pool_id, currency } => encoded_message( - self.call_type(), - vec![encode_be(pool_id), encode_be(currency)], - ), - } + gmpf::to_vec(self).unwrap_or_default() } - fn deserialize(input: &mut I) -> Result { - let call_type = input.read_byte()?; - - match call_type { - 0 => Ok(Self::Invalid), - 1 => Ok(Self::AddCurrency { - currency: decode_be_bytes::<16, _, _>(input)?, - evm_address: decode::<20, _, _>(input)?, - }), - 2 => Ok(Self::AddPool { - pool_id: decode_be_bytes::<8, _, _>(input)?, - }), - 3 => Ok(Self::AllowInvestmentCurrency { - pool_id: decode_be_bytes::<8, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - 4 => Ok(Self::AddTranche { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - token_name: decode::(input)?, - token_symbol: decode::(input)?, - decimals: decode::<1, _, _>(input)?, - restriction_set: decode::<1, _, _>(input)?, - }), - 5 => Ok(Self::UpdateTrancheTokenPrice { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - price: decode_be_bytes::<16, _, _>(input)?, - computed_at: decode_be_bytes::<8, _, _>(input)?, - }), - 6 => Ok(Self::UpdateMember { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - member: decode::<32, _, _>(input)?, - valid_until: decode_be_bytes::<8, _, _>(input)?, - }), - 7 => Ok(Self::Transfer { - currency: decode_be_bytes::<16, _, _>(input)?, - sender: decode::<32, _, _>(input)?, - receiver: decode::<32, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 8 => Ok(Self::TransferTrancheTokens { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - sender: decode::<32, _, _>(input)?, - domain: deserialize::<9, _, _>(input)?, - receiver: decode::<32, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 9 => Ok(Self::IncreaseInvestOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 10 => Ok(Self::DecreaseInvestOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 11 => Ok(Self::IncreaseRedeemOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 12 => Ok(Self::DecreaseRedeemOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - amount: decode_be_bytes::<16, _, _>(input)?, - }), - 13 => Ok(Self::CollectInvest { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - 14 => Ok(Self::CollectRedeem { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - 15 => Ok(Self::ExecutedDecreaseInvestOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - currency_payout: decode_be_bytes::<16, _, _>(input)?, - remaining_invest_amount: decode_be_bytes::<16, _, _>(input)?, - }), - 16 => Ok(Self::ExecutedDecreaseRedeemOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - tranche_tokens_payout: decode_be_bytes::<16, _, _>(input)?, - remaining_redeem_amount: decode_be_bytes::<16, _, _>(input)?, - }), - 17 => Ok(Self::ExecutedCollectInvest { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - currency_payout: decode_be_bytes::<16, _, _>(input)?, - tranche_tokens_payout: decode_be_bytes::<16, _, _>(input)?, - remaining_invest_amount: decode_be_bytes::<16, _, _>(input)?, - }), - 18 => Ok(Self::ExecutedCollectRedeem { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - currency_payout: decode_be_bytes::<16, _, _>(input)?, - tranche_tokens_payout: decode_be_bytes::<16, _, _>(input)?, - remaining_redeem_amount: decode_be_bytes::<16, _, _>(input)?, - }), - 19 => Ok(Self::CancelInvestOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - 20 => Ok(Self::CancelRedeemOrder { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - investor: decode::<32, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - 21 => Ok(Self::ScheduleUpgrade { - contract: decode::<20, _, _>(input)?, - }), - 22 => Ok(Self::CancelUpgrade { - contract: decode::<20, _, _>(input)?, - }), - 23 => Ok(Self::UpdateTrancheTokenMetadata { - pool_id: decode_be_bytes::<8, _, _>(input)?, - tranche_id: decode::<16, _, _>(input)?, - token_name: decode::(input)?, - token_symbol: decode::(input)?, - }), - 24 => Ok(Self::DisallowInvestmentCurrency { - pool_id: decode_be_bytes::<8, _, _>(input)?, - currency: decode_be_bytes::<16, _, _>(input)?, - }), - _ => Err(parity_scale_codec::Error::from( - "Unsupported decoding for this Message variant", - )), - } + fn deserialize(data: &[u8]) -> Result { + gmpf::from_slice(data).map_err(|_| DispatchError::Other("LP Deserialization issue")) } } -/// Decode a type that implements our custom [Codec] trait -pub fn deserialize( - input: &mut I, -) -> Result { - let mut bytes = [0; S]; - input.read(&mut bytes[..])?; - - O::deserialize(&mut bytes.as_slice()) -} - -fn encoded_message(call_type: u8, fields: Vec>) -> Vec { - let mut message: Vec = vec![]; - message.push(call_type); - for x in fields { - message.append(&mut x.clone()); - } - - message -} - #[cfg(test)] mod tests { use cfg_primitives::{Balance, PoolId, TrancheId}; use cfg_types::fixed_point::Ratio; use cfg_utils::vec_to_fixed_array; use hex::FromHex; - use sp_runtime::traits::One; + use sp_runtime::{traits::One, FixedPointNumber}; use super::*; use crate::{Domain, DomainAddress}; - pub type LiquidityPoolsMessage = Message; - const AMOUNT: Balance = 100000000000000000000000000; const POOL_ID: PoolId = 12378532; const TOKEN_ID: u128 = 246803579; #[test] fn invalid() { - let msg = LiquidityPoolsMessage::Invalid; - assert_eq!(msg.serialize(), vec![msg.call_type()]); - assert_eq!(msg.serialize(), vec![0]); + let msg = Message::Invalid; + assert_eq!(gmpf::to_vec(&msg).unwrap(), vec![0]); } #[test] fn encoding_domain() { // The Centrifuge substrate chain assert_eq!( - hex::encode(Domain::Centrifuge.serialize()), + hex::encode(gmpf::to_vec(&SerializableDomain::from(Domain::Centrifuge)).unwrap()), "000000000000000000" ); // Ethereum MainNet assert_eq!( - hex::encode(Domain::EVM(1).serialize()), + hex::encode(gmpf::to_vec(&SerializableDomain::from(Domain::EVM(1))).unwrap()), "010000000000000001" ); // Moonbeam EVM chain assert_eq!( - hex::encode(Domain::EVM(1284).serialize()), + hex::encode(gmpf::to_vec(&SerializableDomain::from(Domain::EVM(1284))).unwrap()), "010000000000000504" ); // Avalanche Chain assert_eq!( - hex::encode(Domain::EVM(43114).serialize()), + hex::encode(gmpf::to_vec(&SerializableDomain::from(Domain::EVM(43114))).unwrap()), "01000000000000a86a" ); } @@ -976,7 +475,7 @@ mod tests { #[test] fn add_currency_zero() { test_encode_decode_identity( - LiquidityPoolsMessage::AddCurrency { + Message::AddCurrency { currency: 0, evm_address: default_address_20(), }, @@ -987,7 +486,7 @@ mod tests { #[test] fn add_currency() { test_encode_decode_identity( - LiquidityPoolsMessage::AddCurrency { + Message::AddCurrency { currency: TOKEN_ID, evm_address: default_address_20(), }, @@ -997,24 +496,18 @@ mod tests { #[test] fn add_pool_zero() { - test_encode_decode_identity( - LiquidityPoolsMessage::AddPool { pool_id: 0 }, - "020000000000000000", - ) + test_encode_decode_identity(Message::AddPool { pool_id: 0 }, "020000000000000000") } #[test] fn add_pool_long() { - test_encode_decode_identity( - LiquidityPoolsMessage::AddPool { pool_id: POOL_ID }, - "020000000000bce1a4", - ) + test_encode_decode_identity(Message::AddPool { pool_id: POOL_ID }, "020000000000bce1a4") } #[test] fn allow_investment_currency() { test_encode_decode_identity( - LiquidityPoolsMessage::AllowInvestmentCurrency { + Message::AllowInvestmentCurrency { currency: TOKEN_ID, pool_id: POOL_ID, }, @@ -1025,7 +518,7 @@ mod tests { #[test] fn allow_investment_currency_zero() { test_encode_decode_identity( - LiquidityPoolsMessage::AllowInvestmentCurrency { + Message::AllowInvestmentCurrency { currency: 0, pool_id: 0, }, @@ -1036,7 +529,7 @@ mod tests { #[test] fn add_tranche() { test_encode_decode_identity( - LiquidityPoolsMessage::AddTranche { + Message::AddTranche { pool_id: 1, tranche_id: default_tranche_id(), token_name: vec_to_fixed_array(b"Some Name"), @@ -1051,11 +544,11 @@ mod tests { #[test] fn update_tranche_token_price() { test_encode_decode_identity( - LiquidityPoolsMessage::UpdateTrancheTokenPrice { + Message::UpdateTrancheTokenPrice { pool_id: 1, tranche_id: default_tranche_id(), currency: TOKEN_ID, - price: Ratio::one(), + price: Ratio::one().into_inner(), computed_at: 1698131924, }, "050000000000000001811acd5b3f17c06841c7e41e9e04cb1b0000000000000000000000000eb5ec7b00000000000000000de0b6b3a76400000000000065376fd4", @@ -1065,7 +558,7 @@ mod tests { #[test] fn update_member() { test_encode_decode_identity( - LiquidityPoolsMessage::UpdateMember { + Message::UpdateMember { pool_id: 2, tranche_id: default_tranche_id(), member: default_address_32(), @@ -1078,7 +571,7 @@ mod tests { #[test] fn transfer_to_evm_address() { test_encode_decode_identity( - LiquidityPoolsMessage::Transfer { + Message::Transfer { currency: TOKEN_ID, sender: default_address_32(), receiver: vec_to_fixed_array(default_address_20()), @@ -1091,7 +584,7 @@ mod tests { #[test] fn transfer_to_centrifuge() { test_encode_decode_identity( - LiquidityPoolsMessage::Transfer { + Message::Transfer { currency: TOKEN_ID, sender: vec_to_fixed_array(default_address_20()), receiver: default_address_32(), @@ -1106,11 +599,11 @@ mod tests { let domain_address = DomainAddress::EVM(1284, default_address_20()); test_encode_decode_identity( - LiquidityPoolsMessage::TransferTrancheTokens { + Message::TransferTrancheTokens { pool_id: 1, tranche_id: default_tranche_id(), sender: default_address_32(), - domain: domain_address.clone().into(), + domain: domain_address.domain().into(), receiver: domain_address.address(), amount: AMOUNT, }, @@ -1121,11 +614,11 @@ mod tests { #[test] fn transfer_tranche_tokens_to_centrifuge() { test_encode_decode_identity( - LiquidityPoolsMessage::TransferTrancheTokens { + Message::TransferTrancheTokens { pool_id: 1, tranche_id: default_tranche_id(), sender: vec_to_fixed_array(default_address_20()), - domain: Domain::Centrifuge, + domain: Domain::Centrifuge.into(), receiver: default_address_32(), amount: AMOUNT, }, @@ -1136,7 +629,7 @@ mod tests { #[test] fn increase_invest_order() { test_encode_decode_identity( - LiquidityPoolsMessage::IncreaseInvestOrder { + Message::IncreaseInvestOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1150,7 +643,7 @@ mod tests { #[test] fn decrease_invest_order() { test_encode_decode_identity( - LiquidityPoolsMessage::DecreaseInvestOrder { + Message::DecreaseInvestOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1164,7 +657,7 @@ mod tests { #[test] fn cancel_invest_order() { test_encode_decode_identity( - LiquidityPoolsMessage::CancelInvestOrder { + Message::CancelInvestOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1177,7 +670,7 @@ mod tests { #[test] fn increase_redeem_order() { test_encode_decode_identity( - LiquidityPoolsMessage::IncreaseRedeemOrder { + Message::IncreaseRedeemOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1191,7 +684,7 @@ mod tests { #[test] fn decrease_redeem_order() { test_encode_decode_identity( - LiquidityPoolsMessage::DecreaseRedeemOrder { + Message::DecreaseRedeemOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1205,7 +698,7 @@ mod tests { #[test] fn cancel_redeem_order() { test_encode_decode_identity( - LiquidityPoolsMessage::CancelRedeemOrder { + Message::CancelRedeemOrder { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1218,7 +711,7 @@ mod tests { #[test] fn collect_invest() { test_encode_decode_identity( - LiquidityPoolsMessage::CollectInvest { + Message::CollectInvest { pool_id: 1, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1231,7 +724,7 @@ mod tests { #[test] fn collect_redeem() { test_encode_decode_identity( - LiquidityPoolsMessage::CollectRedeem { + Message::CollectRedeem { pool_id: POOL_ID, tranche_id: default_tranche_id(), investor: default_address_32(), @@ -1244,7 +737,7 @@ mod tests { #[test] fn executed_decrease_invest_order() { test_encode_decode_identity( - LiquidityPoolsMessage::ExecutedDecreaseInvestOrder { + Message::ExecutedDecreaseInvestOrder { pool_id: POOL_ID, tranche_id: default_tranche_id(), investor: vec_to_fixed_array(default_address_20()), @@ -1259,7 +752,7 @@ mod tests { #[test] fn executed_decrease_redeem_order() { test_encode_decode_identity( - LiquidityPoolsMessage::ExecutedDecreaseRedeemOrder { + Message::ExecutedDecreaseRedeemOrder { pool_id: POOL_ID, tranche_id: default_tranche_id(), investor: vec_to_fixed_array(default_address_20()), @@ -1274,7 +767,7 @@ mod tests { #[test] fn executed_collect_invest() { test_encode_decode_identity( - LiquidityPoolsMessage::ExecutedCollectInvest { + Message::ExecutedCollectInvest { pool_id: POOL_ID, tranche_id: default_tranche_id(), investor: vec_to_fixed_array(default_address_20()), @@ -1290,7 +783,7 @@ mod tests { #[test] fn executed_collect_redeem() { test_encode_decode_identity( - LiquidityPoolsMessage::ExecutedCollectRedeem { + Message::ExecutedCollectRedeem { pool_id: POOL_ID, tranche_id: default_tranche_id(), investor: vec_to_fixed_array(default_address_20()), @@ -1306,7 +799,7 @@ mod tests { #[test] fn schedule_upgrade() { test_encode_decode_identity( - LiquidityPoolsMessage::ScheduleUpgrade { + Message::ScheduleUpgrade { contract: default_address_20(), }, "151231231231231231231231231231231231231231", @@ -1316,7 +809,7 @@ mod tests { #[test] fn cancel_upgrade() { test_encode_decode_identity( - LiquidityPoolsMessage::CancelUpgrade { + Message::CancelUpgrade { contract: default_address_20(), }, "161231231231231231231231231231231231231231", @@ -1326,7 +819,7 @@ mod tests { #[test] fn update_tranche_token_metadata() { test_encode_decode_identity( - LiquidityPoolsMessage::UpdateTrancheTokenMetadata { + Message::UpdateTrancheTokenMetadata { pool_id: 1, tranche_id: default_tranche_id(), token_name: vec_to_fixed_array(b"Some Name"), @@ -1339,7 +832,7 @@ mod tests { #[test] fn disallow_investment_currency() { test_encode_decode_identity( - LiquidityPoolsMessage::DisallowInvestmentCurrency { + Message::DisallowInvestmentCurrency { pool_id: POOL_ID, currency: TOKEN_ID, }, @@ -1350,7 +843,7 @@ mod tests { #[test] fn disallow_investment_currency_zero() { test_encode_decode_identity( - LiquidityPoolsMessage::DisallowInvestmentCurrency { + Message::DisallowInvestmentCurrency { pool_id: 0, currency: 0, }, @@ -1360,14 +853,11 @@ mod tests { /// Verify the identity property of decode . encode on a Message value and /// that it in fact encodes to and can be decoded from a given hex string. - fn test_encode_decode_identity( - msg: Message, - expected_hex: &str, - ) { - let encoded = msg.serialize(); + fn test_encode_decode_identity(msg: Message, expected_hex: &str) { + let encoded = gmpf::to_vec(&msg).unwrap(); assert_eq!(hex::encode(encoded.clone()), expected_hex); - let decoded: Message = Message::deserialize( + let decoded = gmpf::from_slice( &mut hex::decode(expected_hex) .expect("Decode should work") .as_slice(), diff --git a/pallets/liquidity-pools/src/mock.rs b/pallets/liquidity-pools/src/mock.rs index aaff960192..d7e4451878 100644 --- a/pallets/liquidity-pools/src/mock.rs +++ b/pallets/liquidity-pools/src/mock.rs @@ -1,19 +1,50 @@ use cfg_primitives::{PoolId, TrancheId}; -use cfg_traits::Millis; +use cfg_traits::{Millis, Seconds}; use cfg_types::{ domain_address::{Domain, DomainAddress}, permissions::PermissionScope, - tokens::{AssetStringLimit, CurrencyId, CustomMetadata, TrancheCurrency}, + tokens::{ + AssetMetadata, AssetStringLimit, CrossChainTransferability, CurrencyId, CustomMetadata, + LocalAssetId, + }, }; -use frame_support::derive_impl; +use frame_support::{derive_impl, traits::PalletInfo as _}; use orml_traits::parameter_type_with_key; -use sp_runtime::{traits::IdentityLookup, AccountId32, DispatchResult, FixedU64}; +use sp_runtime::{traits::IdentityLookup, AccountId32, DispatchResult, FixedU128}; +use staging_xcm::{ + v4::{Junction::*, Location, NetworkId}, + VersionedLocation, +}; -use crate::pallet as pallet_liquidity_pools; +use crate::{pallet as pallet_liquidity_pools, GeneralCurrencyIndexOf}; pub type Balance = u128; pub type AccountId = AccountId32; -pub type Ratio = FixedU64; +pub type Ratio = FixedU128; + +pub const CHAIN_ID: u64 = 1; +pub const ALICE_32: [u8; 32] = [2; 32]; +pub const ALICE: AccountId = AccountId::new(ALICE_32); +pub const ALICE_ETH: [u8; 20] = [2; 20]; +pub const ALICE_EVM_DOMAIN_ADDRESS: DomainAddress = DomainAddress::EVM(42, ALICE_ETH); +pub const CENTRIFUGE_DOMAIN_ADDRESS: DomainAddress = DomainAddress::Centrifuge(ALICE_32); +pub const CONTRACT_ACCOUNT: [u8; 20] = [1; 20]; +pub const CONTRACT_ACCOUNT_ID: AccountId = AccountId::new([1; 32]); +pub const EVM_DOMAIN_ADDRESS: DomainAddress = DomainAddress::EVM(CHAIN_ID, CONTRACT_ACCOUNT); +pub const AMOUNT: Balance = 100; +pub const CURRENCY_ID: CurrencyId = CurrencyId::ForeignAsset(1); +pub const POOL_CURRENCY_ID: CurrencyId = CurrencyId::LocalAsset(LocalAssetId(1)); +pub const POOL_ID: PoolId = 1; +pub const TRANCHE_ID: TrancheId = [1; 16]; +pub const NOW: Millis = 10000; +pub const NOW_SECS: Seconds = 10; +pub const NAME: &[u8] = b"Token name"; +pub const SYMBOL: &[u8] = b"Token symbol"; +pub const DECIMALS: u8 = 6; +pub const TRANCHE_CURRENCY: CurrencyId = CurrencyId::Tranche(POOL_ID, TRANCHE_ID); +pub const TRANCHE_TOKEN_PRICE: Ratio = Ratio::from_rational(10, 1); +pub const MARKET_RATIO: Ratio = Ratio::from_rational(2, 1); +pub const INVESTMENT_ID: (PoolId, TrancheId) = (POOL_ID, TRANCHE_ID); frame_support::construct_runtime!( pub enum Runtime { @@ -27,6 +58,7 @@ frame_support::construct_runtime!( DomainAddressToAccountId: cfg_mocks::converter::pallet::, DomainAccountToDomainAddress: cfg_mocks::converter::pallet::, TransferFilter: cfg_mocks::pre_conditions::pallet, + MarketRatio: cfg_mocks::token_swaps::pallet, Tokens: orml_tokens, LiquidityPools: pallet_liquidity_pools, } @@ -52,7 +84,6 @@ impl cfg_mocks::pools::pallet::Config for Runtime { type BalanceRatio = Ratio; type CurrencyId = CurrencyId; type PoolId = PoolId; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; } @@ -66,13 +97,13 @@ impl cfg_mocks::asset_registry::pallet::Config for Runtime { impl cfg_mocks::foreign_investment::pallet::Config for Runtime { type Amount = Balance; type CurrencyId = CurrencyId; - type InvestmentId = TrancheCurrency; + type InvestmentId = (PoolId, TrancheId); type TrancheAmount = Balance; } impl cfg_mocks::outbound_queue::pallet::Config for Runtime { type Destination = Domain; - type Message = crate::MessageOf; + type Message = crate::Message; type Sender = AccountId; } @@ -91,6 +122,14 @@ impl cfg_mocks::pre_conditions::pallet::Config for Runtime { type Result = DispatchResult; } +impl cfg_mocks::token_swaps::pallet::Config for Runtime { + type BalanceIn = Balance; + type BalanceOut = Balance; + type CurrencyId = CurrencyId; + type OrderId = (); + type Ratio = Ratio; +} + parameter_type_with_key! { pub ExistentialDeposits: |_currency_id: CurrencyId| -> Balance { Default::default() @@ -125,6 +164,7 @@ impl pallet_liquidity_pools::Config for Runtime { type DomainAddressToAccountId = DomainAddressToAccountId; type ForeignInvestment = ForeignInvestment; type GeneralCurrencyPrefix = CurrencyPrefix; + type MarketRatio = MarketRatio; type OutboundQueue = Gateway; type Permission = Permissions; type PoolId = PoolId; @@ -133,9 +173,65 @@ impl pallet_liquidity_pools::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Time = Time; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type TrancheTokenPrice = Pools; type TreasuryAccount = TreasuryAccount; type WeightInfo = (); } + +pub mod util { + use super::*; + + pub fn default_metadata() -> AssetMetadata { + AssetMetadata { + decimals: DECIMALS as u32, + name: Vec::from(NAME).try_into().unwrap(), + symbol: Vec::from(SYMBOL).try_into().unwrap(), + ..cfg_types::tokens::default_metadata() + } + } + + pub fn transferable_metadata() -> AssetMetadata { + AssetMetadata { + additional: CustomMetadata { + transferability: CrossChainTransferability::LiquidityPools, + ..Default::default() + }, + ..default_metadata() + } + } + + pub fn locatable_transferable_metadata() -> AssetMetadata { + let pallet_index = PalletInfo::index::(); + AssetMetadata { + location: Some(VersionedLocation::V4(Location::new( + 0, + [ + PalletInstance(pallet_index.unwrap() as u8), + GlobalConsensus(NetworkId::Ethereum { chain_id: CHAIN_ID }), + AccountKey20 { + network: None, + key: CONTRACT_ACCOUNT, + }, + ], + ))), + ..transferable_metadata() + } + } + + pub fn pool_locatable_transferable_metadata() -> AssetMetadata { + AssetMetadata { + additional: CustomMetadata { + pool_currency: true, + ..transferable_metadata().additional + }, + ..locatable_transferable_metadata() + } + } + + pub fn currency_index(currency_id: CurrencyId) -> u128 { + GeneralCurrencyIndexOf::::try_from(currency_id) + .unwrap() + .index + } +} diff --git a/pallets/liquidity-pools/src/tests.rs b/pallets/liquidity-pools/src/tests.rs index 439fe35362..f0f3a582cb 100644 --- a/pallets/liquidity-pools/src/tests.rs +++ b/pallets/liquidity-pools/src/tests.rs @@ -1,87 +1,19 @@ -use cfg_primitives::{PoolId, TrancheId}; -use cfg_traits::{liquidity_pools::InboundQueue, Millis}; +use cfg_traits::Seconds; use cfg_types::{ domain_address::DomainAddress, permissions::{PermissionScope, PoolRole, Role}, - tokens::{AssetMetadata, CrossChainTransferability, CurrencyId, CustomMetadata}, + tokens::CurrencyId, }; use cfg_utils::vec_to_fixed_array; use frame_support::{ assert_noop, assert_ok, - traits::{ - fungibles::{Inspect as _, Mutate as _}, - PalletInfo as _, - }, + traits::fungibles::{Inspect as _, Mutate as _}, }; -use sp_runtime::{DispatchError, TokenError}; -use staging_xcm::{ - v4::{Junction::*, Location, NetworkId}, - VersionedLocation, -}; - -use crate::{mock::*, Error, GeneralCurrencyIndexOf, Message}; - -const CHAIN_ID: u64 = 1; -const ALICE: AccountId = AccountId::new([0; 32]); -const CONTRACT_ACCOUNT: [u8; 20] = [1; 20]; -const CONTRACT_ACCOUNT_ID: AccountId = AccountId::new([1; 32]); -const EVM_ADDRESS: DomainAddress = DomainAddress::EVM(CHAIN_ID, CONTRACT_ACCOUNT); -const AMOUNT: Balance = 100; -const CURRENCY_ID: CurrencyId = CurrencyId::ForeignAsset(1); -const POOL_ID: PoolId = 1; -const TRANCHE_ID: TrancheId = [1; 16]; -const NOW: Millis = 0; -const NAME: &[u8] = b"Token name"; -const SYMBOL: &[u8] = b"Token symbol"; -const DECIMALS: u8 = 6; -const TRANCHE_CURRENCY: CurrencyId = CurrencyId::Tranche(POOL_ID, TRANCHE_ID); - -mod util { - use super::*; - - pub fn default_metadata() -> AssetMetadata { - AssetMetadata { - decimals: DECIMALS as u32, - name: Vec::from(NAME).try_into().unwrap(), - symbol: Vec::from(SYMBOL).try_into().unwrap(), - ..cfg_types::tokens::default_metadata() - } - } - - pub fn transferable_metadata() -> AssetMetadata { - AssetMetadata { - additional: CustomMetadata { - transferability: CrossChainTransferability::LiquidityPools, - ..Default::default() - }, - ..default_metadata() - } - } +use sp_runtime::{traits::Saturating, DispatchError, TokenError}; - pub fn wrapped_transferable_metadata() -> AssetMetadata { - let pallet_index = PalletInfo::index::(); - AssetMetadata { - location: Some(VersionedLocation::V4(Location::new( - 0, - [ - PalletInstance(pallet_index.unwrap() as u8), - GlobalConsensus(NetworkId::Ethereum { chain_id: CHAIN_ID }), - AccountKey20 { - network: None, - key: CONTRACT_ACCOUNT, - }, - ], - ))), - ..transferable_metadata() - } - } +use crate::{mock::*, Error, Message}; - pub fn currency_index(currency_id: CurrencyId) -> u128 { - GeneralCurrencyIndexOf::::try_from(currency_id) - .unwrap() - .index - } -} +mod inbound; mod transfer { use super::*; @@ -89,28 +21,29 @@ mod transfer { #[test] fn success() { System::externalities().execute_with(|| { - AssetRegistry::mock_metadata(|_| Some(util::wrapped_transferable_metadata())); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); TransferFilter::mock_check(|_| Ok(())); - Tokens::mint_into(CURRENCY_ID, &ALICE, AMOUNT).unwrap(); Gateway::mock_submit(|sender, destination, msg| { assert_eq!(sender, ALICE); - assert_eq!(destination, EVM_ADDRESS.domain()); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); assert_eq!( msg, Message::Transfer { currency: util::currency_index(CURRENCY_ID), sender: ALICE.into(), - receiver: EVM_ADDRESS.address(), + receiver: EVM_DOMAIN_ADDRESS.address(), amount: AMOUNT } ); Ok(()) }); + Tokens::mint_into(CURRENCY_ID, &ALICE, AMOUNT).unwrap(); + assert_ok!(LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CurrencyId::ForeignAsset(1), - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT )); @@ -118,7 +51,7 @@ mod transfer { }) } - mod erroring_out_when { + mod erroring_out { use super::*; #[test] @@ -128,7 +61,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, 0 ), Error::::InvalidTransferAmount, @@ -143,7 +76,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CurrencyId::Tranche(42, [0; 16]), - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::InvalidTransferCurrency, @@ -160,7 +93,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::AssetNotFound, @@ -177,7 +110,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CurrencyId::Native, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), TokenError::Unsupported, @@ -194,7 +127,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::AssetNotLiquidityPoolsTransferable, @@ -211,7 +144,7 @@ mod transfer { LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::AssetNotLiquidityPoolsWrappedToken @@ -222,7 +155,7 @@ mod transfer { #[test] fn with_wrong_domain() { System::externalities().execute_with(|| { - AssetRegistry::mock_metadata(|_| Some(util::wrapped_transferable_metadata())); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); assert_noop!( LiquidityPools::transfer( @@ -239,14 +172,14 @@ mod transfer { #[test] fn without_satisfy_filter() { System::externalities().execute_with(|| { - AssetRegistry::mock_metadata(|_| Some(util::wrapped_transferable_metadata())); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); TransferFilter::mock_check(|_| Err(DispatchError::Other("Err"))); assert_noop!( LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), DispatchError::Other("Err"), @@ -257,14 +190,14 @@ mod transfer { #[test] fn without_sufficient_balance() { System::externalities().execute_with(|| { - AssetRegistry::mock_metadata(|_| Some(util::wrapped_transferable_metadata())); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); TransferFilter::mock_check(|_| Ok(())); assert_noop!( LiquidityPools::transfer( RuntimeOrigin::signed(ALICE), CURRENCY_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::BalanceTooLow @@ -277,56 +210,61 @@ mod transfer { mod transfer_tranche_tokens { use super::*; + fn config_mocks() { + DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); + Time::mock_now(|| NOW); + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, CONTRACT_ACCOUNT_ID); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!( + role, + Role::PoolRole(PoolRole::TrancheInvestor(TRANCHE_ID, NOW_SECS)) + )); + true + }); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + TransferFilter::mock_check(|_| Ok(())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: ALICE.into(), + domain: EVM_DOMAIN_ADDRESS.domain().into(), + receiver: EVM_DOMAIN_ADDRESS.address(), + amount: AMOUNT + } + ); + Ok(()) + }); + } + #[test] fn success() { System::externalities().execute_with(|| { - DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); - Time::mock_now(|| NOW); - Permissions::mock_has(move |scope, who, role| { - assert_eq!(who, CONTRACT_ACCOUNT_ID); - assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); - assert!(matches!( - role, - Role::PoolRole(PoolRole::TrancheInvestor(TRANCHE_ID, NOW)) - )); - true - }); - Pools::mock_pool_exists(|_| true); - Pools::mock_tranche_exists(|_, _| true); - TransferFilter::mock_check(|_| Ok(())); + config_mocks(); + Tokens::mint_into(TRANCHE_CURRENCY, &ALICE, AMOUNT).unwrap(); - Gateway::mock_submit(|sender, destination, msg| { - assert_eq!(sender, ALICE); - assert_eq!(destination, EVM_ADDRESS.domain()); - assert_eq!( - msg, - Message::TransferTrancheTokens { - pool_id: POOL_ID, - tranche_id: TRANCHE_ID, - sender: ALICE.into(), - domain: EVM_ADDRESS.domain(), - receiver: EVM_ADDRESS.address(), - amount: AMOUNT - } - ); - Ok(()) - }); assert_ok!(LiquidityPools::transfer_tranche_tokens( RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT )); - let destination = EVM_ADDRESS.domain().into_account(); + let destination = EVM_DOMAIN_ADDRESS.domain().into_account(); assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &ALICE), 0); assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &destination), AMOUNT); }) } - mod erroring_out_when { + mod erroring_out { use super::*; #[test] @@ -337,7 +275,7 @@ mod transfer_tranche_tokens { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, 0 ), Error::::InvalidTransferAmount, @@ -348,8 +286,7 @@ mod transfer_tranche_tokens { #[test] fn with_wrong_permissions() { System::externalities().execute_with(|| { - DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); - Time::mock_now(|| NOW); + config_mocks(); Permissions::mock_has(|_, _, _| false); assert_noop!( @@ -357,7 +294,7 @@ mod transfer_tranche_tokens { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::UnauthorizedTransfer, @@ -368,9 +305,7 @@ mod transfer_tranche_tokens { #[test] fn with_wrong_pool() { System::externalities().execute_with(|| { - DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); - Time::mock_now(|| NOW); - Permissions::mock_has(move |_, _, _| true); + config_mocks(); Pools::mock_pool_exists(|_| false); assert_noop!( @@ -378,7 +313,7 @@ mod transfer_tranche_tokens { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::PoolNotFound, @@ -389,10 +324,7 @@ mod transfer_tranche_tokens { #[test] fn with_wrong_tranche() { System::externalities().execute_with(|| { - DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); - Time::mock_now(|| NOW); - Permissions::mock_has(move |_, _, _| true); - Pools::mock_pool_exists(|_| true); + config_mocks(); Pools::mock_tranche_exists(|_, _| false); assert_noop!( @@ -400,7 +332,7 @@ mod transfer_tranche_tokens { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), Error::::TrancheNotFound, @@ -411,11 +343,7 @@ mod transfer_tranche_tokens { #[test] fn without_satisfy_filter() { System::externalities().execute_with(|| { - DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); - Time::mock_now(|| NOW); - Permissions::mock_has(move |_, _, _| true); - Pools::mock_pool_exists(|_| true); - Pools::mock_tranche_exists(|_, _| true); + config_mocks(); TransferFilter::mock_check(|_| Err(DispatchError::Other("Err"))); assert_noop!( @@ -423,7 +351,7 @@ mod transfer_tranche_tokens { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS, + EVM_DOMAIN_ADDRESS, AMOUNT ), DispatchError::Other("Err"), @@ -448,7 +376,7 @@ mod add_pool { Pools::mock_pool_exists(|_| true); Gateway::mock_submit(|sender, destination, msg| { assert_eq!(sender, ALICE); - assert_eq!(destination, EVM_ADDRESS.domain()); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); assert_eq!(msg, Message::AddPool { pool_id: POOL_ID }); Ok(()) }); @@ -456,12 +384,12 @@ mod add_pool { assert_ok!(LiquidityPools::add_pool( RuntimeOrigin::signed(ALICE), POOL_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), )); }) } - mod erroring_out_when { + mod erroring_out { use super::*; #[test] @@ -473,7 +401,7 @@ mod add_pool { LiquidityPools::add_pool( RuntimeOrigin::signed(ALICE), POOL_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), ), Error::::PoolNotFound ); @@ -490,7 +418,7 @@ mod add_pool { LiquidityPools::add_pool( RuntimeOrigin::signed(ALICE), POOL_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), ), Error::::NotPoolAdmin ); @@ -502,45 +430,49 @@ mod add_pool { mod add_tranche { use super::*; + fn config_mocks() { + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, ALICE); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!(role, Role::PoolRole(PoolRole::PoolAdmin))); + true + }); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::AddTranche { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + token_name: vec_to_fixed_array(NAME), + token_symbol: vec_to_fixed_array(SYMBOL), + decimals: DECIMALS, + restriction_set: 1 + } + ); + Ok(()) + }); + } + #[test] fn success() { System::externalities().execute_with(|| { - Permissions::mock_has(move |scope, who, role| { - assert_eq!(who, ALICE); - assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); - assert!(matches!(role, Role::PoolRole(PoolRole::PoolAdmin))); - true - }); - Pools::mock_pool_exists(|_| true); - Pools::mock_tranche_exists(|_, _| true); - AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); - Gateway::mock_submit(|sender, destination, msg| { - assert_eq!(sender, ALICE); - assert_eq!(destination, EVM_ADDRESS.domain()); - assert_eq!( - msg, - Message::AddTranche { - pool_id: POOL_ID, - tranche_id: TRANCHE_ID, - token_name: vec_to_fixed_array(NAME), - token_symbol: vec_to_fixed_array(SYMBOL), - decimals: DECIMALS, - restriction_set: 1 - } - ); - Ok(()) - }); + config_mocks(); assert_ok!(LiquidityPools::add_tranche( RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), )); }) } - mod erroring_out_when { + mod erroring_out { use super::*; #[test] @@ -553,7 +485,7 @@ mod add_tranche { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), ), Error::::NotPoolAdmin ); @@ -563,7 +495,7 @@ mod add_tranche { #[test] fn with_wrong_pool() { System::externalities().execute_with(|| { - Permissions::mock_has(move |_, _, _| true); + config_mocks(); Pools::mock_pool_exists(|_| false); assert_noop!( @@ -571,7 +503,7 @@ mod add_tranche { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), ), Error::::PoolNotFound ); @@ -581,8 +513,7 @@ mod add_tranche { #[test] fn with_wrong_tranche() { System::externalities().execute_with(|| { - Permissions::mock_has(move |_, _, _| true); - Pools::mock_pool_exists(|_| true); + config_mocks(); Pools::mock_tranche_exists(|_, _| false); assert_noop!( @@ -590,7 +521,7 @@ mod add_tranche { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), ), Error::::TrancheNotFound, ); @@ -600,9 +531,7 @@ mod add_tranche { #[test] fn with_no_metadata() { System::externalities().execute_with(|| { - Permissions::mock_has(move |_, _, _| true); - Pools::mock_pool_exists(|_| true); - Pools::mock_tranche_exists(|_, _| true); + config_mocks(); AssetRegistry::mock_metadata(|_| None); assert_noop!( @@ -610,7 +539,103 @@ mod add_tranche { RuntimeOrigin::signed(ALICE), POOL_ID, TRANCHE_ID, - EVM_ADDRESS.domain(), + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::TrancheMetadataNotFound, + ); + }) + } + } +} + +mod update_tranche_token_metadata { + use super::*; + + fn config_mocks() { + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::UpdateTrancheTokenMetadata { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + token_name: vec_to_fixed_array(NAME), + token_symbol: vec_to_fixed_array(SYMBOL), + } + ); + Ok(()) + }); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::update_tranche_token_metadata( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS.domain(), + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::update_tranche_token_metadata( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::PoolNotFound + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::update_tranche_token_metadata( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::update_tranche_token_metadata( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS.domain(), ), Error::::TrancheMetadataNotFound, ); @@ -619,14 +644,708 @@ mod add_tranche { } } -#[test] -fn receiving_output_message() { - System::externalities().execute_with(|| { - let msg = Message::AddPool { pool_id: 123 }; +mod update_token_price { + use super::*; + + fn config_mocks() { + Pools::mock_get_price(|_, _| Some((TRANCHE_TOKEN_PRICE, 1234))); + Pools::mock_currency_for(|_| Some(POOL_CURRENCY_ID)); + MarketRatio::mock_market_ratio(|target, origin| { + assert_eq!(target, CURRENCY_ID); + assert_eq!(origin, POOL_CURRENCY_ID); + Ok(MARKET_RATIO) + }); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::UpdateTrancheTokenPrice { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + currency: util::currency_index(CURRENCY_ID), + price: TRANCHE_TOKEN_PRICE + .saturating_mul(MARKET_RATIO) + .into_inner(), + computed_at: 1234 + } + ); + Ok(()) + }); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::update_token_price( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + CURRENCY_ID, + EVM_DOMAIN_ADDRESS.domain(), + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_missing_tranche_price() { + System::externalities().execute_with(|| { + Pools::mock_get_price(|_, _| None); + + assert_noop!( + LiquidityPools::update_token_price( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + CURRENCY_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::MissingTranchePrice, + ); + }) + } + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_currency_for(|_| None); + + assert_noop!( + LiquidityPools::update_token_price( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + CURRENCY_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_no_market_ratio() { + System::externalities().execute_with(|| { + config_mocks(); + MarketRatio::mock_market_ratio(|_, _| Err(DispatchError::Other(""))); + + assert_noop!( + LiquidityPools::update_token_price( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + CURRENCY_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + DispatchError::Other("") + ); + }) + } + + #[test] + fn with_no_transferible_asset() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::update_token_price( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + CURRENCY_ID, + EVM_DOMAIN_ADDRESS.domain(), + ), + Error::::AssetNotLiquidityPoolsTransferable, + ); + }) + } + } +} + +mod update_member { + use super::*; + + const VALID_UNTIL_SECS: Seconds = NOW_SECS + 1; + + fn config_mocks() { + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + Time::mock_now(|| NOW); + DomainAddressToAccountId::mock_convert(|_| CONTRACT_ACCOUNT_ID); + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, CONTRACT_ACCOUNT_ID); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!( + role, + Role::PoolRole(PoolRole::TrancheInvestor(TRANCHE_ID, VALID_UNTIL_SECS)) + )); + true + }); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::UpdateMember { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + valid_until: VALID_UNTIL_SECS, + member: EVM_DOMAIN_ADDRESS.address(), + } + ); + Ok(()) + }); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::update_member( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS, + VALID_UNTIL_SECS, + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::update_member( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS, + VALID_UNTIL_SECS, + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::update_member( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS, + VALID_UNTIL_SECS, + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_wrong_time() { + System::externalities().execute_with(|| { + config_mocks(); + Time::mock_now(|| VALID_UNTIL_SECS * 1000); - assert_noop!( - LiquidityPools::submit(EVM_ADDRESS, msg), - Error::::InvalidIncomingMessage, - ); - }) + assert_noop!( + LiquidityPools::update_member( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS, + VALID_UNTIL_SECS, + ), + Error::::InvalidTrancheInvestorValidity, + ); + }) + } + + #[test] + fn with_wrong_permissions() { + System::externalities().execute_with(|| { + config_mocks(); + Permissions::mock_has(|_, _, _| false); + + assert_noop!( + LiquidityPools::update_member( + RuntimeOrigin::signed(ALICE), + POOL_ID, + TRANCHE_ID, + EVM_DOMAIN_ADDRESS, + VALID_UNTIL_SECS, + ), + Error::::InvestorDomainAddressNotAMember, + ); + }) + } + } +} + +mod add_currency { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::AddCurrency { + currency: util::currency_index(CURRENCY_ID), + evm_address: CONTRACT_ACCOUNT, + } + ); + Ok(()) + }); + + assert_ok!(LiquidityPools::add_currency( + RuntimeOrigin::signed(ALICE), + CURRENCY_ID + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::add_currency(RuntimeOrigin::signed(ALICE), CURRENCY_ID), + Error::::AssetNotFound, + ); + }) + } + + #[test] + fn with_unsupported_token() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::add_currency(RuntimeOrigin::signed(ALICE), CurrencyId::Native), + TokenError::Unsupported, + ); + }) + } + + #[test] + fn with_no_transferible_asset() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::add_currency(RuntimeOrigin::signed(ALICE), CURRENCY_ID), + Error::::AssetNotLiquidityPoolsTransferable, + ); + }) + } + + #[test] + fn with_wrong_location() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::transferable_metadata())); + + assert_noop!( + LiquidityPools::add_currency(RuntimeOrigin::signed(ALICE), CURRENCY_ID), + Error::::AssetNotLiquidityPoolsWrappedToken + ); + }) + } + } +} + +mod allow_investment_currency { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::pool_locatable_transferable_metadata())); + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, ALICE); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!(role, Role::PoolRole(PoolRole::PoolAdmin))); + true + }); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::AllowInvestmentCurrency { + pool_id: POOL_ID, + currency: util::currency_index(CURRENCY_ID), + } + ); + Ok(()) + }); + + assert_ok!(LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_permissions() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| false); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::NotPoolAdmin + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotFound, + ); + }) + } + + #[test] + fn with_unsupported_token() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CurrencyId::Native + ), + TokenError::Unsupported, + ); + }) + } + + #[test] + fn with_no_transferible_asset() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotLiquidityPoolsTransferable, + ); + }) + } + + #[test] + fn with_wrong_location() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::transferable_metadata())); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotLiquidityPoolsWrappedToken + ); + }) + } + + #[test] + fn with_wrong_pool_currency() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); + + assert_noop!( + LiquidityPools::allow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetMetadataNotPoolCurrency + ); + }) + } + } +} + +mod disallow_investment_currency { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::pool_locatable_transferable_metadata())); + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, ALICE); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!(role, Role::PoolRole(PoolRole::PoolAdmin))); + true + }); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::DisallowInvestmentCurrency { + pool_id: POOL_ID, + currency: util::currency_index(CURRENCY_ID), + } + ); + Ok(()) + }); + + assert_ok!(LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_permissions() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| false); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::NotPoolAdmin + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotFound, + ); + }) + } + + #[test] + fn with_unsupported_token() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CurrencyId::Native + ), + TokenError::Unsupported, + ); + }) + } + + #[test] + fn with_no_transferible_asset() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotLiquidityPoolsTransferable, + ); + }) + } + + #[test] + fn with_wrong_location() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::transferable_metadata())); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetNotLiquidityPoolsWrappedToken + ); + }) + } + + #[test] + fn with_wrong_pool_currency() { + System::externalities().execute_with(|| { + Permissions::mock_has(move |_, _, _| true); + AssetRegistry::mock_metadata(|_| Some(util::locatable_transferable_metadata())); + + assert_noop!( + LiquidityPools::disallow_investment_currency( + RuntimeOrigin::signed(ALICE), + POOL_ID, + CURRENCY_ID + ), + Error::::AssetMetadataNotPoolCurrency + ); + }) + } + } +} + +mod schedule_upgrade { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, TreasuryAccount::get()); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::ScheduleUpgrade { + contract: CONTRACT_ACCOUNT + } + ); + Ok(()) + }); + + assert_ok!(LiquidityPools::schedule_upgrade( + RuntimeOrigin::root(), + CHAIN_ID, + CONTRACT_ACCOUNT, + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_origin() { + System::externalities().execute_with(|| { + assert_noop!( + LiquidityPools::schedule_upgrade( + RuntimeOrigin::signed(ALICE), + CHAIN_ID, + CONTRACT_ACCOUNT, + ), + DispatchError::BadOrigin + ); + }) + } + } +} + +mod cancel_upgrade { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, TreasuryAccount::get()); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::CancelUpgrade { + contract: CONTRACT_ACCOUNT + } + ); + Ok(()) + }); + + assert_ok!(LiquidityPools::cancel_upgrade( + RuntimeOrigin::root(), + CHAIN_ID, + CONTRACT_ACCOUNT, + )); + }) + } + + mod erroring_out { + use super::*; + + #[test] + fn with_origin() { + System::externalities().execute_with(|| { + assert_noop!( + LiquidityPools::cancel_upgrade( + RuntimeOrigin::signed(ALICE), + CHAIN_ID, + CONTRACT_ACCOUNT, + ), + DispatchError::BadOrigin + ); + }) + } + } } diff --git a/pallets/liquidity-pools/src/tests/inbound.rs b/pallets/liquidity-pools/src/tests/inbound.rs new file mode 100644 index 0000000000..3c9b876d43 --- /dev/null +++ b/pallets/liquidity-pools/src/tests/inbound.rs @@ -0,0 +1,792 @@ +use cfg_traits::liquidity_pools::InboundQueue; +use cfg_types::{ + domain_address::DomainAddress, + permissions::{PermissionScope, PoolRole, Role}, +}; +use frame_support::{ + assert_noop, assert_ok, + traits::fungibles::{Inspect as _, Mutate as _}, +}; + +use crate::{mock::*, Error, Message}; + +#[test] +fn receiving_invalid_message() { + System::externalities().execute_with(|| { + // Add pool is an outbound message, not valid to be received + let msg = Message::AddPool { pool_id: 123 }; + + assert_noop!( + LiquidityPools::submit(EVM_DOMAIN_ADDRESS, msg), + Error::::InvalidIncomingMessage, + ); + }) +} + +mod handle_transfer { + use super::*; + + #[test] + fn success() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::Transfer { + currency: util::currency_index(CURRENCY_ID), + sender: EVM_DOMAIN_ADDRESS.address(), + receiver: ALICE.into(), + amount: AMOUNT, + }, + )); + + assert_eq!(Tokens::balance(CURRENCY_ID, &ALICE.into()), AMOUNT); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_zero_balance() { + System::externalities().execute_with(|| { + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::Transfer { + currency: util::currency_index(CURRENCY_ID), + sender: EVM_DOMAIN_ADDRESS.address(), + receiver: ALICE.into(), + amount: 0, + }, + ), + Error::::InvalidTransferAmount + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + AssetRegistry::mock_metadata(|_| None); + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::Transfer { + currency: util::currency_index(CURRENCY_ID), + sender: EVM_DOMAIN_ADDRESS.address(), + receiver: ALICE.into(), + amount: AMOUNT, + }, + ), + Error::::AssetNotFound, + ); + }) + } + } +} + +mod handle_tranche_tokens_transfer { + use super::*; + + fn config_mocks(receiver: DomainAddress) { + DomainAccountToDomainAddress::mock_convert(move |_| receiver.clone()); + DomainAddressToAccountId::mock_convert(move |_| ALICE); + Time::mock_now(|| NOW); + Permissions::mock_has(move |scope, who, role| { + assert_eq!(who, ALICE); + assert!(matches!(scope, PermissionScope::Pool(POOL_ID))); + assert!(matches!( + role, + Role::PoolRole(PoolRole::TrancheInvestor(TRANCHE_ID, NOW_SECS)) + )); + true + }); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + } + + #[test] + fn success_with_centrifuge_domain() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + + Tokens::mint_into( + TRANCHE_CURRENCY, + &EVM_DOMAIN_ADDRESS.domain().into_account(), + AMOUNT, + ) + .unwrap(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT + } + )); + + let origin = EVM_DOMAIN_ADDRESS.domain().into_account(); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &origin), 0); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &ALICE.into()), AMOUNT); + }); + } + + #[test] + fn success_with_evm_domain() { + System::externalities().execute_with(|| { + config_mocks(ALICE_EVM_DOMAIN_ADDRESS); + + TransferFilter::mock_check(|_| Ok(())); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, ALICE); + assert_eq!(destination, ALICE_EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: ALICE.into(), + domain: ALICE_EVM_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE_EVM_DOMAIN_ADDRESS.address().into(), + amount: AMOUNT + } + ); + Ok(()) + }); + + Tokens::mint_into( + TRANCHE_CURRENCY, + &EVM_DOMAIN_ADDRESS.domain().into_account(), + AMOUNT, + ) + .unwrap(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: ALICE_EVM_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT + } + )); + + let origin = EVM_DOMAIN_ADDRESS.domain().into_account(); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &origin), 0); + + let destination = ALICE_EVM_DOMAIN_ADDRESS.domain().into_account(); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &destination), AMOUNT); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_zero_balance() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: 0, + } + ), + Error::::InvalidTransferAmount, + ); + }) + } + + #[test] + fn with_wrong_permissions() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + Permissions::mock_has(|_, _, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT, + } + ), + Error::::UnauthorizedTransfer, + ); + }) + } + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT, + } + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT, + } + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn without_sufficient_balance() { + System::externalities().execute_with(|| { + config_mocks(CENTRIFUGE_DOMAIN_ADDRESS); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::TransferTrancheTokens { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + sender: EVM_DOMAIN_ADDRESS.address(), + domain: CENTRIFUGE_DOMAIN_ADDRESS.domain().into(), + receiver: ALICE.into(), + amount: AMOUNT, + } + ), + orml_tokens::Error::::BalanceTooLow + ); + }) + } + } +} + +mod handle_increase_invest_order { + use super::*; + + fn config_mocks() { + DomainAccountToDomainAddress::mock_convert(|_| CENTRIFUGE_DOMAIN_ADDRESS); + DomainAddressToAccountId::mock_convert(|_| ALICE); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + ForeignInvestment::mock_increase_foreign_investment( + |who, investment_id, amount, foreign_currency| { + assert_eq!(*who, ALICE); + assert_eq!(investment_id, INVESTMENT_ID); + assert_eq!(amount, AMOUNT); + assert_eq!(foreign_currency, CURRENCY_ID); + Ok(()) + }, + ); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + )); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::AssetNotFound, + ); + }) + } + } +} + +mod handle_cancel_invest_order { + use super::*; + + fn config_mocks() { + DomainAccountToDomainAddress::mock_convert(|_| CENTRIFUGE_DOMAIN_ADDRESS); + DomainAddressToAccountId::mock_convert(|_| ALICE); + ForeignInvestment::mock_investment(|_, _| Ok(AMOUNT)); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + ForeignInvestment::mock_decrease_foreign_investment( + |who, investment_id, amount, foreign_currency| { + assert_eq!(*who, ALICE); + assert_eq!(investment_id, INVESTMENT_ID); + assert_eq!(amount, AMOUNT); + assert_eq!(foreign_currency, CURRENCY_ID); + Ok(()) + }, + ); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + )); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelInvestOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::AssetNotFound, + ); + }) + } + } +} + +mod handle_increase_redeem_order { + use super::*; + + fn config_mocks() { + DomainAccountToDomainAddress::mock_convert(|_| CENTRIFUGE_DOMAIN_ADDRESS); + DomainAddressToAccountId::mock_convert(|_| ALICE); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + ForeignInvestment::mock_increase_foreign_redemption( + |who, investment_id, amount, foreign_currency| { + assert_eq!(*who, ALICE); + assert_eq!(investment_id, INVESTMENT_ID); + assert_eq!(amount, AMOUNT); + assert_eq!(foreign_currency, CURRENCY_ID); + Ok(()) + }, + ); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + Tokens::mint_into( + TRANCHE_CURRENCY, + &EVM_DOMAIN_ADDRESS.domain().into_account(), + AMOUNT, + ) + .unwrap(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + )); + + let destination = EVM_DOMAIN_ADDRESS.domain().into_account(); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &destination), 0); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &ALICE), AMOUNT); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + Error::::AssetNotFound, + ); + }) + } + + #[test] + fn without_sufficient_balance() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::IncreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + amount: AMOUNT, + }, + ), + orml_tokens::Error::::BalanceTooLow + ); + }) + } + } +} + +mod handle_cancel_redeem_order { + use super::*; + + fn config_mocks() { + DomainAccountToDomainAddress::mock_convert(|_| CENTRIFUGE_DOMAIN_ADDRESS); + DomainAddressToAccountId::mock_convert(|_| ALICE); + ForeignInvestment::mock_redemption(|_, _| Ok(AMOUNT)); + Pools::mock_pool_exists(|_| true); + Pools::mock_tranche_exists(|_, _| true); + AssetRegistry::mock_metadata(|_| Some(util::default_metadata())); + ForeignInvestment::mock_decrease_foreign_redemption( + |who, investment_id, amount, foreign_currency| { + assert_eq!(*who, ALICE); + assert_eq!(investment_id, INVESTMENT_ID); + assert_eq!(amount, AMOUNT); + assert_eq!(foreign_currency, CURRENCY_ID); + + // Side effects of this call + ForeignInvestment::mock_redemption(|_, _| Ok(0)); + Tokens::mint_into(TRANCHE_CURRENCY, &ALICE, AMOUNT).unwrap(); + Ok(()) + }, + ); + Gateway::mock_submit(|sender, destination, msg| { + assert_eq!(sender, TreasuryAccount::get()); + assert_eq!(destination, EVM_DOMAIN_ADDRESS.domain()); + assert_eq!( + msg, + Message::ExecutedDecreaseRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + tranche_tokens_payout: AMOUNT, + remaining_redeem_amount: 0, + } + ); + Ok(()) + }); + } + + #[test] + fn success() { + System::externalities().execute_with(|| { + config_mocks(); + + assert_ok!(LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + )); + + let destination = EVM_DOMAIN_ADDRESS.domain().into_account(); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &ALICE), 0); + assert_eq!(Tokens::balance(TRANCHE_CURRENCY, &destination), AMOUNT); + }); + } + + mod erroring_out { + use super::*; + + #[test] + fn with_wrong_pool() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_pool_exists(|_| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::PoolNotFound, + ); + }) + } + + #[test] + fn with_wrong_tranche() { + System::externalities().execute_with(|| { + config_mocks(); + Pools::mock_tranche_exists(|_, _| false); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::TrancheNotFound, + ); + }) + } + + #[test] + fn with_no_metadata() { + System::externalities().execute_with(|| { + config_mocks(); + AssetRegistry::mock_metadata(|_| None); + + assert_noop!( + LiquidityPools::submit( + EVM_DOMAIN_ADDRESS, + Message::CancelRedeemOrder { + pool_id: POOL_ID, + tranche_id: TRANCHE_ID, + investor: ALICE.into(), + currency: util::currency_index(CURRENCY_ID), + }, + ), + Error::::AssetNotFound, + ); + }) + } + } +} diff --git a/pallets/loans/src/tests/mock.rs b/pallets/loans/src/tests/mock.rs index ae472f73a5..ee381f73a6 100644 --- a/pallets/loans/src/tests/mock.rs +++ b/pallets/loans/src/tests/mock.rs @@ -17,7 +17,7 @@ use cfg_mocks::{ pallet_mock_change_guard, pallet_mock_data, pallet_mock_permissions, pallet_mock_pools, }; use cfg_traits::Millis; -use cfg_types::{permissions::PermissionScope, tokens::TrancheCurrency}; +use cfg_types::permissions::PermissionScope; use frame_support::{ derive_impl, traits::{ @@ -168,7 +168,6 @@ impl pallet_mock_pools::Config for Runtime { type BalanceRatio = Quantity; type CurrencyId = CurrencyId; type PoolId = PoolId; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; } diff --git a/pallets/oracle-feed/src/lib.rs b/pallets/oracle-feed/src/lib.rs index 522fb163b6..45275a46ec 100644 --- a/pallets/oracle-feed/src/lib.rs +++ b/pallets/oracle-feed/src/lib.rs @@ -168,9 +168,16 @@ pub mod pallet { } pub mod util { + use parity_scale_codec::MaxEncodedLen; + use crate::pallet::{Config, MomentOf}; - pub const fn size_of_feed() -> u32 { - sp_std::mem::size_of::<(T::OracleKey, T::OracleValue, MomentOf)>() as u32 + pub fn size_of_feed() -> u32 { + let max_len = <(T::OracleKey, T::OracleValue, MomentOf)>::max_encoded_len(); + + match max_len.try_into() { + Ok(size) => size, + Err(_) => u32::MAX, + } } } diff --git a/pallets/pool-fees/src/mock.rs b/pallets/pool-fees/src/mock.rs index 780f46668b..97a7b50fe8 100644 --- a/pallets/pool-fees/src/mock.rs +++ b/pallets/pool-fees/src/mock.rs @@ -21,7 +21,6 @@ use cfg_types::{ fixed_point::{Rate, Ratio}, permissions::PermissionScope, pools::{PayableFeeAmount, PoolFeeAmount, PoolFeeEditor, PoolFeeType}, - tokens::TrancheCurrency, }; use frame_support::{ assert_ok, derive_impl, parameter_types, @@ -98,7 +97,6 @@ impl pallet_mock_pools::Config for Runtime { type BalanceRatio = Ratio; type CurrencyId = CurrencyId; type PoolId = PoolId; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; } diff --git a/pallets/pool-registry/src/benchmarking.rs b/pallets/pool-registry/src/benchmarking.rs index fe9b1444c6..bc4b8b2a8e 100644 --- a/pallets/pool-registry/src/benchmarking.rs +++ b/pallets/pool-registry/src/benchmarking.rs @@ -13,13 +13,8 @@ //! Module provides benchmarking for Loan Pallet use cfg_primitives::PoolEpochId; -use cfg_traits::{ - benchmarking::PoolFeesBenchmarkHelper, fee::PoolFeeBucket, investments::TrancheCurrency as _, -}; -use cfg_types::{ - pools::TrancheMetadata, - tokens::{CurrencyId, TrancheCurrency}, -}; +use cfg_traits::{benchmarking::PoolFeesBenchmarkHelper, fee::PoolFeeBucket}; +use cfg_types::{pools::TrancheMetadata, tokens::CurrencyId}; use frame_benchmarking::benchmarks; use frame_support::traits::fungibles::Inspect; use frame_system::RawOrigin; @@ -61,7 +56,7 @@ benchmarks! { + pallet_investments::Config, + CurrencyId = CurrencyId> + pallet_investments::Config, T: pallet_pool_system::Config(0, TRANCHE, Some(amount))?; let locator = get_tranche_id::(TRANCHE); - pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), TrancheCurrency::generate(POOL, locator), amount)?; + pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), (POOL, locator), amount)?; let changes = PoolChanges { @@ -202,12 +197,12 @@ benchmarks! { let investor = create_investor::(0, TRANCHE, Some(1))?; let locator = get_tranche_id::(TRANCHE); // Submit redemption order so the update isn't immediately executed - pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), TrancheCurrency::generate(POOL, locator), 1)?; + pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), (POOL, locator), 1)?; update_pool::(changes.clone())?; // Withdraw redeem order so the update can be executed after that - pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), TrancheCurrency::generate(POOL, locator), 0)?; + pallet_investments::Pallet::::update_redeem_order(RawOrigin::Signed(investor.clone()).into(), (POOL, locator), 0)?; }: execute_update(RawOrigin::Signed(admin), POOL) verify { let pool = get_pool::(); diff --git a/pallets/pool-registry/src/lib.rs b/pallets/pool-registry/src/lib.rs index 78b46b3b00..4371a545e5 100644 --- a/pallets/pool-registry/src/lib.rs +++ b/pallets/pool-registry/src/lib.rs @@ -20,7 +20,6 @@ use cfg_traits::{ fee::{PoolFeeBucket, PoolFeesInspect}, - investments::TrancheCurrency, AssetMetadataOf, Permissions, PoolMutate, PoolWriteOffPolicyMutate, UpdateState, }; use cfg_types::{ @@ -121,19 +120,9 @@ pub mod pallet { type ModifyWriteOffPolicy: PoolWriteOffPolicyMutate; - /// The currency type of investments. - type TrancheCurrency: TrancheCurrency - + Into; + type CurrencyId: Parameter + Copy + From<(Self::PoolId, Self::TrancheId)>; - type CurrencyId: Parameter + Copy; - - type TrancheId: Member - + Parameter - + Default - + Copy - + MaxEncodedLen - + TypeInfo - + From<[u8; 16]>; + type TrancheId: Member + Parameter + Default + Copy + MaxEncodedLen + TypeInfo; /// The origin permitted to create pools type PoolCreateOrigin: EnsureOrigin; @@ -450,7 +439,7 @@ pub mod pallet { pool_id: Self::PoolId, tranche_id: Self::TrancheId, ) -> Result { - let currency_id = T::TrancheCurrency::generate(pool_id, tranche_id).into(); + let currency_id = (pool_id, tranche_id).into(); T::AssetRegistry::metadata(¤cy_id) .ok_or(Error::::MetadataForCurrencyNotFound.into()) } @@ -460,7 +449,7 @@ pub mod pallet { tranche: Self::TrancheId, metadata: Self::AssetMetadata, ) -> DispatchResult { - let currency_id = T::TrancheCurrency::generate(pool_id, tranche).into(); + let currency_id = (pool_id, tranche).into(); T::AssetRegistry::register_asset(Some(currency_id), metadata) } @@ -474,7 +463,7 @@ pub mod pallet { location: Option>, additional: Option, ) -> DispatchResult { - let currency_id = T::TrancheCurrency::generate(pool_id, tranche).into(); + let currency_id = (pool_id, tranche).into(); T::AssetRegistry::update_asset( currency_id, decimals, diff --git a/pallets/pool-registry/src/mock.rs b/pallets/pool-registry/src/mock.rs index ddbdf93ee4..b6ec917586 100644 --- a/pallets/pool-registry/src/mock.rs +++ b/pallets/pool-registry/src/mock.rs @@ -26,7 +26,7 @@ use cfg_traits::{ use cfg_types::{ fixed_point::{Quantity, Rate}, permissions::{PermissionScope, Role}, - tokens::{CurrencyId, CustomMetadata, TrancheCurrency}, + tokens::{CurrencyId, CustomMetadata}, }; use frame_support::{ derive_impl, @@ -164,7 +164,7 @@ impl pallet_pool_system::Config for Test { type StringLimit = StringLimit; type Time = Timestamp; type Tokens = OrmlTokens; - type TrancheCurrency = TrancheCurrency; + type TrancheCurrency = (PoolId, TrancheId); type TrancheId = TrancheId; type TrancheWeight = TrancheWeight; type UpdateGuard = UpdateGuard; @@ -316,7 +316,6 @@ impl Config for Test { type PoolFeesInspect = MockPoolFeesInspect; type PoolId = u64; type RuntimeEvent = RuntimeEvent; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type WeightInfo = (); } @@ -349,7 +348,7 @@ impl orml_tokens::Config for Test { pub struct NoopCollectHook; impl cfg_traits::StatusNotificationHook for NoopCollectHook { type Error = DispatchError; - type Id = (AccountId, TrancheCurrency); + type Id = (AccountId, (PoolId, TrancheId)); type Status = cfg_types::investments::CollectedAmount; fn notify_status_change(_id: Self::Id, _status: Self::Status) -> DispatchResult { @@ -365,7 +364,7 @@ impl pallet_investments::Config for Test { type BalanceRatio = Quantity; type CollectedInvestmentHook = NoopCollectHook; type CollectedRedemptionHook = NoopCollectHook; - type InvestmentId = TrancheCurrency; + type InvestmentId = (PoolId, TrancheId); type MaxOutstandingCollects = MaxOutstandingCollects; type PreConditions = Always; type RuntimeEvent = RuntimeEvent; @@ -411,7 +410,7 @@ impl PoolUpdateGuard for UpdateGuard { type Moment = Seconds; type PoolDetails = PoolDetails< CurrencyId, - TrancheCurrency, + (PoolId, TrancheId), u32, Balance, Rate, diff --git a/pallets/pool-system/src/benchmarking.rs b/pallets/pool-system/src/benchmarking.rs index 086a24cd45..8164ffced5 100644 --- a/pallets/pool-system/src/benchmarking.rs +++ b/pallets/pool-system/src/benchmarking.rs @@ -16,12 +16,11 @@ use cfg_primitives::PoolEpochId; use cfg_traits::{ benchmarking::PoolFeesBenchmarkHelper, fee::{PoolFeeBucket, PoolFeesInspect}, - investments::TrancheCurrency as _, UpdateState, }; use cfg_types::{ pools::{PoolFeeInfo, TrancheMetadata}, - tokens::{CurrencyId, CustomMetadata, TrancheCurrency}, + tokens::{CurrencyId, CustomMetadata}, }; use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite}; use frame_support::traits::Currency; @@ -54,7 +53,7 @@ benchmarks! { Balance = u128, CurrencyId = CurrencyId, EpochId = PoolEpochId> - + pallet_investments::Config, + + pallet_investments::Config, ::Tokens: Inspect, T::AccountId: EncodeLike<::AccountId>, <::Lookup as sp_runtime::traits::StaticLookup>::Source: @@ -109,7 +108,7 @@ benchmarks! { let investment = MAX_RESERVE * 2; let investor = create_investor::(0, TRANCHE, None)?; let origin = RawOrigin::Signed(investor.clone()).into(); - pallet_investments::Pallet::::update_invest_order(origin, TrancheCurrency::generate(POOL, get_tranche_id::(TRANCHE)), investment)?; + pallet_investments::Pallet::::update_invest_order(origin, (POOL, get_tranche_id::(TRANCHE)), investment)?; }: close_epoch(RawOrigin::Signed(admin.clone()), POOL) verify { assert_eq!(get_pool::().epoch.last_executed, 0); @@ -129,7 +128,7 @@ benchmarks! { let investment = MAX_RESERVE / 2; let investor = create_investor::(0, TRANCHE, None)?; let origin = RawOrigin::Signed(investor.clone()).into(); - pallet_investments::Pallet::::update_invest_order(origin, TrancheCurrency::generate(POOL, get_tranche_id::(TRANCHE)), investment)?; + pallet_investments::Pallet::::update_invest_order(origin, (POOL, get_tranche_id::(TRANCHE)), investment)?; }: close_epoch(RawOrigin::Signed(admin.clone()), POOL) verify { assert_eq!(get_pool::().epoch.last_executed, 1); @@ -149,7 +148,7 @@ benchmarks! { let investment = MAX_RESERVE * 2; let investor = create_investor::(0, TRANCHE, None)?; let origin = RawOrigin::Signed(investor.clone()).into(); - pallet_investments::Pallet::::update_invest_order(origin, TrancheCurrency::generate(POOL, get_tranche_id::(TRANCHE)), investment)?; + pallet_investments::Pallet::::update_invest_order(origin, (POOL, get_tranche_id::(TRANCHE)), investment)?; let admin_origin = RawOrigin::Signed(admin.clone()).into(); Pallet::::close_epoch(admin_origin, POOL)?; @@ -180,7 +179,7 @@ benchmarks! { let investment = MAX_RESERVE * 2; let investor = create_investor::(0, TRANCHE, None)?; let origin = RawOrigin::Signed(investor.clone()).into(); - pallet_investments::Pallet::::update_invest_order(origin, TrancheCurrency::generate(POOL, get_tranche_id::(TRANCHE)), investment)?; + pallet_investments::Pallet::::update_invest_order(origin, (POOL, get_tranche_id::(TRANCHE)), investment)?; let admin_origin = RawOrigin::Signed(admin.clone()).into(); Pallet::::close_epoch(admin_origin, POOL)?; diff --git a/pallets/pool-system/src/impls.rs b/pallets/pool-system/src/impls.rs index da2a469df2..cf80f26ec8 100644 --- a/pallets/pool-system/src/impls.rs +++ b/pallets/pool-system/src/impls.rs @@ -14,7 +14,7 @@ use cfg_traits::{ changes::ChangeGuard, fee::{PoolFeeBucket, PoolFeesMutate}, investments::{InvestmentAccountant, TrancheCurrency}, - CurrencyPair, PoolUpdateGuard, PriceValue, TrancheTokenPrice, UpdateState, + PoolUpdateGuard, TrancheTokenPrice, UpdateState, }; use cfg_types::{epoch::EpochState, investments::InvestmentInfo, pools::PoolFeeInfo}; use frame_support::traits::{ @@ -62,10 +62,10 @@ impl TrancheTokenPrice for Pallet { type PoolId = T::PoolId; type TrancheId = T::TrancheId; - fn get( + fn get_price( pool_id: Self::PoolId, tranche_id: Self::TrancheId, - ) -> Option> { + ) -> Option<(T::BalanceRatio, Seconds)> { let now = T::Time::now(); let mut pool = Pool::::get(pool_id)?; @@ -84,21 +84,9 @@ impl TrancheTokenPrice for Pallet { .calculate_prices::(total_assets, now) .ok()?; - let base = pool - .tranches - .tranche_currency(TrancheLoc::Id(tranche_id))? - .into(); - let price = prices.get(tranche_index).cloned()?; - Some(PriceValue { - pair: CurrencyPair { - base, - quote: pool.currency, - }, - price, - last_updated: nav_last_updated, - }) + Some((price, nav_last_updated)) } } diff --git a/pallets/pool-system/src/mock.rs b/pallets/pool-system/src/mock.rs index a385b59856..a0b8c06e2e 100644 --- a/pallets/pool-system/src/mock.rs +++ b/pallets/pool-system/src/mock.rs @@ -15,19 +15,16 @@ use cfg_primitives::{ }; pub use cfg_primitives::{PoolEpochId, TrancheWeight}; use cfg_traits::{ - fee::PoolFeeBucket, - investments::{OrderManager, TrancheCurrency as TrancheCurrencyT}, - Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, Seconds, + fee::PoolFeeBucket, investments::OrderManager, Millis, Permissions as PermissionsT, + PoolUpdateGuard, PreConditions, Seconds, }; pub use cfg_types::fixed_point::{Quantity, Rate}; use cfg_types::{ permissions::{PermissionRoles, PermissionScope, PoolRole, Role, UNION}, pools::{PoolFeeAmount, PoolFeeEditor, PoolFeeType}, time::TimeProvider, - tokens::{CurrencyId, CustomMetadata, TrancheCurrency}, + tokens::{CurrencyId, CustomMetadata}, }; -#[cfg(feature = "runtime-benchmarks")] -use frame_support::dispatch::RawOrigin; use frame_support::{ assert_ok, derive_impl, parameter_types, traits::{Contains, EnsureOriginWithArg, Hooks, PalletInfoAccess, SortedMembers}, @@ -287,7 +284,7 @@ where pub struct NoopCollectHook; impl cfg_traits::StatusNotificationHook for NoopCollectHook { type Error = sp_runtime::DispatchError; - type Id = (AccountId, TrancheCurrency); + type Id = (AccountId, (PoolId, TrancheId)); type Status = cfg_types::investments::CollectedAmount; fn notify_status_change(_id: Self::Id, _status: Self::Status) -> DispatchResult { @@ -303,7 +300,7 @@ impl pallet_investments::Config for Runtime { type BalanceRatio = Quantity; type CollectedInvestmentHook = NoopCollectHook; type CollectedRedemptionHook = NoopCollectHook; - type InvestmentId = TrancheCurrency; + type InvestmentId = (PoolId, TrancheId); type MaxOutstandingCollects = MaxOutstandingCollects; type PreConditions = Always; type RuntimeEvent = RuntimeEvent; @@ -393,6 +390,7 @@ impl EnsureOriginWithArg for All { #[cfg(feature = "runtime-benchmarks")] fn try_successful_origin(_: &PoolId) -> Result { + use frame_support::dispatch::RawOrigin; Ok(RawOrigin::Root.into()) } } @@ -431,7 +429,7 @@ impl Config for Runtime { type StringLimit = StringLimit; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; + type TrancheCurrency = (PoolId, TrancheId); type TrancheId = TrancheId; type TrancheWeight = TrancheWeight; type UpdateGuard = UpdateGuard; @@ -453,7 +451,7 @@ impl PoolUpdateGuard for UpdateGuard { type Moment = Seconds; type PoolDetails = PoolDetails< CurrencyId, - TrancheCurrency, + (PoolId, TrancheId), u32, Balance, Rate, @@ -626,7 +624,7 @@ pub fn invest_close_and_collect(pool_id: u64, investments: Vec<(AccountId, Tranc for (account, tranche_id, investment) in investments.clone() { assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(account), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), investment )); } @@ -638,7 +636,7 @@ pub fn invest_close_and_collect(pool_id: u64, investments: Vec<(AccountId, Tranc for (account, tranche_id, _) in investments { assert_ok!(Investments::collect_investments( RuntimeOrigin::signed(account), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), )); } } diff --git a/pallets/pool-system/src/tests/mod.rs b/pallets/pool-system/src/tests/mod.rs index d3554142d7..33e7b04d06 100644 --- a/pallets/pool-system/src/tests/mod.rs +++ b/pallets/pool-system/src/tests/mod.rs @@ -11,15 +11,12 @@ // GNU General Public License for more details. use cfg_primitives::{constants::SECONDS_PER_YEAR, Balance}; -use cfg_traits::{ - fee::PoolFeeBucket, investments::TrancheCurrency as TrancheCurrencyT, PoolMutate, PoolNAV, - TrancheTokenPrice, -}; +use cfg_traits::{fee::PoolFeeBucket, PoolMutate, PoolNAV, TrancheTokenPrice}; use cfg_types::{ epoch::EpochState, fixed_point::Rate, pools::TrancheMetadata, - tokens::{CrossChainTransferability, CurrencyId, CustomMetadata, TrancheCurrency}, + tokens::{CrossChainTransferability, CurrencyId, CustomMetadata}, }; use frame_support::{assert_err, assert_noop, assert_ok}; use orml_traits::asset_registry::{AssetMetadata, Inspect}; @@ -151,7 +148,7 @@ pub mod util { // forcing to call `execute_epoch()` later. Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 500 * CURRENCY, ) .unwrap(); @@ -269,19 +266,19 @@ fn core_constraints_currency_available_cant_cover_redemptions() { fn pool_constraints_pool_reserve_above_max_reserve() { new_test_ext().execute_with(|| { let tranche_a = Tranche { - currency: TrancheCurrency::generate(0, [0u8; 16]), + currency: (0, [0u8; 16]), ..Default::default() }; let tranche_b = Tranche { - currency: TrancheCurrency::generate(0, [1u8; 16]), + currency: (0, [1u8; 16]), ..Default::default() }; let tranche_c = Tranche { - currency: TrancheCurrency::generate(0, [2u8; 16]), + currency: (0, [2u8; 16]), ..Default::default() }; let tranche_d = Tranche { - currency: TrancheCurrency::generate(0, [3u8; 16]), + currency: (0, [3u8; 16]), ..Default::default() }; let tranches = Tranches::new(0, vec![tranche_a, tranche_b, tranche_c, tranche_d]).unwrap(); @@ -454,7 +451,7 @@ fn pool_constraints_pass() { min_risk_buffer: Perquintill::from_float(0.2), }, seniority: 3, - currency: TrancheCurrency::generate(0, [3u8; 16]), + currency: (0, [3u8; 16]), ..Default::default() }; let tranche_b = Tranche { @@ -463,7 +460,7 @@ fn pool_constraints_pass() { min_risk_buffer: Perquintill::from_float(0.1), }, seniority: 2, - currency: TrancheCurrency::generate(0, [2u8; 16]), + currency: (0, [2u8; 16]), ..Default::default() }; let tranche_c = Tranche { @@ -472,13 +469,13 @@ fn pool_constraints_pass() { min_risk_buffer: Perquintill::from_float(0.05), }, seniority: 1, - currency: TrancheCurrency::generate(0, [1u8; 16]), + currency: (0, [1u8; 16]), ..Default::default() }; let tranche_d = Tranche { tranche_type: TrancheType::Residual, seniority: 0, - currency: TrancheCurrency::generate(0, [0u8; 16]), + currency: (0, [0u8; 16]), ..Default::default() }; let tranches = Tranches::new(0, vec![tranche_d, tranche_c, tranche_b, tranche_a]).unwrap(); @@ -601,12 +598,12 @@ fn epoch() { )); assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(1), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 500 * CURRENCY )); @@ -624,9 +621,9 @@ fn epoch() { ::AccountId, ::CurrencyId, - >>::get(0, SeniorTrancheId::get()) + >>::get_price(0, SeniorTrancheId::get()) .unwrap() - .price, + .0, Quantity::one() ); @@ -648,11 +645,11 @@ fn epoch() { assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_investments( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); assert_ok!(Investments::collect_investments( RuntimeOrigin::signed(1), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), )); let pool = PoolSystem::pool(0).unwrap(); @@ -753,7 +750,7 @@ fn epoch() { next_block(); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(1), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 250 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -762,9 +759,9 @@ fn epoch() { let senior_price = ::AccountId, ::CurrencyId, - >>::get(0, SeniorTrancheId::get()) + >>::get_price(0, SeniorTrancheId::get()) .unwrap() - .price; + .0; assert_eq!(pool.tranches.residual_tranche().unwrap().debt, 0); assert_eq!( pool.tranches.residual_tranche().unwrap().reserve, @@ -789,9 +786,9 @@ fn epoch() { ::AccountId, ::CurrencyId, - >>::get(0, SeniorTrancheId::get()) + >>::get_price(0, SeniorTrancheId::get()) .unwrap() - .price, + .0, Quantity::from_inner(1004126524122317386) ); }); @@ -838,12 +835,12 @@ fn submission_period() { )); assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(1), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 500 * CURRENCY )); @@ -860,13 +857,13 @@ fn submission_period() { assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_investments( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -1047,7 +1044,7 @@ fn execute_info_removed_after_epoch_execute() { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -1106,14 +1103,14 @@ fn pool_updates_should_be_constrained() { assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 100 * CURRENCY )); test_nav_update(0, 0, START_DATE + DefaultMaxNAVAge::get() + 1); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_investments( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); let initial_pool = &crate::Pool::::try_get(pool_id).unwrap(); @@ -1147,7 +1144,7 @@ fn pool_updates_should_be_constrained() { assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 100 * CURRENCY )); @@ -1667,7 +1664,7 @@ fn triger_challange_period_with_zero_solution() { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -1761,7 +1758,7 @@ fn min_challenge_time_is_respected() { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -1857,14 +1854,14 @@ fn only_zero_solution_is_accepted_max_reserve_violated() { // Attempt to invest above reserve assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 1 * CURRENCY )); // Attempt to invest above reserve assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(1), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 1 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); @@ -2059,17 +2056,17 @@ fn only_zero_solution_is_accepted_when_risk_buff_violated_else() { // Redeem so that we are exactly at 10 percent risk buffer assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 88_888_888_888_888_888_799 )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 1 * CURRENCY )); @@ -2919,7 +2916,7 @@ mod pool_fees { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()), + (DEFAULT_POOL_ID, JuniorTrancheId::get()), INVESTMENT_AMOUNT )); assert_ok!(PoolSystem::close_epoch( @@ -3049,7 +3046,7 @@ mod pool_fees { // Closing should update fee nav by disbursements because reserve is sufficient assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()), + (DEFAULT_POOL_ID, JuniorTrancheId::get()), INVESTMENT_AMOUNT )); next_block(); @@ -3266,12 +3263,12 @@ mod pool_fees { // Redeem all junior and senior tranche tokens to require manual epoch execution assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()), + (DEFAULT_POOL_ID, JuniorTrancheId::get()), INVESTMENT_AMOUNT )); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(1), - TrancheCurrency::generate(DEFAULT_POOL_ID, SeniorTrancheId::get()), + (DEFAULT_POOL_ID, SeniorTrancheId::get()), INVESTMENT_AMOUNT )); @@ -3384,12 +3381,12 @@ mod pool_fees { // Reinvest to check for fulfillment later assert_ok!(Investments::update_invest_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()), + (DEFAULT_POOL_ID, JuniorTrancheId::get()), INVESTMENT_AMOUNT )); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()), + (DEFAULT_POOL_ID, JuniorTrancheId::get()), INVESTMENT_AMOUNT )); @@ -3456,7 +3453,7 @@ mod pool_fees { assert_eq!( pallet_investments::InvestOrders::::get( 0, - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()) + (DEFAULT_POOL_ID, JuniorTrancheId::get()) ) .expect("InvestOrders should not be fulfilled due to reserve drain from pool fees") .amount(), @@ -3465,7 +3462,7 @@ mod pool_fees { assert_eq!( pallet_investments::RedeemOrders::::get( 0, - TrancheCurrency::generate(DEFAULT_POOL_ID, JuniorTrancheId::get()) + (DEFAULT_POOL_ID, JuniorTrancheId::get()) ) .expect("RedeemOrder should not be fulfilled due to reserve drain from pool fees") .amount(), diff --git a/pallets/pool-system/src/tests/ratios.rs b/pallets/pool-system/src/tests/ratios.rs index 0e90611b19..a85bad31df 100644 --- a/pallets/pool-system/src/tests/ratios.rs +++ b/pallets/pool-system/src/tests/ratios.rs @@ -62,13 +62,13 @@ fn ensure_ratios_are_distributed_correctly_2_tranches() { // Attempt to redeem 40% assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 200 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), )); let new_residual_ratio = Perquintill::from_rational(5u64, 8u64); @@ -88,13 +88,13 @@ fn ensure_ratios_are_distributed_correctly_2_tranches() { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 300 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), )); let new_residual_ratio = Perquintill::one(); @@ -172,13 +172,13 @@ fn ensure_ratios_are_distributed_correctly_1_tranche() { // Attempt to redeem 40% assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 200 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); // Ensure ratio is 100 @@ -194,13 +194,13 @@ fn ensure_ratios_are_distributed_correctly_1_tranche() { // Attempt to redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 300 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); // Ensure ratio is 0 @@ -284,13 +284,13 @@ fn ensure_ratios_are_distributed_correctly_3_tranches() { assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 250 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); let check_ratios = [ @@ -312,13 +312,13 @@ fn ensure_ratios_are_distributed_correctly_3_tranches() { assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SecondSeniorTrancheId::get()), + (0, SecondSeniorTrancheId::get()), 250 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SecondSeniorTrancheId::get()), + (0, SecondSeniorTrancheId::get()), )); let check_ratios = [ @@ -361,35 +361,35 @@ fn ensure_ratios_are_distributed_correctly_3_tranches() { // Redeem everything assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SecondSeniorTrancheId::get()), + (0, SecondSeniorTrancheId::get()), 250 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SecondSeniorTrancheId::get()), + (0, SecondSeniorTrancheId::get()), )); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, SeniorTrancheId::get()), + (0, SeniorTrancheId::get()), )); assert_ok!(Investments::update_redeem_order( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), 500 * CURRENCY )); assert_ok!(PoolSystem::close_epoch(pool_owner_origin.clone(), 0)); assert_ok!(Investments::collect_redemptions( RuntimeOrigin::signed(0), - TrancheCurrency::generate(0, JuniorTrancheId::get()), + (0, JuniorTrancheId::get()), )); // Ensure ratios are 0 diff --git a/pallets/pool-system/src/tranches.rs b/pallets/pool-system/src/tranches.rs index 9b7011ca13..946977e587 100644 --- a/pallets/pool-system/src/tranches.rs +++ b/pallets/pool-system/src/tranches.rs @@ -1458,15 +1458,13 @@ fn finalize_combine( #[cfg(test)] pub mod test { use cfg_primitives::{Balance, PoolId, TrancheId, TrancheWeight}; - use cfg_types::{ - fixed_point::{FixedPointNumberExtension, Quantity, Rate}, - tokens::TrancheCurrency, - }; + use cfg_types::fixed_point::{FixedPointNumberExtension, Quantity, Rate}; use super::*; use crate::mock::MaxTranches; type BalanceRatio = Quantity; + type TrancheCurrency = (PoolId, TrancheId); type TTrancheType = TrancheType; type TTranche = Tranche; type TTranches = @@ -1525,7 +1523,7 @@ pub mod test { Self { tranche_type: TrancheType::Residual, seniority: 1, - currency: TrancheCurrency::generate(0, [0u8; 16]), + currency: (0, [0u8; 16]), debt: Zero::zero(), reserve: Zero::zero(), loss: Zero::zero(), @@ -1540,7 +1538,7 @@ pub mod test { impl Default for EpochExecutionTranche { fn default() -> Self { Self { - currency: TrancheCurrency::generate(0, [0u8; 16]), + currency: (0, [0u8; 16]), supply: 0, price: Quantity::one(), invest: 0, @@ -1560,7 +1558,7 @@ pub mod test { TTranche { tranche_type: TrancheType::Residual, seniority: seniority, - currency: TrancheCurrency::generate(DEFAULT_POOL_ID, [id; 16]), + currency: (DEFAULT_POOL_ID, [id; 16]), debt, reserve, loss: 0, @@ -1601,7 +1599,7 @@ pub mod test { min_risk_buffer, }, seniority: seniority, - currency: TrancheCurrency::generate(DEFAULT_POOL_ID, [id; 16]), + currency: (DEFAULT_POOL_ID, [id; 16]), debt, reserve, loss: 0, @@ -1843,15 +1841,15 @@ pub mod test { let tranches = default_tranches(); assert_eq!( tranches.tranche_currency(TrancheLoc::Index(0)), - Some(TrancheCurrency::generate(DEFAULT_POOL_ID, [0u8; 16])) + Some((DEFAULT_POOL_ID, [0u8; 16])) ); assert_eq!( tranches.tranche_currency(TrancheLoc::Index(1)), - Some(TrancheCurrency::generate(DEFAULT_POOL_ID, [1u8; 16])) + Some((DEFAULT_POOL_ID, [1u8; 16])) ); assert_eq!( tranches.tranche_currency(TrancheLoc::Index(2)), - Some(TrancheCurrency::generate(DEFAULT_POOL_ID, [2u8; 16])) + Some((DEFAULT_POOL_ID, [2u8; 16])) ); assert_eq!(tranches.tranche_currency(TrancheLoc::Index(3)), None); } @@ -2008,16 +2006,13 @@ pub mod test { reserve: 0, loss: 0, seniority: 5, - currency: TrancheCurrency { .. }, + currency: _, last_updated_interest: SECS_PER_YEAR, .. } if b == min_risk_buffer && int_per_sec == ir => true, _ => false, }); - assert_eq!( - new_tranche.currency, - TrancheCurrency::generate(DEFAULT_POOL_ID, tranche_id) - ); + assert_eq!(new_tranche.currency, (DEFAULT_POOL_ID, tranche_id)); assert_eq!(new_tranche.ratio, Perquintill::zero()); // Create tranche with implicit seniority (through index) diff --git a/runtime/altair/Cargo.toml b/runtime/altair/Cargo.toml index 0f6ee23f09..d89508a619 100644 --- a/runtime/altair/Cargo.toml +++ b/runtime/altair/Cargo.toml @@ -11,7 +11,7 @@ documentation.workspace = true [dependencies] hex = { workspace = true } -hex-literal = { workspace = true, optional = true } +hex-literal = { workspace = true } log = { workspace = true } parity-scale-codec = { workspace = true } scale-info = { workspace = true } @@ -19,6 +19,7 @@ serde = { workspace = true, optional = true } static_assertions = { workspace = true } sp-api = { workspace = true } +sp-arithmetic = { workspace = true } sp-block-builder = { workspace = true } sp-consensus-aura = { workspace = true } sp-core = { workspace = true } @@ -35,6 +36,7 @@ sp-version = { workspace = true } frame-benchmarking = { workspace = true, optional = true } # For benchmarking frame-executive = { workspace = true } +frame-metadata-hash-extension = { workspace = true } frame-support = { workspace = true } frame-system = { workspace = true } frame-system-benchmarking = { workspace = true, optional = true } # For benchmarking @@ -65,6 +67,7 @@ fp-self-contained = { workspace = true } cfg-primitives = { workspace = true } cfg-traits = { workspace = true } cfg-types = { workspace = true } +cfg-utils = { workspace = true } liquidity-pools-gateway-routers = { workspace = true } runtime-common = { workspace = true } @@ -90,6 +93,7 @@ pallet-bridge = { workspace = true } pallet-collator-allowlist = { workspace = true } pallet-collator-selection = { workspace = true } pallet-collective = { workspace = true } +pallet-conviction-voting = { workspace = true } pallet-democracy = { workspace = true } pallet-elections-phragmen = { workspace = true } pallet-ethereum = { workspace = true } @@ -118,6 +122,7 @@ pallet-pool-registry = { workspace = true } pallet-pool-system = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } +pallet-referenda = { workspace = true } pallet-remarks = { workspace = true } pallet-restricted-tokens = { workspace = true } pallet-restricted-xtokens = { workspace = true } @@ -134,6 +139,7 @@ pallet-treasury = { workspace = true } pallet-uniques = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } +pallet-whitelist = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } staging-parachain-info = { workspace = true } @@ -152,6 +158,7 @@ std = [ "log/std", # Substrate related "sp-api/std", + "sp-arithmetic/std", "sp-runtime/std", "sp-block-builder/std", "sp-consensus-aura/std", @@ -169,6 +176,7 @@ std = [ "frame-system/std", "frame-system-rpc-runtime-api/std", "frame-executive/std", + "frame-metadata-hash-extension/std", "frame-try-runtime?/std", "frame-system-benchmarking?/std", "frame-benchmarking?/std", @@ -189,6 +197,7 @@ std = [ "polkadot-parachain-primitives/std", # Locals "cfg-primitives/std", + "cfg-utils/std", "cfg-traits/std", "cfg-types/std", "runtime-common/std", @@ -212,6 +221,7 @@ std = [ "pallet-base-fee/std", "pallet-block-rewards/std", "pallet-bridge/std", + "pallet-conviction-voting/std", "pallet-collator-allowlist/std", "pallet-collator-selection/std", "pallet-collective/std", @@ -244,6 +254,7 @@ std = [ "pallet-proxy/std", "pallet-restricted-tokens/std", "pallet-restricted-xtokens/std", + "pallet-referenda/std", "pallet-rewards/std", "pallet-remarks/std", "pallet-scheduler/std", @@ -258,6 +269,7 @@ std = [ "pallet-uniques/std", "pallet-utility/std", "pallet-vesting/std", + "pallet-whitelist/std", "pallet-xcm/std", "pallet-xcm-transactor/std", "pallet-message-queue/std", @@ -266,7 +278,6 @@ std = [ runtime-benchmarks = [ # Enabling optional - "hex-literal", "frame-system-benchmarking/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", @@ -282,6 +293,7 @@ runtime-benchmarks = [ "polkadot-parachain-primitives/runtime-benchmarks", # Locals "cfg-primitives/runtime-benchmarks", + "cfg-utils/runtime-benchmarks", "cfg-traits/runtime-benchmarks", "cfg-types/runtime-benchmarks", "runtime-common/runtime-benchmarks", @@ -298,6 +310,7 @@ runtime-benchmarks = [ "pallet-balances/runtime-benchmarks", "pallet-block-rewards/runtime-benchmarks", "pallet-bridge/runtime-benchmarks", + "pallet-conviction-voting/runtime-benchmarks", "pallet-collator-allowlist/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "pallet-collective/runtime-benchmarks", @@ -329,6 +342,7 @@ runtime-benchmarks = [ "pallet-proxy/runtime-benchmarks", "pallet-restricted-tokens/runtime-benchmarks", "pallet-restricted-xtokens/runtime-benchmarks", + "pallet-referenda/runtime-benchmarks", "pallet-rewards/runtime-benchmarks", "pallet-remarks/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", @@ -341,6 +355,7 @@ runtime-benchmarks = [ "pallet-uniques/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", + "pallet-whitelist/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", @@ -358,6 +373,7 @@ try-runtime = [ "polkadot-runtime-common/try-runtime", # Locals "cfg-primitives/try-runtime", + "cfg-utils/try-runtime", "cfg-traits/try-runtime", "cfg-types/try-runtime", "runtime-common/try-runtime", @@ -381,6 +397,7 @@ try-runtime = [ "pallet-base-fee/try-runtime", "pallet-block-rewards/try-runtime", "pallet-bridge/try-runtime", + "pallet-conviction-voting/try-runtime", "pallet-collator-allowlist/try-runtime", "pallet-collator-selection/try-runtime", "pallet-collective/try-runtime", @@ -413,6 +430,7 @@ try-runtime = [ "pallet-proxy/try-runtime", "pallet-restricted-tokens/try-runtime", "pallet-restricted-xtokens/try-runtime", + "pallet-referenda/try-runtime", "pallet-rewards/try-runtime", "pallet-remarks/try-runtime", "pallet-scheduler/try-runtime", @@ -427,18 +445,29 @@ try-runtime = [ "pallet-uniques/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", + "pallet-whitelist/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", "pallet-message-queue/try-runtime", "staging-parachain-info/try-runtime", ] +# Enable the metadata hash generation. +# +# This is hidden behind a feature because it increases the compile time. +# The wasm binary needs to be compiled twice, once to fetch the metadata, +# generate the metadata hash and then a second time with the +# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash` +# extension. +metadata-hash = ["substrate-wasm-builder/metadata-hash"] + # A feature that should be enabled when the runtime should be build 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 = [ "sp-api/disable-logging", "runtime-common/on-chain-release-build", + "metadata-hash", ] # Set timing constants (e.g. session period) to faster versions to speed up testing. diff --git a/runtime/altair/build.rs b/runtime/altair/build.rs index 9b53d2457d..5e223d08bf 100644 --- a/runtime/altair/build.rs +++ b/runtime/altair/build.rs @@ -1,9 +1,16 @@ -use substrate_wasm_builder::WasmBuilder; +#[cfg(all(feature = "std", feature = "metadata-hash"))] +fn main() { + substrate_wasm_builder::WasmBuilder::init_with_defaults() + .enable_metadata_hash("AIR", 18) + .build(); +} +#[cfg(all(feature = "std", not(feature = "metadata-hash")))] fn main() { - WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() + substrate_wasm_builder::WasmBuilder::build_using_defaults(); } + +/// The wasm builder is deactivated when compiling +/// this crate for wasm to speed up the compilation. +#[cfg(not(feature = "std"))] +fn main() {} diff --git a/runtime/altair/src/lib.rs b/runtime/altair/src/lib.rs index 47e5215723..30b2582acc 100644 --- a/runtime/altair/src/lib.rs +++ b/runtime/altair/src/lib.rs @@ -23,15 +23,14 @@ use cfg_primitives::{ constants::*, liquidity_pools::GeneralCurrencyPrefix, types::{ - AccountId, Address, AllOfCouncil, AuraId, Balance, BlockNumber, CollectionId, - CouncilCollective, EnsureRootOr, HalfOfCouncil, Hash, Hashing, Header, IBalance, ItemId, - LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, PoolEpochId, PoolFeeId, PoolId, - Signature, ThreeFourthOfCouncil, TrancheId, TrancheWeight, TwoThirdOfCouncil, + AccountId, Address, AuraId, Balance, BlockNumber, CollectionId, Hash, Hashing, Header, + IBalance, InvestmentId, ItemId, LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, + PoolEpochId, PoolFeeId, PoolId, Signature, TrancheId, TrancheWeight, }, }; use cfg_traits::{ - investments::{OrderManager, TrancheCurrency as _}, - Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, Seconds, + investments::OrderManager, Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, + Seconds, }; use cfg_types::{ fee_keys::{Fee, FeeKey}, @@ -43,8 +42,7 @@ use cfg_types::{ pools::PoolNav, time::TimeProvider, tokens::{ - AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, - StakingCurrency, TrancheCurrency, + AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, StakingCurrency, }, }; use constants::currency::*; @@ -59,7 +57,7 @@ use frame_support::{ traits::{ fungible::HoldConsideration, tokens::{PayFromAccount, UnityAssetBalanceConversion}, - AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOfDiverse, + AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOf, EitherOfDiverse, EqualPrivilegeOnly, Get, InstanceFilter, LinearStoragePrice, LockIdentifier, OnFinalize, PalletInfoAccess, TransformOrigin, UnixTime, WithdrawReasons, }, @@ -71,7 +69,7 @@ use frame_support::{ }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, + EnsureRoot, EnsureSigned, EnsureWithSuccess, }; use orml_traits::currency::MutationHooks; use pallet_anchors::AnchorData; @@ -99,6 +97,7 @@ use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use polkadot_runtime_common::{ prod_or_fast, xcm_sender::NoPriceForMessageDelivery, BlockHashCount, SlowAdjustingFeeUpdate, }; +pub use runtime_common::origins::gov::pallet_custom_origins; use runtime_common::{ account_conversion::{AccountConverter, RuntimeAccountConverter}, asset_registry, @@ -108,10 +107,16 @@ use runtime_common::{ }, fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, - liquidity_pools::LiquidityPoolsMessage, + instances::{CouncilCollective, TechnicalCollective, TechnicalMembership}, message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - oracle::{ - Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, + oracle::{DigestedOracleRatioProvider, Feeder, OracleConverterBridge, OracleRatioProvider}, + origins::gov::{ + types::{ + AllOfCouncil, DispatchWhitelistedOrigin, EnsureRootOr, HalfOfCouncil, PoolCreateOrigin, + RefCancelOrigin, RefKillerOrigin, ThreeFourthOfCouncil, TreasuryApproveOrigin, + TwoThirdOfCouncil, WhitelistOrigin, + }, + PoolAdmin, Treasurer, }, permissions::PoolAdminCheck, remarks::Remark, @@ -139,10 +144,11 @@ use sp_version::RuntimeVersion; use staging_xcm::v4::{Asset, Location}; use static_assertions::const_assert; -use crate::xcm::*; +use crate::{tracks::TracksInfo, xcm::*}; pub mod constants; mod migrations; +mod tracks; mod weights; pub mod xcm; @@ -163,7 +169,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("altair"), impl_name: create_runtime_str!("altair"), authoring_version: 1, - spec_version: 1100, + spec_version: 1300, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 2, @@ -550,6 +556,11 @@ impl InstanceFilter for ProxyType { RuntimeCall::Council(..) | RuntimeCall::Elections(..) | RuntimeCall::Democracy(..) | + RuntimeCall::ConvictionVoting(..) | + RuntimeCall::Referenda(..) | + RuntimeCall::TechnicalCommittee(..) | + RuntimeCall::TechnicalCommitteeMembership(..) | + RuntimeCall::Whitelist(..) | RuntimeCall::Identity(..) | RuntimeCall::Vesting(pallet_vesting::Call::vest {..}) | RuntimeCall::Vesting(pallet_vesting::Call::vest_other {..}) | @@ -595,6 +606,12 @@ impl InstanceFilter for ProxyType { | RuntimeCall::Council(..) | RuntimeCall::Elections(..) | RuntimeCall::Utility(..) + // OpenGov calls + | RuntimeCall::ConvictionVoting(..) + | RuntimeCall::Referenda(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalCommitteeMembership(..) + | RuntimeCall::Whitelist(..) ), ProxyType::_Staking => false, ProxyType::NonProxy => { @@ -605,26 +622,29 @@ impl InstanceFilter for ProxyType { matches!( c, RuntimeCall::Loans(pallet_loans::Call::create { .. }) | - RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | - RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | - RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::close { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | - RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | - // Borrowers should be able to close and execute an epoch - // in order to get liquidity from repayments in previous epochs. - RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch{..}) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution{..}) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch{..}) | - RuntimeCall::Utility(pallet_utility::Call::batch_all{..}) | - RuntimeCall::Utility(pallet_utility::Call::batch{..}) | - // Borrowers should be able to swap back and forth between local currencies and their variants - RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) + RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | + RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | + RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::close { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | + RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | + // Borrowers should be able to close and execute an epoch + // in order to get liquidity from repayments in previous epochs. + RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch{..}) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution{..}) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch{..}) | + RuntimeCall::Utility(pallet_utility::Call::batch_all{..}) | + RuntimeCall::Utility(pallet_utility::Call::batch{..}) | + // Borrowers should be able to swap back and forth between local currencies and their variants + RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) | + // Borrowers should be able to (un)charge fees as part of the borrow flow + RuntimeCall::PoolFees(pallet_pool_fees::Call::charge_fee { .. }) | + RuntimeCall::PoolFees(pallet_pool_fees::Call::uncharge_fee { .. }) ) | ProxyType::PodOperation.filter(c) } ProxyType::Invest => matches!( @@ -768,7 +788,7 @@ impl pallet_collective::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; type SetMembersOrigin = EnsureRoot; - type WeightInfo = weights::pallet_collective::WeightInfo; + type WeightInfo = weights::pallet_collective_council::WeightInfo; } parameter_types! { @@ -963,7 +983,7 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - type ApproveOrigin = EnsureRootOr; + type ApproveOrigin = TreasuryApproveOrigin; type AssetKind = (); type BalanceConverter = UnityAssetBalanceConversion; #[cfg(feature = "runtime-benchmarks")] @@ -981,10 +1001,10 @@ impl pallet_treasury::Config for Runtime { type ProposalBond = ProposalBond; type ProposalBondMaximum = ProposalBondMaximum; type ProposalBondMinimum = ProposalBondMinimum; - type RejectOrigin = EnsureRootOr>; + type RejectOrigin = TreasuryApproveOrigin; type RuntimeEvent = RuntimeEvent; type SpendFunds = (); - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + type SpendOrigin = TreasurySpender; type SpendPeriod = SpendPeriod; type WeightInfo = pallet_treasury::weights::SubstrateWeight; } @@ -1103,7 +1123,7 @@ parameter_types! { } impl pallet_permissions::Config for Runtime { - type AdminOrigin = EnsureRootOr; + type AdminOrigin = EnsureRootOr>; type Editors = Editors; type MaxRolesPerScope = MaxRolesPerPool; type Role = Role; @@ -1329,7 +1349,7 @@ parameter_types! { pub const MaxActiveLoansPerPool: u32 = 1000; pub const MaxRegisteredPricesPerPool: u32 = 100; pub const MaxRateCount: u32 = 300; // See #1024 - pub const FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); + pub FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); #[derive(Clone, PartialEq, Eq, Debug, TypeInfo, Encode, Decode, MaxEncodedLen)] pub const MaxWriteOffPolicySize: u32 = 100; @@ -1501,7 +1521,7 @@ impl pallet_pool_system::Config for Runtime { type PalletId = PoolPalletId; type PalletIndex = PoolPalletIndex; type Permission = Permissions; - type PoolCreateOrigin = EnsureRoot; + type PoolCreateOrigin = PoolCreateOrigin; type PoolCurrency = PoolCurrency; type PoolDeposit = PoolDeposit; type PoolFees = PoolFees; @@ -1513,7 +1533,7 @@ impl pallet_pool_system::Config for Runtime { type StringLimit = AssetStringLimit; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; + type TrancheCurrency = InvestmentId; type TrancheId = TrancheId; type TrancheWeight = TrancheWeight; type UpdateGuard = UpdateGuard; @@ -1530,11 +1550,10 @@ impl pallet_pool_registry::Config for Runtime { type ModifyPool = pallet_pool_system::Pallet; type ModifyWriteOffPolicy = pallet_loans::Pallet; type Permission = Permissions; - type PoolCreateOrigin = EnsureRoot; + type PoolCreateOrigin = PoolCreateOrigin; type PoolFeesInspect = PoolFees; type PoolId = PoolId; type RuntimeEvent = RuntimeEvent; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type WeightInfo = weights::pallet_pool_registry::WeightInfo; } @@ -1581,7 +1600,7 @@ impl PoolUpdateGuard for UpdateGuard { type Moment = Seconds; type PoolDetails = PoolDetails< CurrencyId, - TrancheCurrency, + InvestmentId, u32, Balance, Rate, @@ -1623,7 +1642,7 @@ impl PoolUpdateGuard for UpdateGuard { .ids_non_residual_top() .iter() .map(|tranche_id| { - let investment_id = TrancheCurrency::generate(pool_id, *tranche_id); + let investment_id = (pool_id, *tranche_id); Investments::redeem_orders(investment_id).amount }) .fold(Balance::zero(), |acc, redemption| { @@ -1647,7 +1666,7 @@ impl pallet_investments::Config for Runtime { type BalanceRatio = Quantity; type CollectedInvestmentHook = pallet_foreign_investments::CollectedInvestmentHook; type CollectedRedemptionHook = pallet_foreign_investments::CollectedRedemptionHook; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type MaxOutstandingCollects = MaxOutstandingCollects; type PreConditions = IsTrancheInvestor; type RuntimeEvent = RuntimeEvent; @@ -1661,35 +1680,29 @@ pub struct IsTrancheInvestor(PhantomData<(P, T)>); impl< P: PermissionsT, Role = Role>, T: UnixTime, - > PreConditions> for IsTrancheInvestor + > PreConditions> for IsTrancheInvestor { type Result = DispatchResult; - fn check(order: OrderType) -> Self::Result { + fn check(order: OrderType) -> Self::Result { let is_tranche_investor = match order { OrderType::Investment { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), OrderType::Redemption { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), }; @@ -1739,7 +1752,7 @@ impl pallet_order_book::Config for Runtime { type NativeDecimals = NativeDecimals; type OrderIdNonce = u64; type Ratio = Ratio; - type RatioProvider = OracleRatioProviderLocalAssetExtension< + type RatioProvider = DigestedOracleRatioProvider< RuntimeOrigin, OracleRatioProvider, OrmlAssetRegistry, @@ -1764,7 +1777,7 @@ impl pallet_foreign_investments::Config for Runtime { type DecreasedForeignInvestOrderHook = DecreasedForeignInvestOrderHook; type ForeignBalance = Balance; type Investment = Investments; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type PoolBalance = Balance; type PoolInspect = PoolSystem; type RuntimeEvent = RuntimeEvent; @@ -1787,6 +1800,7 @@ impl pallet_liquidity_pools::Config for Runtime { type DomainAddressToAccountId = AccountConverter; type ForeignInvestment = ForeignInvestments; type GeneralCurrencyPrefix = GeneralCurrencyPrefix; + type MarketRatio = OrderBook; type OutboundQueue = LiquidityPoolsGateway; type Permission = Permissions; type PoolId = PoolId; @@ -1795,7 +1809,6 @@ impl pallet_liquidity_pools::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type TrancheTokenPrice = PoolSystem; type TreasuryAccount = TreasuryAccount; @@ -1812,7 +1825,7 @@ impl pallet_liquidity_pools_gateway::Config for Runtime { type InboundQueue = LiquidityPools; type LocalEVMOrigin = pallet_liquidity_pools_gateway::EnsureLocal; type MaxIncomingMessageSize = MaxIncomingMessageSize; - type Message = LiquidityPoolsMessage; + type Message = pallet_liquidity_pools::Message; type OriginRecovery = LiquidityPoolsAxelarGateway; type OutboundMessageNonce = OutboundMessageNonce; type Router = liquidity_pools_gateway_routers::DomainRouter; @@ -1932,6 +1945,91 @@ impl axelar_gateway_precompile::Config for Runtime { type WeightInfo = (); } +impl pallet_conviction_voting::Config for Runtime { + type Currency = Balances; + type MaxTurnout = + frame_support::traits::tokens::currency::ActiveIssuanceOf; + type MaxVotes = ConstU32<512>; + type Polls = Referenda; + type RuntimeEvent = RuntimeEvent; + type VoteLockingPeriod = EnactmentPeriod; + type WeightInfo = weights::pallet_conviction_voting::WeightInfo; +} + +parameter_types! { + pub const AlarmInterval: BlockNumber = 1; + pub const SubmissionDeposit: Balance = 10 * AIR; + pub const UndecidingTimeout: BlockNumber = 7 * DAYS; +} + +parameter_types! { + pub const MaxBalance: Balance = Balance::max_value(); +} +pub type TreasurySpender = EnsureWithSuccess, AccountId, MaxBalance>; + +impl pallet_custom_origins::Config for Runtime {} + +impl pallet_whitelist::Config for Runtime { + type DispatchWhitelistedOrigin = DispatchWhitelistedOrigin; + type Preimages = Preimage; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = weights::pallet_whitelist::WeightInfo; + type WhitelistOrigin = WhitelistOrigin; +} + +impl pallet_referenda::Config for Runtime { + type AlarmInterval = AlarmInterval; + type CancelOrigin = RefCancelOrigin; + type Currency = Balances; + type KillOrigin = RefKillerOrigin; + type MaxQueued = ConstU32<100>; + type Preimages = Preimage; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type Scheduler = Scheduler; + type Slash = Treasury; + type SubmissionDeposit = SubmissionDeposit; + type SubmitOrigin = frame_system::EnsureSigned; + type Tally = pallet_conviction_voting::TallyOf; + type Tracks = TracksInfo; + type UndecidingTimeout = UndecidingTimeout; + type Votes = pallet_conviction_voting::VotesOf; + type WeightInfo = weights::pallet_referenda::WeightInfo; +} + +parameter_types! { + pub const TechnicalMotionDuration: BlockNumber = 3 * DAYS; + pub const TechnicalMaxProposals: u32 = 20; + pub const TechnicalMaxMembers: u32 = 20; +} + +impl pallet_collective::Config for Runtime { + type DefaultVote = pallet_collective::PrimeDefaultVote; + type MaxMembers = TechnicalMaxMembers; + type MaxProposalWeight = MaxProposalWeight; + type MaxProposals = TechnicalMaxProposals; + type MotionDuration = TechnicalMotionDuration; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; + type SetMembersOrigin = EnsureRoot; + type WeightInfo = weights::pallet_collective_technical_fellowship::WeightInfo; +} + +impl pallet_membership::Config for Runtime { + type AddOrigin = EnsureRoot; + type MaxMembers = TechnicalMaxMembers; + type MembershipChanged = TechnicalCommittee; + type MembershipInitialized = TechnicalCommittee; + type PrimeOrigin = EnsureRoot; + type RemoveOrigin = EnsureRoot; + type ResetOrigin = EnsureRoot; + type RuntimeEvent = RuntimeEvent; + type SwapOrigin = EnsureRoot; + type WeightInfo = weights::pallet_membership::WeightInfo; +} + /// Block type as expected by this runtime. pub type Block = generic::Block; /// A Block signed with a Justification @@ -1948,6 +2046,7 @@ pub type SignedExtra = ( frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, + frame_metadata_hash_extension::CheckMetadataHash, runtime_common::transfer_filter::PreBalanceTransferExtension, ); @@ -1965,7 +2064,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - migrations::UpgradeAltair1100, + migrations::UpgradeAltair1300, >; // Frame Order in this block dictates the index of each one in the metadata @@ -2005,6 +2104,14 @@ construct_runtime!( Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 70, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 72, + // OpenGov + ConvictionVoting: pallet_conviction_voting::{Pallet, Call, Storage, Event} = 80, + Referenda: pallet_referenda::{Pallet, Call, Storage, Event} = 81, + Origins: pallet_custom_origins::{Origin} = 82, + Whitelist: pallet_whitelist::{Pallet, Call, Storage, Event} = 83, + TechnicalCommittee: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config} = 84, + TechnicalCommitteeMembership: pallet_membership::::{Pallet, Call, Storage, Event, Config} = 85, + // our pallets (part 1) Fees: pallet_fees::{Pallet, Call, Storage, Config, Event} = 90, Anchor: pallet_anchors::{Pallet, Call, Storage} = 91, @@ -2380,8 +2487,8 @@ impl_runtime_apis! { } // Investment Runtime APIs - impl runtime_common::apis::InvestmentsApi> for Runtime { - fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { + impl runtime_common::apis::InvestmentsApi> for Runtime { + fn investment_portfolio(account_id: AccountId) -> Vec<(InvestmentId, InvestmentPortfolio)> { runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } @@ -2731,7 +2838,7 @@ mod benches { [pallet_proxy, Proxy] [pallet_utility, Utility] [pallet_scheduler, Scheduler] - [pallet_collective, Council] + [pallet_collective_council, Council] [pallet_elections_phragmen, Elections] [pallet_democracy, Democracy] [pallet_identity, Identity] @@ -2762,6 +2869,11 @@ mod benches { [pallet_pool_fees, PoolFees] [pallet_remarks, Remarks] [pallet_token_mux, TokenMux] + [pallet_collective_technical_fellowship, TechnicalCommittee] + [pallet_conviction_voting, ConvictionVoting] + [pallet_membership, TechnicalCommitteeMembership] + [pallet_referenda, Referenda] + [pallet_whitelist, Whitelist] ); } diff --git a/runtime/altair/src/migrations.rs b/runtime/altair/src/migrations.rs index 300d5e24f9..f506402093 100644 --- a/runtime/altair/src/migrations.rs +++ b/runtime/altair/src/migrations.rs @@ -10,29 +10,6 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use crate::{ForeignInvestments, OraclePriceCollection, OraclePriceFeed, OrderBook}; - -// Number of identities on Altair Chain on 30.05.2024 was 34 -const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; - /// The migration set for Altair @ Kusama. /// It includes all the migrations that have to be applied on that chain. -pub type UpgradeAltair1100 = ( - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - pallet_collator_selection::migration::v1::MigrateToV1, - pallet_collator_selection::migration::v2::MigrationToV2, - runtime_common::migrations::loans::AddWithLinearPricing, - // As of May 2024, the `pallet_balances::Hold` storage was empty. But better be safe. - runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< - crate::Runtime, - crate::RuntimeHoldReason, - >, - // Migrations below this comment originate from Polkadot SDK - pallet_xcm::migration::MigrateToLatestXcmVersion, - cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, - pallet_identity::migration::versioned::V0ToV1, - pallet_uniques::migration::MigrateV0ToV1, -); +pub type UpgradeAltair1300 = (); diff --git a/runtime/altair/src/tracks.rs b/runtime/altair/src/tracks.rs new file mode 100644 index 0000000000..c31f262591 --- /dev/null +++ b/runtime/altair/src/tracks.rs @@ -0,0 +1,434 @@ +// Copyright 2024 Centrifuge Foundation (centrifuge.io). +// +// This file is part of the Centrifuge chain project. +// Centrifuge 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 (see http://www.gnu.org/licenses). +// Centrifuge 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. + +//! OpenGov Tracks parametrization +//! +//! Based on [Altair Chain parametrization](https://docs.google.com/document/d/1asoDHtIT3bhSnwfQir3SZ7NN-5D1i02s01clh9lEd0k). + +use cfg_primitives::{ + Balance, BlockNumber, DAYS, HOURS, MINUTES, TRACK_INDEX_POOL_ADMIN, TRACK_INDEX_REF_CANCELLER, + TRACK_INDEX_REF_KILLER, TRACK_INDEX_ROOT, TRACK_INDEX_TREASURER, + TRACK_INDEX_WHITELISTED_CALLER, +}; +use cfg_utils::math::{to_percent, to_ppm}; +use pallet_referenda::Curve; + +use crate::{constants::currency::AIR, RuntimeOrigin}; + +const SUP_ROOT: Curve = + Curve::make_reciprocal(1, 168, to_percent(25), to_ppm(3000), to_percent(50)); +const APP_ROOT: Curve = Curve::make_linear(7, 7, to_percent(50), to_percent(100)); + +const SUP_WHITELISTED: Curve = + Curve::make_reciprocal(1, 84, to_ppm(37000), to_ppm(500), to_percent(50)); +const APP_WHITELISTED: Curve = Curve::make_linear(84, 84, to_percent(50), to_percent(100)); + +const SUP_POOL_ADMIN: Curve = + Curve::make_reciprocal(1, 84, to_ppm(142900), to_ppm(2400), to_percent(50)); +const APP_POOL_ADMIN: Curve = Curve::make_linear(84, 84, to_percent(70), to_percent(100)); + +const SUP_TREASURER: Curve = Curve::make_linear(13, 14, to_percent(1), to_percent(50)); +const APP_TREASURER: Curve = Curve::make_linear(14, 14, to_percent(70), to_percent(100)); + +const SUP_REF_CANCELLER: Curve = + Curve::make_reciprocal(24, 84, to_ppm(8200), to_ppm(2400), to_percent(50)); +const APP_REF_CANCELLER: Curve = Curve::make_linear(84, 84, to_percent(70), to_percent(100)); + +const SUP_REF_KILLER: Curve = + Curve::make_reciprocal(24, 84, to_ppm(8200), to_ppm(2400), to_percent(50)); +const APP_REF_KILLER: Curve = Curve::make_linear(84, 84, to_percent(70), to_percent(100)); + +const TRACKS_DATA: [(u16, pallet_referenda::TrackInfo); 6] = [ + ( + TRACK_INDEX_ROOT, + pallet_referenda::TrackInfo { + name: "root", + max_deciding: 2, + decision_deposit: 3_000_000 * AIR, + prepare_period: 3 * HOURS, + decision_period: 7 * DAYS, + confirm_period: 6 * HOURS, + min_enactment_period: 12 * HOURS, + min_approval: APP_ROOT, + min_support: SUP_ROOT, + }, + ), + ( + TRACK_INDEX_WHITELISTED_CALLER, + pallet_referenda::TrackInfo { + name: "whitelisted_caller", + max_deciding: 20, + decision_deposit: 10_000 * AIR, + prepare_period: 5 * MINUTES, + decision_period: 84 * HOURS, + confirm_period: 5 * MINUTES, + min_enactment_period: 5 * MINUTES, + min_approval: APP_WHITELISTED, + min_support: SUP_WHITELISTED, + }, + ), + ( + TRACK_INDEX_POOL_ADMIN, + pallet_referenda::TrackInfo { + name: "pool_admin", + max_deciding: 5, + decision_deposit: 20_000 * AIR, + prepare_period: 30 * MINUTES, + decision_period: 84 * HOURS, + confirm_period: 30 * MINUTES, + min_enactment_period: 30 * MINUTES, + min_approval: APP_POOL_ADMIN, + min_support: SUP_POOL_ADMIN, + }, + ), + ( + TRACK_INDEX_TREASURER, + pallet_referenda::TrackInfo { + name: "treasurer", + max_deciding: 2, + decision_deposit: 150_000 * AIR, + prepare_period: 6 * HOURS, + decision_period: 14 * DAYS, + confirm_period: 12 * HOURS, + min_enactment_period: 12 * HOURS, + min_approval: APP_TREASURER, + min_support: SUP_TREASURER, + }, + ), + ( + TRACK_INDEX_REF_CANCELLER, + pallet_referenda::TrackInfo { + name: "referendum_canceller", + max_deciding: 20, + decision_deposit: 600_000 * AIR, + prepare_period: 30 * MINUTES, + decision_period: 84 * HOURS, + confirm_period: 30 * MINUTES, + min_enactment_period: 5 * MINUTES, + min_approval: APP_REF_CANCELLER, + min_support: SUP_REF_CANCELLER, + }, + ), + ( + TRACK_INDEX_REF_KILLER, + pallet_referenda::TrackInfo { + name: "referendum_killer", + max_deciding: 20, + decision_deposit: 1_000_000 * AIR, + prepare_period: 30 * MINUTES, + decision_period: 84 * HOURS, + confirm_period: 30 * MINUTES, + min_enactment_period: 5 * MINUTES, + min_approval: APP_REF_KILLER, + min_support: SUP_REF_KILLER, + }, + ), +]; + +pub struct TracksInfo; +impl pallet_referenda::TracksInfo for TracksInfo { + type Id = u16; + type RuntimeOrigin = ::PalletsOrigin; + + fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo)] { + &TRACKS_DATA[..] + } + + fn track_for(id: &Self::RuntimeOrigin) -> Result { + if let Ok(system_origin) = frame_system::RawOrigin::try_from(id.clone()) { + match system_origin { + frame_system::RawOrigin::Root => Ok(TRACK_INDEX_ROOT), + _ => Err(()), + } + } else if let Ok(custom_origin) = runtime_common::origins::gov::Origin::try_from(id.clone()) + { + match custom_origin { + runtime_common::origins::gov::Origin::WhitelistedCaller => { + Ok(TRACK_INDEX_WHITELISTED_CALLER) + } + // General admin + runtime_common::origins::gov::Origin::PoolAdmin => Ok(TRACK_INDEX_POOL_ADMIN), + runtime_common::origins::gov::Origin::Treasurer => Ok(TRACK_INDEX_TREASURER), + // Referendum admins + runtime_common::origins::gov::Origin::ReferendumCanceller => { + Ok(TRACK_INDEX_REF_CANCELLER) + } + runtime_common::origins::gov::Origin::ReferendumKiller => { + Ok(TRACK_INDEX_REF_KILLER) + } + } + } else { + Err(()) + } + } +} +pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber); + +#[cfg(test)] +mod tests { + use sp_arithmetic::Perbill; + + use super::*; + + const DECIMAL_PRECISION: u32 = 4; + const PRECISION: u32 = 10u32.pow(DECIMAL_PRECISION); + + fn round(x: Perbill) -> Perbill { + Perbill::from_rational(x * PRECISION, PRECISION) + } + + #[test] + fn root_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 72, 120, 168]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(997, 1000u32), + Perbill::from_rational(994, 1000u32), + Perbill::from_rational(9911, 10000u32), + Perbill::from_rational(9286, 10000u32), + Perbill::from_rational(7857, 10000u32), + Perbill::from_rational(6429, 10000u32), + Perbill::from_rational(50, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(25, 100u32), + Perbill::from_rational(1667, 10000u32), + Perbill::from_rational(125, 1000u32), + Perbill::from_rational(2, 100u32), + Perbill::from_rational(69, 10000u32), + Perbill::from_rational(42, 10000u32), + Perbill::from_rational(3, 1000u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_ROOT.threshold(Perbill::from_rational(hour, 7u32 * 24u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_ROOT.threshold(Perbill::from_rational(hour, 7u32 * 24u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } + + #[test] + fn whitelisted_caller_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 36, 72, 84]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(994, 1000u32), + Perbill::from_rational(9881, 10000u32), + Perbill::from_rational(9821, 10000u32), + Perbill::from_rational(8571, 10000u32), + Perbill::from_rational(7857, 10000u32), + Perbill::from_rational(5714, 10000u32), + Perbill::from_rational(50, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(37, 1000u32), + Perbill::from_rational(192, 10000u32), + Perbill::from_rational(130, 10000u32), + Perbill::from_rational(17, 10000u32), + Perbill::from_rational(11, 10000u32), + Perbill::from_rational(6, 10000u32), + Perbill::from_rational(5, 10000u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_WHITELISTED.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_WHITELISTED.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } + + #[test] + fn pool_admin_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 36, 72, 84]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(9964, 10000u32), + Perbill::from_rational(9929, 10000u32), + Perbill::from_rational(9893, 10000u32), + Perbill::from_rational(9143, 10000u32), + Perbill::from_rational(8714, 10000u32), + Perbill::from_rational(7429, 10000u32), + Perbill::from_rational(70, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(1429, 10000u32), + Perbill::from_rational(834, 10000u32), + Perbill::from_rational(589, 10000u32), + Perbill::from_rational(82, 10000u32), + Perbill::from_rational(55, 10000u32), + Perbill::from_rational(28, 10000u32), + Perbill::from_rational(24, 10000u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_POOL_ADMIN.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_POOL_ADMIN.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } + + #[test] + fn treasurer_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 312, 324, 336]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(9991, 10000u32), + Perbill::from_rational(9982, 10000u32), + Perbill::from_rational(9973, 10000u32), + Perbill::from_rational(9786, 10000u32), + Perbill::from_rational(7214, 10000u32), + Perbill::from_rational(7107, 10000u32), + Perbill::from_rational(70, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(4984, 10000u32), + Perbill::from_rational(4969, 10000u32), + Perbill::from_rational(4953, 10000u32), + Perbill::from_rational(4623, 10000u32), + Perbill::from_rational(1, 100u32), + Perbill::from_rational(1, 100u32), + Perbill::from_rational(1, 100u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_TREASURER.threshold(Perbill::from_rational(hour, 14u32 * 24u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_TREASURER.threshold(Perbill::from_rational(hour, 14u32 * 24u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } + + #[test] + fn ref_canceller_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 36, 72, 84]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(9964, 10000u32), + Perbill::from_rational(9929, 10000u32), + Perbill::from_rational(9893, 10000u32), + Perbill::from_rational(9143, 10000u32), + Perbill::from_rational(8714, 10000u32), + Perbill::from_rational(7429, 10000u32), + Perbill::from_rational(70, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(1424, 10000u32), + Perbill::from_rational(830, 10000u32), + Perbill::from_rational(586, 10000u32), + Perbill::from_rational(82, 10000u32), + Perbill::from_rational(55, 10000u32), + Perbill::from_rational(28, 10000u32), + Perbill::from_rational(24, 10000u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_REF_CANCELLER.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_REF_CANCELLER.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } + + #[test] + fn ref_killer_track() { + const HOURS: [u32; 8] = [0, 1, 2, 3, 24, 36, 72, 84]; + let approval: [Perbill; 8] = [ + Perbill::from_rational(100, 100u32), + Perbill::from_rational(9964, 10000u32), + Perbill::from_rational(9929, 10000u32), + Perbill::from_rational(9893, 10000u32), + Perbill::from_rational(9143, 10000u32), + Perbill::from_rational(8714, 10000u32), + Perbill::from_rational(7429, 10000u32), + Perbill::from_rational(70, 100u32), + ]; + let sup: [Perbill; 8] = [ + Perbill::from_rational(50, 100u32), + Perbill::from_rational(1424, 10000u32), + Perbill::from_rational(830, 10000u32), + Perbill::from_rational(586, 10000u32), + Perbill::from_rational(82, 10000u32), + Perbill::from_rational(55, 10000u32), + Perbill::from_rational(28, 10000u32), + Perbill::from_rational(24, 10000u32), + ]; + + for (hour, y) in HOURS.into_iter().zip(approval) { + assert_eq!( + round(APP_REF_KILLER.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Approval mismatch at hour {hour}" + ); + } + + for (hour, y) in HOURS.into_iter().zip(sup) { + assert_eq!( + round(SUP_REF_KILLER.threshold(Perbill::from_rational(hour, 7u32 * 12u32))), + y, + "Support mismatch at hour {hour}" + ); + } + } +} diff --git a/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs index d5b8e21dfe..4208729316 100644 --- a/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `cumulus_pallet_xcmp_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 6_182_000 picoseconds. - Weight::from_parts(6_412_000, 0) + // Minimum execution time: 6_111_000 picoseconds. + Weight::from_parts(6_312_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `115` // Estimated: `3517` - // Minimum execution time: 17_342_000 picoseconds. - Weight::from_parts(17_753_000, 0) + // Minimum execution time: 15_910_000 picoseconds. + Weight::from_parts(16_451_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -69,8 +69,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 3_506_000 picoseconds. - Weight::from_parts(3_737_000, 0) + // Minimum execution time: 3_396_000 picoseconds. + Weight::from_parts(3_636_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,8 +81,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `144` // Estimated: `1629` - // Minimum execution time: 4_809_000 picoseconds. - Weight::from_parts(5_009_000, 0) + // Minimum execution time: 4_669_000 picoseconds. + Weight::from_parts(4_849_000, 0) .saturating_add(Weight::from_parts(0, 1629)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -91,8 +91,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 10_980_000 picoseconds. - Weight::from_parts(11_281_000, 0) + // Minimum execution time: 10_941_000 picoseconds. + Weight::from_parts(11_191_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) @@ -113,8 +113,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65744` // Estimated: `69209` - // Minimum execution time: 128_890_000 picoseconds. - Weight::from_parts(130_303_000, 0) + // Minimum execution time: 142_857_000 picoseconds. + Weight::from_parts(144_159_000, 0) .saturating_add(Weight::from_parts(0, 69209)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -127,8 +127,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65743` // Estimated: `69208` - // Minimum execution time: 56_836_000 picoseconds. - Weight::from_parts(60_172_000, 0) + // Minimum execution time: 66_163_000 picoseconds. + Weight::from_parts(67_566_000, 0) .saturating_add(Weight::from_parts(0, 69208)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/altair/src/weights/frame_system.rs b/runtime/altair/src/weights/frame_system.rs index 05427a8a9c..171d6d176b 100644 --- a/runtime/altair/src/weights/frame_system.rs +++ b/runtime/altair/src/weights/frame_system.rs @@ -92,8 +92,8 @@ impl frame_system::WeightInfo for WeightInfo { // Estimated: `0` // Minimum execution time: 3_306 nanoseconds. Weight::from_parts(3_357_000, 0) - // Standard Error: 868 - .saturating_add(Weight::from_parts(650_497, 0).saturating_mul(i.into())) + // Standard Error: 1_425 + .saturating_add(Weight::from_parts(662_473, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: Skipped Metadata (r:0 w:0) @@ -101,21 +101,41 @@ impl frame_system::WeightInfo for WeightInfo { /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `178 + p * (69 ±0)` - // Estimated: `155 + p * (70 ±0)` - // Minimum execution time: 6_271 nanoseconds. + // Measured: `115 + p * (69 ±0)` + // Estimated: `128 + p * (70 ±0)` + // Minimum execution time: 4_189_000 picoseconds. Weight::from_parts(6_522_000, 155) - // Standard Error: 1_372 - .saturating_add(Weight::from_parts(1_296_943, 0).saturating_mul(p.into())) + // Standard Error: 2_296 + .saturating_add(Weight::from_parts(1_389_650, 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())) } - - fn authorize_upgrade() -> Weight { - Weight::zero() - } - - fn apply_authorized_upgrade() -> Weight { - Weight::zero() - } + /// 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: 33_027_000 picoseconds. + Weight::from_parts(33_027_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: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// 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: `22` + // Estimated: `1518` + // Minimum execution time: 118_101_992_000 picoseconds. + Weight::from_parts(118_101_992_000, 0) + .saturating_add(Weight::from_parts(0, 1518)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } } diff --git a/runtime/altair/src/weights/mod.rs b/runtime/altair/src/weights/mod.rs index 659c89486d..a4371f34d0 100644 --- a/runtime/altair/src/weights/mod.rs +++ b/runtime/altair/src/weights/mod.rs @@ -16,7 +16,9 @@ pub mod pallet_balances; pub mod pallet_block_rewards; pub mod pallet_collator_allowlist; pub mod pallet_collator_selection; -pub mod pallet_collective; +pub mod pallet_collective_council; +pub mod pallet_collective_technical_fellowship; +pub mod pallet_conviction_voting; pub mod pallet_democracy; pub mod pallet_elections_phragmen; pub mod pallet_fees; @@ -26,6 +28,7 @@ pub mod pallet_investments; pub mod pallet_keystore; pub mod pallet_liquidity_rewards; pub mod pallet_loans; +pub mod pallet_membership; pub mod pallet_multisig; pub mod pallet_oracle_collection; pub mod pallet_oracle_feed; @@ -36,6 +39,7 @@ pub mod pallet_pool_registry; pub mod pallet_pool_system; pub mod pallet_preimage; pub mod pallet_proxy; +pub mod pallet_referenda; pub mod pallet_remarks; pub mod pallet_restricted_tokens; pub mod pallet_scheduler; @@ -46,4 +50,5 @@ pub mod pallet_transfer_allowlist; pub mod pallet_uniques; pub mod pallet_utility; pub mod pallet_vesting; +pub mod pallet_whitelist; pub mod pallet_xcm; diff --git a/runtime/altair/src/weights/pallet_anchors.rs b/runtime/altair/src/weights/pallet_anchors.rs index dc0d021c73..968f2f70cc 100644 --- a/runtime/altair/src/weights/pallet_anchors.rs +++ b/runtime/altair/src/weights/pallet_anchors.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_anchors` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `301` // Estimated: `3581` - // Minimum execution time: 38_802_000 picoseconds. - Weight::from_parts(39_623_000, 0) + // Minimum execution time: 36_118_000 picoseconds. + Weight::from_parts(36_839_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -69,8 +69,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `635` // Estimated: `3581` - // Minimum execution time: 65_622_000 picoseconds. - Weight::from_parts(66_775_000, 0) + // Minimum execution time: 62_316_000 picoseconds. + Weight::from_parts(63_158_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(5)) @@ -81,8 +81,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12450` // Estimated: `260090` - // Minimum execution time: 1_940_047_000 picoseconds. - Weight::from_parts(1_960_465_000, 0) + // Minimum execution time: 1_774_000_000 picoseconds. + Weight::from_parts(1_790_681_000, 0) .saturating_add(Weight::from_parts(0, 260090)) .saturating_add(T::DbWeight::get().reads(100)) .saturating_add(T::DbWeight::get().writes(100)) @@ -505,8 +505,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `18325` // Estimated: `254990` - // Minimum execution time: 1_993_527_000 picoseconds. - Weight::from_parts(2_031_267_000, 0) + // Minimum execution time: 1_886_510_000 picoseconds. + Weight::from_parts(1_907_469_000, 0) .saturating_add(Weight::from_parts(0, 254990)) .saturating_add(T::DbWeight::get().reads(504)) .saturating_add(T::DbWeight::get().writes(402)) diff --git a/runtime/altair/src/weights/pallet_balances.rs b/runtime/altair/src/weights/pallet_balances.rs index 0e35da7120..5bbe8ee33a 100644 --- a/runtime/altair/src/weights/pallet_balances.rs +++ b/runtime/altair/src/weights/pallet_balances.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_balances` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 71_153_000 picoseconds. - Weight::from_parts(73_037_000, 0) + // Minimum execution time: 65_712_000 picoseconds. + Weight::from_parts(66_664_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 57_367_000 picoseconds. - Weight::from_parts(58_438_000, 0) + // Minimum execution time: 52_067_000 picoseconds. + Weight::from_parts(53_059_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -61,8 +61,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 21_480_000 picoseconds. - Weight::from_parts(21_921_000, 0) + // Minimum execution time: 19_746_000 picoseconds. + Weight::from_parts(20_448_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 28_934_000 picoseconds. - Weight::from_parts(29_585_000, 0) + // Minimum execution time: 26_961_000 picoseconds. + Weight::from_parts(27_501_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -85,8 +85,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 75_050_000 picoseconds. - Weight::from_parts(76_904_000, 0) + // Minimum execution time: 68_798_000 picoseconds. + Weight::from_parts(69_800_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -97,8 +97,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 72_455_000 picoseconds. - Weight::from_parts(73_347_000, 0) + // Minimum execution time: 65_091_000 picoseconds. + Weight::from_parts(66_023_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -109,8 +109,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 26_259_000 picoseconds. - Weight::from_parts(26_920_000, 0) + // Minimum execution time: 23_945_000 picoseconds. + Weight::from_parts(24_475_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -122,11 +122,11 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `143 + u * (136 ±0)` // Estimated: `990 + u * (2603 ±0)` - // Minimum execution time: 24_366_000 picoseconds. - Weight::from_parts(24_646_000, 0) + // Minimum execution time: 22_222_000 picoseconds. + Weight::from_parts(22_592_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 13_626 - .saturating_add(Weight::from_parts(20_193_487, 0).saturating_mul(u.into())) + // Standard Error: 12_698 + .saturating_add(Weight::from_parts(18_225_214, 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())) @@ -135,8 +135,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_007_000 picoseconds. - Weight::from_parts(9_367_000, 0) + // Minimum execution time: 7_935_000 picoseconds. + Weight::from_parts(8_205_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/altair/src/weights/pallet_block_rewards.rs b/runtime/altair/src/weights/pallet_block_rewards.rs index a584d2c034..80f1dc53ae 100644 --- a/runtime/altair/src/weights/pallet_block_rewards.rs +++ b/runtime/altair/src/weights/pallet_block_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_block_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `516` // Estimated: `6196` - // Minimum execution time: 80_059_000 picoseconds. - Weight::from_parts(81_492_000, 0) + // Minimum execution time: 78_577_000 picoseconds. + Weight::from_parts(79_889_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_251_000 picoseconds. - Weight::from_parts(6_622_000, 0) + // Minimum execution time: 5_981_000 picoseconds. + Weight::from_parts(6_421_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -67,8 +67,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_422_000 picoseconds. - Weight::from_parts(6_592_000, 0) + // Minimum execution time: 6_082_000 picoseconds. + Weight::from_parts(6_251_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_collator_allowlist.rs b/runtime/altair/src/weights/pallet_collator_allowlist.rs index 9c92aea622..7417964d73 100644 --- a/runtime/altair/src/weights/pallet_collator_allowlist.rs +++ b/runtime/altair/src/weights/pallet_collator_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `452` // Estimated: `3917` - // Minimum execution time: 20_398_000 picoseconds. - Weight::from_parts(21_200_000, 0) + // Minimum execution time: 19_907_000 picoseconds. + Weight::from_parts(20_729_000, 0) .saturating_add(Weight::from_parts(0, 3917)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -51,8 +51,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `232` // Estimated: `3497` - // Minimum execution time: 14_517_000 picoseconds. - Weight::from_parts(15_068_000, 0) + // Minimum execution time: 14_116_000 picoseconds. + Weight::from_parts(14_497_000, 0) .saturating_add(Weight::from_parts(0, 3497)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_collator_selection.rs b/runtime/altair/src/weights/pallet_collator_selection.rs index 94ab9f6452..303c3912d9 100644 --- a/runtime/altair/src/weights/pallet_collator_selection.rs +++ b/runtime/altair/src/weights/pallet_collator_selection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_selection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -42,11 +42,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `393 + b * (112 ±0)` // Estimated: `1382 + b * (2588 ±0)` - // Minimum execution time: 21_761_000 picoseconds. - Weight::from_parts(19_713_118, 0) + // Minimum execution time: 21_029_000 picoseconds. + Weight::from_parts(19_179_957, 0) .saturating_add(Weight::from_parts(0, 1382)) - // Standard Error: 8_605 - .saturating_add(Weight::from_parts(6_198_845, 0).saturating_mul(b.into())) + // Standard Error: 5_667 + .saturating_add(Weight::from_parts(5_819_893, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 2588).saturating_mul(b.into())) @@ -67,13 +67,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1273 + b * (37 ±0) + c * (48 ±0)` // Estimated: `4693 + b * (37 ±0) + c * (53 ±0)` - // Minimum execution time: 60_674_000 picoseconds. - Weight::from_parts(59_889_490, 0) + // Minimum execution time: 58_229_000 picoseconds. + Weight::from_parts(58_228_769, 0) .saturating_add(Weight::from_parts(0, 4693)) - // Standard Error: 2_332 - .saturating_add(Weight::from_parts(121_551, 0).saturating_mul(b.into())) - // Standard Error: 12_306 - .saturating_add(Weight::from_parts(106_035, 0).saturating_mul(c.into())) + // Standard Error: 950 + .saturating_add(Weight::from_parts(92_515, 0).saturating_mul(b.into())) + // Standard Error: 5_013 + .saturating_add(Weight::from_parts(82_419, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) @@ -88,11 +88,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `285 + b * (32 ±0)` // Estimated: `4687` - // Minimum execution time: 15_729_000 picoseconds. - Weight::from_parts(16_493_057, 0) + // Minimum execution time: 15_399_000 picoseconds. + Weight::from_parts(15_879_090, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 866 - .saturating_add(Weight::from_parts(59_214, 0).saturating_mul(b.into())) + // Standard Error: 559 + .saturating_add(Weight::from_parts(55_121, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -102,8 +102,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_793_000 picoseconds. - Weight::from_parts(7_183_000, 0) + // Minimum execution time: 6_542_000 picoseconds. + Weight::from_parts(6_843_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -121,13 +121,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0 + c * (201 ±0) + k * (152 ±0)` // Estimated: `3593 + c * (848 ±30) + k * (848 ±30)` - // Minimum execution time: 12_914_000 picoseconds. - Weight::from_parts(13_335_000, 0) + // Minimum execution time: 12_654_000 picoseconds. + Weight::from_parts(13_014_000, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 227_323 - .saturating_add(Weight::from_parts(7_651_358, 0).saturating_mul(c.into())) - // Standard Error: 227_323 - .saturating_add(Weight::from_parts(7_425_473, 0).saturating_mul(k.into())) + // Standard Error: 209_503 + .saturating_add(Weight::from_parts(7_059_599, 0).saturating_mul(c.into())) + // Standard Error: 209_503 + .saturating_add(Weight::from_parts(6_875_020, 0).saturating_mul(k.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(c.into()))) @@ -144,11 +144,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `529 + c * (48 ±0)` // Estimated: `2446` - // Minimum execution time: 34_805_000 picoseconds. - Weight::from_parts(35_818_201, 0) + // Minimum execution time: 32_461_000 picoseconds. + Weight::from_parts(34_037_166, 0) .saturating_add(Weight::from_parts(0, 2446)) - // Standard Error: 6_216 - .saturating_add(Weight::from_parts(92_092, 0).saturating_mul(c.into())) + // Standard Error: 5_398 + .saturating_add(Weight::from_parts(78_457, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -169,11 +169,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `892 + c * (61 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 54_151_000 picoseconds. - Weight::from_parts(55_736_070, 0) + // Minimum execution time: 51_396_000 picoseconds. + Weight::from_parts(52_689_408, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 5_085 - .saturating_add(Weight::from_parts(278_216, 0).saturating_mul(c.into())) + // Standard Error: 4_314 + .saturating_add(Weight::from_parts(283_889, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -197,11 +197,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `984 + c * (62 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 76_863_000 picoseconds. - Weight::from_parts(77_750_668, 0) + // Minimum execution time: 72_465_000 picoseconds. + Weight::from_parts(73_013_945, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 5_997 - .saturating_add(Weight::from_parts(257_579, 0).saturating_mul(c.into())) + // Standard Error: 5_243 + .saturating_add(Weight::from_parts(258_628, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -217,11 +217,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `476 + c * (48 ±0)` // Estimated: `4687` - // Minimum execution time: 40_495_000 picoseconds. - Weight::from_parts(41_308_584, 0) + // Minimum execution time: 38_101_000 picoseconds. + Weight::from_parts(38_893_975, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 3_724 - .saturating_add(Weight::from_parts(110_837, 0).saturating_mul(c.into())) + // Standard Error: 3_462 + .saturating_add(Weight::from_parts(126_205, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -233,8 +233,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 59_922_000 picoseconds. - Weight::from_parts(61_765_000, 0) + // Minimum execution time: 56_054_000 picoseconds. + Weight::from_parts(57_147_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -255,11 +255,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `416 + c * (98 ±0) + r * (154 ±0)` // Estimated: `16266974136295046 + c * (2519 ±0) + r * (2393 ±14)` - // Minimum execution time: 25_748_000 picoseconds. - Weight::from_parts(26_199_000, 0) + // Minimum execution time: 25_187_000 picoseconds. + Weight::from_parts(25_488_000, 0) .saturating_add(Weight::from_parts(0, 16266974136295046)) - // Standard Error: 360_665 - .saturating_add(Weight::from_parts(16_710_136, 0).saturating_mul(c.into())) + // Standard Error: 334_049 + .saturating_add(Weight::from_parts(15_715_729, 0).saturating_mul(c.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().writes((1_u64).saturating_mul(c.into()))) diff --git a/runtime/development/src/weights/pallet_collective.rs b/runtime/altair/src/weights/pallet_collective_council.rs similarity index 68% rename from runtime/development/src/weights/pallet_collective.rs rename to runtime/altair/src/weights/pallet_collective_council.rs index c6ec0abec9..be0d16abf7 100644 --- a/runtime/development/src/weights/pallet_collective.rs +++ b/runtime/altair/src/weights/pallet_collective_council.rs @@ -1,24 +1,24 @@ -//! Autogenerated weights for `pallet_collective` +//! Autogenerated weights for `pallet_collective_council` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=centrifuge-local +// --chain=altair // --steps=50 // --repeat=20 -// --pallet=pallet_collective +// --pallet=pallet_collective_council // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/centrifuge/src/weights/pallet_collective.rs +// --output=/tmp/runtime/development/src/weights/pallet_collective_council.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -28,7 +28,7 @@ use frame_support::{traits::Get, weights::Weight}; use core::marker::PhantomData; -/// Weight functions for `pallet_collective`. +/// Weight functions for `pallet_collective_council`. pub struct WeightInfo(PhantomData); impl pallet_collective::WeightInfo for WeightInfo { /// Storage: `Council::Members` (r:1 w:1) @@ -45,14 +45,14 @@ impl pallet_collective::WeightInfo for WeightInfo { fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (3232 ±0) + p * (3190 ±0)` - // Estimated: `15728 + m * (1967 ±24) + p * (4332 ±24)` - // Minimum execution time: 19_977_000 picoseconds. - Weight::from_parts(20_078_000, 0) - .saturating_add(Weight::from_parts(0, 15728)) - // Standard Error: 63_443 - .saturating_add(Weight::from_parts(4_761_841, 0).saturating_mul(m.into())) - // Standard Error: 63_443 - .saturating_add(Weight::from_parts(8_972_956, 0).saturating_mul(p.into())) + // Estimated: `15762 + m * (1967 ±23) + p * (4332 ±23)` + // Minimum execution time: 20_087_000 picoseconds. + Weight::from_parts(20_528_000, 0) + .saturating_add(Weight::from_parts(0, 15762)) + // Standard Error: 63_530 + .saturating_add(Weight::from_parts(4_802_406, 0).saturating_mul(m.into())) + // Standard Error: 63_530 + .saturating_add(Weight::from_parts(9_028_020, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -66,15 +66,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[1, 100]`. fn execute(b: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `69 + m * (32 ±0)` - // Estimated: `1555 + m * (32 ±0)` - // Minimum execution time: 18_164_000 picoseconds. - Weight::from_parts(16_886_988, 0) - .saturating_add(Weight::from_parts(0, 1555)) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_693, 0).saturating_mul(b.into())) - // Standard Error: 330 - .saturating_add(Weight::from_parts(17_805, 0).saturating_mul(m.into())) + // Measured: `103 + m * (32 ±0)` + // Estimated: `1589 + m * (32 ±0)` + // Minimum execution time: 18_094_000 picoseconds. + Weight::from_parts(16_739_939, 0) + .saturating_add(Weight::from_parts(0, 1589)) + // Standard Error: 44 + .saturating_add(Weight::from_parts(1_880, 0).saturating_mul(b.into())) + // Standard Error: 455 + .saturating_add(Weight::from_parts(19_204, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -86,15 +86,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[1, 100]`. fn propose_execute(b: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `69 + m * (32 ±0)` - // Estimated: `3535 + m * (32 ±0)` - // Minimum execution time: 21_801_000 picoseconds. - Weight::from_parts(20_823_477, 0) - .saturating_add(Weight::from_parts(0, 3535)) - // Standard Error: 42 - .saturating_add(Weight::from_parts(1_959, 0).saturating_mul(b.into())) - // Standard Error: 433 - .saturating_add(Weight::from_parts(29_753, 0).saturating_mul(m.into())) + // Measured: `103 + m * (32 ±0)` + // Estimated: `3569 + m * (32 ±0)` + // Minimum execution time: 22_151_000 picoseconds. + Weight::from_parts(20_475_324, 0) + .saturating_add(Weight::from_parts(0, 3569)) + // Standard Error: 74 + .saturating_add(Weight::from_parts(2_200, 0).saturating_mul(b.into())) + // Standard Error: 769 + .saturating_add(Weight::from_parts(32_131, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -113,17 +113,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `359 + m * (32 ±0) + p * (36 ±0)` - // Estimated: `3751 + m * (33 ±0) + p * (36 ±0)` - // Minimum execution time: 28_694_000 picoseconds. - Weight::from_parts(28_496_435, 0) - .saturating_add(Weight::from_parts(0, 3751)) - // Standard Error: 102 - .saturating_add(Weight::from_parts(2_863, 0).saturating_mul(b.into())) - // Standard Error: 1_066 - .saturating_add(Weight::from_parts(22_188, 0).saturating_mul(m.into())) - // Standard Error: 1_053 - .saturating_add(Weight::from_parts(250_359, 0).saturating_mul(p.into())) + // Measured: `393 + m * (32 ±0) + p * (36 ±0)` + // Estimated: `3785 + m * (33 ±0) + p * (36 ±0)` + // Minimum execution time: 28_103_000 picoseconds. + Weight::from_parts(28_987_169, 0) + .saturating_add(Weight::from_parts(0, 3785)) + // Standard Error: 97 + .saturating_add(Weight::from_parts(2_680, 0).saturating_mul(b.into())) + // Standard Error: 1_022 + .saturating_add(Weight::from_parts(22_268, 0).saturating_mul(m.into())) + // Standard Error: 1_009 + .saturating_add(Weight::from_parts(246_433, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into())) @@ -136,13 +136,13 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[5, 100]`. fn vote(m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `808 + m * (64 ±0)` - // Estimated: `4272 + m * (64 ±0)` - // Minimum execution time: 26_139_000 picoseconds. - Weight::from_parts(26_536_014, 0) - .saturating_add(Weight::from_parts(0, 4272)) - // Standard Error: 834 - .saturating_add(Weight::from_parts(47_228, 0).saturating_mul(m.into())) + // Measured: `842 + m * (64 ±0)` + // Estimated: `4306 + m * (64 ±0)` + // Minimum execution time: 26_379_000 picoseconds. + Weight::from_parts(26_828_158, 0) + .saturating_add(Weight::from_parts(0, 4306)) + // Standard Error: 835 + .saturating_add(Weight::from_parts(47_000, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) @@ -159,15 +159,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_early_disapproved(m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `397 + m * (64 ±0) + p * (36 ±0)` - // Estimated: `3842 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 30_848_000 picoseconds. - Weight::from_parts(29_242_652, 0) - .saturating_add(Weight::from_parts(0, 3842)) - // Standard Error: 964 - .saturating_add(Weight::from_parts(41_978, 0).saturating_mul(m.into())) - // Standard Error: 940 - .saturating_add(Weight::from_parts(248_368, 0).saturating_mul(p.into())) + // Measured: `431 + m * (64 ±0) + p * (36 ±0)` + // Estimated: `3876 + m * (65 ±0) + p * (36 ±0)` + // Minimum execution time: 31_730_000 picoseconds. + Weight::from_parts(31_276_441, 0) + .saturating_add(Weight::from_parts(0, 3876)) + // Standard Error: 1_499 + .saturating_add(Weight::from_parts(19_540, 0).saturating_mul(m.into())) + // Standard Error: 1_462 + .saturating_add(Weight::from_parts(271_420, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -186,17 +186,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `699 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` - // Estimated: `4016 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 44_413_000 picoseconds. - Weight::from_parts(46_317_210, 0) - .saturating_add(Weight::from_parts(0, 4016)) - // Standard Error: 118 - .saturating_add(Weight::from_parts(2_296, 0).saturating_mul(b.into())) - // Standard Error: 1_256 - .saturating_add(Weight::from_parts(27_951, 0).saturating_mul(m.into())) - // Standard Error: 1_224 - .saturating_add(Weight::from_parts(270_846, 0).saturating_mul(p.into())) + // Measured: `733 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` + // Estimated: `4050 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` + // Minimum execution time: 44_673_000 picoseconds. + Weight::from_parts(47_141_872, 0) + .saturating_add(Weight::from_parts(0, 4050)) + // Standard Error: 126 + .saturating_add(Weight::from_parts(2_067, 0).saturating_mul(b.into())) + // Standard Error: 1_334 + .saturating_add(Weight::from_parts(24_554, 0).saturating_mul(m.into())) + // Standard Error: 1_300 + .saturating_add(Weight::from_parts(270_286, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -217,15 +217,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_disapproved(m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `417 + m * (64 ±0) + p * (36 ±0)` - // Estimated: `3862 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 33_292_000 picoseconds. - Weight::from_parts(33_067_918, 0) - .saturating_add(Weight::from_parts(0, 3862)) - // Standard Error: 2_341 - .saturating_add(Weight::from_parts(24_866, 0).saturating_mul(m.into())) - // Standard Error: 2_283 - .saturating_add(Weight::from_parts(273_796, 0).saturating_mul(p.into())) + // Measured: `451 + m * (64 ±0) + p * (36 ±0)` + // Estimated: `3896 + m * (65 ±0) + p * (36 ±0)` + // Minimum execution time: 33_823_000 picoseconds. + Weight::from_parts(33_523_475, 0) + .saturating_add(Weight::from_parts(0, 3896)) + // Standard Error: 1_494 + .saturating_add(Weight::from_parts(45_061, 0).saturating_mul(m.into())) + // Standard Error: 1_457 + .saturating_add(Weight::from_parts(267_763, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -246,17 +246,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `719 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` - // Estimated: `4036 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 47_228_000 picoseconds. - Weight::from_parts(48_777_291, 0) - .saturating_add(Weight::from_parts(0, 4036)) - // Standard Error: 111 - .saturating_add(Weight::from_parts(2_409, 0).saturating_mul(b.into())) - // Standard Error: 1_174 - .saturating_add(Weight::from_parts(27_376, 0).saturating_mul(m.into())) - // Standard Error: 1_145 - .saturating_add(Weight::from_parts(271_442, 0).saturating_mul(p.into())) + // Measured: `753 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` + // Estimated: `4070 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` + // Minimum execution time: 50_384_000 picoseconds. + Weight::from_parts(49_650_489, 0) + .saturating_add(Weight::from_parts(0, 4070)) + // Standard Error: 130 + .saturating_add(Weight::from_parts(1_890, 0).saturating_mul(b.into())) + // Standard Error: 1_374 + .saturating_add(Weight::from_parts(24_126, 0).saturating_mul(m.into())) + // Standard Error: 1_340 + .saturating_add(Weight::from_parts(273_495, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -272,13 +272,13 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn disapprove_proposal(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `226 + p * (32 ±0)` - // Estimated: `1711 + p * (32 ±0)` - // Minimum execution time: 17_232_000 picoseconds. - Weight::from_parts(18_580_566, 0) - .saturating_add(Weight::from_parts(0, 1711)) - // Standard Error: 576 - .saturating_add(Weight::from_parts(232_682, 0).saturating_mul(p.into())) + // Measured: `260 + p * (32 ±0)` + // Estimated: `1745 + p * (32 ±0)` + // Minimum execution time: 17_542_000 picoseconds. + Weight::from_parts(18_197_558, 0) + .saturating_add(Weight::from_parts(0, 1745)) + // Standard Error: 785 + .saturating_add(Weight::from_parts(241_539, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) diff --git a/runtime/altair/src/weights/pallet_collective_technical_fellowship.rs b/runtime/altair/src/weights/pallet_collective_technical_fellowship.rs new file mode 100644 index 0000000000..590867133d --- /dev/null +++ b/runtime/altair/src/weights/pallet_collective_technical_fellowship.rs @@ -0,0 +1,282 @@ + +//! Autogenerated weights for `pallet_collective_technical_fellowship` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=altair +// --steps=50 +// --repeat=20 +// --pallet=pallet_collective_technical_fellowship +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_collective_technical_fellowship.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_collective_technical_fellowship`. +pub struct WeightInfo(PhantomData); +impl pallet_collective::WeightInfo for WeightInfo { + /// Storage: `TechnicalCommittee::Members` (r:1 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:20 w:20) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[0, 20]`. + /// The range of component `n` is `[0, 20]`. + /// The range of component `p` is `[0, 20]`. + fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + m * (672 ±0) + p * (630 ±0)` + // Estimated: `4896 + m * (413 ±4) + p * (2773 ±4)` + // Minimum execution time: 11_051_000 picoseconds. + Weight::from_parts(11_481_000, 0) + .saturating_add(Weight::from_parts(0, 4896)) + // Standard Error: 43_460 + .saturating_add(Weight::from_parts(1_581_550, 0).saturating_mul(m.into())) + // Standard Error: 43_460 + .saturating_add(Weight::from_parts(5_250_842, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 413).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 2773).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[1, 20]`. + fn execute(b: u32, m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `32 + m * (32 ±0)` + // Estimated: `1517 + m * (32 ±0)` + // Minimum execution time: 16_060_000 picoseconds. + Weight::from_parts(16_403_320, 0) + .saturating_add(Weight::from_parts(0, 1517)) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_810, 0).saturating_mul(b.into())) + // Standard Error: 1_690 + .saturating_add(Weight::from_parts(15_973, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[1, 20]`. + fn propose_execute(b: u32, m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `32 + m * (32 ±0)` + // Estimated: `3497 + m * (32 ±0)` + // Minimum execution time: 20_618_000 picoseconds. + Weight::from_parts(20_709_773, 0) + .saturating_add(Weight::from_parts(0, 3497)) + // Standard Error: 45 + .saturating_add(Weight::from_parts(1_589, 0).saturating_mul(b.into())) + // Standard Error: 2_377 + .saturating_add(Weight::from_parts(27_249, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalCount` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:0 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[2, 20]`. + /// The range of component `p` is `[1, 20]`. + fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `22 + m * (32 ±0) + p * (55 ±0)` + // Estimated: `3455 + m * (35 ±0) + p * (54 ±0)` + // Minimum execution time: 26_148_000 picoseconds. + Weight::from_parts(25_697_082, 0) + .saturating_add(Weight::from_parts(0, 3455)) + // Standard Error: 67 + .saturating_add(Weight::from_parts(2_507, 0).saturating_mul(b.into())) + // Standard Error: 3_708 + .saturating_add(Weight::from_parts(41_265, 0).saturating_mul(m.into())) + // Standard Error: 3_517 + .saturating_add(Weight::from_parts(398_319, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 35).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 54).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[5, 20]`. + fn vote(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `572 + m * (64 ±0)` + // Estimated: `4037 + m * (64 ±0)` + // Minimum execution time: 22_803_000 picoseconds. + Weight::from_parts(23_522_836, 0) + .saturating_add(Weight::from_parts(0, 4037)) + // Standard Error: 2_288 + .saturating_add(Weight::from_parts(61_105, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_early_disapproved(m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `117 + m * (64 ±0) + p * (55 ±0)` + // Estimated: `3588 + m * (65 ±0) + p * (55 ±0)` + // Minimum execution time: 27_290_000 picoseconds. + Weight::from_parts(28_501_497, 0) + .saturating_add(Weight::from_parts(0, 3588)) + // Standard Error: 3_188 + .saturating_add(Weight::from_parts(8_320, 0).saturating_mul(m.into())) + // Standard Error: 2_714 + .saturating_add(Weight::from_parts(350_876, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `62 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)` + // Estimated: `3630 + b * (1 ±0) + m * (61 ±0) + p * (74 ±0)` + // Minimum execution time: 40_425_000 picoseconds. + Weight::from_parts(43_104_982, 0) + .saturating_add(Weight::from_parts(0, 3630)) + // Standard Error: 108 + .saturating_add(Weight::from_parts(2_692, 0).saturating_mul(b.into())) + // Standard Error: 5_644 + .saturating_add(Weight::from_parts(531_782, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 61).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 74).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:1 w:0) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_disapproved(m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `137 + m * (64 ±0) + p * (55 ±0)` + // Estimated: `3608 + m * (65 ±0) + p * (55 ±0)` + // Minimum execution time: 29_605_000 picoseconds. + Weight::from_parts(30_549_610, 0) + .saturating_add(Weight::from_parts(0, 3608)) + // Standard Error: 3_145 + .saturating_add(Weight::from_parts(29_234, 0).saturating_mul(m.into())) + // Standard Error: 2_678 + .saturating_add(Weight::from_parts(358_165, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:1 w:0) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `82 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)` + // Estimated: `3650 + b * (1 ±0) + m * (61 ±0) + p * (74 ±0)` + // Minimum execution time: 43_531_000 picoseconds. + Weight::from_parts(46_044_405, 0) + .saturating_add(Weight::from_parts(0, 3650)) + // Standard Error: 107 + .saturating_add(Weight::from_parts(2_385, 0).saturating_mul(b.into())) + // Standard Error: 5_588 + .saturating_add(Weight::from_parts(534_811, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 61).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 74).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:0 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `p` is `[1, 20]`. + fn disapprove_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `188 + p * (32 ±0)` + // Estimated: `1673 + p * (32 ±0)` + // Minimum execution time: 16_460_000 picoseconds. + Weight::from_parts(17_297_135, 0) + .saturating_add(Weight::from_parts(0, 1673)) + // Standard Error: 1_882 + .saturating_add(Weight::from_parts(280_598, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) + } +} diff --git a/runtime/altair/src/weights/pallet_conviction_voting.rs b/runtime/altair/src/weights/pallet_conviction_voting.rs new file mode 100644 index 0000000000..2550f2e6c0 --- /dev/null +++ b/runtime/altair/src/weights/pallet_conviction_voting.rs @@ -0,0 +1,176 @@ + +//! Autogenerated weights for `pallet_conviction_voting` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=altair +// --steps=50 +// --repeat=20 +// --pallet=pallet_conviction_voting +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_conviction_voting.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_conviction_voting`. +pub struct WeightInfo(PhantomData); +impl pallet_conviction_voting::WeightInfo for WeightInfo { + /// 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(149), added: 2624, 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(209), added: 2684, 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: `13381` + // Estimated: `42428` + // Minimum execution time: 119_353_000 picoseconds. + Weight::from_parts(124_742_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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:2 w:2) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + fn vote_existing() -> Weight { + // Proof Size summary in bytes: + // Measured: `14102` + // Estimated: `83866` + // Minimum execution time: 168_233_000 picoseconds. + Weight::from_parts(172_281_000, 0) + .saturating_add(Weight::from_parts(0, 83866)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// 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`) + fn remove_vote() -> Weight { + // Proof Size summary in bytes: + // Measured: `13891` + // Estimated: `83866` + // Minimum execution time: 138_428_000 picoseconds. + Weight::from_parts(148_126_000, 0) + .saturating_add(Weight::from_parts(0, 83866)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// 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: `13015` + // Estimated: `30706` + // Minimum execution time: 69_740_000 picoseconds. + Weight::from_parts(71_293_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:20 w:20) + /// 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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + /// The range of component `r` is `[0, 20]`. + fn delegate(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1928 + r * (705 ±0)` + // Estimated: `83866 + r * (3411 ±0)` + // Minimum execution time: 60_683_000 picoseconds. + Weight::from_parts(49_152_901, 0) + .saturating_add(Weight::from_parts(0, 83866)) + // Standard Error: 142_987 + .saturating_add(Weight::from_parts(38_936_029, 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(6)) + .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:20 w:20) + /// 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`) + /// The range of component `r` is `[0, 20]`. + fn undelegate(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1881 + r * (705 ±0)` + // Estimated: `83866 + r * (3411 ±0)` + // Minimum execution time: 30_417_000 picoseconds. + Weight::from_parts(11_657_082, 0) + .saturating_add(Weight::from_parts(0, 83866)) + // Standard Error: 148_364 + .saturating_add(Weight::from_parts(38_985_936, 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(4)) + .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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + fn unlock() -> Weight { + // Proof Size summary in bytes: + // Measured: `11959` + // Estimated: `30706` + // Minimum execution time: 87_544_000 picoseconds. + Weight::from_parts(90_088_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/runtime/altair/src/weights/pallet_democracy.rs b/runtime/altair/src/weights/pallet_democracy.rs index cbbb2de756..b6cd326a49 100644 --- a/runtime/altair/src/weights/pallet_democracy.rs +++ b/runtime/altair/src/weights/pallet_democracy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_democracy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4768` // Estimated: `18187` - // Minimum execution time: 50_003_000 picoseconds. - Weight::from_parts(50_915_000, 0) + // Minimum execution time: 46_778_000 picoseconds. + Weight::from_parts(48_641_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3523` // Estimated: `6695` - // Minimum execution time: 46_507_000 picoseconds. - Weight::from_parts(47_719_000, 0) + // Minimum execution time: 44_844_000 picoseconds. + Weight::from_parts(45_335_000, 0) .saturating_add(Weight::from_parts(0, 6695)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3400` // Estimated: `7260` - // Minimum execution time: 65_672_000 picoseconds. - Weight::from_parts(67_986_000, 0) + // Minimum execution time: 62_046_000 picoseconds. + Weight::from_parts(63_177_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -91,8 +91,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3422` // Estimated: `7260` - // Minimum execution time: 69_098_000 picoseconds. - Weight::from_parts(70_421_000, 0) + // Minimum execution time: 65_282_000 picoseconds. + Weight::from_parts(67_205_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -107,8 +107,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `333` // Estimated: `3666` - // Minimum execution time: 31_018_000 picoseconds. - Weight::from_parts(32_010_000, 0) + // Minimum execution time: 29_736_000 picoseconds. + Weight::from_parts(30_657_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -131,8 +131,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6249` // Estimated: `18187` - // Minimum execution time: 128_279_000 picoseconds. - Weight::from_parts(130_614_000, 0) + // Minimum execution time: 122_609_000 picoseconds. + Weight::from_parts(125_965_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(8)) @@ -145,8 +145,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3383` // Estimated: `6703` - // Minimum execution time: 15_999_000 picoseconds. - Weight::from_parts(16_401_000, 0) + // Minimum execution time: 15_860_000 picoseconds. + Weight::from_parts(16_431_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -157,8 +157,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_937_000 picoseconds. - Weight::from_parts(4_227_000, 0) + // Minimum execution time: 3_767_000 picoseconds. + Weight::from_parts(4_087_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -168,8 +168,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_937_000 picoseconds. - Weight::from_parts(4_148_000, 0) + // Minimum execution time: 3_837_000 picoseconds. + Weight::from_parts(4_048_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -185,8 +185,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 29_224_000 picoseconds. - Weight::from_parts(30_336_000, 0) + // Minimum execution time: 28_813_000 picoseconds. + Weight::from_parts(29_486_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -201,8 +201,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3486` // Estimated: `6703` - // Minimum execution time: 33_212_000 picoseconds. - Weight::from_parts(34_173_000, 0) + // Minimum execution time: 32_571_000 picoseconds. + Weight::from_parts(33_763_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -219,8 +219,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6160` // Estimated: `18187` - // Minimum execution time: 105_847_000 picoseconds. - Weight::from_parts(107_550_000, 0) + // Minimum execution time: 102_401_000 picoseconds. + Weight::from_parts(104_325_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -233,8 +233,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `238` // Estimated: `3518` - // Minimum execution time: 21_220_000 picoseconds. - Weight::from_parts(21_871_000, 0) + // Minimum execution time: 20_679_000 picoseconds. + Weight::from_parts(21_239_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -250,11 +250,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `1489 + r * (2676 ±0)` - // Minimum execution time: 7_624_000 picoseconds. - Weight::from_parts(10_627_540, 0) + // Minimum execution time: 7_033_000 picoseconds. + Weight::from_parts(10_797_754, 0) .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 6_189 - .saturating_add(Weight::from_parts(4_137_589, 0).saturating_mul(r.into())) + // Standard Error: 5_068 + .saturating_add(Weight::from_parts(3_994_510, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -277,11 +277,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `18187 + r * (2676 ±0)` - // Minimum execution time: 10_830_000 picoseconds. - Weight::from_parts(12_799_589, 0) + // Minimum execution time: 10_119_000 picoseconds. + Weight::from_parts(12_829_435, 0) .saturating_add(Weight::from_parts(0, 18187)) - // Standard Error: 8_117 - .saturating_add(Weight::from_parts(4_184_722, 0).saturating_mul(r.into())) + // Standard Error: 6_902 + .saturating_add(Weight::from_parts(4_034_050, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -300,11 +300,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `764 + r * (108 ±0)` // Estimated: `19800 + r * (2676 ±0)` - // Minimum execution time: 51_987_000 picoseconds. - Weight::from_parts(57_291_600, 0) + // Minimum execution time: 48_721_000 picoseconds. + Weight::from_parts(53_864_901, 0) .saturating_add(Weight::from_parts(0, 19800)) - // Standard Error: 10_138 - .saturating_add(Weight::from_parts(5_342_781, 0).saturating_mul(r.into())) + // Standard Error: 6_601 + .saturating_add(Weight::from_parts(5_030_434, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -320,11 +320,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `460 + r * (108 ±0)` // Estimated: `13530 + r * (2676 ±0)` - // Minimum execution time: 24_004_000 picoseconds. - Weight::from_parts(23_636_622, 0) + // Minimum execution time: 23_093_000 picoseconds. + Weight::from_parts(23_620_966, 0) .saturating_add(Weight::from_parts(0, 13530)) - // Standard Error: 8_379 - .saturating_add(Weight::from_parts(5_370_192, 0).saturating_mul(r.into())) + // Standard Error: 6_375 + .saturating_add(Weight::from_parts(4_998_813, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -337,8 +337,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_308_000 picoseconds. - Weight::from_parts(4_558_000, 0) + // Minimum execution time: 4_188_000 picoseconds. + Weight::from_parts(4_338_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -355,11 +355,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `492` // Estimated: `7260` - // Minimum execution time: 31_148_000 picoseconds. - Weight::from_parts(44_370_848, 0) + // Minimum execution time: 29_985_000 picoseconds. + Weight::from_parts(42_211_668, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 2_974 - .saturating_add(Weight::from_parts(66_137, 0).saturating_mul(r.into())) + // Standard Error: 2_759 + .saturating_add(Weight::from_parts(59_574, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -376,11 +376,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `493 + r * (22 ±0)` // Estimated: `7260` - // Minimum execution time: 41_848_000 picoseconds. - Weight::from_parts(43_390_472, 0) + // Minimum execution time: 39_895_000 picoseconds. + Weight::from_parts(41_805_560, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_049 - .saturating_add(Weight::from_parts(97_162, 0).saturating_mul(r.into())) + // Standard Error: 981 + .saturating_add(Weight::from_parts(87_864, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -393,11 +393,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 21_039_000 picoseconds. - Weight::from_parts(24_175_612, 0) + // Minimum execution time: 20_347_000 picoseconds. + Weight::from_parts(23_155_557, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_344 - .saturating_add(Weight::from_parts(94_940, 0).saturating_mul(r.into())) + // Standard Error: 1_330 + .saturating_add(Weight::from_parts(94_584, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -410,11 +410,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 20_879_000 picoseconds. - Weight::from_parts(24_094_323, 0) + // Minimum execution time: 20_529_000 picoseconds. + Weight::from_parts(23_303_018, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_350 - .saturating_add(Weight::from_parts(98_655, 0).saturating_mul(r.into())) + // Standard Error: 1_320 + .saturating_add(Weight::from_parts(94_855, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -430,8 +430,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `357` // Estimated: `3556` - // Minimum execution time: 23_814_000 picoseconds. - Weight::from_parts(24_615_000, 0) + // Minimum execution time: 23_454_000 picoseconds. + Weight::from_parts(24_135_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -444,8 +444,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 19_196_000 picoseconds. - Weight::from_parts(19_997_000, 0) + // Minimum execution time: 19_246_000 picoseconds. + Weight::from_parts(25_828_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -462,8 +462,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4889` // Estimated: `18187` - // Minimum execution time: 53_660_000 picoseconds. - Weight::from_parts(55_965_000, 0) + // Minimum execution time: 52_869_000 picoseconds. + Weight::from_parts(53_970_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -476,8 +476,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4789` // Estimated: `18187` - // Minimum execution time: 47_659_000 picoseconds. - Weight::from_parts(48_671_000, 0) + // Minimum execution time: 46_056_000 picoseconds. + Weight::from_parts(47_719_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -492,8 +492,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 19_897_000 picoseconds. - Weight::from_parts(20_518_000, 0) + // Minimum execution time: 19_225_000 picoseconds. + Weight::from_parts(19_737_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -506,8 +506,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269` // Estimated: `3666` - // Minimum execution time: 23_383_000 picoseconds. - Weight::from_parts(23_965_000, 0) + // Minimum execution time: 22_422_000 picoseconds. + Weight::from_parts(22_802_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_elections_phragmen.rs b/runtime/altair/src/weights/pallet_elections_phragmen.rs index b4be03bdb2..a84c3546e4 100644 --- a/runtime/altair/src/weights/pallet_elections_phragmen.rs +++ b/runtime/altair/src/weights/pallet_elections_phragmen.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_elections_phragmen` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -48,11 +48,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `397 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 39_624_000 picoseconds. - Weight::from_parts(40_998_021, 0) + // Minimum execution time: 37_740_000 picoseconds. + Weight::from_parts(39_208_309, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 9_894 - .saturating_add(Weight::from_parts(165_213, 0).saturating_mul(v.into())) + // Standard Error: 9_915 + .saturating_add(Weight::from_parts(141_303, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -74,11 +74,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `366 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 54_722_000 picoseconds. - Weight::from_parts(56_247_947, 0) + // Minimum execution time: 52_037_000 picoseconds. + Weight::from_parts(53_211_864, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 16_357 - .saturating_add(Weight::from_parts(168_341, 0).saturating_mul(v.into())) + // Standard Error: 15_609 + .saturating_add(Weight::from_parts(186_760, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -100,11 +100,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `398 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 54_872_000 picoseconds. - Weight::from_parts(56_262_886, 0) + // Minimum execution time: 52_077_000 picoseconds. + Weight::from_parts(53_100_647, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 19_358 - .saturating_add(Weight::from_parts(327_852, 0).saturating_mul(v.into())) + // Standard Error: 14_826 + .saturating_add(Weight::from_parts(255_573, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -119,8 +119,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `568` // Estimated: `4764` - // Minimum execution time: 56_185_000 picoseconds. - Weight::from_parts(57_116_000, 0) + // Minimum execution time: 52_428_000 picoseconds. + Weight::from_parts(53_580_000, 0) .saturating_add(Weight::from_parts(0, 4764)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -136,11 +136,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1475 + c * (48 ±0)` // Estimated: `2960 + c * (48 ±0)` - // Minimum execution time: 39_964_000 picoseconds. - Weight::from_parts(41_511_145, 0) + // Minimum execution time: 38_752_000 picoseconds. + Weight::from_parts(39_797_986, 0) .saturating_add(Weight::from_parts(0, 2960)) - // Standard Error: 2_918 - .saturating_add(Weight::from_parts(60_761, 0).saturating_mul(c.into())) + // Standard Error: 2_169 + .saturating_add(Weight::from_parts(72_813, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -152,11 +152,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `318 + c * (48 ±0)` // Estimated: `1803 + c * (48 ±0)` - // Minimum execution time: 35_145_000 picoseconds. - Weight::from_parts(36_520_172, 0) + // Minimum execution time: 33_613_000 picoseconds. + Weight::from_parts(34_658_072, 0) .saturating_add(Weight::from_parts(0, 1803)) - // Standard Error: 3_288 - .saturating_add(Weight::from_parts(58_174, 0).saturating_mul(c.into())) + // Standard Error: 1_868 + .saturating_add(Weight::from_parts(51_037, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -175,8 +175,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1621` // Estimated: `3106` - // Minimum execution time: 51_015_000 picoseconds. - Weight::from_parts(52_037_000, 0) + // Minimum execution time: 49_252_000 picoseconds. + Weight::from_parts(50_123_000, 0) .saturating_add(Weight::from_parts(0, 3106)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -187,8 +187,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1023` // Estimated: `2508` - // Minimum execution time: 35_436_000 picoseconds. - Weight::from_parts(36_829_000, 0) + // Minimum execution time: 34_234_000 picoseconds. + Weight::from_parts(35_256_000, 0) .saturating_add(Weight::from_parts(0, 2508)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -219,8 +219,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1724` // Estimated: `6196` - // Minimum execution time: 69_800_000 picoseconds. - Weight::from_parts(71_453_000, 0) + // Minimum execution time: 68_478_000 picoseconds. + Weight::from_parts(69_419_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -244,14 +244,14 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn fn clean_defunct_voters(v: u32, d: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + d * (494 ±0) + v * (62 ±0)` - // Estimated: `8032 + d * (3774 ±0) + v * (27 ±0)` - // Minimum execution time: 5_730_000 picoseconds. - Weight::from_parts(1_574_067, 0) + // Estimated: `8032 + d * (3774 ±1) + v * (27 ±0)` + // Minimum execution time: 5_160_000 picoseconds. + Weight::from_parts(5_591_000, 0) .saturating_add(Weight::from_parts(0, 8032)) - // Standard Error: 27_444 - .saturating_add(Weight::from_parts(422_637, 0).saturating_mul(v.into())) - // Standard Error: 27_444 - .saturating_add(Weight::from_parts(55_295_420, 0).saturating_mul(d.into())) + // Standard Error: 7_098 + .saturating_add(Weight::from_parts(424_372, 0).saturating_mul(v.into())) + // Standard Error: 15_489 + .saturating_add(Weight::from_parts(51_142_336, 0).saturating_mul(d.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(d.into()))) .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(d.into()))) @@ -282,16 +282,16 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + e * (23 ±0) + v * (241 ±0)` - // Estimated: `9323 + c * (154 ±35) + e * (19 ±0) + v * (2526 ±2)` - // Minimum execution time: 290_281_000 picoseconds. - Weight::from_parts(292_836_000, 0) + // Estimated: `9323 + c * (154 ±3) + e * (19 ±0) + v * (2526 ±2)` + // Minimum execution time: 279_732_000 picoseconds. + Weight::from_parts(281_476_000, 0) .saturating_add(Weight::from_parts(0, 9323)) - // Standard Error: 772_015 - .saturating_add(Weight::from_parts(1_683_502, 0).saturating_mul(c.into())) - // Standard Error: 153_574 - .saturating_add(Weight::from_parts(8_339_715, 0).saturating_mul(v.into())) - // Standard Error: 33_351 - .saturating_add(Weight::from_parts(245_281, 0).saturating_mul(e.into())) + // Standard Error: 787_742 + .saturating_add(Weight::from_parts(1_773_476, 0).saturating_mul(c.into())) + // Standard Error: 156_703 + .saturating_add(Weight::from_parts(8_129_732, 0).saturating_mul(v.into())) + // Standard Error: 34_030 + .saturating_add(Weight::from_parts(258_880, 0).saturating_mul(e.into())) .saturating_add(T::DbWeight::get().reads(17)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(7)) diff --git a/runtime/altair/src/weights/pallet_fees.rs b/runtime/altair/src/weights/pallet_fees.rs index b60e5d1caf..c980aeec58 100644 --- a/runtime/altair/src/weights/pallet_fees.rs +++ b/runtime/altair/src/weights/pallet_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_097_000 picoseconds. - Weight::from_parts(9_538_000, 0) + // Minimum execution time: 8_586_000 picoseconds. + Weight::from_parts(9_077_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_identity.rs b/runtime/altair/src/weights/pallet_identity.rs index 918096d6eb..6b4239f1c6 100644 --- a/runtime/altair/src/weights/pallet_identity.rs +++ b/runtime/altair/src/weights/pallet_identity.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_identity` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 11_071_000 picoseconds. - Weight::from_parts(11_956_420, 0) + // Minimum execution time: 11_422_000 picoseconds. + Weight::from_parts(12_197_017, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 2_013 - .saturating_add(Weight::from_parts(113_475, 0).saturating_mul(r.into())) + // Standard Error: 1_653 + .saturating_add(Weight::from_parts(98_765, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -53,11 +53,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6977 + r * (5 ±0)` // Estimated: `11037` - // Minimum execution time: 185_687_000 picoseconds. - Weight::from_parts(190_458_359, 0) + // Minimum execution time: 178_774_000 picoseconds. + Weight::from_parts(182_634_500, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 9_985 - .saturating_add(Weight::from_parts(118_924, 0).saturating_mul(r.into())) + // Standard Error: 7_474 + .saturating_add(Weight::from_parts(132_892, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -72,11 +72,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `100` // Estimated: `11037 + s * (2589 ±0)` - // Minimum execution time: 13_476_000 picoseconds. - Weight::from_parts(31_626_105, 0) + // Minimum execution time: 13_324_000 picoseconds. + Weight::from_parts(30_852_516, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 5_424 - .saturating_add(Weight::from_parts(5_141_499, 0).saturating_mul(s.into())) + // Standard Error: 5_080 + .saturating_add(Weight::from_parts(4_724_167, 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)) @@ -94,11 +94,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `193 + p * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 13_575_000 picoseconds. - Weight::from_parts(30_421_544, 0) + // Minimum execution time: 13_485_000 picoseconds. + Weight::from_parts(30_221_292, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 4_675 - .saturating_add(Weight::from_parts(2_072_423, 0).saturating_mul(p.into())) + // Standard Error: 3_975 + .saturating_add(Weight::from_parts(1_877_497, 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()))) @@ -115,13 +115,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7069 + r * (5 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 81_903_000 picoseconds. - Weight::from_parts(83_404_495, 0) + // Minimum execution time: 80_600_000 picoseconds. + Weight::from_parts(82_476_377, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 13_949 - .saturating_add(Weight::from_parts(100_282, 0).saturating_mul(r.into())) - // Standard Error: 2_721 - .saturating_add(Weight::from_parts(2_046_604, 0).saturating_mul(s.into())) + // Standard Error: 8_316 + .saturating_add(Weight::from_parts(110_491, 0).saturating_mul(r.into())) + // Standard Error: 1_622 + .saturating_add(Weight::from_parts(1_869_376, 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()))) @@ -135,11 +135,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6967 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 121_377_000 picoseconds. - Weight::from_parts(124_676_842, 0) + // Minimum execution time: 117_560_000 picoseconds. + Weight::from_parts(120_960_044, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 6_660 - .saturating_add(Weight::from_parts(92_087, 0).saturating_mul(r.into())) + // Standard Error: 7_476 + .saturating_add(Weight::from_parts(115_158, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -150,11 +150,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6998` // Estimated: `11037` - // Minimum execution time: 118_111_000 picoseconds. - Weight::from_parts(121_516_033, 0) + // Minimum execution time: 114_233_000 picoseconds. + Weight::from_parts(117_267_994, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 6_943 - .saturating_add(Weight::from_parts(53_399, 0).saturating_mul(r.into())) + // Standard Error: 6_159 + .saturating_add(Weight::from_parts(47_039, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -165,11 +165,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_255_000 picoseconds. - Weight::from_parts(8_828_967, 0) + // Minimum execution time: 7_945_000 picoseconds. + Weight::from_parts(8_631_070, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_075 - .saturating_add(Weight::from_parts(74_131, 0).saturating_mul(r.into())) + // Standard Error: 1_288 + .saturating_add(Weight::from_parts(81_053, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,11 +180,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_475_000 picoseconds. - Weight::from_parts(8_900_103, 0) + // Minimum execution time: 8_396_000 picoseconds. + Weight::from_parts(8_929_671, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 950 - .saturating_add(Weight::from_parts(73_969, 0).saturating_mul(r.into())) + // Standard Error: 1_068 + .saturating_add(Weight::from_parts(70_217, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -195,11 +195,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_286_000 picoseconds. - Weight::from_parts(8_679_161, 0) + // Minimum execution time: 8_216_000 picoseconds. + Weight::from_parts(8_676_618, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_203 - .saturating_add(Weight::from_parts(73_566, 0).saturating_mul(r.into())) + // Standard Error: 2_342 + .saturating_add(Weight::from_parts(78_211, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -212,11 +212,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7045 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 157_844_000 picoseconds. - Weight::from_parts(163_504_852, 0) + // Minimum execution time: 150_100_000 picoseconds. + Weight::from_parts(154_309_352, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_336 - .saturating_add(Weight::from_parts(111_210, 0).saturating_mul(r.into())) + // Standard Error: 7_974 + .saturating_add(Weight::from_parts(92_262, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -234,13 +234,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7396 + r * (15 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 103_394_000 picoseconds. - Weight::from_parts(103_065_236, 0) + // Minimum execution time: 100_678_000 picoseconds. + Weight::from_parts(104_217_602, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 14_066 - .saturating_add(Weight::from_parts(192_397, 0).saturating_mul(r.into())) - // Standard Error: 2_744 - .saturating_add(Weight::from_parts(2_071_673, 0).saturating_mul(s.into())) + // Standard Error: 12_708 + .saturating_add(Weight::from_parts(95_387, 0).saturating_mul(r.into())) + // Standard Error: 2_479 + .saturating_add(Weight::from_parts(1_875_975, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) @@ -256,11 +256,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `474 + s * (36 ±0)` // Estimated: `11037` - // Minimum execution time: 38_401_000 picoseconds. - Weight::from_parts(43_707_969, 0) + // Minimum execution time: 35_576_000 picoseconds. + Weight::from_parts(41_006_871, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 1_715 - .saturating_add(Weight::from_parts(54_583, 0).saturating_mul(s.into())) + // Standard Error: 1_292 + .saturating_add(Weight::from_parts(69_396, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -273,11 +273,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `590 + s * (3 ±0)` // Estimated: `11037` - // Minimum execution time: 18_194_000 picoseconds. - Weight::from_parts(20_768_301, 0) + // Minimum execution time: 18_114_000 picoseconds. + Weight::from_parts(20_517_824, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 635 - .saturating_add(Weight::from_parts(23_190, 0).saturating_mul(s.into())) + // Standard Error: 613 + .saturating_add(Weight::from_parts(21_449, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -292,11 +292,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `637 + s * (35 ±0)` // Estimated: `11037` - // Minimum execution time: 40_616_000 picoseconds. - Weight::from_parts(44_077_435, 0) + // Minimum execution time: 39_935_000 picoseconds. + Weight::from_parts(43_077_935, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(56_654, 0).saturating_mul(s.into())) + // Standard Error: 901 + .saturating_add(Weight::from_parts(56_712, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -311,11 +311,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `770 + s * (37 ±0)` // Estimated: `6723` - // Minimum execution time: 30_647_000 picoseconds. - Weight::from_parts(33_495_929, 0) + // Minimum execution time: 30_497_000 picoseconds. + Weight::from_parts(32_696_523, 0) .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 864 - .saturating_add(Weight::from_parts(63_359, 0).saturating_mul(s.into())) + // Standard Error: 838 + .saturating_add(Weight::from_parts(61_291, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -325,8 +325,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_598_000 picoseconds. - Weight::from_parts(10_038_000, 0) + // Minimum execution time: 9_719_000 picoseconds. + Weight::from_parts(10_109_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -336,8 +336,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `3517` - // Minimum execution time: 12_603_000 picoseconds. - Weight::from_parts(13_135_000, 0) + // Minimum execution time: 12_774_000 picoseconds. + Weight::from_parts(13_556_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -354,8 +354,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `11037` - // Minimum execution time: 82_033_000 picoseconds. - Weight::from_parts(83_586_000, 0) + // Minimum execution time: 80_400_000 picoseconds. + Weight::from_parts(82_073_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -370,8 +370,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `11037` - // Minimum execution time: 29_906_000 picoseconds. - Weight::from_parts(30_357_000, 0) + // Minimum execution time: 29_335_000 picoseconds. + Weight::from_parts(29_836_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -382,8 +382,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `3550` - // Minimum execution time: 21_831_000 picoseconds. - Weight::from_parts(31_329_000, 0) + // Minimum execution time: 18_294_000 picoseconds. + Weight::from_parts(19_296_000, 0) .saturating_add(Weight::from_parts(0, 3550)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -396,8 +396,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `11037` - // Minimum execution time: 23_885_000 picoseconds. - Weight::from_parts(24_787_000, 0) + // Minimum execution time: 23_144_000 picoseconds. + Weight::from_parts(23_784_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -410,8 +410,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `97` // Estimated: `11037` - // Minimum execution time: 16_560_000 picoseconds. - Weight::from_parts(16_931_000, 0) + // Minimum execution time: 16_410_000 picoseconds. + Weight::from_parts(16_821_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_interest_accrual.rs b/runtime/altair/src/weights/pallet_interest_accrual.rs index b63ab0ff63..6a40d2b9bd 100644 --- a/runtime/altair/src/weights/pallet_interest_accrual.rs +++ b/runtime/altair/src/weights/pallet_interest_accrual.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_interest_accrual` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_interest_accrual::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 841_000 picoseconds. - Weight::from_parts(235_636, 0) + // Minimum execution time: 711_000 picoseconds. + Weight::from_parts(110_492, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 604 - .saturating_add(Weight::from_parts(723_257, 0).saturating_mul(n.into())) + // Standard Error: 901 + .saturating_add(Weight::from_parts(750_686, 0).saturating_mul(n.into())) } } diff --git a/runtime/altair/src/weights/pallet_investments.rs b/runtime/altair/src/weights/pallet_investments.rs index aaa0942aeb..918ed2a4c3 100644 --- a/runtime/altair/src/weights/pallet_investments.rs +++ b/runtime/altair/src/weights/pallet_investments.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_investments` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -51,8 +51,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2024` // Estimated: `6198` - // Minimum execution time: 93_043_000 picoseconds. - Weight::from_parts(94_196_000, 0) + // Minimum execution time: 89_177_000 picoseconds. + Weight::from_parts(90_519_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1948` // Estimated: `6198` - // Minimum execution time: 93_844_000 picoseconds. - Weight::from_parts(95_328_000, 0) + // Minimum execution time: 90_560_000 picoseconds. + Weight::from_parts(91_872_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -104,11 +104,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2322 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 103_173_000 picoseconds. - Weight::from_parts(98_299_805, 0) + // Minimum execution time: 99_696_000 picoseconds. + Weight::from_parts(95_944_857, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 29_380 - .saturating_add(Weight::from_parts(5_646_049, 0).saturating_mul(n.into())) + // Standard Error: 18_104 + .saturating_add(Weight::from_parts(5_369_908, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -135,11 +135,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2331 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 99_706_000 picoseconds. - Weight::from_parts(94_699_603, 0) + // Minimum execution time: 96_209_000 picoseconds. + Weight::from_parts(92_214_787, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 27_256 - .saturating_add(Weight::from_parts(5_533_296, 0).saturating_mul(n.into())) + // Standard Error: 19_505 + .saturating_add(Weight::from_parts(5_247_342, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/altair/src/weights/pallet_keystore.rs b/runtime/altair/src/weights/pallet_keystore.rs index 8c0a7985d4..b56d1ee801 100644 --- a/runtime/altair/src/weights/pallet_keystore.rs +++ b/runtime/altair/src/weights/pallet_keystore.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_keystore` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -44,11 +44,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `216` // Estimated: `3593 + n * (2595 ±0)` - // Minimum execution time: 38_191_000 picoseconds. - Weight::from_parts(16_275_427, 0) + // Minimum execution time: 36_227_000 picoseconds. + Weight::from_parts(16_422_702, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 11_880 - .saturating_add(Weight::from_parts(23_377_597, 0).saturating_mul(n.into())) + // Standard Error: 8_268 + .saturating_add(Weight::from_parts(21_108_343, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -62,11 +62,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114 + n * (75 ±0)` // Estimated: `990 + n * (2595 ±0)` - // Minimum execution time: 17_442_000 picoseconds. - Weight::from_parts(8_682_939, 0) + // Minimum execution time: 17_122_000 picoseconds. + Weight::from_parts(8_322_016, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 17_995 - .saturating_add(Weight::from_parts(10_026_691, 0).saturating_mul(n.into())) + // Standard Error: 15_921 + .saturating_add(Weight::from_parts(9_684_433, 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, 2595).saturating_mul(n.into())) @@ -77,8 +77,8 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_922_000 picoseconds. - Weight::from_parts(7_294_000, 0) + // Minimum execution time: 6_832_000 picoseconds. + Weight::from_parts(7_163_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_liquidity_rewards.rs b/runtime/altair/src/weights/pallet_liquidity_rewards.rs index 71719e57f5..c09a1d4901 100644 --- a/runtime/altair/src/weights/pallet_liquidity_rewards.rs +++ b/runtime/altair/src/weights/pallet_liquidity_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_liquidity_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -42,15 +42,15 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `262` // Estimated: `1493` - // Minimum execution time: 6_522_000 picoseconds. - Weight::from_parts(6_634_447, 0) + // Minimum execution time: 6_441_000 picoseconds. + Weight::from_parts(6_643_942, 0) .saturating_add(Weight::from_parts(0, 1493)) - // Standard Error: 484 - .saturating_add(Weight::from_parts(4_525, 0).saturating_mul(x.into())) - // Standard Error: 198 - .saturating_add(Weight::from_parts(1_798, 0).saturating_mul(y.into())) - // Standard Error: 198 - .saturating_add(Weight::from_parts(10_365, 0).saturating_mul(z.into())) + // Standard Error: 488 + .saturating_add(Weight::from_parts(4_617, 0).saturating_mul(x.into())) + // Standard Error: 200 + .saturating_add(Weight::from_parts(1_552, 0).saturating_mul(y.into())) + // Standard Error: 200 + .saturating_add(Weight::from_parts(7_902, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) } /// Storage: `LiquidityRewardsBase::Currency` (r:1 w:1) @@ -67,8 +67,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `467` // Estimated: `4407` - // Minimum execution time: 36_007_000 picoseconds. - Weight::from_parts(36_889_000, 0) + // Minimum execution time: 34_635_000 picoseconds. + Weight::from_parts(35_587_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -83,8 +83,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `176` // Estimated: `4328` - // Minimum execution time: 24_044_000 picoseconds. - Weight::from_parts(24_495_000, 0) + // Minimum execution time: 23_735_000 picoseconds. + Weight::from_parts(24_276_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -101,8 +101,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `449` // Estimated: `4328` - // Minimum execution time: 51_085_000 picoseconds. - Weight::from_parts(52_357_000, 0) + // Minimum execution time: 48_010_000 picoseconds. + Weight::from_parts(49_232_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -113,8 +113,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_372_000 picoseconds. - Weight::from_parts(6_602_000, 0) + // Minimum execution time: 6_292_000 picoseconds. + Weight::from_parts(6_692_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_372_000 picoseconds. - Weight::from_parts(6_702_000, 0) + // Minimum execution time: 6_302_000 picoseconds. + Weight::from_parts(6_492_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_672_000 picoseconds. - Weight::from_parts(7_033_000, 0) + // Minimum execution time: 6_512_000 picoseconds. + Weight::from_parts(6_903_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_852_000 picoseconds. - Weight::from_parts(7_123_000, 0) + // Minimum execution time: 6_843_000 picoseconds. + Weight::from_parts(7_083_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_loans.rs b/runtime/altair/src/weights/pallet_loans.rs index 3d22a648d9..d37efedf68 100644 --- a/runtime/altair/src/weights/pallet_loans.rs +++ b/runtime/altair/src/weights/pallet_loans.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_loans` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -53,8 +53,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1195` // Estimated: `4278` - // Minimum execution time: 75_201_000 picoseconds. - Weight::from_parts(78_006_000, 0) + // Minimum execution time: 73_547_000 picoseconds. + Weight::from_parts(74_810_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -84,11 +84,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12846 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 186_288_000 picoseconds. - Weight::from_parts(190_716_513, 0) + // Minimum execution time: 184_564_000 picoseconds. + Weight::from_parts(188_408_473, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 19_435 - .saturating_add(Weight::from_parts(587_402, 0).saturating_mul(n.into())) + // Standard Error: 17_019 + .saturating_add(Weight::from_parts(527_378, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(7)) } @@ -115,11 +115,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `13032 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 165_729_000 picoseconds. - Weight::from_parts(167_843_939, 0) + // Minimum execution time: 162_374_000 picoseconds. + Weight::from_parts(164_908_358, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 22_614 - .saturating_add(Weight::from_parts(691_747, 0).saturating_mul(n.into())) + // Standard Error: 14_115 + .saturating_add(Weight::from_parts(803_672, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -140,11 +140,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `15833 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 196_697_000 picoseconds. - Weight::from_parts(200_116_785, 0) + // Minimum execution time: 187_400_000 picoseconds. + Weight::from_parts(191_470_161, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 22_793 - .saturating_add(Weight::from_parts(426_786, 0).saturating_mul(n.into())) + // Standard Error: 12_057 + .saturating_add(Weight::from_parts(624_274, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -167,11 +167,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `16084 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 232_884_000 picoseconds. - Weight::from_parts(236_836_129, 0) + // Minimum execution time: 223_878_000 picoseconds. + Weight::from_parts(228_016_868, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 23_620 - .saturating_add(Weight::from_parts(527_055, 0).saturating_mul(n.into())) + // Standard Error: 17_532 + .saturating_add(Weight::from_parts(801_233, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -188,11 +188,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `938 + n * (316 ±0)` // Estimated: `376491` - // Minimum execution time: 40_355_000 picoseconds. - Weight::from_parts(40_780_970, 0) + // Minimum execution time: 39_384_000 picoseconds. + Weight::from_parts(39_729_627, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 5_395 - .saturating_add(Weight::from_parts(448_479, 0).saturating_mul(n.into())) + // Standard Error: 4_250 + .saturating_add(Weight::from_parts(535_065, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -215,11 +215,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12169 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 106_780_000 picoseconds. - Weight::from_parts(108_199_468, 0) + // Minimum execution time: 105_396_000 picoseconds. + Weight::from_parts(106_555_162, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 17_211 - .saturating_add(Weight::from_parts(729_848, 0).saturating_mul(n.into())) + // Standard Error: 10_932 + .saturating_add(Weight::from_parts(649_859, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -246,11 +246,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12029 + n * (373 ±0)` // Estimated: `376491` - // Minimum execution time: 92_222_000 picoseconds. - Weight::from_parts(93_656_922, 0) + // Minimum execution time: 89_998_000 picoseconds. + Weight::from_parts(90_758_799, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 13_832 - .saturating_add(Weight::from_parts(650_957, 0).saturating_mul(n.into())) + // Standard Error: 9_143 + .saturating_add(Weight::from_parts(663_485, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(8)) } @@ -266,8 +266,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `4278` - // Minimum execution time: 103_723_000 picoseconds. - Weight::from_parts(105_928_000, 0) + // Minimum execution time: 100_858_000 picoseconds. + Weight::from_parts(102_802_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -282,8 +282,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4854` // Estimated: `8649` - // Minimum execution time: 137_526_000 picoseconds. - Weight::from_parts(140_211_000, 0) + // Minimum execution time: 135_303_000 picoseconds. + Weight::from_parts(137_046_000, 0) .saturating_add(Weight::from_parts(0, 8649)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -307,11 +307,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `11718 + n * (353 ±0)` // Estimated: `376491` - // Minimum execution time: 98_765_000 picoseconds. - Weight::from_parts(69_862_207, 0) + // Minimum execution time: 96_861_000 picoseconds. + Weight::from_parts(67_463_445, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 26_661 - .saturating_add(Weight::from_parts(31_411_063, 0).saturating_mul(n.into())) + // Standard Error: 21_711 + .saturating_add(Weight::from_parts(31_527_776, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -334,11 +334,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `11836 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 211_504_000 picoseconds. - Weight::from_parts(216_578_752, 0) + // Minimum execution time: 211_384_000 picoseconds. + Weight::from_parts(212_216_605, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 34_460 - .saturating_add(Weight::from_parts(821_413, 0).saturating_mul(n.into())) + // Standard Error: 22_585 + .saturating_add(Weight::from_parts(1_348_408, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -363,11 +363,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12497 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 222_114_000 picoseconds. - Weight::from_parts(225_316_304, 0) + // Minimum execution time: 221_314_000 picoseconds. + Weight::from_parts(223_258_475, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 34_163 - .saturating_add(Weight::from_parts(948_074, 0).saturating_mul(n.into())) + // Standard Error: 22_407 + .saturating_add(Weight::from_parts(1_119_932, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -388,11 +388,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `11496 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 128_950_000 picoseconds. - Weight::from_parts(131_986_528, 0) + // Minimum execution time: 127_347_000 picoseconds. + Weight::from_parts(130_120_766, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 15_405 - .saturating_add(Weight::from_parts(538_412, 0).saturating_mul(n.into())) + // Standard Error: 13_923 + .saturating_add(Weight::from_parts(576_653, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) } diff --git a/runtime/altair/src/weights/pallet_membership.rs b/runtime/altair/src/weights/pallet_membership.rs new file mode 100644 index 0000000000..f25b7feb9b --- /dev/null +++ b/runtime/altair/src/weights/pallet_membership.rs @@ -0,0 +1,186 @@ + +//! Autogenerated weights for `pallet_membership` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=altair +// --steps=50 +// --repeat=20 +// --pallet=pallet_membership +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_membership.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_membership`. +pub struct WeightInfo(PhantomData); +impl pallet_membership::WeightInfo for WeightInfo { + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 19]`. + fn add_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `240 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 15_689_000 picoseconds. + Weight::from_parts(16_472_526, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_797 + .saturating_add(Weight::from_parts(40_888, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[2, 20]`. + fn remove_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_265_000 picoseconds. + Weight::from_parts(19_136_826, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_797 + .saturating_add(Weight::from_parts(35_932, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[2, 20]`. + fn swap_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_474_000 picoseconds. + Weight::from_parts(19_327_764, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_683 + .saturating_add(Weight::from_parts(41_100, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn reset_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_274_000 picoseconds. + Weight::from_parts(19_322_709, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 2_526 + .saturating_add(Weight::from_parts(223_432, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn change_key(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 19_266_000 picoseconds. + Weight::from_parts(20_049_052, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_710 + .saturating_add(Weight::from_parts(50_192, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:0 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn set_prime(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `208 + m * (32 ±0)` + // Estimated: `2126 + m * (32 ±0)` + // Minimum execution time: 8_937_000 picoseconds. + Weight::from_parts(9_371_359, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 871 + .saturating_add(Weight::from_parts(14_361, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Prime` (r:0 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn clear_prime(_m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_276_000 picoseconds. + Weight::from_parts(3_561_668, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/runtime/altair/src/weights/pallet_multisig.rs b/runtime/altair/src/weights/pallet_multisig.rs index 2b14f64052..b7089e5b19 100644 --- a/runtime/altair/src/weights/pallet_multisig.rs +++ b/runtime/altair/src/weights/pallet_multisig.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_multisig` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -36,11 +36,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_920_000 picoseconds. - Weight::from_parts(16_791_683, 0) + // Minimum execution time: 15_910_000 picoseconds. + Weight::from_parts(16_642_229, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 5 - .saturating_add(Weight::from_parts(494, 0).saturating_mul(z.into())) + // Standard Error: 3 + .saturating_add(Weight::from_parts(551, 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`) @@ -50,13 +50,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 50_905_000 picoseconds. - Weight::from_parts(43_938_808, 0) + // Minimum execution time: 48_239_000 picoseconds. + Weight::from_parts(41_860_446, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 750 - .saturating_add(Weight::from_parts(90_272, 0).saturating_mul(s.into())) + // Standard Error: 753 + .saturating_add(Weight::from_parts(84_767, 0).saturating_mul(s.into())) // Standard Error: 7 - .saturating_add(Weight::from_parts(1_537, 0).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(1_603, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -68,13 +68,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 31_800_000 picoseconds. - Weight::from_parts(24_763_259, 0) + // Minimum execution time: 30_817_000 picoseconds. + Weight::from_parts(23_866_179, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 637 - .saturating_add(Weight::from_parts(84_167, 0).saturating_mul(s.into())) - // Standard Error: 6 - .saturating_add(Weight::from_parts(1_526, 0).saturating_mul(z.into())) + // Standard Error: 429 + .saturating_add(Weight::from_parts(84_843, 0).saturating_mul(s.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(1_599, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -88,13 +88,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `456 + s * (33 ±0)` // Estimated: `6811` - // Minimum execution time: 58_639_000 picoseconds. - Weight::from_parts(47_679_049, 0) + // Minimum execution time: 56_936_000 picoseconds. + Weight::from_parts(45_762_568, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_118 - .saturating_add(Weight::from_parts(126_990, 0).saturating_mul(s.into())) - // Standard Error: 10 - .saturating_add(Weight::from_parts(1_605, 0).saturating_mul(z.into())) + // Standard Error: 835 + .saturating_add(Weight::from_parts(124_094, 0).saturating_mul(s.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_688, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -105,11 +105,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 40_445_000 picoseconds. - Weight::from_parts(41_735_038, 0) + // Minimum execution time: 37_931_000 picoseconds. + Weight::from_parts(39_273_683, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_330 - .saturating_add(Weight::from_parts(95_912, 0).saturating_mul(s.into())) + // Standard Error: 679 + .saturating_add(Weight::from_parts(95_008, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -120,11 +120,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 21_761_000 picoseconds. - Weight::from_parts(22_759_304, 0) + // Minimum execution time: 21_159_000 picoseconds. + Weight::from_parts(21_933_756, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 690 - .saturating_add(Weight::from_parts(84_536, 0).saturating_mul(s.into())) + // Standard Error: 426 + .saturating_add(Weight::from_parts(81_352, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -135,11 +135,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `520 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 41_448_000 picoseconds. - Weight::from_parts(42_609_737, 0) + // Minimum execution time: 39_804_000 picoseconds. + Weight::from_parts(40_822_423, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 774 - .saturating_add(Weight::from_parts(89_590, 0).saturating_mul(s.into())) + // Standard Error: 625 + .saturating_add(Weight::from_parts(85_676, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_oracle_collection.rs b/runtime/altair/src/weights/pallet_oracle_collection.rs index 8c3d26fe19..fb5358d96d 100644 --- a/runtime/altair/src/weights/pallet_oracle_collection.rs +++ b/runtime/altair/src/weights/pallet_oracle_collection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_collection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -42,11 +42,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `222` // Estimated: `3693` - // Minimum execution time: 24_847_000 picoseconds. - Weight::from_parts(25_081_180, 0) + // Minimum execution time: 23_704_000 picoseconds. + Weight::from_parts(23_939_425, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 7_291 - .saturating_add(Weight::from_parts(604_140, 0).saturating_mul(n.into())) + // Standard Error: 7_270 + .saturating_add(Weight::from_parts(597_240, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -63,11 +63,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `657 + n * (34 ±0)` // Estimated: `8649` - // Minimum execution time: 35_075_000 picoseconds. - Weight::from_parts(35_750_191, 0) + // Minimum execution time: 33_562_000 picoseconds. + Weight::from_parts(34_020_909, 0) .saturating_add(Weight::from_parts(0, 8649)) - // Standard Error: 8_835 - .saturating_add(Weight::from_parts(609_574, 0).saturating_mul(n.into())) + // Standard Error: 10_189 + .saturating_add(Weight::from_parts(643_864, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -90,14 +90,14 @@ impl pallet_oracle_collection::WeightInfo for WeightInf fn update_collection(n: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (326 ±0) + n * (5851 ±0)` - // Estimated: `16920 + m * (6039 ±0) + n * (100600 ±3_323)` - // Minimum execution time: 131_405_000 picoseconds. - Weight::from_parts(132_817_000, 0) + // Estimated: `16920 + m * (6039 ±164) + n * (100600 ±3_323)` + // Minimum execution time: 125_033_000 picoseconds. + Weight::from_parts(125_695_000, 0) .saturating_add(Weight::from_parts(0, 16920)) - // Standard Error: 15_695_531 - .saturating_add(Weight::from_parts(487_953_152, 0).saturating_mul(n.into())) - // Standard Error: 777_416 - .saturating_add(Weight::from_parts(31_272_607, 0).saturating_mul(m.into())) + // Standard Error: 14_375_725 + .saturating_add(Weight::from_parts(446_531_911, 0).saturating_mul(n.into())) + // Standard Error: 712_045 + .saturating_add(Weight::from_parts(28_886_440, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().reads((31_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(m.into()))) diff --git a/runtime/altair/src/weights/pallet_oracle_feed.rs b/runtime/altair/src/weights/pallet_oracle_feed.rs index 9844f6cd53..cc2e59dc84 100644 --- a/runtime/altair/src/weights/pallet_oracle_feed.rs +++ b/runtime/altair/src/weights/pallet_oracle_feed.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_feed` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `354` // Estimated: `4176` - // Minimum execution time: 50_514_000 picoseconds. - Weight::from_parts(51_516_000, 0) + // Minimum execution time: 48_180_000 picoseconds. + Weight::from_parts(49_212_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -55,8 +55,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `380` // Estimated: `4176` - // Minimum execution time: 19_046_000 picoseconds. - Weight::from_parts(19_857_000, 0) + // Minimum execution time: 18_254_000 picoseconds. + Weight::from_parts(19_225_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_order_book.rs b/runtime/altair/src/weights/pallet_order_book.rs index 93946824e1..ca659c19bf 100644 --- a/runtime/altair/src/weights/pallet_order_book.rs +++ b/runtime/altair/src/weights/pallet_order_book.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_order_book` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `659` // Estimated: `4407` - // Minimum execution time: 45_015_000 picoseconds. - Weight::from_parts(45_785_000, 0) + // Minimum execution time: 44_032_000 picoseconds. + Weight::from_parts(44_884_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) @@ -61,8 +61,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `863` // Estimated: `4407` - // Minimum execution time: 43_541_000 picoseconds. - Weight::from_parts(44_272_000, 0) + // Minimum execution time: 43_130_000 picoseconds. + Weight::from_parts(44_142_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -79,8 +79,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `863` // Estimated: `4407` - // Minimum execution time: 47_188_000 picoseconds. - Weight::from_parts(48_060_000, 0) + // Minimum execution time: 45_766_000 picoseconds. + Weight::from_parts(47_228_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -105,8 +105,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1562` // Estimated: `11406` - // Minimum execution time: 145_291_000 picoseconds. - Weight::from_parts(147_665_000, 0) + // Minimum execution time: 139_550_000 picoseconds. + Weight::from_parts(141_244_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) @@ -117,8 +117,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_654_000 picoseconds. - Weight::from_parts(7_945_000, 0) + // Minimum execution time: 7_705_000 picoseconds. + Weight::from_parts(8_026_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_permissions.rs b/runtime/altair/src/weights/pallet_permissions.rs index 261db5044c..f988a0d400 100644 --- a/runtime/altair/src/weights/pallet_permissions.rs +++ b/runtime/altair/src/weights/pallet_permissions.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_permissions` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3693` - // Minimum execution time: 17_362_000 picoseconds. - Weight::from_parts(17_893_000, 0) + // Minimum execution time: 16_321_000 picoseconds. + Weight::from_parts(16_992_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `6396` - // Minimum execution time: 24_696_000 picoseconds. - Weight::from_parts(25_117_000, 0) + // Minimum execution time: 24_015_000 picoseconds. + Weight::from_parts(24_456_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -67,8 +67,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `3693` - // Minimum execution time: 20_288_000 picoseconds. - Weight::from_parts(20_960_000, 0) + // Minimum execution time: 19_336_000 picoseconds. + Weight::from_parts(19_828_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -81,8 +81,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `6396` - // Minimum execution time: 26_650_000 picoseconds. - Weight::from_parts(27_863_000, 0) + // Minimum execution time: 26_200_000 picoseconds. + Weight::from_parts(26_720_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -93,8 +93,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_252_000 picoseconds. - Weight::from_parts(17_583_000, 0) + // Minimum execution time: 16_221_000 picoseconds. + Weight::from_parts(16_962_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -105,8 +105,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_503_000 picoseconds. - Weight::from_parts(17_994_000, 0) + // Minimum execution time: 16_260_000 picoseconds. + Weight::from_parts(17_754_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/weights/pallet_pool_fees.rs b/runtime/altair/src/weights/pallet_pool_fees.rs index 11e923805f..a71490cbd8 100644 --- a/runtime/altair/src/weights/pallet_pool_fees.rs +++ b/runtime/altair/src/weights/pallet_pool_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `548` // Estimated: `4278` - // Minimum execution time: 35_326_000 picoseconds. - Weight::from_parts(36_288_000, 0) + // Minimum execution time: 33_503_000 picoseconds. + Weight::from_parts(34_895_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -66,11 +66,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1362 + n * (137 ±0)` // Estimated: `17508` - // Minimum execution time: 57_377_000 picoseconds. - Weight::from_parts(58_210_849, 0) + // Minimum execution time: 54_882_000 picoseconds. + Weight::from_parts(55_626_623, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_014 - .saturating_add(Weight::from_parts(279_465, 0).saturating_mul(n.into())) + // Standard Error: 1_997 + .saturating_add(Weight::from_parts(291_547, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -85,11 +85,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `676 + n * (136 ±0)` // Estimated: `17508` - // Minimum execution time: 34_505_000 picoseconds. - Weight::from_parts(35_151_831, 0) + // Minimum execution time: 32_881_000 picoseconds. + Weight::from_parts(35_737_485, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 4_044 - .saturating_add(Weight::from_parts(428_154, 0).saturating_mul(n.into())) + // Standard Error: 4_070 + .saturating_add(Weight::from_parts(432_298, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -102,11 +102,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `762 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 24_004_000 picoseconds. - Weight::from_parts(24_168_211, 0) + // Minimum execution time: 23_434_000 picoseconds. + Weight::from_parts(23_271_217, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_074 - .saturating_add(Weight::from_parts(258_865, 0).saturating_mul(n.into())) + // Standard Error: 2_195 + .saturating_add(Weight::from_parts(266_858, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -119,11 +119,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `762 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 23_454_000 picoseconds. - Weight::from_parts(23_197_809, 0) + // Minimum execution time: 23_053_000 picoseconds. + Weight::from_parts(22_658_975, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_199 - .saturating_add(Weight::from_parts(259_697, 0).saturating_mul(n.into())) + // Standard Error: 2_172 + .saturating_add(Weight::from_parts(264_254, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -142,11 +142,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `570 + n * (124 ±0)` // Estimated: `17508` - // Minimum execution time: 41_287_000 picoseconds. - Weight::from_parts(38_210_123, 0) + // Minimum execution time: 39_604_000 picoseconds. + Weight::from_parts(36_665_866, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 3_690 - .saturating_add(Weight::from_parts(3_052_827, 0).saturating_mul(n.into())) + // Standard Error: 3_864 + .saturating_add(Weight::from_parts(2_935_673, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/altair/src/weights/pallet_pool_registry.rs b/runtime/altair/src/weights/pallet_pool_registry.rs index 0757cd64d7..e3e9b4c057 100644 --- a/runtime/altair/src/weights/pallet_pool_registry.rs +++ b/runtime/altair/src/weights/pallet_pool_registry.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_registry` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -65,11 +65,11 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `422` // Estimated: `17508 + m * (2508 ±0) + n * (3417 ±0)` - // Minimum execution time: 186_748_000 picoseconds. - Weight::from_parts(123_689_120, 0) + // Minimum execution time: 177_501_000 picoseconds. + Weight::from_parts(103_832_524, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 81_503 - .saturating_add(Weight::from_parts(24_132_712, 0).saturating_mul(m.into())) + // Standard Error: 83_949 + .saturating_add(Weight::from_parts(23_159_049, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -99,13 +99,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `924 + m * (124 ±0) + n * (133 ±0)` // Estimated: `17508 + n * (2531 ±0)` - // Minimum execution time: 58_940_000 picoseconds. - Weight::from_parts(50_984_763, 0) + // Minimum execution time: 58_639_000 picoseconds. + Weight::from_parts(49_321_092, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 38_828 - .saturating_add(Weight::from_parts(2_943_073, 0).saturating_mul(n.into())) - // Standard Error: 1_771 - .saturating_add(Weight::from_parts(217_699, 0).saturating_mul(m.into())) + // Standard Error: 32_924 + .saturating_add(Weight::from_parts(2_803_470, 0).saturating_mul(n.into())) + // Standard Error: 1_502 + .saturating_add(Weight::from_parts(213_164, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -133,13 +133,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `927 + m * (124 ±0) + n * (200 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 101_439_000 picoseconds. - Weight::from_parts(70_893_079, 0) + // Minimum execution time: 98_383_000 picoseconds. + Weight::from_parts(66_520_894, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 47_685 - .saturating_add(Weight::from_parts(10_729_260, 0).saturating_mul(n.into())) - // Standard Error: 2_176 - .saturating_add(Weight::from_parts(229_716, 0).saturating_mul(m.into())) + // Standard Error: 40_662 + .saturating_add(Weight::from_parts(10_276_443, 0).saturating_mul(n.into())) + // Standard Error: 1_855 + .saturating_add(Weight::from_parts(238_255, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -165,13 +165,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `915 + m * (124 ±0) + n * (227 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 94_327_000 picoseconds. - Weight::from_parts(61_924_136, 0) + // Minimum execution time: 90_619_000 picoseconds. + Weight::from_parts(60_217_749, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 60_907 - .saturating_add(Weight::from_parts(11_430_089, 0).saturating_mul(n.into())) - // Standard Error: 2_779 - .saturating_add(Weight::from_parts(226_144, 0).saturating_mul(m.into())) + // Standard Error: 39_835 + .saturating_add(Weight::from_parts(10_453_540, 0).saturating_mul(n.into())) + // Standard Error: 1_817 + .saturating_add(Weight::from_parts(219_149, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -187,13 +187,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 19_066_000 picoseconds. - Weight::from_parts(19_700_503, 0) + // Minimum execution time: 18_324_000 picoseconds. + Weight::from_parts(18_846_494, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 1_506 - .saturating_add(Weight::from_parts(7_088, 0).saturating_mul(n.into())) - // Standard Error: 700 - .saturating_add(Weight::from_parts(30_038, 0).saturating_mul(m.into())) + // Standard Error: 636 + .saturating_add(Weight::from_parts(8_076, 0).saturating_mul(n.into())) + // Standard Error: 295 + .saturating_add(Weight::from_parts(22_420, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_pool_system.rs b/runtime/altair/src/weights/pallet_pool_system.rs index 37686587b5..5719f3f402 100644 --- a/runtime/altair/src/weights/pallet_pool_system.rs +++ b/runtime/altair/src/weights/pallet_pool_system.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -40,11 +40,11 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `554` // Estimated: `4278` - // Minimum execution time: 24_425_000 picoseconds. - Weight::from_parts(25_132_176, 0) + // Minimum execution time: 23_564_000 picoseconds. + Weight::from_parts(24_414_933, 0) .saturating_add(Weight::from_parts(0, 4278)) - // Standard Error: 539 - .saturating_add(Weight::from_parts(31_636, 0).saturating_mul(m.into())) + // Standard Error: 1_568 + .saturating_add(Weight::from_parts(33_019, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -90,13 +90,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1150 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 442_405_000 picoseconds. - Weight::from_parts(84_600_408, 0) + // Minimum execution time: 413_241_000 picoseconds. + Weight::from_parts(77_084_588, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 136_918 - .saturating_add(Weight::from_parts(71_704_522, 0).saturating_mul(n.into())) - // Standard Error: 6_323 - .saturating_add(Weight::from_parts(3_447_067, 0).saturating_mul(m.into())) + // Standard Error: 115_813 + .saturating_add(Weight::from_parts(67_954_848, 0).saturating_mul(n.into())) + // Standard Error: 5_348 + .saturating_add(Weight::from_parts(3_331_618, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -139,13 +139,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1362 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2531 ±0)` - // Minimum execution time: 227_845_000 picoseconds. - Weight::from_parts(97_065_667, 0) + // Minimum execution time: 214_220_000 picoseconds. + Weight::from_parts(87_658_837, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 103_500 - .saturating_add(Weight::from_parts(27_629_142, 0).saturating_mul(n.into())) - // Standard Error: 4_723 - .saturating_add(Weight::from_parts(3_198_067, 0).saturating_mul(m.into())) + // Standard Error: 75_005 + .saturating_add(Weight::from_parts(26_852_326, 0).saturating_mul(n.into())) + // Standard Error: 3_422 + .saturating_add(Weight::from_parts(3_124_975, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(5)) @@ -198,13 +198,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2054 + m * (124 ±0) + n * (167 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 537_503_000 picoseconds. - Weight::from_parts(180_573_847, 0) + // Minimum execution time: 507_167_000 picoseconds. + Weight::from_parts(168_164_687, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 169_949 - .saturating_add(Weight::from_parts(74_071_744, 0).saturating_mul(n.into())) - // Standard Error: 7_755 - .saturating_add(Weight::from_parts(3_460_352, 0).saturating_mul(m.into())) + // Standard Error: 155_589 + .saturating_add(Weight::from_parts(70_109_736, 0).saturating_mul(n.into())) + // Standard Error: 7_100 + .saturating_add(Weight::from_parts(3_362_988, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(14)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(10)) @@ -223,13 +223,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `788 + m * (124 ±0) + n * (249 ±0)` // Estimated: `17508` - // Minimum execution time: 39_894_000 picoseconds. - Weight::from_parts(33_385_816, 0) + // Minimum execution time: 37_760_000 picoseconds. + Weight::from_parts(32_614_909, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 36_096 - .saturating_add(Weight::from_parts(1_602_761, 0).saturating_mul(n.into())) - // Standard Error: 1_647 - .saturating_add(Weight::from_parts(207_846, 0).saturating_mul(m.into())) + // Standard Error: 34_242 + .saturating_add(Weight::from_parts(1_540_105, 0).saturating_mul(n.into())) + // Standard Error: 1_562 + .saturating_add(Weight::from_parts(204_835, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -273,13 +273,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2009 + m * (124 ±0) + n * (633 ±0)` // Estimated: `17508 + n * (2604 ±0)` - // Minimum execution time: 240_970_000 picoseconds. - Weight::from_parts(149_766_811, 0) + // Minimum execution time: 235_810_000 picoseconds. + Weight::from_parts(145_751_917, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 115_506 - .saturating_add(Weight::from_parts(56_480_792, 0).saturating_mul(n.into())) - // Standard Error: 5_271 - .saturating_add(Weight::from_parts(391_702, 0).saturating_mul(m.into())) + // Standard Error: 103_204 + .saturating_add(Weight::from_parts(53_002_532, 0).saturating_mul(n.into())) + // Standard Error: 4_709 + .saturating_add(Weight::from_parts(390_928, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/altair/src/weights/pallet_preimage.rs b/runtime/altair/src/weights/pallet_preimage.rs index 450b9b8cd5..926a438b80 100644 --- a/runtime/altair/src/weights/pallet_preimage.rs +++ b/runtime/altair/src/weights/pallet_preimage.rs @@ -2,23 +2,23 @@ //! Autogenerated weights for `pallet_preimage` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=altair-local +// --chain=altair // --steps=50 // --repeat=20 // --pallet=pallet_preimage // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/altair/src/weights/pallet_preimage.rs +// --output=/tmp/runtime/development/src/weights/pallet_preimage.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -44,11 +44,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3568` - // Minimum execution time: 68_257_000 picoseconds. - Weight::from_parts(42_838_135, 0) + // Minimum execution time: 66_865_000 picoseconds. + Weight::from_parts(504_564_293, 0) .saturating_add(Weight::from_parts(0, 3568)) - // Standard Error: 7 - .saturating_add(Weight::from_parts(2_650, 0).saturating_mul(s.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(2_047, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -63,11 +63,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 22_061_000 picoseconds. - Weight::from_parts(1_292_114, 0) + // Minimum execution time: 21_570_000 picoseconds. + Weight::from_parts(86_953_990, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 7 - .saturating_add(Weight::from_parts(2_711, 0).saturating_mul(s.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(2_724, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -82,11 +82,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 20_799_000 picoseconds. - Weight::from_parts(8_852_912, 0) + // Minimum execution time: 20_358_000 picoseconds. + Weight::from_parts(9_431_969, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 8 - .saturating_add(Weight::from_parts(2_671, 0).saturating_mul(s.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(2_709, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -102,8 +102,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3568` - // Minimum execution time: 73_818_000 picoseconds. - Weight::from_parts(78_236_000, 0) + // Minimum execution time: 64_070_000 picoseconds. + Weight::from_parts(65_703_000, 0) .saturating_add(Weight::from_parts(0, 3568)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -118,8 +118,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 31_880_000 picoseconds. - Weight::from_parts(34_274_000, 0) + // Minimum execution time: 26_329_000 picoseconds. + Weight::from_parts(27_281_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -132,8 +132,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `222` // Estimated: `3556` - // Minimum execution time: 31_730_000 picoseconds. - Weight::from_parts(33_522_000, 0) + // Minimum execution time: 21_250_000 picoseconds. + Weight::from_parts(21_931_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -146,8 +146,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 21_340_000 picoseconds. - Weight::from_parts(25_457_000, 0) + // Minimum execution time: 15_759_000 picoseconds. + Weight::from_parts(16_261_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -160,8 +160,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3556` - // Minimum execution time: 18_805_000 picoseconds. - Weight::from_parts(19_897_000, 0) + // Minimum execution time: 18_234_000 picoseconds. + Weight::from_parts(18_865_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -174,8 +174,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_856_000 picoseconds. - Weight::from_parts(14_287_000, 0) + // Minimum execution time: 13_556_000 picoseconds. + Weight::from_parts(13_936_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -190,8 +190,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 32_280_000 picoseconds. - Weight::from_parts(35_397_000, 0) + // Minimum execution time: 24_055_000 picoseconds. + Weight::from_parts(25_487_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -204,8 +204,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_666_000 picoseconds. - Weight::from_parts(14_677_000, 0) + // Minimum execution time: 13_395_000 picoseconds. + Weight::from_parts(14_056_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -218,8 +218,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_565_000 picoseconds. - Weight::from_parts(14_467_000, 0) + // Minimum execution time: 13_765_000 picoseconds. + Weight::from_parts(14_116_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -235,13 +235,13 @@ impl pallet_preimage::WeightInfo for WeightInfo { /// The range of component `n` is `[1, 1024]`. fn ensure_updated(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `404 + n * (227 ±0)` + // Measured: `370 + n * (227 ±0)` // Estimated: `990 + n * (2603 ±0)` - // Minimum execution time: 77_264_000 picoseconds. - Weight::from_parts(78_006_000, 0) + // Minimum execution time: 75_280_000 picoseconds. + Weight::from_parts(76_803_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 59_312 - .saturating_add(Weight::from_parts(75_852_773, 0).saturating_mul(n.into())) + // Standard Error: 34_642 + .saturating_add(Weight::from_parts(74_016_638, 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())) diff --git a/runtime/altair/src/weights/pallet_proxy.rs b/runtime/altair/src/weights/pallet_proxy.rs index a50f427608..bc96bb4886 100644 --- a/runtime/altair/src/weights/pallet_proxy.rs +++ b/runtime/altair/src/weights/pallet_proxy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 18_755_000 picoseconds. - Weight::from_parts(19_430_116, 0) + // Minimum execution time: 18_144_000 picoseconds. + Weight::from_parts(19_340_058, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_535 - .saturating_add(Weight::from_parts(57_787, 0).saturating_mul(p.into())) + // Standard Error: 1_477 + .saturating_add(Weight::from_parts(35_587, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `Proxy::Proxies` (r:1 w:0) @@ -57,13 +57,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `620 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 47_058_000 picoseconds. - Weight::from_parts(46_388_893, 0) + // Minimum execution time: 47_438_000 picoseconds. + Weight::from_parts(48_592_841, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 3_568 - .saturating_add(Weight::from_parts(284_927, 0).saturating_mul(a.into())) - // Standard Error: 3_687 - .saturating_add(Weight::from_parts(60_485, 0).saturating_mul(p.into())) + // Standard Error: 4_768 + .saturating_add(Weight::from_parts(213_006, 0).saturating_mul(a.into())) + // Standard Error: 4_926 + .saturating_add(Weight::from_parts(26_746, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -73,17 +73,15 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// 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 { + fn remove_announcement(a: u32, _p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 31_589_000 picoseconds. - Weight::from_parts(32_405_583, 0) + // Minimum execution time: 29_565_000 picoseconds. + Weight::from_parts(31_205_079, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_190 - .saturating_add(Weight::from_parts(259_616, 0).saturating_mul(a.into())) - // Standard Error: 2_263 - .saturating_add(Weight::from_parts(3_862, 0).saturating_mul(p.into())) + // Standard Error: 1_904 + .saturating_add(Weight::from_parts(227_733, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -97,11 +95,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 32_060_000 picoseconds. - Weight::from_parts(32_893_728, 0) + // Minimum execution time: 30_046_000 picoseconds. + Weight::from_parts(31_056_198, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_346 - .saturating_add(Weight::from_parts(247_852, 0).saturating_mul(a.into())) + // Standard Error: 2_223 + .saturating_add(Weight::from_parts(224_322, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -117,13 +115,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `552 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 42_179_000 picoseconds. - Weight::from_parts(41_591_157, 0) + // Minimum execution time: 40_024_000 picoseconds. + Weight::from_parts(41_857_602, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_820 - .saturating_add(Weight::from_parts(260_852, 0).saturating_mul(a.into())) - // Standard Error: 2_914 - .saturating_add(Weight::from_parts(44_647, 0).saturating_mul(p.into())) + // Standard Error: 4_306 + .saturating_add(Weight::from_parts(228_137, 0).saturating_mul(a.into())) + // Standard Error: 4_449 + .saturating_add(Weight::from_parts(46_300, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -134,11 +132,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 30_417_000 picoseconds. - Weight::from_parts(31_448_011, 0) + // Minimum execution time: 28_343_000 picoseconds. + Weight::from_parts(29_341_203, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_871 - .saturating_add(Weight::from_parts(47_052, 0).saturating_mul(p.into())) + // Standard Error: 1_282 + .saturating_add(Weight::from_parts(49_350, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -149,11 +147,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 30_346_000 picoseconds. - Weight::from_parts(31_845_009, 0) + // Minimum execution time: 28_143_000 picoseconds. + Weight::from_parts(29_448_295, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 2_729 - .saturating_add(Weight::from_parts(46_592, 0).saturating_mul(p.into())) + // Standard Error: 2_262 + .saturating_add(Weight::from_parts(55_133, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -164,11 +162,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_625_000 picoseconds. - Weight::from_parts(30_774_855, 0) + // Minimum execution time: 27_051_000 picoseconds. + Weight::from_parts(28_267_562, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_392 - .saturating_add(Weight::from_parts(36_394, 0).saturating_mul(p.into())) + // Standard Error: 1_517 + .saturating_add(Weight::from_parts(46_487, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -179,11 +177,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `305` // Estimated: `4706` - // Minimum execution time: 33_042_000 picoseconds. - Weight::from_parts(34_089_300, 0) + // Minimum execution time: 30_607_000 picoseconds. + Weight::from_parts(31_678_743, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_653 - .saturating_add(Weight::from_parts(18_548, 0).saturating_mul(p.into())) + // Standard Error: 1_464 + .saturating_add(Weight::from_parts(16_697, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -194,11 +192,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `330 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 30_888_000 picoseconds. - Weight::from_parts(31_957_207, 0) + // Minimum execution time: 28_323_000 picoseconds. + Weight::from_parts(29_736_970, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_557 - .saturating_add(Weight::from_parts(35_258, 0).saturating_mul(p.into())) + // Standard Error: 1_843 + .saturating_add(Weight::from_parts(42_656, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/altair/src/weights/pallet_referenda.rs b/runtime/altair/src/weights/pallet_referenda.rs new file mode 100644 index 0000000000..ee872d12f3 --- /dev/null +++ b/runtime/altair/src/weights/pallet_referenda.rs @@ -0,0 +1,484 @@ + +//! Autogenerated weights for `pallet_referenda` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=altair +// --steps=50 +// --repeat=20 +// --pallet=pallet_referenda +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_referenda.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_referenda`. +pub struct WeightInfo(PhantomData); +impl pallet_referenda::WeightInfo for WeightInfo { + /// 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: `291` + // Estimated: `42428` + // Minimum execution time: 44_683_000 picoseconds. + Weight::from_parts(46_066_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: `544` + // Estimated: `83866` + // Minimum execution time: 58_088_000 picoseconds. + Weight::from_parts(59_060_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: `3337` + // Estimated: `42428` + // Minimum execution time: 71_323_000 picoseconds. + Weight::from_parts(73_548_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: `3357` + // Estimated: `42428` + // Minimum execution time: 71_965_000 picoseconds. + Weight::from_parts(73_046_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: `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: `544` + // Estimated: `83866` + // Minimum execution time: 72_245_000 picoseconds. + Weight::from_parts(73_788_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: `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`) + fn place_decision_deposit_failing() -> Weight { + // Proof Size summary in bytes: + // Measured: `544` + // Estimated: `83866` + // Minimum execution time: 67_777_000 picoseconds. + Weight::from_parts(69_250_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`) + fn refund_decision_deposit() -> Weight { + // Proof Size summary in bytes: + // Measured: `423` + // Estimated: `4401` + // Minimum execution time: 36_829_000 picoseconds. + Weight::from_parts(37_490_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: `412` + // Estimated: `4401` + // Minimum execution time: 37_249_000 picoseconds. + Weight::from_parts(37_821_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: `452` + // Estimated: `83866` + // Minimum execution time: 40_656_000 picoseconds. + Weight::from_parts(41_427_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: `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`) + fn kill() -> Weight { + // Proof Size summary in bytes: + // Measured: `797` + // Estimated: `83866` + // Minimum execution time: 118_751_000 picoseconds. + Weight::from_parts(121_086_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::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: `245` + // Estimated: `5477` + // Minimum execution time: 14_647_000 picoseconds. + Weight::from_parts(15_198_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: `3222` + // Estimated: `42428` + // Minimum execution time: 53_981_000 picoseconds. + Weight::from_parts(55_734_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: `3222` + // Estimated: `42428` + // Minimum execution time: 54_332_000 picoseconds. + Weight::from_parts(56_044_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: `3082` + // Estimated: `5477` + // Minimum execution time: 28_153_000 picoseconds. + Weight::from_parts(29_435_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: `3082` + // Estimated: `5477` + // Minimum execution time: 27_862_000 picoseconds. + Weight::from_parts(29_104_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: `3086` + // Estimated: `5477` + // Minimum execution time: 34_013_000 picoseconds. + Weight::from_parts(34_946_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: `3106` + // Estimated: `5477` + // Minimum execution time: 33_693_000 picoseconds. + Weight::from_parts(34_344_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: `404` + // Estimated: `42428` + // Minimum execution time: 28_393_000 picoseconds. + Weight::from_parts(29_476_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: `452` + // Estimated: `42428` + // Minimum execution time: 29_014_000 picoseconds. + Weight::from_parts(29_525_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: `349` + // Estimated: `4401` + // Minimum execution time: 19_025_000 picoseconds. + Weight::from_parts(19_416_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: `452` + // Estimated: `42428` + // Minimum execution time: 38_532_000 picoseconds. + Weight::from_parts(39_423_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: `452` + // Estimated: `42428` + // Minimum execution time: 40_025_000 picoseconds. + Weight::from_parts(41_006_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: `505` + // Estimated: `42428` + // Minimum execution time: 33_713_000 picoseconds. + Weight::from_parts(34_455_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: `488` + // Estimated: `42428` + // Minimum execution time: 34_014_000 picoseconds. + Weight::from_parts(34_855_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: `505` + // Estimated: `42428` + // Minimum execution time: 31_689_000 picoseconds. + Weight::from_parts(32_721_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: `509` + // Estimated: `42428` + // Minimum execution time: 31_418_000 picoseconds. + Weight::from_parts(31_890_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: `509` + // Estimated: `83866` + // Minimum execution time: 47_138_000 picoseconds. + Weight::from_parts(47_719_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: `505` + // Estimated: `42428` + // Minimum execution time: 33_533_000 picoseconds. + Weight::from_parts(34_234_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: `527` + // Estimated: `4401` + // Minimum execution time: 26_730_000 picoseconds. + Weight::from_parts(27_742_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: `426` + // Estimated: `4401` + // Minimum execution time: 21_560_000 picoseconds. + Weight::from_parts(22_162_000, 0) + .saturating_add(Weight::from_parts(0, 4401)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } +} diff --git a/runtime/altair/src/weights/pallet_remarks.rs b/runtime/altair/src/weights/pallet_remarks.rs index 5f8df1887a..c56a45b469 100644 --- a/runtime/altair/src/weights/pallet_remarks.rs +++ b/runtime/altair/src/weights/pallet_remarks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_remarks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_remarks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_684_000 picoseconds. - Weight::from_parts(13_030_137, 0) + // Minimum execution time: 12_022_000 picoseconds. + Weight::from_parts(12_486_479, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_965 - .saturating_add(Weight::from_parts(131_231, 0).saturating_mul(n.into())) + // Standard Error: 2_532 + .saturating_add(Weight::from_parts(121_740, 0).saturating_mul(n.into())) } } diff --git a/runtime/altair/src/weights/pallet_restricted_tokens.rs b/runtime/altair/src/weights/pallet_restricted_tokens.rs index a0e6595257..cc3a2e999b 100644 --- a/runtime/altair/src/weights/pallet_restricted_tokens.rs +++ b/runtime/altair/src/weights/pallet_restricted_tokens.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_restricted_tokens` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 82_103_000 picoseconds. - Weight::from_parts(83_786_000, 0) + // Minimum execution time: 76_302_000 picoseconds. + Weight::from_parts(77_214_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 65_603_000 picoseconds. - Weight::from_parts(67_325_000, 0) + // Minimum execution time: 62_456_000 picoseconds. + Weight::from_parts(64_411_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -71,8 +71,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 71_984_000 picoseconds. - Weight::from_parts(73_547_000, 0) + // Minimum execution time: 66_715_000 picoseconds. + Weight::from_parts(67_606_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `753` // Estimated: `6198` - // Minimum execution time: 58_399_000 picoseconds. - Weight::from_parts(59_791_000, 0) + // Minimum execution time: 58_279_000 picoseconds. + Weight::from_parts(60_072_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -103,8 +103,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 86_071_000 picoseconds. - Weight::from_parts(87_543_000, 0) + // Minimum execution time: 79_679_000 picoseconds. + Weight::from_parts(80_811_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -121,8 +121,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 70_261_000 picoseconds. - Weight::from_parts(71_664_000, 0) + // Minimum execution time: 67_215_000 picoseconds. + Weight::from_parts(67_876_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `259` // Estimated: `3593` - // Minimum execution time: 72_936_000 picoseconds. - Weight::from_parts(74_128_000, 0) + // Minimum execution time: 67_156_000 picoseconds. + Weight::from_parts(68_938_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `610` // Estimated: `6198` - // Minimum execution time: 54_031_000 picoseconds. - Weight::from_parts(55_103_000, 0) + // Minimum execution time: 51_305_000 picoseconds. + Weight::from_parts(52_388_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -163,8 +163,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `300` // Estimated: `3593` - // Minimum execution time: 160_088_000 picoseconds. - Weight::from_parts(162_652_000, 0) + // Minimum execution time: 144_359_000 picoseconds. + Weight::from_parts(146_634_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -179,8 +179,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `400` // Estimated: `4407` - // Minimum execution time: 91_290_000 picoseconds. - Weight::from_parts(92_642_000, 0) + // Minimum execution time: 84_959_000 picoseconds. + Weight::from_parts(85_760_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/altair/src/weights/pallet_scheduler.rs b/runtime/altair/src/weights/pallet_scheduler.rs index 9569e14905..0e3c77096d 100644 --- a/runtime/altair/src/weights/pallet_scheduler.rs +++ b/runtime/altair/src/weights/pallet_scheduler.rs @@ -2,23 +2,23 @@ //! Autogenerated weights for `pallet_scheduler` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=altair-local +// --chain=altair // --steps=50 // --repeat=20 // --pallet=pallet_scheduler // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/altair/src/weights/pallet_scheduler.rs +// --output=/tmp/runtime/development/src/weights/pallet_scheduler.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -37,8 +37,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31` // Estimated: `1489` - // Minimum execution time: 3_907_000 picoseconds. - Weight::from_parts(4_047_000, 0) + // Minimum execution time: 3_687_000 picoseconds. + Weight::from_parts(3_867_000, 0) .saturating_add(Weight::from_parts(0, 1489)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -50,11 +50,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 5_891_000 picoseconds. - Weight::from_parts(8_788_365, 0) + // Minimum execution time: 5_089_000 picoseconds. + Weight::from_parts(7_869_140, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 3_879 - .saturating_add(Weight::from_parts(692_278, 0).saturating_mul(s.into())) + // Standard Error: 3_756 + .saturating_add(Weight::from_parts(612_127, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -62,8 +62,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_239_000 picoseconds. - Weight::from_parts(5_400_000, 0) + // Minimum execution time: 4_749_000 picoseconds. + Weight::from_parts(4_969_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Preimage::PreimageFor` (r:1 w:1) @@ -77,11 +77,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `213 + s * (1 ±0)` // Estimated: `3678 + s * (1 ±0)` - // Minimum execution time: 27_902_000 picoseconds. - Weight::from_parts(28_433_000, 0) + // Minimum execution time: 24_736_000 picoseconds. + Weight::from_parts(25_307_000, 0) .saturating_add(Weight::from_parts(0, 3678)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(s.into())) + // Standard Error: 19 + .saturating_add(Weight::from_parts(1_364, 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())) @@ -92,8 +92,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_055_000 picoseconds. - Weight::from_parts(8_385_000, 0) + // Minimum execution time: 7_193_000 picoseconds. + Weight::from_parts(7_404_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -101,24 +101,24 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_260_000 picoseconds. - Weight::from_parts(5_511_000, 0) + // Minimum execution time: 4_729_000 picoseconds. + Weight::from_parts(4_999_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: 4_248_000 picoseconds. - Weight::from_parts(4_489_000, 0) + // Minimum execution time: 3_737_000 picoseconds. + Weight::from_parts(3_927_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: 4_228_000 picoseconds. - Weight::from_parts(4_368_000, 0) + // Minimum execution time: 3_597_000 picoseconds. + Weight::from_parts(3_867_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Scheduler::Agenda` (r:1 w:1) @@ -128,11 +128,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 16_220_000 picoseconds. - Weight::from_parts(19_357_790, 0) + // Minimum execution time: 14_317_000 picoseconds. + Weight::from_parts(17_824_084, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 3_878 - .saturating_add(Weight::from_parts(683_717, 0).saturating_mul(s.into())) + // Standard Error: 4_138 + .saturating_add(Weight::from_parts(622_830, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -145,11 +145,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 22_242_000 picoseconds. - Weight::from_parts(20_460_753, 0) + // Minimum execution time: 20_177_000 picoseconds. + Weight::from_parts(18_771_827, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_201 - .saturating_add(Weight::from_parts(1_089_906, 0).saturating_mul(s.into())) + // Standard Error: 5_149 + .saturating_add(Weight::from_parts(965_902, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -162,11 +162,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `255 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 22_021_000 picoseconds. - Weight::from_parts(26_377_210, 0) + // Minimum execution time: 19_827_000 picoseconds. + Weight::from_parts(23_796_348, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 4_774 - .saturating_add(Weight::from_parts(721_327, 0).saturating_mul(s.into())) + // Standard Error: 4_118 + .saturating_add(Weight::from_parts(664_008, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -179,11 +179,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `281 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 24_976_000 picoseconds. - Weight::from_parts(23_854_027, 0) + // Minimum execution time: 22_943_000 picoseconds. + Weight::from_parts(22_034_404, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_583 - .saturating_add(Weight::from_parts(1_153_301, 0).saturating_mul(s.into())) + // Standard Error: 5_307 + .saturating_add(Weight::from_parts(1_002_865, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/altair/src/weights/pallet_session.rs b/runtime/altair/src/weights/pallet_session.rs index 77c2046c37..c91b0707ef 100644 --- a/runtime/altair/src/weights/pallet_session.rs +++ b/runtime/altair/src/weights/pallet_session.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_session` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `308` // Estimated: `3773` - // Minimum execution time: 28_333_000 picoseconds. - Weight::from_parts(29_194_000, 0) + // Minimum execution time: 26_750_000 picoseconds. + Weight::from_parts(27_882_000, 0) .saturating_add(Weight::from_parts(0, 3773)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `3780` - // Minimum execution time: 18_845_000 picoseconds. - Weight::from_parts(19_196_000, 0) + // Minimum execution time: 18_114_000 picoseconds. + Weight::from_parts(18_605_000, 0) .saturating_add(Weight::from_parts(0, 3780)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/altair/src/weights/pallet_timestamp.rs b/runtime/altair/src/weights/pallet_timestamp.rs index bc775bf539..ed66a327a4 100644 --- a/runtime/altair/src/weights/pallet_timestamp.rs +++ b/runtime/altair/src/weights/pallet_timestamp.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_timestamp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `223` // Estimated: `1493` - // Minimum execution time: 10_319_000 picoseconds. - Weight::from_parts(10_740_000, 0) + // Minimum execution time: 9_798_000 picoseconds. + Weight::from_parts(10_309_000, 0) .saturating_add(Weight::from_parts(0, 1493)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `128` // Estimated: `0` - // Minimum execution time: 4_658_000 picoseconds. - Weight::from_parts(4_849_000, 0) + // Minimum execution time: 4_438_000 picoseconds. + Weight::from_parts(4_639_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/altair/src/weights/pallet_token_mux.rs b/runtime/altair/src/weights/pallet_token_mux.rs index bf87cce8d4..4d6f64d05d 100644 --- a/runtime/altair/src/weights/pallet_token_mux.rs +++ b/runtime/altair/src/weights/pallet_token_mux.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_token_mux` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `690` // Estimated: `8802` - // Minimum execution time: 99_465_000 picoseconds. - Weight::from_parts(100_737_000, 0) + // Minimum execution time: 94_166_000 picoseconds. + Weight::from_parts(95_077_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(6)) @@ -61,8 +61,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `980` // Estimated: `8802` - // Minimum execution time: 94_045_000 picoseconds. - Weight::from_parts(95_177_000, 0) + // Minimum execution time: 89_527_000 picoseconds. + Weight::from_parts(90_639_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) @@ -85,8 +85,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1260` // Estimated: `11406` - // Minimum execution time: 179_224_000 picoseconds. - Weight::from_parts(180_897_000, 0) + // Minimum execution time: 167_283_000 picoseconds. + Weight::from_parts(170_879_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/altair/src/weights/pallet_transfer_allowlist.rs b/runtime/altair/src/weights/pallet_transfer_allowlist.rs index 9dff9f647b..8a5ce38f53 100644 --- a/runtime/altair/src/weights/pallet_transfer_allowlist.rs +++ b/runtime/altair/src/weights/pallet_transfer_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_transfer_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `570` // Estimated: `4166` - // Minimum execution time: 90_779_000 picoseconds. - Weight::from_parts(92_353_000, 0) + // Minimum execution time: 82_444_000 picoseconds. + Weight::from_parts(84_639_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -65,8 +65,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `664` // Estimated: `4166` - // Minimum execution time: 93_394_000 picoseconds. - Weight::from_parts(94_747_000, 0) + // Minimum execution time: 86_321_000 picoseconds. + Weight::from_parts(86_882_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `246` // Estimated: `3557` - // Minimum execution time: 16_892_000 picoseconds. - Weight::from_parts(17_412_000, 0) + // Minimum execution time: 15_980_000 picoseconds. + Weight::from_parts(16_430_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `370` // Estimated: `3557` - // Minimum execution time: 19_506_000 picoseconds. - Weight::from_parts(20_118_000, 0) + // Minimum execution time: 18_805_000 picoseconds. + Weight::from_parts(19_747_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,8 +101,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `340` // Estimated: `3557` - // Minimum execution time: 19_165_000 picoseconds. - Weight::from_parts(19_747_000, 0) + // Minimum execution time: 18_544_000 picoseconds. + Weight::from_parts(19_096_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -113,8 +113,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 19_026_000 picoseconds. - Weight::from_parts(19_747_000, 0) + // Minimum execution time: 18_394_000 picoseconds. + Weight::from_parts(18_866_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 18_935_000 picoseconds. - Weight::from_parts(19_727_000, 0) + // Minimum execution time: 18_234_000 picoseconds. + Weight::from_parts(18_715_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `378` // Estimated: `3557` - // Minimum execution time: 20_017_000 picoseconds. - Weight::from_parts(20_478_000, 0) + // Minimum execution time: 19_095_000 picoseconds. + Weight::from_parts(19_426_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -151,8 +151,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `473` // Estimated: `4166` - // Minimum execution time: 32_290_000 picoseconds. - Weight::from_parts(33_162_000, 0) + // Minimum execution time: 30_487_000 picoseconds. + Weight::from_parts(31_159_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -165,8 +165,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `469` // Estimated: `4166` - // Minimum execution time: 31_939_000 picoseconds. - Weight::from_parts(33_051_000, 0) + // Minimum execution time: 30_196_000 picoseconds. + Weight::from_parts(31_179_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `848` // Estimated: `4166` - // Minimum execution time: 83_335_000 picoseconds. - Weight::from_parts(85_199_000, 0) + // Minimum execution time: 80_571_000 picoseconds. + Weight::from_parts(82_384_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -205,8 +205,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `887` // Estimated: `4166` - // Minimum execution time: 85_369_000 picoseconds. - Weight::from_parts(87_333_000, 0) + // Minimum execution time: 79_839_000 picoseconds. + Weight::from_parts(81_713_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/altair/src/weights/pallet_uniques.rs b/runtime/altair/src/weights/pallet_uniques.rs index 63ae494240..9804e6e3aa 100644 --- a/runtime/altair/src/weights/pallet_uniques.rs +++ b/runtime/altair/src/weights/pallet_uniques.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_uniques` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `249` // Estimated: `3647` - // Minimum execution time: 37_299_000 picoseconds. - Weight::from_parts(37_831_000, 0) + // Minimum execution time: 35_096_000 picoseconds. + Weight::from_parts(35_737_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3647` - // Minimum execution time: 17_021_000 picoseconds. - Weight::from_parts(17_473_000, 0) + // Minimum execution time: 16_050_000 picoseconds. + Weight::from_parts(16_400_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -82,15 +82,15 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `511 + a * (346 ±0) + m * (69 ±0) + n * (88 ±0)` // Estimated: `3647 + a * (3080 ±0) + m * (2806 ±0) + n * (2613 ±0)` - // Minimum execution time: 3_035_940_000 picoseconds. - Weight::from_parts(3_069_041_000, 0) + // Minimum execution time: 3_029_556_000 picoseconds. + Weight::from_parts(3_048_311_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 30_223 - .saturating_add(Weight::from_parts(10_725_405, 0).saturating_mul(n.into())) - // Standard Error: 30_223 - .saturating_add(Weight::from_parts(231_413, 0).saturating_mul(m.into())) - // Standard Error: 30_223 - .saturating_add(Weight::from_parts(479_242, 0).saturating_mul(a.into())) + // Standard Error: 29_462 + .saturating_add(Weight::from_parts(9_873_533, 0).saturating_mul(n.into())) + // Standard Error: 29_462 + .saturating_add(Weight::from_parts(244_049, 0).saturating_mul(m.into())) + // Standard Error: 29_462 + .saturating_add(Weight::from_parts(504_927, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -115,8 +115,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 48_310_000 picoseconds. - Weight::from_parts(49_152_000, 0) + // Minimum execution time: 44_864_000 picoseconds. + Weight::from_parts(45_444_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 49_873_000 picoseconds. - Weight::from_parts(50_805_000, 0) + // Minimum execution time: 46_617_000 picoseconds. + Weight::from_parts(47_879_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -151,8 +151,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 37_269_000 picoseconds. - Weight::from_parts(38_552_000, 0) + // Minimum execution time: 34_995_000 picoseconds. + Weight::from_parts(36_037_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -166,11 +166,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `821 + i * (88 ±0)` // Estimated: `3647 + i * (2613 ±0)` - // Minimum execution time: 16_661_000 picoseconds. - Weight::from_parts(16_901_000, 0) + // Minimum execution time: 16_080_000 picoseconds. + Weight::from_parts(16_260_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 18_938 - .saturating_add(Weight::from_parts(23_578_151, 0).saturating_mul(i.into())) + // Standard Error: 15_812 + .saturating_add(Weight::from_parts(21_438_598, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_103_000 picoseconds. - Weight::from_parts(23_775_000, 0) + // Minimum execution time: 22_112_000 picoseconds. + Weight::from_parts(22_582_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -199,8 +199,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 22_411_000 picoseconds. - Weight::from_parts(23_394_000, 0) + // Minimum execution time: 21_911_000 picoseconds. + Weight::from_parts(22_672_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -211,8 +211,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 14_928_000 picoseconds. - Weight::from_parts(15_729_000, 0) + // Minimum execution time: 14_648_000 picoseconds. + Weight::from_parts(15_108_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -223,8 +223,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 14_858_000 picoseconds. - Weight::from_parts(15_389_000, 0) + // Minimum execution time: 14_637_000 picoseconds. + Weight::from_parts(14_978_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -241,8 +241,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `638` // Estimated: `3647` - // Minimum execution time: 33_292_000 picoseconds. - Weight::from_parts(34_203_000, 0) + // Minimum execution time: 31_659_000 picoseconds. + Weight::from_parts(32_802_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -253,8 +253,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 15_649_000 picoseconds. - Weight::from_parts(16_050_000, 0) + // Minimum execution time: 15_008_000 picoseconds. + Weight::from_parts(15_408_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -267,8 +267,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 20_388_000 picoseconds. - Weight::from_parts(21_020_000, 0) + // Minimum execution time: 19_216_000 picoseconds. + Weight::from_parts(19_907_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -283,8 +283,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `4070` - // Minimum execution time: 54_431_000 picoseconds. - Weight::from_parts(56_225_000, 0) + // Minimum execution time: 51_195_000 picoseconds. + Weight::from_parts(52_187_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -299,8 +299,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1407` // Estimated: `4070` - // Minimum execution time: 51_737_000 picoseconds. - Weight::from_parts(52_798_000, 0) + // Minimum execution time: 48_971_000 picoseconds. + Weight::from_parts(50_304_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -313,8 +313,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `419` // Estimated: `3796` - // Minimum execution time: 38_541_000 picoseconds. - Weight::from_parts(39_434_000, 0) + // Minimum execution time: 35_736_000 picoseconds. + Weight::from_parts(36_949_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -327,8 +327,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `3796` - // Minimum execution time: 39_344_000 picoseconds. - Weight::from_parts(40_275_000, 0) + // Minimum execution time: 36_568_000 picoseconds. + Weight::from_parts(37_961_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -341,8 +341,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3764` - // Minimum execution time: 39_293_000 picoseconds. - Weight::from_parts(40_556_000, 0) + // Minimum execution time: 37_680_000 picoseconds. + Weight::from_parts(38_391_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -355,8 +355,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `676` // Estimated: `3764` - // Minimum execution time: 37_540_000 picoseconds. - Weight::from_parts(38_792_000, 0) + // Minimum execution time: 35_566_000 picoseconds. + Weight::from_parts(36_348_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -369,8 +369,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_434_000 picoseconds. - Weight::from_parts(24_205_000, 0) + // Minimum execution time: 22_472_000 picoseconds. + Weight::from_parts(23_143_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -383,8 +383,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `549` // Estimated: `3647` - // Minimum execution time: 23_454_000 picoseconds. - Weight::from_parts(24_165_000, 0) + // Minimum execution time: 22_493_000 picoseconds. + Weight::from_parts(23_063_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -395,8 +395,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3521` - // Minimum execution time: 17_242_000 picoseconds. - Weight::from_parts(17_934_000, 0) + // Minimum execution time: 16_360_000 picoseconds. + Weight::from_parts(17_092_000, 0) .saturating_add(Weight::from_parts(0, 3521)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -409,8 +409,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 19_977_000 picoseconds. - Weight::from_parts(20_589_000, 0) + // Minimum execution time: 18_645_000 picoseconds. + Weight::from_parts(19_206_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -423,8 +423,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `343` // Estimated: `3603` - // Minimum execution time: 18_775_000 picoseconds. - Weight::from_parts(19_837_000, 0) + // Minimum execution time: 18_064_000 picoseconds. + Weight::from_parts(18_675_000, 0) .saturating_add(Weight::from_parts(0, 3603)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -441,8 +441,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `645` // Estimated: `3647` - // Minimum execution time: 48_250_000 picoseconds. - Weight::from_parts(49_041_000, 0) + // Minimum execution time: 44_402_000 picoseconds. + Weight::from_parts(45_165_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/altair/src/weights/pallet_utility.rs b/runtime/altair/src/weights/pallet_utility.rs index 48e987f8ff..c1db30afec 100644 --- a/runtime/altair/src/weights/pallet_utility.rs +++ b/runtime/altair/src/weights/pallet_utility.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_utility` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -36,18 +36,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_693_000 picoseconds. - Weight::from_parts(8_850_353, 0) + // Minimum execution time: 6_402_000 picoseconds. + Weight::from_parts(2_577_544, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_175 - .saturating_add(Weight::from_parts(4_783_853, 0).saturating_mul(c.into())) + // Standard Error: 2_220 + .saturating_add(Weight::from_parts(4_681_301, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_872_000 picoseconds. - Weight::from_parts(7_153_000, 0) + // Minimum execution time: 6_672_000 picoseconds. + Weight::from_parts(6_913_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -55,18 +55,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_863_000 picoseconds. - Weight::from_parts(3_927_476, 0) + // Minimum execution time: 6_392_000 picoseconds. + Weight::from_parts(6_572_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_107 - .saturating_add(Weight::from_parts(5_189_459, 0).saturating_mul(c.into())) + // Standard Error: 2_105 + .saturating_add(Weight::from_parts(5_021_544, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_808_000 picoseconds. - Weight::from_parts(10_208_000, 0) + // Minimum execution time: 9_087_000 picoseconds. + Weight::from_parts(9_587_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -74,10 +74,10 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_863_000 picoseconds. - Weight::from_parts(2_458_096, 0) + // Minimum execution time: 6_442_000 picoseconds. + Weight::from_parts(13_345_802, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_815 - .saturating_add(Weight::from_parts(4_821_094, 0).saturating_mul(c.into())) + // Standard Error: 2_857 + .saturating_add(Weight::from_parts(4_656_206, 0).saturating_mul(c.into())) } } diff --git a/runtime/altair/src/weights/pallet_vesting.rs b/runtime/altair/src/weights/pallet_vesting.rs index 14c181e605..231ac2fd0c 100644 --- a/runtime/altair/src/weights/pallet_vesting.rs +++ b/runtime/altair/src/weights/pallet_vesting.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_vesting` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -43,13 +43,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `272 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 40_916_000 picoseconds. - Weight::from_parts(40_159_949, 0) + // Minimum execution time: 39_243_000 picoseconds. + Weight::from_parts(38_756_201, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 891 - .saturating_add(Weight::from_parts(46_450, 0).saturating_mul(l.into())) - // Standard Error: 1_586 - .saturating_add(Weight::from_parts(88_303, 0).saturating_mul(s.into())) + // Standard Error: 949 + .saturating_add(Weight::from_parts(46_628, 0).saturating_mul(l.into())) + // Standard Error: 1_690 + .saturating_add(Weight::from_parts(91_381, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -65,13 +65,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `272 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 43_591_000 picoseconds. - Weight::from_parts(43_386_692, 0) + // Minimum execution time: 41_788_000 picoseconds. + Weight::from_parts(41_939_390, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_408 - .saturating_add(Weight::from_parts(36_252, 0).saturating_mul(l.into())) - // Standard Error: 2_506 - .saturating_add(Weight::from_parts(82_425, 0).saturating_mul(s.into())) + // Standard Error: 1_026 + .saturating_add(Weight::from_parts(31_550, 0).saturating_mul(l.into())) + // Standard Error: 1_825 + .saturating_add(Weight::from_parts(77_755, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -89,13 +89,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `375 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 43_401_000 picoseconds. - Weight::from_parts(42_617_940, 0) + // Minimum execution time: 41_758_000 picoseconds. + Weight::from_parts(41_196_951, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_041 - .saturating_add(Weight::from_parts(39_343, 0).saturating_mul(l.into())) - // Standard Error: 1_853 - .saturating_add(Weight::from_parts(86_848, 0).saturating_mul(s.into())) + // Standard Error: 1_044 + .saturating_add(Weight::from_parts(44_041, 0).saturating_mul(l.into())) + // Standard Error: 1_859 + .saturating_add(Weight::from_parts(93_638, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -113,13 +113,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `375 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 45_726_000 picoseconds. - Weight::from_parts(45_191_847, 0) + // Minimum execution time: 43_862_000 picoseconds. + Weight::from_parts(43_651_488, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_167 - .saturating_add(Weight::from_parts(38_935, 0).saturating_mul(l.into())) - // Standard Error: 2_077 - .saturating_add(Weight::from_parts(86_610, 0).saturating_mul(s.into())) + // Standard Error: 1_486 + .saturating_add(Weight::from_parts(41_152, 0).saturating_mul(l.into())) + // Standard Error: 2_644 + .saturating_add(Weight::from_parts(93_158, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -137,13 +137,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `479 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 93_083_000 picoseconds. - Weight::from_parts(94_135_389, 0) + // Minimum execution time: 87_703_000 picoseconds. + Weight::from_parts(90_060_167, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_774 - .saturating_add(Weight::from_parts(55_860, 0).saturating_mul(l.into())) - // Standard Error: 3_157 - .saturating_add(Weight::from_parts(112_150, 0).saturating_mul(s.into())) + // Standard Error: 1_618 + .saturating_add(Weight::from_parts(43_596, 0).saturating_mul(l.into())) + // Standard Error: 2_879 + .saturating_add(Weight::from_parts(103_164, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -161,13 +161,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `619 + l * (25 ±0) + s * (36 ±0)` // Estimated: `6196` - // Minimum execution time: 95_709_000 picoseconds. - Weight::from_parts(96_999_648, 0) + // Minimum execution time: 91_300_000 picoseconds. + Weight::from_parts(94_988_248, 0) .saturating_add(Weight::from_parts(0, 6196)) - // Standard Error: 1_703 - .saturating_add(Weight::from_parts(44_988, 0).saturating_mul(l.into())) - // Standard Error: 3_031 - .saturating_add(Weight::from_parts(103_085, 0).saturating_mul(s.into())) + // Standard Error: 2_352 + .saturating_add(Weight::from_parts(51_362, 0).saturating_mul(l.into())) + // Standard Error: 4_185 + .saturating_add(Weight::from_parts(113_655, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -185,13 +185,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 43_281_000 picoseconds. - Weight::from_parts(42_871_130, 0) + // Minimum execution time: 42_620_000 picoseconds. + Weight::from_parts(42_083_493, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(49_416, 0).saturating_mul(l.into())) - // Standard Error: 1_934 - .saturating_add(Weight::from_parts(97_804, 0).saturating_mul(s.into())) + // Standard Error: 998 + .saturating_add(Weight::from_parts(41_650, 0).saturating_mul(l.into())) + // Standard Error: 1_844 + .saturating_add(Weight::from_parts(91_005, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -209,13 +209,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 46_547_000 picoseconds. - Weight::from_parts(46_278_694, 0) + // Minimum execution time: 45_586_000 picoseconds. + Weight::from_parts(44_833_168, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_245 - .saturating_add(Weight::from_parts(41_721, 0).saturating_mul(l.into())) - // Standard Error: 2_301 - .saturating_add(Weight::from_parts(93_028, 0).saturating_mul(s.into())) + // Standard Error: 1_092 + .saturating_add(Weight::from_parts(47_947, 0).saturating_mul(l.into())) + // Standard Error: 2_016 + .saturating_add(Weight::from_parts(97_853, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -233,13 +233,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `479 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 49_332_000 picoseconds. - Weight::from_parts(48_562_292, 0) + // Minimum execution time: 47_929_000 picoseconds. + Weight::from_parts(47_544_747, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_024 - .saturating_add(Weight::from_parts(45_825, 0).saturating_mul(l.into())) - // Standard Error: 1_892 - .saturating_add(Weight::from_parts(96_634, 0).saturating_mul(s.into())) + // Standard Error: 1_169 + .saturating_add(Weight::from_parts(45_587, 0).saturating_mul(l.into())) + // Standard Error: 2_158 + .saturating_add(Weight::from_parts(95_154, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } diff --git a/runtime/altair/src/weights/pallet_whitelist.rs b/runtime/altair/src/weights/pallet_whitelist.rs new file mode 100644 index 0000000000..54e5675e3c --- /dev/null +++ b/runtime/altair/src/weights/pallet_whitelist.rs @@ -0,0 +1,107 @@ + +//! Autogenerated weights for `pallet_whitelist` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=altair +// --steps=50 +// --repeat=20 +// --pallet=pallet_whitelist +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_whitelist.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_whitelist`. +pub struct WeightInfo(PhantomData); +impl pallet_whitelist::WeightInfo for WeightInfo { + /// 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: `152` + // Estimated: `3556` + // Minimum execution time: 25_227_000 picoseconds. + Weight::from_parts(25_938_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: `281` + // Estimated: `3556` + // Minimum execution time: 23_654_000 picoseconds. + Weight::from_parts(23_955_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: `357 + n * (1 ±0)` + // Estimated: `3821 + n * (1 ±0)` + // Minimum execution time: 38_532_000 picoseconds. + Weight::from_parts(41_704_185, 0) + .saturating_add(Weight::from_parts(0, 3821)) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_088, 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: `281` + // Estimated: `3556` + // Minimum execution time: 29_315_000 picoseconds. + Weight::from_parts(29_998_334, 0) + .saturating_add(Weight::from_parts(0, 3556)) + // Standard Error: 6 + .saturating_add(Weight::from_parts(1_508, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/runtime/altair/src/weights/pallet_xcm.rs b/runtime/altair/src/weights/pallet_xcm.rs index ccfc230c08..e7655f97ae 100644 --- a/runtime/altair/src/weights/pallet_xcm.rs +++ b/runtime/altair/src/weights/pallet_xcm.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_xcm` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 @@ -95,8 +95,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_596_000 picoseconds. - Weight::from_parts(3_797_000, 0) + // Minimum execution time: 3_407_000 picoseconds. + Weight::from_parts(3_696_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Benchmark::Override` (r:0 w:0) @@ -125,8 +125,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_677_000 picoseconds. - Weight::from_parts(3_837_000, 0) + // Minimum execution time: 3_517_000 picoseconds. + Weight::from_parts(3_697_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -136,8 +136,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `22` // Estimated: `13387` - // Minimum execution time: 26_610_000 picoseconds. - Weight::from_parts(27_351_000, 0) + // Minimum execution time: 25_057_000 picoseconds. + Weight::from_parts(25_578_000, 0) .saturating_add(Weight::from_parts(0, 13387)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -148,8 +148,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `26` // Estimated: `13391` - // Minimum execution time: 25_558_000 picoseconds. - Weight::from_parts(25_839_000, 0) + // Minimum execution time: 24_466_000 picoseconds. + Weight::from_parts(24_937_000, 0) .saturating_add(Weight::from_parts(0, 13391)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -180,8 +180,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `69` // Estimated: `10959` - // Minimum execution time: 20_008_000 picoseconds. - Weight::from_parts(20_309_000, 0) + // Minimum execution time: 18_474_000 picoseconds. + Weight::from_parts(19_066_000, 0) .saturating_add(Weight::from_parts(0, 10959)) .saturating_add(T::DbWeight::get().reads(4)) } @@ -191,8 +191,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `33` // Estimated: `13398` - // Minimum execution time: 25_939_000 picoseconds. - Weight::from_parts(26_489_000, 0) + // Minimum execution time: 24_846_000 picoseconds. + Weight::from_parts(25_699_000, 0) .saturating_add(Weight::from_parts(0, 13398)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -215,8 +215,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 3_546_000 picoseconds. - Weight::from_parts(3_817_000, 0) + // Minimum execution time: 3_506_000 picoseconds. + Weight::from_parts(3_656_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -227,8 +227,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7576` // Estimated: `11041` - // Minimum execution time: 42_499_000 picoseconds. - Weight::from_parts(43_902_000, 0) + // Minimum execution time: 42_099_000 picoseconds. + Weight::from_parts(43_721_000, 0) .saturating_add(Weight::from_parts(0, 11041)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/altair/src/xcm.rs b/runtime/altair/src/xcm.rs index 379a0606e2..40e10a1a95 100644 --- a/runtime/altair/src/xcm.rs +++ b/runtime/altair/src/xcm.rs @@ -10,7 +10,6 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_primitives::types::{EnsureRootOr, HalfOfCouncil}; use cfg_types::tokens::CurrencyId; use frame_support::{ parameter_types, @@ -22,6 +21,7 @@ use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; use orml_xcm_support::MultiNativeAsset; use pallet_xcm::XcmPassthrough; use runtime_common::{ + origins::gov::types::{EnsureRootOr, HalfOfCouncil}, transfer_filter::PreXcmTransfer, xcm::{ AccountIdToLocation, Barrier, CanonicalNativePerSecond, FixedConversionRateProvider, diff --git a/runtime/centrifuge/Cargo.toml b/runtime/centrifuge/Cargo.toml index c1f0321c59..a2bdc31e62 100644 --- a/runtime/centrifuge/Cargo.toml +++ b/runtime/centrifuge/Cargo.toml @@ -35,6 +35,7 @@ sp-version = { workspace = true } frame-benchmarking = { workspace = true, optional = true } # For benchmarking frame-executive = { workspace = true } +frame-metadata-hash-extension = { workspace = true } frame-support = { workspace = true } frame-system = { workspace = true } frame-system-benchmarking = { workspace = true, optional = true } # For benchmarking @@ -169,6 +170,7 @@ std = [ "frame-system/std", "frame-system-rpc-runtime-api/std", "frame-executive/std", + "frame-metadata-hash-extension/std", "frame-try-runtime?/std", "frame-system-benchmarking?/std", "frame-benchmarking?/std", @@ -432,12 +434,22 @@ try-runtime = [ "staging-parachain-info/try-runtime", ] +# Enable the metadata hash generation. +# +# This is hidden behind a feature because it increases the compile time. +# The wasm binary needs to be compiled twice, once to fetch the metadata, +# generate the metadata hash and then a second time with the +# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash` +# extension. +metadata-hash = ["substrate-wasm-builder/metadata-hash"] + # A feature that should be enabled when the runtime should be build 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 = [ "sp-api/disable-logging", "runtime-common/on-chain-release-build", + "metadata-hash", ] # Set timing constants (e.g. session period) to faster versions to speed up testing. diff --git a/runtime/centrifuge/build.rs b/runtime/centrifuge/build.rs index 9b53d2457d..fe85940ad8 100644 --- a/runtime/centrifuge/build.rs +++ b/runtime/centrifuge/build.rs @@ -1,9 +1,16 @@ -use substrate_wasm_builder::WasmBuilder; +#[cfg(all(feature = "std", feature = "metadata-hash"))] +fn main() { + substrate_wasm_builder::WasmBuilder::init_with_defaults() + .enable_metadata_hash("CFG", 18) + .build(); +} +#[cfg(all(feature = "std", not(feature = "metadata-hash")))] fn main() { - WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() + substrate_wasm_builder::WasmBuilder::build_using_defaults(); } + +/// The wasm builder is deactivated when compiling +/// this crate for wasm to speed up the compilation. +#[cfg(not(feature = "std"))] +fn main() {} diff --git a/runtime/centrifuge/src/lib.rs b/runtime/centrifuge/src/lib.rs index e4e1da995d..9daadfdcec 100644 --- a/runtime/centrifuge/src/lib.rs +++ b/runtime/centrifuge/src/lib.rs @@ -23,15 +23,14 @@ use cfg_primitives::{ constants::*, liquidity_pools::GeneralCurrencyPrefix, types::{ - AccountId, Address, AllOfCouncil, AuraId, Balance, BlockNumber, CollectionId, - CouncilCollective, EnsureRootOr, HalfOfCouncil, Hash, Hashing, Header, IBalance, ItemId, - LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, PoolEpochId, PoolFeeId, PoolId, - Signature, ThreeFourthOfCouncil, TrancheId, TrancheWeight, TwoThirdOfCouncil, + AccountId, Address, AuraId, Balance, BlockNumber, CollectionId, Hash, Hashing, Header, + IBalance, InvestmentId, ItemId, LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, + PoolEpochId, PoolFeeId, PoolId, Signature, TrancheId, TrancheWeight, }, }; use cfg_traits::{ - investments::{OrderManager, TrancheCurrency as _}, - Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, Seconds, + investments::OrderManager, Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, + Seconds, }; use cfg_types::{ fee_keys::{Fee, FeeKey}, @@ -45,8 +44,7 @@ use cfg_types::{ pools::PoolNav, time::TimeProvider, tokens::{ - AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, - StakingCurrency, TrancheCurrency, + AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, StakingCurrency, }, }; use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; @@ -111,12 +109,13 @@ use runtime_common::{ }, fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, - liquidity_pools::LiquidityPoolsMessage, + instances::CouncilCollective, message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - oracle::{ - Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, - }, + oracle::{DigestedOracleRatioProvider, Feeder, OracleConverterBridge, OracleRatioProvider}, origin::EnsureAccountOrRootOr, + origins::gov::types::{ + AllOfCouncil, EnsureRootOr, HalfOfCouncil, ThreeFourthOfCouncil, TwoThirdOfCouncil, + }, permissions::PoolAdminCheck, rewards::SingleCurrencyMovement, transfer_filter::{PreLpTransfer, PreNativeTransfer}, @@ -165,7 +164,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("centrifuge"), impl_name: create_runtime_str!("centrifuge"), authoring_version: 1, - spec_version: 1100, + spec_version: 1300, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 2, @@ -716,26 +715,29 @@ impl InstanceFilter for ProxyType { matches!( c, RuntimeCall::Loans(pallet_loans::Call::create { .. }) | - RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | - RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | - RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::close { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | - RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | - // Borrowers should be able to close and execute an epoch - // in order to get liquidity from repayments in previous epochs. - RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch{..}) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution{..}) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch{..}) | - RuntimeCall::Utility(pallet_utility::Call::batch_all{..}) | - RuntimeCall::Utility(pallet_utility::Call::batch{..}) | - // Borrowers should be able to swap back and forth between local currencies and their variants - RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) + RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | + RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | + RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::close { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | + RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | + // Borrowers should be able to close and execute an epoch + // in order to get liquidity from repayments in previous epochs. + RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch{..}) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution{..}) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch{..}) | + RuntimeCall::Utility(pallet_utility::Call::batch_all{..}) | + RuntimeCall::Utility(pallet_utility::Call::batch{..}) | + // Borrowers should be able to swap back and forth between local currencies and their variants + RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) | + // Borrowers should be able to (un)charge fees as part of the borrow flow + RuntimeCall::PoolFees(pallet_pool_fees::Call::charge_fee { .. }) | + RuntimeCall::PoolFees(pallet_pool_fees::Call::uncharge_fee { .. }) ) | ProxyType::PodOperation.filter(c) } ProxyType::Invest => matches!( @@ -1411,7 +1413,7 @@ impl PoolUpdateGuard for UpdateGuard { type Moment = Seconds; type PoolDetails = PoolDetails< CurrencyId, - TrancheCurrency, + InvestmentId, u32, Balance, Rate, @@ -1453,7 +1455,7 @@ impl PoolUpdateGuard for UpdateGuard { .ids_non_residual_top() .iter() .map(|tranche_id| { - let investment_id = TrancheCurrency::generate(pool_id, *tranche_id); + let investment_id = (pool_id, *tranche_id); Investments::redeem_orders(investment_id).amount }) .fold(Balance::zero(), |acc, redemption| { @@ -1482,7 +1484,6 @@ impl pallet_pool_registry::Config for Runtime { type PoolFeesInspect = PoolFees; type PoolId = PoolId; type RuntimeEvent = RuntimeEvent; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type WeightInfo = weights::pallet_pool_registry::WeightInfo; } @@ -1521,7 +1522,7 @@ impl pallet_pool_system::Config for Runtime { type StringLimit = AssetStringLimit; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; + type TrancheCurrency = InvestmentId; type TrancheId = TrancheId; type TrancheWeight = TrancheWeight; type UpdateGuard = UpdateGuard; @@ -1630,35 +1631,29 @@ pub struct IsTrancheInvestor(PhantomData<(P, T)>); impl< P: PermissionsT, Role = Role>, T: UnixTime, - > PreConditions> for IsTrancheInvestor + > PreConditions> for IsTrancheInvestor { type Result = DispatchResult; - fn check(order: OrderType) -> Self::Result { + fn check(order: OrderType) -> Self::Result { let is_tranche_investor = match order { OrderType::Investment { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), OrderType::Redemption { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), }; @@ -1681,7 +1676,7 @@ impl pallet_investments::Config for Runtime { type BalanceRatio = Quantity; type CollectedInvestmentHook = pallet_foreign_investments::CollectedInvestmentHook; type CollectedRedemptionHook = pallet_foreign_investments::CollectedRedemptionHook; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type MaxOutstandingCollects = MaxOutstandingCollects; type PreConditions = IsTrancheInvestor; type RuntimeEvent = RuntimeEvent; @@ -1693,7 +1688,7 @@ parameter_types! { pub const MaxActiveLoansPerPool: u32 = 1000; pub const MaxRegisteredPricesPerPool: u32 = 100; pub const MaxRateCount: u32 = 1000; // See #1024 - pub const FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); + pub FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); #[derive(Clone, PartialEq, Eq, Debug, TypeInfo, Encode, Decode, MaxEncodedLen)] pub const MaxWriteOffPolicySize: u32 = 100; @@ -1836,7 +1831,7 @@ impl pallet_order_book::Config for Runtime { type NativeDecimals = NativeDecimals; type OrderIdNonce = u64; type Ratio = Ratio; - type RatioProvider = OracleRatioProviderLocalAssetExtension< + type RatioProvider = DigestedOracleRatioProvider< RuntimeOrigin, OracleRatioProvider, OrmlAssetRegistry, @@ -1861,7 +1856,7 @@ impl pallet_foreign_investments::Config for Runtime { type DecreasedForeignInvestOrderHook = DecreasedForeignInvestOrderHook; type ForeignBalance = Balance; type Investment = Investments; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type PoolBalance = Balance; type PoolInspect = PoolSystem; type RuntimeEvent = RuntimeEvent; @@ -1885,6 +1880,7 @@ impl pallet_liquidity_pools::Config for Runtime { type DomainAddressToAccountId = AccountConverter; type ForeignInvestment = ForeignInvestments; type GeneralCurrencyPrefix = GeneralCurrencyPrefix; + type MarketRatio = OrderBook; type OutboundQueue = LiquidityPoolsGateway; type Permission = Permissions; type PoolId = PoolId; @@ -1893,7 +1889,6 @@ impl pallet_liquidity_pools::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type TrancheTokenPrice = PoolSystem; type TreasuryAccount = TreasuryAccount; @@ -1926,7 +1921,7 @@ impl pallet_liquidity_pools_gateway::Config for Runtime { type InboundQueue = LiquidityPools; type LocalEVMOrigin = pallet_liquidity_pools_gateway::EnsureLocal; type MaxIncomingMessageSize = MaxIncomingMessageSize; - type Message = LiquidityPoolsMessage; + type Message = pallet_liquidity_pools::Message; type OriginRecovery = LiquidityPoolsAxelarGateway; type OutboundMessageNonce = OutboundMessageNonce; type Router = liquidity_pools_gateway_routers::DomainRouter; @@ -2062,8 +2057,10 @@ pub type SignedExtra = ( frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, + frame_metadata_hash_extension::CheckMetadataHash, runtime_common::transfer_filter::PreBalanceTransferExtension, ); + /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = fp_self_contained::UncheckedExtrinsic; @@ -2078,7 +2075,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - migrations::UpgradeCentrifuge1100, + migrations::UpgradeCentrifuge1300, >; // Frame Order in this block dictates the index of each one in the metadata @@ -2428,8 +2425,8 @@ impl_runtime_apis! { } // Investment Runtime APIs - impl runtime_common::apis::InvestmentsApi> for Runtime { - fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { + impl runtime_common::apis::InvestmentsApi> for Runtime { + fn investment_portfolio(account_id: AccountId) -> Vec<(InvestmentId, InvestmentPortfolio)> { runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } diff --git a/runtime/centrifuge/src/migrations.rs b/runtime/centrifuge/src/migrations.rs index 05d48c3d2a..bd16bdc22d 100644 --- a/runtime/centrifuge/src/migrations.rs +++ b/runtime/centrifuge/src/migrations.rs @@ -10,45 +10,6 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_primitives::AccountId; -use frame_support::parameter_types; -use sp_std::{vec, vec::Vec}; - -use crate::{OraclePriceCollection, OraclePriceFeed}; - -// Number of identities on Centrifuge Chain on 29.05.2024 was 34 -const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; - -parameter_types! { - // Address used by Anemoy to withdraw in AssetHub - // 4dTeMxuPJCK7zQGhFcgCivSJqBs9Wo2SuMSQeYCCuVJ9xrE2 --> 5CSfibAR9HHEwKpXbdsDHguAmLgKS6yKat2joTLA75DZ152L - pub AccountMap: Vec<(AccountId, AccountId)> = vec![ - ( - AccountId::new(hex_literal::hex!("5dbb2cec05b6bda775f7945827b887b0e7b5245eae8b4ef266c60820c9377185")), - AccountId::new(hex_literal::hex!("10c03288a534d77418e3c19e745dfbc952423e179e1e3baa89e287092fc7802f")) - ) - ]; -} - /// The migration set for Centrifuge @ Polkadot. /// It includes all the migrations that have to be applied on that chain. -pub type UpgradeCentrifuge1100 = ( - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - pallet_collator_selection::migration::v1::MigrateToV1, - pallet_collator_selection::migration::v2::MigrationToV2, - runtime_common::migrations::loans::AddWithLinearPricing, - runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< - crate::Runtime, - crate::RuntimeHoldReason, - >, - // Migrations below this comment originate from Polkadot SDK - pallet_xcm::migration::MigrateToLatestXcmVersion, - cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, - pallet_identity::migration::versioned::V0ToV1, - pallet_uniques::migration::MigrateV0ToV1, - runtime_common::migrations::restricted_location::MigrateRestrictedTransferLocation< - crate::Runtime, - AccountMap, - >, -); +pub type UpgradeCentrifuge1300 = (); diff --git a/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs index 1b2f3baa35..648860a512 100644 --- a/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `cumulus_pallet_xcmp_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 6_322_000 picoseconds. - Weight::from_parts(6_612_000, 0) + // Minimum execution time: 5_781_000 picoseconds. + Weight::from_parts(6_172_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `115` // Estimated: `3517` - // Minimum execution time: 17_583_000 picoseconds. - Weight::from_parts(18_214_000, 0) + // Minimum execution time: 15_860_000 picoseconds. + Weight::from_parts(16_440_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -69,8 +69,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 3_627_000 picoseconds. - Weight::from_parts(3_857_000, 0) + // Minimum execution time: 3_467_000 picoseconds. + Weight::from_parts(3_617_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,8 +81,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `144` // Estimated: `1629` - // Minimum execution time: 4_809_000 picoseconds. - Weight::from_parts(5_019_000, 0) + // Minimum execution time: 4_559_000 picoseconds. + Weight::from_parts(4_859_000, 0) .saturating_add(Weight::from_parts(0, 1629)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -91,8 +91,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 11_432_000 picoseconds. - Weight::from_parts(11_742_000, 0) + // Minimum execution time: 11_031_000 picoseconds. + Weight::from_parts(11_261_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) @@ -113,8 +113,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65744` // Estimated: `69209` - // Minimum execution time: 132_207_000 picoseconds. - Weight::from_parts(136_435_000, 0) + // Minimum execution time: 137_428_000 picoseconds. + Weight::from_parts(140_333_000, 0) .saturating_add(Weight::from_parts(0, 69209)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -127,8 +127,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65743` // Estimated: `69208` - // Minimum execution time: 63_539_000 picoseconds. - Weight::from_parts(64_109_000, 0) + // Minimum execution time: 62_427_000 picoseconds. + Weight::from_parts(62_908_000, 0) .saturating_add(Weight::from_parts(0, 69208)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/centrifuge/src/weights/frame_system.rs b/runtime/centrifuge/src/weights/frame_system.rs index 05427a8a9c..171d6d176b 100644 --- a/runtime/centrifuge/src/weights/frame_system.rs +++ b/runtime/centrifuge/src/weights/frame_system.rs @@ -92,8 +92,8 @@ impl frame_system::WeightInfo for WeightInfo { // Estimated: `0` // Minimum execution time: 3_306 nanoseconds. Weight::from_parts(3_357_000, 0) - // Standard Error: 868 - .saturating_add(Weight::from_parts(650_497, 0).saturating_mul(i.into())) + // Standard Error: 1_425 + .saturating_add(Weight::from_parts(662_473, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: Skipped Metadata (r:0 w:0) @@ -101,21 +101,41 @@ impl frame_system::WeightInfo for WeightInfo { /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `178 + p * (69 ±0)` - // Estimated: `155 + p * (70 ±0)` - // Minimum execution time: 6_271 nanoseconds. + // Measured: `115 + p * (69 ±0)` + // Estimated: `128 + p * (70 ±0)` + // Minimum execution time: 4_189_000 picoseconds. Weight::from_parts(6_522_000, 155) - // Standard Error: 1_372 - .saturating_add(Weight::from_parts(1_296_943, 0).saturating_mul(p.into())) + // Standard Error: 2_296 + .saturating_add(Weight::from_parts(1_389_650, 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())) } - - fn authorize_upgrade() -> Weight { - Weight::zero() - } - - fn apply_authorized_upgrade() -> Weight { - Weight::zero() - } + /// 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: 33_027_000 picoseconds. + Weight::from_parts(33_027_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: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// 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: `22` + // Estimated: `1518` + // Minimum execution time: 118_101_992_000 picoseconds. + Weight::from_parts(118_101_992_000, 0) + .saturating_add(Weight::from_parts(0, 1518)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } } diff --git a/runtime/centrifuge/src/weights/pallet_anchors.rs b/runtime/centrifuge/src/weights/pallet_anchors.rs index 1ff8ae7cc7..00dbbebea4 100644 --- a/runtime/centrifuge/src/weights/pallet_anchors.rs +++ b/runtime/centrifuge/src/weights/pallet_anchors.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_anchors` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `301` // Estimated: `3581` - // Minimum execution time: 38_893_000 picoseconds. - Weight::from_parts(39_884_000, 0) + // Minimum execution time: 36_409_000 picoseconds. + Weight::from_parts(37_100_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -69,8 +69,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `635` // Estimated: `3581` - // Minimum execution time: 65_643_000 picoseconds. - Weight::from_parts(66_685_000, 0) + // Minimum execution time: 62_277_000 picoseconds. + Weight::from_parts(64_080_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(5)) @@ -81,8 +81,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12450` // Estimated: `260090` - // Minimum execution time: 1_948_840_000 picoseconds. - Weight::from_parts(1_974_327_000, 0) + // Minimum execution time: 1_796_481_000 picoseconds. + Weight::from_parts(1_811_690_000, 0) .saturating_add(Weight::from_parts(0, 260090)) .saturating_add(T::DbWeight::get().reads(100)) .saturating_add(T::DbWeight::get().writes(100)) @@ -505,8 +505,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `18325` // Estimated: `254990` - // Minimum execution time: 2_020_935_000 picoseconds. - Weight::from_parts(2_047_634_000, 0) + // Minimum execution time: 1_877_153_000 picoseconds. + Weight::from_parts(1_901_648_000, 0) .saturating_add(Weight::from_parts(0, 254990)) .saturating_add(T::DbWeight::get().reads(504)) .saturating_add(T::DbWeight::get().writes(402)) diff --git a/runtime/centrifuge/src/weights/pallet_balances.rs b/runtime/centrifuge/src/weights/pallet_balances.rs index bf342fa632..4436cf7d4c 100644 --- a/runtime/centrifuge/src/weights/pallet_balances.rs +++ b/runtime/centrifuge/src/weights/pallet_balances.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_balances` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 72_405_000 picoseconds. - Weight::from_parts(73_437_000, 0) + // Minimum execution time: 67_787_000 picoseconds. + Weight::from_parts(68_879_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 56_827_000 picoseconds. - Weight::from_parts(58_238_000, 0) + // Minimum execution time: 53_851_000 picoseconds. + Weight::from_parts(54_503_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -61,8 +61,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 20_999_000 picoseconds. - Weight::from_parts(21_651_000, 0) + // Minimum execution time: 20_528_000 picoseconds. + Weight::from_parts(20_940_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 28_343_000 picoseconds. - Weight::from_parts(29_054_000, 0) + // Minimum execution time: 27_251_000 picoseconds. + Weight::from_parts(28_113_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -85,8 +85,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 75_261_000 picoseconds. - Weight::from_parts(76_302_000, 0) + // Minimum execution time: 70_232_000 picoseconds. + Weight::from_parts(71_625_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -97,8 +97,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 71_503_000 picoseconds. - Weight::from_parts(73_437_000, 0) + // Minimum execution time: 67_336_000 picoseconds. + Weight::from_parts(68_258_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -109,8 +109,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 25_337_000 picoseconds. - Weight::from_parts(26_099_000, 0) + // Minimum execution time: 24_506_000 picoseconds. + Weight::from_parts(25_258_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -122,11 +122,11 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `143 + u * (136 ±0)` // Estimated: `990 + u * (2603 ±0)` - // Minimum execution time: 23_484_000 picoseconds. - Weight::from_parts(23_684_000, 0) + // Minimum execution time: 22_302_000 picoseconds. + Weight::from_parts(22_773_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 12_704 - .saturating_add(Weight::from_parts(19_776_076, 0).saturating_mul(u.into())) + // Standard Error: 14_310 + .saturating_add(Weight::from_parts(18_718_369, 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())) @@ -135,8 +135,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_776_000 picoseconds. - Weight::from_parts(9_267_000, 0) + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(8_757_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/centrifuge/src/weights/pallet_block_rewards.rs b/runtime/centrifuge/src/weights/pallet_block_rewards.rs index 58029e5e99..5bc0f6b2be 100644 --- a/runtime/centrifuge/src/weights/pallet_block_rewards.rs +++ b/runtime/centrifuge/src/weights/pallet_block_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_block_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `516` // Estimated: `6196` - // Minimum execution time: 84_087_000 picoseconds. - Weight::from_parts(85_410_000, 0) + // Minimum execution time: 78_388_000 picoseconds. + Weight::from_parts(80_060_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_502_000 picoseconds. - Weight::from_parts(6_702_000, 0) + // Minimum execution time: 5_921_000 picoseconds. + Weight::from_parts(6_312_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -67,8 +67,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_442_000 picoseconds. - Weight::from_parts(6_662_000, 0) + // Minimum execution time: 5_961_000 picoseconds. + Weight::from_parts(6_362_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_collator_allowlist.rs b/runtime/centrifuge/src/weights/pallet_collator_allowlist.rs index 9d2f9f754f..8b2ed0c349 100644 --- a/runtime/centrifuge/src/weights/pallet_collator_allowlist.rs +++ b/runtime/centrifuge/src/weights/pallet_collator_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `485` // Estimated: `3950` - // Minimum execution time: 20_959_000 picoseconds. - Weight::from_parts(21_520_000, 0) + // Minimum execution time: 20_238_000 picoseconds. + Weight::from_parts(21_149_000, 0) .saturating_add(Weight::from_parts(0, 3950)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -51,8 +51,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `265` // Estimated: `3497` - // Minimum execution time: 15_138_000 picoseconds. - Weight::from_parts(15_690_000, 0) + // Minimum execution time: 14_778_000 picoseconds. + Weight::from_parts(15_169_000, 0) .saturating_add(Weight::from_parts(0, 3497)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_collator_selection.rs b/runtime/centrifuge/src/weights/pallet_collator_selection.rs index 80aad763c5..56f4fb2c98 100644 --- a/runtime/centrifuge/src/weights/pallet_collator_selection.rs +++ b/runtime/centrifuge/src/weights/pallet_collator_selection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_selection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,11 +43,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `426 + b * (112 ±0)` // Estimated: `1415 + b * (2588 ±0)` - // Minimum execution time: 21_761_000 picoseconds. - Weight::from_parts(18_325_667, 0) + // Minimum execution time: 20_919_000 picoseconds. + Weight::from_parts(16_576_940, 0) .saturating_add(Weight::from_parts(0, 1415)) - // Standard Error: 2_818 - .saturating_add(Weight::from_parts(6_395_759, 0).saturating_mul(b.into())) + // Standard Error: 3_936 + .saturating_add(Weight::from_parts(6_014_809, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 2588).saturating_mul(b.into())) @@ -70,13 +70,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1306 + b * (37 ±0) + c * (48 ±0)` // Estimated: `4726 + b * (37 ±0) + c * (53 ±0)` - // Minimum execution time: 59_742_000 picoseconds. - Weight::from_parts(60_284_422, 0) + // Minimum execution time: 58_360_000 picoseconds. + Weight::from_parts(59_368_218, 0) .saturating_add(Weight::from_parts(0, 4726)) - // Standard Error: 460 - .saturating_add(Weight::from_parts(96_883, 0).saturating_mul(b.into())) - // Standard Error: 2_428 - .saturating_add(Weight::from_parts(90_127, 0).saturating_mul(c.into())) + // Standard Error: 518 + .saturating_add(Weight::from_parts(93_358, 0).saturating_mul(b.into())) + // Standard Error: 2_733 + .saturating_add(Weight::from_parts(77_375, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) @@ -92,11 +92,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `285 + b * (32 ±0)` // Estimated: `4687` - // Minimum execution time: 15_498_000 picoseconds. - Weight::from_parts(16_316_216, 0) + // Minimum execution time: 15_268_000 picoseconds. + Weight::from_parts(15_827_111, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 286 - .saturating_add(Weight::from_parts(61_407, 0).saturating_mul(b.into())) + // Standard Error: 308 + .saturating_add(Weight::from_parts(63_917, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -106,8 +106,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_773_000 picoseconds. - Weight::from_parts(7_183_000, 0) + // Minimum execution time: 6_492_000 picoseconds. + Weight::from_parts(6_883_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -127,13 +127,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0 + c * (201 ±0) + k * (152 ±0)` // Estimated: `3593 + c * (848 ±15) + k * (848 ±15)` - // Minimum execution time: 13_064_000 picoseconds. - Weight::from_parts(13_555_000, 0) + // Minimum execution time: 12_544_000 picoseconds. + Weight::from_parts(13_024_000, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 112_406 - .saturating_add(Weight::from_parts(7_553_928, 0).saturating_mul(c.into())) - // Standard Error: 112_406 - .saturating_add(Weight::from_parts(7_323_334, 0).saturating_mul(k.into())) + // Standard Error: 105_868 + .saturating_add(Weight::from_parts(7_163_105, 0).saturating_mul(c.into())) + // Standard Error: 105_868 + .saturating_add(Weight::from_parts(6_944_316, 0).saturating_mul(k.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(c.into()))) @@ -151,11 +151,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `529 + c * (48 ±0)` // Estimated: `2446` - // Minimum execution time: 33_843_000 picoseconds. - Weight::from_parts(35_210_680, 0) + // Minimum execution time: 32_612_000 picoseconds. + Weight::from_parts(33_891_223, 0) .saturating_add(Weight::from_parts(0, 2446)) - // Standard Error: 2_477 - .saturating_add(Weight::from_parts(89_870, 0).saturating_mul(c.into())) + // Standard Error: 2_504 + .saturating_add(Weight::from_parts(105_355, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -177,11 +177,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `925 + c * (61 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 53_069_000 picoseconds. - Weight::from_parts(54_800_265, 0) + // Minimum execution time: 51_476_000 picoseconds. + Weight::from_parts(53_185_126, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 1_793 - .saturating_add(Weight::from_parts(300_153, 0).saturating_mul(c.into())) + // Standard Error: 1_881 + .saturating_add(Weight::from_parts(273_377, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -206,11 +206,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1017 + c * (62 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 75_732_000 picoseconds. - Weight::from_parts(76_168_356, 0) + // Minimum execution time: 72_947_000 picoseconds. + Weight::from_parts(73_437_057, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 2_715 - .saturating_add(Weight::from_parts(286_388, 0).saturating_mul(c.into())) + // Standard Error: 2_467 + .saturating_add(Weight::from_parts(278_714, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -227,11 +227,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `476 + c * (48 ±0)` // Estimated: `4687` - // Minimum execution time: 39_313_000 picoseconds. - Weight::from_parts(40_269_388, 0) + // Minimum execution time: 38_032_000 picoseconds. + Weight::from_parts(38_812_001, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 1_755 - .saturating_add(Weight::from_parts(149_791, 0).saturating_mul(c.into())) + // Standard Error: 1_603 + .saturating_add(Weight::from_parts(140_107, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -243,8 +243,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 60_223_000 picoseconds. - Weight::from_parts(61_394_000, 0) + // Minimum execution time: 56_807_000 picoseconds. + Weight::from_parts(57_868_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -267,11 +267,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `416 + c * (98 ±0) + r * (154 ±0)` // Estimated: `3962574101370078 + c * (2519 ±0) + r * (2393 ±6)` - // Minimum execution time: 25_678_000 picoseconds. - Weight::from_parts(26_419_000, 0) + // Minimum execution time: 25_267_000 picoseconds. + Weight::from_parts(25_839_000, 0) .saturating_add(Weight::from_parts(0, 3962574101370078)) - // Standard Error: 178_336 - .saturating_add(Weight::from_parts(16_618_722, 0).saturating_mul(c.into())) + // Standard Error: 168_266 + .saturating_add(Weight::from_parts(15_760_335, 0).saturating_mul(c.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().writes((1_u64).saturating_mul(c.into()))) diff --git a/runtime/centrifuge/src/weights/pallet_collective.rs b/runtime/centrifuge/src/weights/pallet_collective.rs index c6ec0abec9..7cc75ea3da 100644 --- a/runtime/centrifuge/src/weights/pallet_collective.rs +++ b/runtime/centrifuge/src/weights/pallet_collective.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collective` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,14 +45,14 @@ impl pallet_collective::WeightInfo for WeightInfo { fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (3232 ±0) + p * (3190 ±0)` - // Estimated: `15728 + m * (1967 ±24) + p * (4332 ±24)` - // Minimum execution time: 19_977_000 picoseconds. - Weight::from_parts(20_078_000, 0) + // Estimated: `15728 + m * (1967 ±23) + p * (4332 ±23)` + // Minimum execution time: 19_556_000 picoseconds. + Weight::from_parts(20_007_000, 0) .saturating_add(Weight::from_parts(0, 15728)) - // Standard Error: 63_443 - .saturating_add(Weight::from_parts(4_761_841, 0).saturating_mul(m.into())) - // Standard Error: 63_443 - .saturating_add(Weight::from_parts(8_972_956, 0).saturating_mul(p.into())) + // Standard Error: 74_399 + .saturating_add(Weight::from_parts(5_524_602, 0).saturating_mul(m.into())) + // Standard Error: 74_399 + .saturating_add(Weight::from_parts(9_565_431, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -68,13 +68,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `69 + m * (32 ±0)` // Estimated: `1555 + m * (32 ±0)` - // Minimum execution time: 18_164_000 picoseconds. - Weight::from_parts(16_886_988, 0) + // Minimum execution time: 18_104_000 picoseconds. + Weight::from_parts(17_054_763, 0) .saturating_add(Weight::from_parts(0, 1555)) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_693, 0).saturating_mul(b.into())) - // Standard Error: 330 - .saturating_add(Weight::from_parts(17_805, 0).saturating_mul(m.into())) + // Standard Error: 41 + .saturating_add(Weight::from_parts(1_755, 0).saturating_mul(b.into())) + // Standard Error: 426 + .saturating_add(Weight::from_parts(20_471, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -88,13 +88,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `69 + m * (32 ±0)` // Estimated: `3535 + m * (32 ±0)` - // Minimum execution time: 21_801_000 picoseconds. - Weight::from_parts(20_823_477, 0) + // Minimum execution time: 22_542_000 picoseconds. + Weight::from_parts(21_565_280, 0) .saturating_add(Weight::from_parts(0, 3535)) - // Standard Error: 42 - .saturating_add(Weight::from_parts(1_959, 0).saturating_mul(b.into())) - // Standard Error: 433 - .saturating_add(Weight::from_parts(29_753, 0).saturating_mul(m.into())) + // Standard Error: 39 + .saturating_add(Weight::from_parts(1_712, 0).saturating_mul(b.into())) + // Standard Error: 407 + .saturating_add(Weight::from_parts(30_984, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -115,15 +115,15 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `359 + m * (32 ±0) + p * (36 ±0)` // Estimated: `3751 + m * (33 ±0) + p * (36 ±0)` - // Minimum execution time: 28_694_000 picoseconds. - Weight::from_parts(28_496_435, 0) + // Minimum execution time: 28_043_000 picoseconds. + Weight::from_parts(26_227_432, 0) .saturating_add(Weight::from_parts(0, 3751)) - // Standard Error: 102 - .saturating_add(Weight::from_parts(2_863, 0).saturating_mul(b.into())) - // Standard Error: 1_066 - .saturating_add(Weight::from_parts(22_188, 0).saturating_mul(m.into())) - // Standard Error: 1_053 - .saturating_add(Weight::from_parts(250_359, 0).saturating_mul(p.into())) + // Standard Error: 94 + .saturating_add(Weight::from_parts(3_916, 0).saturating_mul(b.into())) + // Standard Error: 987 + .saturating_add(Weight::from_parts(29_870, 0).saturating_mul(m.into())) + // Standard Error: 975 + .saturating_add(Weight::from_parts(254_754, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into())) @@ -138,11 +138,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `808 + m * (64 ±0)` // Estimated: `4272 + m * (64 ±0)` - // Minimum execution time: 26_139_000 picoseconds. - Weight::from_parts(26_536_014, 0) + // Minimum execution time: 25_889_000 picoseconds. + Weight::from_parts(26_738_449, 0) .saturating_add(Weight::from_parts(0, 4272)) - // Standard Error: 834 - .saturating_add(Weight::from_parts(47_228, 0).saturating_mul(m.into())) + // Standard Error: 924 + .saturating_add(Weight::from_parts(49_812, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) @@ -161,13 +161,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `397 + m * (64 ±0) + p * (36 ±0)` // Estimated: `3842 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 30_848_000 picoseconds. - Weight::from_parts(29_242_652, 0) + // Minimum execution time: 31_359_000 picoseconds. + Weight::from_parts(29_091_035, 0) .saturating_add(Weight::from_parts(0, 3842)) - // Standard Error: 964 - .saturating_add(Weight::from_parts(41_978, 0).saturating_mul(m.into())) - // Standard Error: 940 - .saturating_add(Weight::from_parts(248_368, 0).saturating_mul(p.into())) + // Standard Error: 1_020 + .saturating_add(Weight::from_parts(48_599, 0).saturating_mul(m.into())) + // Standard Error: 994 + .saturating_add(Weight::from_parts(239_919, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -188,15 +188,15 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `699 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` // Estimated: `4016 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 44_413_000 picoseconds. - Weight::from_parts(46_317_210, 0) + // Minimum execution time: 45_085_000 picoseconds. + Weight::from_parts(46_121_007, 0) .saturating_add(Weight::from_parts(0, 4016)) - // Standard Error: 118 - .saturating_add(Weight::from_parts(2_296, 0).saturating_mul(b.into())) - // Standard Error: 1_256 - .saturating_add(Weight::from_parts(27_951, 0).saturating_mul(m.into())) - // Standard Error: 1_224 - .saturating_add(Weight::from_parts(270_846, 0).saturating_mul(p.into())) + // Standard Error: 139 + .saturating_add(Weight::from_parts(2_251, 0).saturating_mul(b.into())) + // Standard Error: 1_470 + .saturating_add(Weight::from_parts(38_832, 0).saturating_mul(m.into())) + // Standard Error: 1_433 + .saturating_add(Weight::from_parts(274_797, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -219,13 +219,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `417 + m * (64 ±0) + p * (36 ±0)` // Estimated: `3862 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 33_292_000 picoseconds. - Weight::from_parts(33_067_918, 0) + // Minimum execution time: 33_684_000 picoseconds. + Weight::from_parts(33_538_693, 0) .saturating_add(Weight::from_parts(0, 3862)) - // Standard Error: 2_341 - .saturating_add(Weight::from_parts(24_866, 0).saturating_mul(m.into())) - // Standard Error: 2_283 - .saturating_add(Weight::from_parts(273_796, 0).saturating_mul(p.into())) + // Standard Error: 1_739 + .saturating_add(Weight::from_parts(22_766, 0).saturating_mul(m.into())) + // Standard Error: 1_695 + .saturating_add(Weight::from_parts(267_242, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -248,15 +248,15 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `719 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` // Estimated: `4036 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 47_228_000 picoseconds. - Weight::from_parts(48_777_291, 0) + // Minimum execution time: 47_620_000 picoseconds. + Weight::from_parts(46_356_705, 0) .saturating_add(Weight::from_parts(0, 4036)) - // Standard Error: 111 - .saturating_add(Weight::from_parts(2_409, 0).saturating_mul(b.into())) - // Standard Error: 1_174 - .saturating_add(Weight::from_parts(27_376, 0).saturating_mul(m.into())) - // Standard Error: 1_145 - .saturating_add(Weight::from_parts(271_442, 0).saturating_mul(p.into())) + // Standard Error: 139 + .saturating_add(Weight::from_parts(2_913, 0).saturating_mul(b.into())) + // Standard Error: 1_472 + .saturating_add(Weight::from_parts(44_652, 0).saturating_mul(m.into())) + // Standard Error: 1_435 + .saturating_add(Weight::from_parts(285_528, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -274,11 +274,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `226 + p * (32 ±0)` // Estimated: `1711 + p * (32 ±0)` - // Minimum execution time: 17_232_000 picoseconds. - Weight::from_parts(18_580_566, 0) + // Minimum execution time: 16_641_000 picoseconds. + Weight::from_parts(17_756_526, 0) .saturating_add(Weight::from_parts(0, 1711)) - // Standard Error: 576 - .saturating_add(Weight::from_parts(232_682, 0).saturating_mul(p.into())) + // Standard Error: 687 + .saturating_add(Weight::from_parts(226_934, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) diff --git a/runtime/centrifuge/src/weights/pallet_democracy.rs b/runtime/centrifuge/src/weights/pallet_democracy.rs index 6c6b5b09a1..c64e73b50d 100644 --- a/runtime/centrifuge/src/weights/pallet_democracy.rs +++ b/runtime/centrifuge/src/weights/pallet_democracy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_democracy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4768` // Estimated: `18187` - // Minimum execution time: 47_850_000 picoseconds. - Weight::from_parts(49_673_000, 0) + // Minimum execution time: 47_970_000 picoseconds. + Weight::from_parts(48_822_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3523` // Estimated: `6695` - // Minimum execution time: 46_377_000 picoseconds. - Weight::from_parts(47_519_000, 0) + // Minimum execution time: 43_943_000 picoseconds. + Weight::from_parts(45_455_000, 0) .saturating_add(Weight::from_parts(0, 6695)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3400` // Estimated: `7260` - // Minimum execution time: 64_059_000 picoseconds. - Weight::from_parts(65_272_000, 0) + // Minimum execution time: 61_376_000 picoseconds. + Weight::from_parts(64_241_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -91,8 +91,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3422` // Estimated: `7260` - // Minimum execution time: 67_406_000 picoseconds. - Weight::from_parts(69_409_000, 0) + // Minimum execution time: 66_435_000 picoseconds. + Weight::from_parts(68_128_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -107,8 +107,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `333` // Estimated: `3666` - // Minimum execution time: 31_869_000 picoseconds. - Weight::from_parts(32_581_000, 0) + // Minimum execution time: 30_627_000 picoseconds. + Weight::from_parts(31_178_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -131,8 +131,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6249` // Estimated: `18187` - // Minimum execution time: 126_165_000 picoseconds. - Weight::from_parts(128_319_000, 0) + // Minimum execution time: 124_394_000 picoseconds. + Weight::from_parts(126_207_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(8)) @@ -145,8 +145,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3383` // Estimated: `6703` - // Minimum execution time: 15_780_000 picoseconds. - Weight::from_parts(16_421_000, 0) + // Minimum execution time: 15_349_000 picoseconds. + Weight::from_parts(16_050_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -157,8 +157,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_878_000 picoseconds. - Weight::from_parts(4_268_000, 0) + // Minimum execution time: 3_927_000 picoseconds. + Weight::from_parts(4_199_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -168,8 +168,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_018_000 picoseconds. - Weight::from_parts(4_268_000, 0) + // Minimum execution time: 3_847_000 picoseconds. + Weight::from_parts(4_078_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -185,8 +185,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 30_637_000 picoseconds. - Weight::from_parts(31_138_000, 0) + // Minimum execution time: 28_784_000 picoseconds. + Weight::from_parts(29_365_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -201,8 +201,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3486` // Estimated: `6703` - // Minimum execution time: 33_743_000 picoseconds. - Weight::from_parts(34_825_000, 0) + // Minimum execution time: 32_732_000 picoseconds. + Weight::from_parts(33_472_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -219,8 +219,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6160` // Estimated: `18187` - // Minimum execution time: 104_916_000 picoseconds. - Weight::from_parts(106_740_000, 0) + // Minimum execution time: 103_284_000 picoseconds. + Weight::from_parts(105_338_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -233,8 +233,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `238` // Estimated: `3518` - // Minimum execution time: 21_650_000 picoseconds. - Weight::from_parts(22_493_000, 0) + // Minimum execution time: 21_721_000 picoseconds. + Weight::from_parts(22_181_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -250,11 +250,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `1489 + r * (2676 ±0)` - // Minimum execution time: 7_304_000 picoseconds. - Weight::from_parts(10_862_570, 0) + // Minimum execution time: 7_163_000 picoseconds. + Weight::from_parts(10_609_274, 0) .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 6_674 - .saturating_add(Weight::from_parts(4_146_711, 0).saturating_mul(r.into())) + // Standard Error: 6_292 + .saturating_add(Weight::from_parts(3_922_770, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -277,11 +277,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `18187 + r * (2676 ±0)` - // Minimum execution time: 10_389_000 picoseconds. - Weight::from_parts(13_699_184, 0) + // Minimum execution time: 10_249_000 picoseconds. + Weight::from_parts(13_274_114, 0) .saturating_add(Weight::from_parts(0, 18187)) - // Standard Error: 5_780 - .saturating_add(Weight::from_parts(4_164_228, 0).saturating_mul(r.into())) + // Standard Error: 6_380 + .saturating_add(Weight::from_parts(3_951_506, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -300,11 +300,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `764 + r * (108 ±0)` // Estimated: `19800 + r * (2676 ±0)` - // Minimum execution time: 50_284_000 picoseconds. - Weight::from_parts(55_797_297, 0) + // Minimum execution time: 48_671_000 picoseconds. + Weight::from_parts(53_091_257, 0) .saturating_add(Weight::from_parts(0, 19800)) - // Standard Error: 7_012 - .saturating_add(Weight::from_parts(5_251_046, 0).saturating_mul(r.into())) + // Standard Error: 8_896 + .saturating_add(Weight::from_parts(5_033_326, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -320,11 +320,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `460 + r * (108 ±0)` // Estimated: `13530 + r * (2676 ±0)` - // Minimum execution time: 24_035_000 picoseconds. - Weight::from_parts(24_880_328, 0) + // Minimum execution time: 23_514_000 picoseconds. + Weight::from_parts(23_499_920, 0) .saturating_add(Weight::from_parts(0, 13530)) - // Standard Error: 6_179 - .saturating_add(Weight::from_parts(5_186_435, 0).saturating_mul(r.into())) + // Standard Error: 8_740 + .saturating_add(Weight::from_parts(5_053_477, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -337,8 +337,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_258_000 picoseconds. - Weight::from_parts(4_428_000, 0) + // Minimum execution time: 4_298_000 picoseconds. + Weight::from_parts(4_528_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -355,11 +355,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `492` // Estimated: `7260` - // Minimum execution time: 31_679_000 picoseconds. - Weight::from_parts(43_939_429, 0) + // Minimum execution time: 30_227_000 picoseconds. + Weight::from_parts(42_668_816, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 2_749 - .saturating_add(Weight::from_parts(59_143, 0).saturating_mul(r.into())) + // Standard Error: 2_879 + .saturating_add(Weight::from_parts(63_151, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -376,11 +376,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `493 + r * (22 ±0)` // Estimated: `7260` - // Minimum execution time: 41_618_000 picoseconds. - Weight::from_parts(43_212_793, 0) + // Minimum execution time: 40_356_000 picoseconds. + Weight::from_parts(41_926_124, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 934 - .saturating_add(Weight::from_parts(88_400, 0).saturating_mul(r.into())) + // Standard Error: 1_000 + .saturating_add(Weight::from_parts(95_612, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -393,11 +393,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 21_250_000 picoseconds. - Weight::from_parts(24_298_976, 0) + // Minimum execution time: 20_449_000 picoseconds. + Weight::from_parts(23_411_333, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_316 - .saturating_add(Weight::from_parts(91_321, 0).saturating_mul(r.into())) + // Standard Error: 1_379 + .saturating_add(Weight::from_parts(95_460, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -410,11 +410,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 21_500_000 picoseconds. - Weight::from_parts(24_479_652, 0) + // Minimum execution time: 20_638_000 picoseconds. + Weight::from_parts(23_576_545, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_417 - .saturating_add(Weight::from_parts(92_182, 0).saturating_mul(r.into())) + // Standard Error: 1_299 + .saturating_add(Weight::from_parts(96_842, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -430,8 +430,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `357` // Estimated: `3556` - // Minimum execution time: 24_195_000 picoseconds. - Weight::from_parts(24_666_000, 0) + // Minimum execution time: 23_163_000 picoseconds. + Weight::from_parts(23_755_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -444,8 +444,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 19_797_000 picoseconds. - Weight::from_parts(20_188_000, 0) + // Minimum execution time: 19_126_000 picoseconds. + Weight::from_parts(19_777_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -462,8 +462,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4889` // Estimated: `18187` - // Minimum execution time: 50_986_000 picoseconds. - Weight::from_parts(53_871_000, 0) + // Minimum execution time: 51_847_000 picoseconds. + Weight::from_parts(53_421_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -476,8 +476,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4789` // Estimated: `18187` - // Minimum execution time: 47_639_000 picoseconds. - Weight::from_parts(48_401_000, 0) + // Minimum execution time: 45_335_000 picoseconds. + Weight::from_parts(46_538_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -492,8 +492,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 20_007_000 picoseconds. - Weight::from_parts(20_649_000, 0) + // Minimum execution time: 19_166_000 picoseconds. + Weight::from_parts(19_757_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -506,8 +506,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269` // Estimated: `3666` - // Minimum execution time: 23_243_000 picoseconds. - Weight::from_parts(23_924_000, 0) + // Minimum execution time: 22_483_000 picoseconds. + Weight::from_parts(22_893_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_elections_phragmen.rs b/runtime/centrifuge/src/weights/pallet_elections_phragmen.rs index 73cbcffd18..4c93322240 100644 --- a/runtime/centrifuge/src/weights/pallet_elections_phragmen.rs +++ b/runtime/centrifuge/src/weights/pallet_elections_phragmen.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_elections_phragmen` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -48,11 +48,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `397 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 39_854_000 picoseconds. - Weight::from_parts(41_059_638, 0) + // Minimum execution time: 38_502_000 picoseconds. + Weight::from_parts(39_912_581, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 9_339 - .saturating_add(Weight::from_parts(122_202, 0).saturating_mul(v.into())) + // Standard Error: 8_975 + .saturating_add(Weight::from_parts(98_894, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -74,11 +74,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `366 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 55_103_000 picoseconds. - Weight::from_parts(56_171_173, 0) + // Minimum execution time: 52_850_000 picoseconds. + Weight::from_parts(54_513_226, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 14_770 - .saturating_add(Weight::from_parts(204_563, 0).saturating_mul(v.into())) + // Standard Error: 16_591 + .saturating_add(Weight::from_parts(120_091, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -100,11 +100,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `398 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 55_143_000 picoseconds. - Weight::from_parts(55_848_022, 0) + // Minimum execution time: 53_220_000 picoseconds. + Weight::from_parts(54_760_200, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 12_961 - .saturating_add(Weight::from_parts(304_036, 0).saturating_mul(v.into())) + // Standard Error: 15_761 + .saturating_add(Weight::from_parts(96_724, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -119,8 +119,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `568` // Estimated: `4764` - // Minimum execution time: 56_095_000 picoseconds. - Weight::from_parts(57_527_000, 0) + // Minimum execution time: 53_852_000 picoseconds. + Weight::from_parts(54_663_000, 0) .saturating_add(Weight::from_parts(0, 4764)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -136,11 +136,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1475 + c * (48 ±0)` // Estimated: `2960 + c * (48 ±0)` - // Minimum execution time: 40_225_000 picoseconds. - Weight::from_parts(41_460_863, 0) + // Minimum execution time: 39_334_000 picoseconds. + Weight::from_parts(40_418_334, 0) .saturating_add(Weight::from_parts(0, 2960)) - // Standard Error: 2_567 - .saturating_add(Weight::from_parts(92_423, 0).saturating_mul(c.into())) + // Standard Error: 2_971 + .saturating_add(Weight::from_parts(86_088, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -152,11 +152,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `318 + c * (48 ±0)` // Estimated: `1803 + c * (48 ±0)` - // Minimum execution time: 35_306_000 picoseconds. - Weight::from_parts(36_290_646, 0) + // Minimum execution time: 33_913_000 picoseconds. + Weight::from_parts(35_461_879, 0) .saturating_add(Weight::from_parts(0, 1803)) - // Standard Error: 2_574 - .saturating_add(Weight::from_parts(70_605, 0).saturating_mul(c.into())) + // Standard Error: 3_451 + .saturating_add(Weight::from_parts(59_093, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -175,8 +175,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1621` // Estimated: `3106` - // Minimum execution time: 50_805_000 picoseconds. - Weight::from_parts(51_927_000, 0) + // Minimum execution time: 49_974_000 picoseconds. + Weight::from_parts(50_966_000, 0) .saturating_add(Weight::from_parts(0, 3106)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -187,8 +187,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1023` // Estimated: `2508` - // Minimum execution time: 36_037_000 picoseconds. - Weight::from_parts(36_938_000, 0) + // Minimum execution time: 34_905_000 picoseconds. + Weight::from_parts(35_627_000, 0) .saturating_add(Weight::from_parts(0, 2508)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -219,8 +219,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1724` // Estimated: `6196` - // Minimum execution time: 71_003_000 picoseconds. - Weight::from_parts(72_324_000, 0) + // Minimum execution time: 70_262_000 picoseconds. + Weight::from_parts(71_775_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -245,13 +245,13 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0 + d * (494 ±0) + v * (62 ±0)` // Estimated: `8032 + d * (3774 ±0) + v * (27 ±0)` - // Minimum execution time: 5_440_000 picoseconds. - Weight::from_parts(5_851_000, 0) + // Minimum execution time: 5_891_000 picoseconds. + Weight::from_parts(6_452_000, 0) .saturating_add(Weight::from_parts(0, 8032)) - // Standard Error: 7_490 - .saturating_add(Weight::from_parts(452_735, 0).saturating_mul(v.into())) - // Standard Error: 16_345 - .saturating_add(Weight::from_parts(54_859_868, 0).saturating_mul(d.into())) + // Standard Error: 8_924 + .saturating_add(Weight::from_parts(427_670, 0).saturating_mul(v.into())) + // Standard Error: 19_473 + .saturating_add(Weight::from_parts(52_887_810, 0).saturating_mul(d.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(d.into()))) .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(d.into()))) @@ -282,16 +282,16 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + e * (23 ±0) + v * (241 ±0)` - // Estimated: `9323 + c * (154 ±35) + e * (19 ±1) + v * (2526 ±7)` - // Minimum execution time: 288_329_000 picoseconds. - Weight::from_parts(291_985_000, 0) + // Estimated: `9323 + c * (154 ±3) + e * (19 ±0) + v * (2526 ±2)` + // Minimum execution time: 287_449_000 picoseconds. + Weight::from_parts(289_734_000, 0) .saturating_add(Weight::from_parts(0, 9323)) - // Standard Error: 776_472 - .saturating_add(Weight::from_parts(1_654_140, 0).saturating_mul(c.into())) - // Standard Error: 154_461 - .saturating_add(Weight::from_parts(8_253_388, 0).saturating_mul(v.into())) - // Standard Error: 33_543 - .saturating_add(Weight::from_parts(253_004, 0).saturating_mul(e.into())) + // Standard Error: 767_401 + .saturating_add(Weight::from_parts(1_933_199, 0).saturating_mul(c.into())) + // Standard Error: 152_657 + .saturating_add(Weight::from_parts(8_288_246, 0).saturating_mul(v.into())) + // Standard Error: 33_152 + .saturating_add(Weight::from_parts(234_027, 0).saturating_mul(e.into())) .saturating_add(T::DbWeight::get().reads(17)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(7)) diff --git a/runtime/centrifuge/src/weights/pallet_fees.rs b/runtime/centrifuge/src/weights/pallet_fees.rs index 9f1aa979eb..9e2bd5858e 100644 --- a/runtime/centrifuge/src/weights/pallet_fees.rs +++ b/runtime/centrifuge/src/weights/pallet_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_786_000 picoseconds. - Weight::from_parts(9_347_000, 0) + // Minimum execution time: 8_767_000 picoseconds. + Weight::from_parts(9_137_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_identity.rs b/runtime/centrifuge/src/weights/pallet_identity.rs index 6b04d4e622..4ec57f169e 100644 --- a/runtime/centrifuge/src/weights/pallet_identity.rs +++ b/runtime/centrifuge/src/weights/pallet_identity.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_identity` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 11_461_000 picoseconds. - Weight::from_parts(12_329_958, 0) + // Minimum execution time: 10_800_000 picoseconds. + Weight::from_parts(11_625_695, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_709 - .saturating_add(Weight::from_parts(85_260, 0).saturating_mul(r.into())) + // Standard Error: 1_788 + .saturating_add(Weight::from_parts(103_042, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -53,11 +53,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6977 + r * (5 ±0)` // Estimated: `11037` - // Minimum execution time: 177_182_000 picoseconds. - Weight::from_parts(184_291_666, 0) + // Minimum execution time: 181_139_000 picoseconds. + Weight::from_parts(186_891_152, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 10_202 - .saturating_add(Weight::from_parts(118_377, 0).saturating_mul(r.into())) + // Standard Error: 10_552 + .saturating_add(Weight::from_parts(127_892, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -72,11 +72,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `100` // Estimated: `11037 + s * (2589 ±0)` - // Minimum execution time: 13_866_000 picoseconds. - Weight::from_parts(32_107_917, 0) + // Minimum execution time: 13_315_000 picoseconds. + Weight::from_parts(30_300_345, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 5_302 - .saturating_add(Weight::from_parts(5_097_828, 0).saturating_mul(s.into())) + // Standard Error: 4_297 + .saturating_add(Weight::from_parts(4_817_807, 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)) @@ -94,11 +94,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `193 + p * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 13_595_000 picoseconds. - Weight::from_parts(31_078_104, 0) + // Minimum execution time: 13_235_000 picoseconds. + Weight::from_parts(29_977_630, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 4_131 - .saturating_add(Weight::from_parts(2_071_635, 0).saturating_mul(p.into())) + // Standard Error: 3_817 + .saturating_add(Weight::from_parts(1_926_526, 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()))) @@ -115,13 +115,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7069 + r * (5 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 82_014_000 picoseconds. - Weight::from_parts(82_257_399, 0) + // Minimum execution time: 79_800_000 picoseconds. + Weight::from_parts(79_505_866, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_823 - .saturating_add(Weight::from_parts(137_193, 0).saturating_mul(r.into())) - // Standard Error: 1_721 - .saturating_add(Weight::from_parts(2_055_434, 0).saturating_mul(s.into())) + // Standard Error: 9_179 + .saturating_add(Weight::from_parts(243_871, 0).saturating_mul(r.into())) + // Standard Error: 1_791 + .saturating_add(Weight::from_parts(1_919_722, 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()))) @@ -135,11 +135,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6967 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 118_782_000 picoseconds. - Weight::from_parts(122_396_298, 0) + // Minimum execution time: 119_183_000 picoseconds. + Weight::from_parts(123_021_848, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_997 - .saturating_add(Weight::from_parts(131_018, 0).saturating_mul(r.into())) + // Standard Error: 7_694 + .saturating_add(Weight::from_parts(129_954, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -150,11 +150,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6998` // Estimated: `11037` - // Minimum execution time: 114_965_000 picoseconds. - Weight::from_parts(119_931_535, 0) + // Minimum execution time: 120_536_000 picoseconds. + Weight::from_parts(125_125_550, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_210 - .saturating_add(Weight::from_parts(90_229, 0).saturating_mul(r.into())) + // Standard Error: 10_327 + .saturating_add(Weight::from_parts(54_456, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -165,11 +165,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_085_000 picoseconds. - Weight::from_parts(8_745_689, 0) + // Minimum execution time: 7_915_000 picoseconds. + Weight::from_parts(8_534_727, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_017 - .saturating_add(Weight::from_parts(77_434, 0).saturating_mul(r.into())) + // Standard Error: 1_193 + .saturating_add(Weight::from_parts(78_723, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,11 +180,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_666_000 picoseconds. - Weight::from_parts(9_025_881, 0) + // Minimum execution time: 8_316_000 picoseconds. + Weight::from_parts(8_711_517, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 866 - .saturating_add(Weight::from_parts(69_178, 0).saturating_mul(r.into())) + // Standard Error: 1_329 + .saturating_add(Weight::from_parts(73_322, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -195,11 +195,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_466_000 picoseconds. - Weight::from_parts(8_930_474, 0) + // Minimum execution time: 8_135_000 picoseconds. + Weight::from_parts(8_608_881, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 909 - .saturating_add(Weight::from_parts(61_820, 0).saturating_mul(r.into())) + // Standard Error: 1_166 + .saturating_add(Weight::from_parts(67_838, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -212,11 +212,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7045 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 153_066_000 picoseconds. - Weight::from_parts(158_933_479, 0) + // Minimum execution time: 156_914_000 picoseconds. + Weight::from_parts(161_829_651, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 11_349 - .saturating_add(Weight::from_parts(55_251, 0).saturating_mul(r.into())) + // Standard Error: 8_364 + .saturating_add(Weight::from_parts(72_484, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -234,13 +234,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7396 + r * (15 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 102_231_000 picoseconds. - Weight::from_parts(102_236_164, 0) + // Minimum execution time: 99_647_000 picoseconds. + Weight::from_parts(99_927_286, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_449 - .saturating_add(Weight::from_parts(197_958, 0).saturating_mul(r.into())) - // Standard Error: 1_648 - .saturating_add(Weight::from_parts(2_070_834, 0).saturating_mul(s.into())) + // Standard Error: 10_465 + .saturating_add(Weight::from_parts(259_528, 0).saturating_mul(r.into())) + // Standard Error: 2_041 + .saturating_add(Weight::from_parts(1_935_780, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) @@ -256,11 +256,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `474 + s * (36 ±0)` // Estimated: `11037` - // Minimum execution time: 37_360_000 picoseconds. - Weight::from_parts(42_407_134, 0) + // Minimum execution time: 35_507_000 picoseconds. + Weight::from_parts(41_040_666, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 1_241 - .saturating_add(Weight::from_parts(71_942, 0).saturating_mul(s.into())) + // Standard Error: 1_389 + .saturating_add(Weight::from_parts(65_456, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -273,11 +273,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `590 + s * (3 ±0)` // Estimated: `11037` - // Minimum execution time: 18_885_000 picoseconds. - Weight::from_parts(20_897_159, 0) + // Minimum execution time: 18_114_000 picoseconds. + Weight::from_parts(20_405_690, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 581 - .saturating_add(Weight::from_parts(22_219, 0).saturating_mul(s.into())) + // Standard Error: 621 + .saturating_add(Weight::from_parts(18_211, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -292,11 +292,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `637 + s * (35 ±0)` // Estimated: `11037` - // Minimum execution time: 41_738_000 picoseconds. - Weight::from_parts(44_337_160, 0) + // Minimum execution time: 39_854_000 picoseconds. + Weight::from_parts(42_669_307, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 846 - .saturating_add(Weight::from_parts(56_189, 0).saturating_mul(s.into())) + // Standard Error: 870 + .saturating_add(Weight::from_parts(55_604, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -311,11 +311,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `770 + s * (37 ±0)` // Estimated: `6723` - // Minimum execution time: 31_408_000 picoseconds. - Weight::from_parts(33_717_882, 0) + // Minimum execution time: 30_147_000 picoseconds. + Weight::from_parts(32_252_771, 0) .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 786 - .saturating_add(Weight::from_parts(58_377, 0).saturating_mul(s.into())) + // Standard Error: 818 + .saturating_add(Weight::from_parts(60_248, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -325,8 +325,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_908_000 picoseconds. - Weight::from_parts(10_289_000, 0) + // Minimum execution time: 9_277_000 picoseconds. + Weight::from_parts(9_659_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -336,8 +336,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `3517` - // Minimum execution time: 12_994_000 picoseconds. - Weight::from_parts(13_535_000, 0) + // Minimum execution time: 12_384_000 picoseconds. + Weight::from_parts(12_804_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -354,8 +354,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `11037` - // Minimum execution time: 80_831_000 picoseconds. - Weight::from_parts(83_435_000, 0) + // Minimum execution time: 80_060_000 picoseconds. + Weight::from_parts(81_623_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -370,8 +370,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `11037` - // Minimum execution time: 29_946_000 picoseconds. - Weight::from_parts(30_658_000, 0) + // Minimum execution time: 28_453_000 picoseconds. + Weight::from_parts(29_405_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -382,8 +382,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `3550` - // Minimum execution time: 18_815_000 picoseconds. - Weight::from_parts(19_336_000, 0) + // Minimum execution time: 32_511_000 picoseconds. + Weight::from_parts(35_307_000, 0) .saturating_add(Weight::from_parts(0, 3550)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -396,8 +396,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `11037` - // Minimum execution time: 24_736_000 picoseconds. - Weight::from_parts(25_086_000, 0) + // Minimum execution time: 23_384_000 picoseconds. + Weight::from_parts(24_145_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -410,8 +410,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `97` // Estimated: `11037` - // Minimum execution time: 17_082_000 picoseconds. - Weight::from_parts(17_633_000, 0) + // Minimum execution time: 16_291_000 picoseconds. + Weight::from_parts(16_821_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_interest_accrual.rs b/runtime/centrifuge/src/weights/pallet_interest_accrual.rs index 769034448e..f0590698e4 100644 --- a/runtime/centrifuge/src/weights/pallet_interest_accrual.rs +++ b/runtime/centrifuge/src/weights/pallet_interest_accrual.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_interest_accrual` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_interest_accrual::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 791_000 picoseconds. - Weight::from_parts(164_950, 0) + // Minimum execution time: 741_000 picoseconds. + Weight::from_parts(89_162, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 465 - .saturating_add(Weight::from_parts(729_925, 0).saturating_mul(n.into())) + // Standard Error: 717 + .saturating_add(Weight::from_parts(733_327, 0).saturating_mul(n.into())) } } diff --git a/runtime/centrifuge/src/weights/pallet_investments.rs b/runtime/centrifuge/src/weights/pallet_investments.rs index 2a6edaa5e8..8184a4ae06 100644 --- a/runtime/centrifuge/src/weights/pallet_investments.rs +++ b/runtime/centrifuge/src/weights/pallet_investments.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_investments` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -51,8 +51,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2057` // Estimated: `6198` - // Minimum execution time: 93_985_000 picoseconds. - Weight::from_parts(95_147_000, 0) + // Minimum execution time: 89_498_000 picoseconds. + Weight::from_parts(91_311_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1981` // Estimated: `6198` - // Minimum execution time: 93_976_000 picoseconds. - Weight::from_parts(94_897_000, 0) + // Minimum execution time: 90_960_000 picoseconds. + Weight::from_parts(92_153_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -104,11 +104,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2388 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 103_373_000 picoseconds. - Weight::from_parts(99_437_572, 0) + // Minimum execution time: 100_228_000 picoseconds. + Weight::from_parts(95_557_639, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 19_681 - .saturating_add(Weight::from_parts(5_637_768, 0).saturating_mul(n.into())) + // Standard Error: 23_625 + .saturating_add(Weight::from_parts(5_469_119, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -135,11 +135,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2397 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 100_808_000 picoseconds. - Weight::from_parts(95_697_939, 0) + // Minimum execution time: 95_620_000 picoseconds. + Weight::from_parts(91_778_514, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 19_798 - .saturating_add(Weight::from_parts(5_639_662, 0).saturating_mul(n.into())) + // Standard Error: 19_492 + .saturating_add(Weight::from_parts(5_288_939, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/centrifuge/src/weights/pallet_keystore.rs b/runtime/centrifuge/src/weights/pallet_keystore.rs index 074c2e85de..34a97b21bb 100644 --- a/runtime/centrifuge/src/weights/pallet_keystore.rs +++ b/runtime/centrifuge/src/weights/pallet_keystore.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_keystore` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -44,11 +44,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `216` // Estimated: `3593 + n * (2595 ±0)` - // Minimum execution time: 37_760_000 picoseconds. - Weight::from_parts(16_409_452, 0) + // Minimum execution time: 36_478_000 picoseconds. + Weight::from_parts(16_574_792, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 9_527 - .saturating_add(Weight::from_parts(22_637_672, 0).saturating_mul(n.into())) + // Standard Error: 13_913 + .saturating_add(Weight::from_parts(21_570_952, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -62,11 +62,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114 + n * (75 ±0)` // Estimated: `990 + n * (2595 ±0)` - // Minimum execution time: 17_162_000 picoseconds. - Weight::from_parts(8_240_640, 0) + // Minimum execution time: 16_942_000 picoseconds. + Weight::from_parts(8_113_503, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 15_142 - .saturating_add(Weight::from_parts(9_969_400, 0).saturating_mul(n.into())) + // Standard Error: 16_035 + .saturating_add(Weight::from_parts(9_802_427, 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, 2595).saturating_mul(n.into())) @@ -77,8 +77,8 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_244_000 picoseconds. - Weight::from_parts(7_645_000, 0) + // Minimum execution time: 7_003_000 picoseconds. + Weight::from_parts(7_424_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_liquidity_rewards.rs b/runtime/centrifuge/src/weights/pallet_liquidity_rewards.rs index 88c7aa8513..4aebee7ffe 100644 --- a/runtime/centrifuge/src/weights/pallet_liquidity_rewards.rs +++ b/runtime/centrifuge/src/weights/pallet_liquidity_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_liquidity_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -42,15 +42,15 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `262` // Estimated: `1493` - // Minimum execution time: 6_501_000 picoseconds. - Weight::from_parts(6_914_210, 0) + // Minimum execution time: 6_281_000 picoseconds. + Weight::from_parts(6_545_592, 0) .saturating_add(Weight::from_parts(0, 1493)) - // Standard Error: 473 - .saturating_add(Weight::from_parts(1_250, 0).saturating_mul(x.into())) - // Standard Error: 194 - .saturating_add(Weight::from_parts(626, 0).saturating_mul(y.into())) - // Standard Error: 194 - .saturating_add(Weight::from_parts(7_112, 0).saturating_mul(z.into())) + // Standard Error: 446 + .saturating_add(Weight::from_parts(873, 0).saturating_mul(x.into())) + // Standard Error: 182 + .saturating_add(Weight::from_parts(1_542, 0).saturating_mul(y.into())) + // Standard Error: 182 + .saturating_add(Weight::from_parts(8_809, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) } /// Storage: `LiquidityRewardsBase::Currency` (r:1 w:1) @@ -67,8 +67,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `467` // Estimated: `4407` - // Minimum execution time: 36_218_000 picoseconds. - Weight::from_parts(37_270_000, 0) + // Minimum execution time: 35_216_000 picoseconds. + Weight::from_parts(35_827_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -83,8 +83,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `176` // Estimated: `4328` - // Minimum execution time: 24_386_000 picoseconds. - Weight::from_parts(25_398_000, 0) + // Minimum execution time: 23_544_000 picoseconds. + Weight::from_parts(24_356_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -101,8 +101,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `449` // Estimated: `4328` - // Minimum execution time: 51_947_000 picoseconds. - Weight::from_parts(53_051_000, 0) + // Minimum execution time: 49_503_000 picoseconds. + Weight::from_parts(50_525_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -113,8 +113,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_522_000 picoseconds. - Weight::from_parts(6_903_000, 0) + // Minimum execution time: 6_272_000 picoseconds. + Weight::from_parts(6_603_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_492_000 picoseconds. - Weight::from_parts(6_773_000, 0) + // Minimum execution time: 6_252_000 picoseconds. + Weight::from_parts(6_532_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_823_000 picoseconds. - Weight::from_parts(6_923_000, 0) + // Minimum execution time: 6_442_000 picoseconds. + Weight::from_parts(6_722_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_773_000 picoseconds. - Weight::from_parts(7_103_000, 0) + // Minimum execution time: 6_633_000 picoseconds. + Weight::from_parts(6_923_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_loans.rs b/runtime/centrifuge/src/weights/pallet_loans.rs index 09cc66a1d7..658e17c98a 100644 --- a/runtime/centrifuge/src/weights/pallet_loans.rs +++ b/runtime/centrifuge/src/weights/pallet_loans.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_loans` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -53,8 +53,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1228` // Estimated: `4278` - // Minimum execution time: 74_619_000 picoseconds. - Weight::from_parts(76_393_000, 0) + // Minimum execution time: 72_245_000 picoseconds. + Weight::from_parts(74_249_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -84,11 +84,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `38081 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 257_271_000 picoseconds. - Weight::from_parts(271_593_289, 0) + // Minimum execution time: 257_563_000 picoseconds. + Weight::from_parts(272_292_416, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 56_742 - .saturating_add(Weight::from_parts(66_655, 0).saturating_mul(n.into())) + // Standard Error: 63_683 + .saturating_add(Weight::from_parts(757_913, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(7)) } @@ -115,11 +115,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `38267 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 191_979_000 picoseconds. - Weight::from_parts(195_609_642, 0) + // Minimum execution time: 190_737_000 picoseconds. + Weight::from_parts(196_104_492, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 24_834 - .saturating_add(Weight::from_parts(914_255, 0).saturating_mul(n.into())) + // Standard Error: 51_181 + .saturating_add(Weight::from_parts(1_197_771, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -140,11 +140,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `41068 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 291_074_000 picoseconds. - Weight::from_parts(306_451_616, 0) + // Minimum execution time: 291_497_000 picoseconds. + Weight::from_parts(306_682_349, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 65_729 - .saturating_add(Weight::from_parts(889_240, 0).saturating_mul(n.into())) + // Standard Error: 72_881 + .saturating_add(Weight::from_parts(1_026_808, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -167,11 +167,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `41319 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 336_618_000 picoseconds. - Weight::from_parts(351_659_527, 0) + // Minimum execution time: 328_175_000 picoseconds. + Weight::from_parts(350_667_801, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 59_611 - .saturating_add(Weight::from_parts(790_271, 0).saturating_mul(n.into())) + // Standard Error: 114_376 + .saturating_add(Weight::from_parts(1_989_708, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -188,11 +188,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `971 + n * (316 ±0)` // Estimated: `376491` - // Minimum execution time: 41_297_000 picoseconds. - Weight::from_parts(42_125_690, 0) + // Minimum execution time: 40_055_000 picoseconds. + Weight::from_parts(40_474_606, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 5_612 - .saturating_add(Weight::from_parts(468_060, 0).saturating_mul(n.into())) + // Standard Error: 46_172 + .saturating_add(Weight::from_parts(1_100_611, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -215,11 +215,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37404 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 121_217_000 picoseconds. - Weight::from_parts(123_415_693, 0) + // Minimum execution time: 116_177_000 picoseconds. + Weight::from_parts(123_075_128, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 16_707 - .saturating_add(Weight::from_parts(571_387, 0).saturating_mul(n.into())) + // Standard Error: 39_333 + .saturating_add(Weight::from_parts(141_017, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -246,11 +246,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37264 + n * (373 ±0)` // Estimated: `376491` - // Minimum execution time: 134_531_000 picoseconds. - Weight::from_parts(142_641_726, 0) + // Minimum execution time: 133_891_000 picoseconds. + Weight::from_parts(144_621_878, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 26_601 - .saturating_add(Weight::from_parts(601_280, 0).saturating_mul(n.into())) + // Standard Error: 58_594 + .saturating_add(Weight::from_parts(2_131_881, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(8)) } @@ -266,8 +266,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `4278` - // Minimum execution time: 99_716_000 picoseconds. - Weight::from_parts(100_969_000, 0) + // Minimum execution time: 97_372_000 picoseconds. + Weight::from_parts(99_948_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -282,8 +282,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4854` // Estimated: `8649` - // Minimum execution time: 131_546_000 picoseconds. - Weight::from_parts(132_908_000, 0) + // Minimum execution time: 127_679_000 picoseconds. + Weight::from_parts(129_963_000, 0) .saturating_add(Weight::from_parts(0, 8649)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -307,11 +307,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `36953 + n * (353 ±0)` // Estimated: `376491` - // Minimum execution time: 110_657_000 picoseconds. - Weight::from_parts(80_744_391, 0) + // Minimum execution time: 108_984_000 picoseconds. + Weight::from_parts(90_387_321, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 40_449 - .saturating_add(Weight::from_parts(34_591_694, 0).saturating_mul(n.into())) + // Standard Error: 51_006 + .saturating_add(Weight::from_parts(32_222_654, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -334,11 +334,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37071 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 306_813_000 picoseconds. - Weight::from_parts(320_875_517, 0) + // Minimum execution time: 317_194_000 picoseconds. + Weight::from_parts(336_146_318, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 85_096 - .saturating_add(Weight::from_parts(1_049_642, 0).saturating_mul(n.into())) + // Standard Error: 101_526 + .saturating_add(Weight::from_parts(1_508_571, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -363,11 +363,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37732 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 317_713_000 picoseconds. - Weight::from_parts(330_762_786, 0) + // Minimum execution time: 323_055_000 picoseconds. + Weight::from_parts(346_590_744, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 82_499 - .saturating_add(Weight::from_parts(726_621, 0).saturating_mul(n.into())) + // Standard Error: 95_473 + .saturating_add(Weight::from_parts(779_329, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -384,15 +384,13 @@ impl pallet_loans::WeightInfo for WeightInfo { /// Storage: `Loans::ActiveLoans` (r:1 w:1) /// Proof: `Loans::ActiveLoans` (`max_values`: None, `max_size`: Some(373026), added: 375501, mode: `MaxEncodedLen`) /// The range of component `n` is `[1, 9]`. - fn increase_debt(n: u32, ) -> Weight { + fn increase_debt(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `36731 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 200_694_000 picoseconds. - Weight::from_parts(213_050_296, 0) + // Minimum execution time: 200_756_000 picoseconds. + Weight::from_parts(223_830_693, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 68_417 - .saturating_add(Weight::from_parts(887_808, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) } diff --git a/runtime/centrifuge/src/weights/pallet_multisig.rs b/runtime/centrifuge/src/weights/pallet_multisig.rs index 684c0cb6f3..54ec42d734 100644 --- a/runtime/centrifuge/src/weights/pallet_multisig.rs +++ b/runtime/centrifuge/src/weights/pallet_multisig.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_multisig` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,11 +36,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_338_000 picoseconds. - Weight::from_parts(16_533_180, 0) + // Minimum execution time: 15_570_000 picoseconds. + Weight::from_parts(16_684_226, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 3 - .saturating_add(Weight::from_parts(574, 0).saturating_mul(z.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(552, 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`) @@ -50,13 +50,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 50_915_000 picoseconds. - Weight::from_parts(43_873_293, 0) + // Minimum execution time: 48_151_000 picoseconds. + Weight::from_parts(40_683_731, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 815 - .saturating_add(Weight::from_parts(91_909, 0).saturating_mul(s.into())) + // Standard Error: 749 + .saturating_add(Weight::from_parts(93_019, 0).saturating_mul(s.into())) // Standard Error: 7 - .saturating_add(Weight::from_parts(1_538, 0).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(1_670, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -68,13 +68,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 31_569_000 picoseconds. - Weight::from_parts(24_463_345, 0) + // Minimum execution time: 30_738_000 picoseconds. + Weight::from_parts(23_614_778, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 531 - .saturating_add(Weight::from_parts(82_688, 0).saturating_mul(s.into())) - // Standard Error: 5 - .saturating_add(Weight::from_parts(1_606, 0).saturating_mul(z.into())) + // Standard Error: 647 + .saturating_add(Weight::from_parts(84_794, 0).saturating_mul(s.into())) + // Standard Error: 6 + .saturating_add(Weight::from_parts(1_590, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -88,13 +88,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `456 + s * (33 ±0)` // Estimated: `6811` - // Minimum execution time: 57_838_000 picoseconds. - Weight::from_parts(47_255_589, 0) + // Minimum execution time: 57_438_000 picoseconds. + Weight::from_parts(45_380_535, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 768 - .saturating_add(Weight::from_parts(122_970, 0).saturating_mul(s.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_675, 0).saturating_mul(z.into())) + // Standard Error: 1_286 + .saturating_add(Weight::from_parts(131_154, 0).saturating_mul(s.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_749, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -105,11 +105,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 40_035_000 picoseconds. - Weight::from_parts(41_467_020, 0) + // Minimum execution time: 37_841_000 picoseconds. + Weight::from_parts(39_637_927, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 716 - .saturating_add(Weight::from_parts(90_922, 0).saturating_mul(s.into())) + // Standard Error: 807 + .saturating_add(Weight::from_parts(87_739, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -120,11 +120,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 21_891_000 picoseconds. - Weight::from_parts(22_563_240, 0) + // Minimum execution time: 20_559_000 picoseconds. + Weight::from_parts(21_737_096, 0) .saturating_add(Weight::from_parts(0, 6811)) // Standard Error: 568 - .saturating_add(Weight::from_parts(83_269, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(79_340, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -135,11 +135,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `520 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 41_267_000 picoseconds. - Weight::from_parts(42_346_960, 0) + // Minimum execution time: 38_903_000 picoseconds. + Weight::from_parts(40_412_893, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 606 - .saturating_add(Weight::from_parts(85_093, 0).saturating_mul(s.into())) + // Standard Error: 679 + .saturating_add(Weight::from_parts(86_231, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_oracle_collection.rs b/runtime/centrifuge/src/weights/pallet_oracle_collection.rs index bd0acee940..43889febd9 100644 --- a/runtime/centrifuge/src/weights/pallet_oracle_collection.rs +++ b/runtime/centrifuge/src/weights/pallet_oracle_collection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_collection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -42,11 +42,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `222` // Estimated: `3693` - // Minimum execution time: 24_276_000 picoseconds. - Weight::from_parts(24_755_058, 0) + // Minimum execution time: 24_065_000 picoseconds. + Weight::from_parts(24_511_801, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 8_436 - .saturating_add(Weight::from_parts(511_561, 0).saturating_mul(n.into())) + // Standard Error: 8_678 + .saturating_add(Weight::from_parts(563_504, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -63,11 +63,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `657 + n * (34 ±0)` // Estimated: `8649` - // Minimum execution time: 35_065_000 picoseconds. - Weight::from_parts(35_541_621, 0) + // Minimum execution time: 34_054_000 picoseconds. + Weight::from_parts(34_776_162, 0) .saturating_add(Weight::from_parts(0, 8649)) - // Standard Error: 8_931 - .saturating_add(Weight::from_parts(522_188, 0).saturating_mul(n.into())) + // Standard Error: 11_125 + .saturating_add(Weight::from_parts(503_536, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -90,14 +90,14 @@ impl pallet_oracle_collection::WeightInfo for WeightInf fn update_collection(n: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (326 ±0) + n * (5851 ±0)` - // Estimated: `16920 + m * (6039 ±164) + n * (100600 ±3_323)` - // Minimum execution time: 129_342_000 picoseconds. - Weight::from_parts(130_825_000, 0) + // Estimated: `16920 + m * (6039 ±0) + n * (100600 ±3_323)` + // Minimum execution time: 127_009_000 picoseconds. + Weight::from_parts(128_011_000, 0) .saturating_add(Weight::from_parts(0, 16920)) - // Standard Error: 15_277_105 - .saturating_add(Weight::from_parts(473_216_566, 0).saturating_mul(n.into())) - // Standard Error: 756_691 - .saturating_add(Weight::from_parts(30_611_211, 0).saturating_mul(m.into())) + // Standard Error: 14_835_526 + .saturating_add(Weight::from_parts(460_389_375, 0).saturating_mul(n.into())) + // Standard Error: 734_819 + .saturating_add(Weight::from_parts(29_532_475, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().reads((31_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(m.into()))) diff --git a/runtime/centrifuge/src/weights/pallet_oracle_feed.rs b/runtime/centrifuge/src/weights/pallet_oracle_feed.rs index 8bd62c36d7..a621adda11 100644 --- a/runtime/centrifuge/src/weights/pallet_oracle_feed.rs +++ b/runtime/centrifuge/src/weights/pallet_oracle_feed.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_feed` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `387` // Estimated: `4176` - // Minimum execution time: 50_644_000 picoseconds. - Weight::from_parts(51_506_000, 0) + // Minimum execution time: 48_572_000 picoseconds. + Weight::from_parts(49_794_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -55,8 +55,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `413` // Estimated: `4176` - // Minimum execution time: 19_166_000 picoseconds. - Weight::from_parts(19_607_000, 0) + // Minimum execution time: 18_796_000 picoseconds. + Weight::from_parts(19_276_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_order_book.rs b/runtime/centrifuge/src/weights/pallet_order_book.rs index fb6f1f781c..8538a8ce7e 100644 --- a/runtime/centrifuge/src/weights/pallet_order_book.rs +++ b/runtime/centrifuge/src/weights/pallet_order_book.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_order_book` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `692` // Estimated: `4407` - // Minimum execution time: 45_916_000 picoseconds. - Weight::from_parts(47_449_000, 0) + // Minimum execution time: 44_163_000 picoseconds. + Weight::from_parts(45_125_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) @@ -61,8 +61,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `896` // Estimated: `4407` - // Minimum execution time: 44_593_000 picoseconds. - Weight::from_parts(45_495_000, 0) + // Minimum execution time: 42_991_000 picoseconds. + Weight::from_parts(44_083_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -79,8 +79,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `896` // Estimated: `4407` - // Minimum execution time: 47_599_000 picoseconds. - Weight::from_parts(48_360_000, 0) + // Minimum execution time: 45_827_000 picoseconds. + Weight::from_parts(47_299_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -105,8 +105,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1628` // Estimated: `11406` - // Minimum execution time: 148_507_000 picoseconds. - Weight::from_parts(150_471_000, 0) + // Minimum execution time: 140_194_000 picoseconds. + Weight::from_parts(143_400_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) @@ -117,8 +117,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_285_000 picoseconds. - Weight::from_parts(8_867_000, 0) + // Minimum execution time: 8_487_000 picoseconds. + Weight::from_parts(8_967_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_permissions.rs b/runtime/centrifuge/src/weights/pallet_permissions.rs index 5f7fd5cc64..94a1f0c7bb 100644 --- a/runtime/centrifuge/src/weights/pallet_permissions.rs +++ b/runtime/centrifuge/src/weights/pallet_permissions.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_permissions` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3693` - // Minimum execution time: 16_992_000 picoseconds. - Weight::from_parts(17_683_000, 0) + // Minimum execution time: 16_381_000 picoseconds. + Weight::from_parts(17_563_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `6396` - // Minimum execution time: 24_876_000 picoseconds. - Weight::from_parts(25_528_000, 0) + // Minimum execution time: 23_815_000 picoseconds. + Weight::from_parts(24_586_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -67,8 +67,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `3693` - // Minimum execution time: 20_128_000 picoseconds. - Weight::from_parts(20_548_000, 0) + // Minimum execution time: 19_688_000 picoseconds. + Weight::from_parts(20_328_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -81,8 +81,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `6396` - // Minimum execution time: 27_151_000 picoseconds. - Weight::from_parts(27_842_000, 0) + // Minimum execution time: 25_828_000 picoseconds. + Weight::from_parts(26_590_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -93,8 +93,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_081_000 picoseconds. - Weight::from_parts(17_573_000, 0) + // Minimum execution time: 16_581_000 picoseconds. + Weight::from_parts(17_122_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -105,8 +105,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_492_000 picoseconds. - Weight::from_parts(18_124_000, 0) + // Minimum execution time: 16_941_000 picoseconds. + Weight::from_parts(17_493_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/weights/pallet_pool_fees.rs b/runtime/centrifuge/src/weights/pallet_pool_fees.rs index a02e2d1026..69aa87f380 100644 --- a/runtime/centrifuge/src/weights/pallet_pool_fees.rs +++ b/runtime/centrifuge/src/weights/pallet_pool_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `581` // Estimated: `4278` - // Minimum execution time: 35_577_000 picoseconds. - Weight::from_parts(36_578_000, 0) + // Minimum execution time: 33_413_000 picoseconds. + Weight::from_parts(34_144_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -66,11 +66,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1395 + n * (137 ±0)` // Estimated: `17508` - // Minimum execution time: 56_726_000 picoseconds. - Weight::from_parts(57_282_882, 0) + // Minimum execution time: 54_553_000 picoseconds. + Weight::from_parts(55_058_389, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 1_865 - .saturating_add(Weight::from_parts(289_067, 0).saturating_mul(n.into())) + // Standard Error: 2_580 + .saturating_add(Weight::from_parts(303_267, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -85,11 +85,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `709 + n * (136 ±0)` // Estimated: `17508` - // Minimum execution time: 34_966_000 picoseconds. - Weight::from_parts(37_186_153, 0) + // Minimum execution time: 32_862_000 picoseconds. + Weight::from_parts(35_714_635, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 3_901 - .saturating_add(Weight::from_parts(428_616, 0).saturating_mul(n.into())) + // Standard Error: 3_943 + .saturating_add(Weight::from_parts(441_978, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -102,11 +102,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `795 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 24_425_000 picoseconds. - Weight::from_parts(24_164_408, 0) + // Minimum execution time: 23_264_000 picoseconds. + Weight::from_parts(22_897_227, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_222 - .saturating_add(Weight::from_parts(262_898, 0).saturating_mul(n.into())) + // Standard Error: 2_298 + .saturating_add(Weight::from_parts(273_423, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -119,11 +119,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `795 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 23_915_000 picoseconds. - Weight::from_parts(23_620_971, 0) + // Minimum execution time: 22_613_000 picoseconds. + Weight::from_parts(22_567_812, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_185 - .saturating_add(Weight::from_parts(260_376, 0).saturating_mul(n.into())) + // Standard Error: 2_083 + .saturating_add(Weight::from_parts(264_856, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -142,11 +142,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `603 + n * (124 ±0)` // Estimated: `17508` - // Minimum execution time: 42_099_000 picoseconds. - Weight::from_parts(39_371_621, 0) + // Minimum execution time: 39_604_000 picoseconds. + Weight::from_parts(36_657_966, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 3_636 - .saturating_add(Weight::from_parts(2_980_612, 0).saturating_mul(n.into())) + // Standard Error: 4_666 + .saturating_add(Weight::from_parts(2_945_593, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/centrifuge/src/weights/pallet_pool_registry.rs b/runtime/centrifuge/src/weights/pallet_pool_registry.rs index 83b032d6bc..3d5d24d6c5 100644 --- a/runtime/centrifuge/src/weights/pallet_pool_registry.rs +++ b/runtime/centrifuge/src/weights/pallet_pool_registry.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_registry` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -67,11 +67,11 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `595` // Estimated: `17508 + m * (2508 ±0) + n * (3417 ±0)` - // Minimum execution time: 207_187_000 picoseconds. - Weight::from_parts(134_932_487, 0) + // Minimum execution time: 200_757_000 picoseconds. + Weight::from_parts(129_235_710, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 83_180 - .saturating_add(Weight::from_parts(24_022_038, 0).saturating_mul(m.into())) + // Standard Error: 84_710 + .saturating_add(Weight::from_parts(23_287_625, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -101,13 +101,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `957 + m * (124 ±0) + n * (133 ±0)` // Estimated: `17508 + n * (2531 ±0)` - // Minimum execution time: 60_493_000 picoseconds. - Weight::from_parts(50_920_021, 0) + // Minimum execution time: 58_350_000 picoseconds. + Weight::from_parts(49_218_674, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 34_654 - .saturating_add(Weight::from_parts(2_983_125, 0).saturating_mul(n.into())) - // Standard Error: 1_581 - .saturating_add(Weight::from_parts(208_639, 0).saturating_mul(m.into())) + // Standard Error: 39_378 + .saturating_add(Weight::from_parts(2_932_409, 0).saturating_mul(n.into())) + // Standard Error: 1_796 + .saturating_add(Weight::from_parts(217_586, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -135,13 +135,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `960 + m * (124 ±0) + n * (200 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 100_818_000 picoseconds. - Weight::from_parts(70_751_268, 0) + // Minimum execution time: 98_896_000 picoseconds. + Weight::from_parts(69_289_463, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 41_555 - .saturating_add(Weight::from_parts(10_532_795, 0).saturating_mul(n.into())) - // Standard Error: 1_896 - .saturating_add(Weight::from_parts(220_140, 0).saturating_mul(m.into())) + // Standard Error: 45_486 + .saturating_add(Weight::from_parts(9_959_080, 0).saturating_mul(n.into())) + // Standard Error: 2_075 + .saturating_add(Weight::from_parts(233_646, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -167,13 +167,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `948 + m * (124 ±0) + n * (227 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 92_523_000 picoseconds. - Weight::from_parts(62_401_403, 0) + // Minimum execution time: 90_741_000 picoseconds. + Weight::from_parts(59_789_066, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 45_703 - .saturating_add(Weight::from_parts(11_004_977, 0).saturating_mul(n.into())) - // Standard Error: 2_085 - .saturating_add(Weight::from_parts(214_718, 0).saturating_mul(m.into())) + // Standard Error: 44_665 + .saturating_add(Weight::from_parts(10_744_368, 0).saturating_mul(n.into())) + // Standard Error: 2_038 + .saturating_add(Weight::from_parts(222_202, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -189,13 +189,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 18_926_000 picoseconds. - Weight::from_parts(19_576_499, 0) + // Minimum execution time: 18_334_000 picoseconds. + Weight::from_parts(18_863_972, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 670 - .saturating_add(Weight::from_parts(8_248, 0).saturating_mul(n.into())) - // Standard Error: 311 - .saturating_add(Weight::from_parts(21_318, 0).saturating_mul(m.into())) + // Standard Error: 1_004 + .saturating_add(Weight::from_parts(7_583, 0).saturating_mul(n.into())) + // Standard Error: 466 + .saturating_add(Weight::from_parts(26_619, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_pool_system.rs b/runtime/centrifuge/src/weights/pallet_pool_system.rs index abf51c4efc..f9b5ca9ea4 100644 --- a/runtime/centrifuge/src/weights/pallet_pool_system.rs +++ b/runtime/centrifuge/src/weights/pallet_pool_system.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -40,11 +40,11 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `554` // Estimated: `4278` - // Minimum execution time: 24_495_000 picoseconds. - Weight::from_parts(25_394_511, 0) + // Minimum execution time: 23_063_000 picoseconds. + Weight::from_parts(24_251_823, 0) .saturating_add(Weight::from_parts(0, 4278)) - // Standard Error: 442 - .saturating_add(Weight::from_parts(28_512, 0).saturating_mul(m.into())) + // Standard Error: 462 + .saturating_add(Weight::from_parts(33_667, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -90,13 +90,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1216 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 436_896_000 picoseconds. - Weight::from_parts(81_585_373, 0) + // Minimum execution time: 417_964_000 picoseconds. + Weight::from_parts(78_260_784, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 123_362 - .saturating_add(Weight::from_parts(71_083_398, 0).saturating_mul(n.into())) - // Standard Error: 5_697 - .saturating_add(Weight::from_parts(3_386_226, 0).saturating_mul(m.into())) + // Standard Error: 115_710 + .saturating_add(Weight::from_parts(67_979_368, 0).saturating_mul(n.into())) + // Standard Error: 5_343 + .saturating_add(Weight::from_parts(3_332_748, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -139,13 +139,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1428 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2531 ±0)` - // Minimum execution time: 223_157_000 picoseconds. - Weight::from_parts(91_267_466, 0) + // Minimum execution time: 215_163_000 picoseconds. + Weight::from_parts(88_990_599, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 84_017 - .saturating_add(Weight::from_parts(27_905_302, 0).saturating_mul(n.into())) - // Standard Error: 3_834 - .saturating_add(Weight::from_parts(3_184_077, 0).saturating_mul(m.into())) + // Standard Error: 86_631 + .saturating_add(Weight::from_parts(26_651_156, 0).saturating_mul(n.into())) + // Standard Error: 3_953 + .saturating_add(Weight::from_parts(3_123_311, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(5)) @@ -198,13 +198,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2120 + m * (124 ±0) + n * (167 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 531_753_000 picoseconds. - Weight::from_parts(177_037_674, 0) + // Minimum execution time: 509_738_000 picoseconds. + Weight::from_parts(169_577_571, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 151_845 - .saturating_add(Weight::from_parts(73_612_531, 0).saturating_mul(n.into())) - // Standard Error: 6_929 - .saturating_add(Weight::from_parts(3_395_975, 0).saturating_mul(m.into())) + // Standard Error: 140_624 + .saturating_add(Weight::from_parts(70_438_828, 0).saturating_mul(n.into())) + // Standard Error: 6_417 + .saturating_add(Weight::from_parts(3_359_889, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(14)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(10)) @@ -223,13 +223,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `821 + m * (124 ±0) + n * (249 ±0)` // Estimated: `17508` - // Minimum execution time: 39_494_000 picoseconds. - Weight::from_parts(34_485_549, 0) + // Minimum execution time: 37_831_000 picoseconds. + Weight::from_parts(33_439_924, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 33_558 - .saturating_add(Weight::from_parts(1_408_318, 0).saturating_mul(n.into())) - // Standard Error: 1_531 - .saturating_add(Weight::from_parts(202_749, 0).saturating_mul(m.into())) + // Standard Error: 36_364 + .saturating_add(Weight::from_parts(1_410_469, 0).saturating_mul(n.into())) + // Standard Error: 1_659 + .saturating_add(Weight::from_parts(204_902, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -273,13 +273,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2042 + m * (124 ±0) + n * (633 ±0)` // Estimated: `17508 + n * (2604 ±0)` - // Minimum execution time: 241_661_000 picoseconds. - Weight::from_parts(150_024_240, 0) + // Minimum execution time: 234_841_000 picoseconds. + Weight::from_parts(143_881_436, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 92_293 - .saturating_add(Weight::from_parts(55_452_128, 0).saturating_mul(n.into())) - // Standard Error: 4_211 - .saturating_add(Weight::from_parts(392_999, 0).saturating_mul(m.into())) + // Standard Error: 122_072 + .saturating_add(Weight::from_parts(53_674_575, 0).saturating_mul(n.into())) + // Standard Error: 5_570 + .saturating_add(Weight::from_parts(408_633, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/centrifuge/src/weights/pallet_preimage.rs b/runtime/centrifuge/src/weights/pallet_preimage.rs index f7f83d8228..23fa2049f1 100644 --- a/runtime/centrifuge/src/weights/pallet_preimage.rs +++ b/runtime/centrifuge/src/weights/pallet_preimage.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_preimage` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -44,11 +44,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3568` - // Minimum execution time: 67_957_000 picoseconds. - Weight::from_parts(68_688_000, 0) + // Minimum execution time: 64_912_000 picoseconds. + Weight::from_parts(223_825_822, 0) .saturating_add(Weight::from_parts(0, 3568)) - // Standard Error: 10 - .saturating_add(Weight::from_parts(2_734, 0).saturating_mul(s.into())) + // Standard Error: 23 + .saturating_add(Weight::from_parts(2_548, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -63,11 +63,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 22_232_000 picoseconds. - Weight::from_parts(22_442_000, 0) + // Minimum execution time: 21_650_000 picoseconds. + Weight::from_parts(21_941_000, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(2_861, 0).saturating_mul(s.into())) + // Standard Error: 5 + .saturating_add(Weight::from_parts(2_868, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -82,11 +82,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 21_240_000 picoseconds. - Weight::from_parts(21_380_000, 0) + // Minimum execution time: 20_047_000 picoseconds. + Weight::from_parts(20_708_000, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 10 - .saturating_add(Weight::from_parts(2_811, 0).saturating_mul(s.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(2_817, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -102,8 +102,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3568` - // Minimum execution time: 67_567_000 picoseconds. - Weight::from_parts(71_203_000, 0) + // Minimum execution time: 68_198_000 picoseconds. + Weight::from_parts(74_209_000, 0) .saturating_add(Weight::from_parts(0, 3568)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -118,8 +118,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 29_836_000 picoseconds. - Weight::from_parts(31_940_000, 0) + // Minimum execution time: 33_683_000 picoseconds. + Weight::from_parts(37_791_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -132,8 +132,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `222` // Estimated: `3556` - // Minimum execution time: 22_872_000 picoseconds. - Weight::from_parts(24_416_000, 0) + // Minimum execution time: 31_008_000 picoseconds. + Weight::from_parts(36_458_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -146,8 +146,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 17_282_000 picoseconds. - Weight::from_parts(18_875_000, 0) + // Minimum execution time: 18_826_000 picoseconds. + Weight::from_parts(23_303_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -160,8 +160,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3556` - // Minimum execution time: 18_846_000 picoseconds. - Weight::from_parts(19_627_000, 0) + // Minimum execution time: 18_274_000 picoseconds. + Weight::from_parts(18_855_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -174,8 +174,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_816_000 picoseconds. - Weight::from_parts(14_387_000, 0) + // Minimum execution time: 13_555_000 picoseconds. + Weight::from_parts(14_067_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -190,8 +190,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 25_207_000 picoseconds. - Weight::from_parts(26_880_000, 0) + // Minimum execution time: 27_862_000 picoseconds. + Weight::from_parts(39_915_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -204,8 +204,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_846_000 picoseconds. - Weight::from_parts(14_167_000, 0) + // Minimum execution time: 13_566_000 picoseconds. + Weight::from_parts(14_096_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -218,8 +218,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_835_000 picoseconds. - Weight::from_parts(14_246_000, 0) + // Minimum execution time: 13_405_000 picoseconds. + Weight::from_parts(14_096_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -237,11 +237,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `404 + n * (227 ±0)` // Estimated: `990 + n * (2603 ±0)` - // Minimum execution time: 77_144_000 picoseconds. - Weight::from_parts(77_675_000, 0) + // Minimum execution time: 73_828_000 picoseconds. + Weight::from_parts(74_429_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 35_892 - .saturating_add(Weight::from_parts(75_015_178, 0).saturating_mul(n.into())) + // Standard Error: 45_495 + .saturating_add(Weight::from_parts(71_291_783, 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())) diff --git a/runtime/centrifuge/src/weights/pallet_proxy.rs b/runtime/centrifuge/src/weights/pallet_proxy.rs index 416c369eb9..0cf895469e 100644 --- a/runtime/centrifuge/src/weights/pallet_proxy.rs +++ b/runtime/centrifuge/src/weights/pallet_proxy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 18_384_000 picoseconds. - Weight::from_parts(19_097_838, 0) + // Minimum execution time: 17_813_000 picoseconds. + Weight::from_parts(18_577_071, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_242 - .saturating_add(Weight::from_parts(47_304, 0).saturating_mul(p.into())) + // Standard Error: 1_156 + .saturating_add(Weight::from_parts(46_335, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `Proxy::Proxies` (r:1 w:0) @@ -57,13 +57,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `620 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 48_761_000 picoseconds. - Weight::from_parts(49_720_241, 0) + // Minimum execution time: 47_670_000 picoseconds. + Weight::from_parts(48_087_732, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 4_236 - .saturating_add(Weight::from_parts(198_243, 0).saturating_mul(a.into())) - // Standard Error: 4_377 - .saturating_add(Weight::from_parts(27_827, 0).saturating_mul(p.into())) + // Standard Error: 4_339 + .saturating_add(Weight::from_parts(202_543, 0).saturating_mul(a.into())) + // Standard Error: 4_483 + .saturating_add(Weight::from_parts(29_219, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -77,11 +77,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 31_219_000 picoseconds. - Weight::from_parts(32_252_523, 0) + // Minimum execution time: 29_926_000 picoseconds. + Weight::from_parts(31_355_299, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_985 - .saturating_add(Weight::from_parts(226_389, 0).saturating_mul(a.into())) + // Standard Error: 2_008 + .saturating_add(Weight::from_parts(228_005, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -95,11 +95,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 30_968_000 picoseconds. - Weight::from_parts(32_225_799, 0) + // Minimum execution time: 29_666_000 picoseconds. + Weight::from_parts(31_218_837, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_898 - .saturating_add(Weight::from_parts(222_682, 0).saturating_mul(a.into())) + // Standard Error: 2_031 + .saturating_add(Weight::from_parts(230_395, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -115,13 +115,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `552 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 41_467_000 picoseconds. - Weight::from_parts(43_094_252, 0) + // Minimum execution time: 40_436_000 picoseconds. + Weight::from_parts(42_702_902, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 4_013 - .saturating_add(Weight::from_parts(218_559, 0).saturating_mul(a.into())) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(44_158, 0).saturating_mul(p.into())) + // Standard Error: 4_178 + .saturating_add(Weight::from_parts(216_231, 0).saturating_mul(a.into())) + // Standard Error: 4_317 + .saturating_add(Weight::from_parts(29_017, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -132,11 +132,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_695_000 picoseconds. - Weight::from_parts(30_725_974, 0) + // Minimum execution time: 28_282_000 picoseconds. + Weight::from_parts(29_359_603, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_268 - .saturating_add(Weight::from_parts(41_910, 0).saturating_mul(p.into())) + // Standard Error: 1_329 + .saturating_add(Weight::from_parts(55_597, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -147,11 +147,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_635_000 picoseconds. - Weight::from_parts(31_078_426, 0) + // Minimum execution time: 28_323_000 picoseconds. + Weight::from_parts(30_007_051, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 2_453 - .saturating_add(Weight::from_parts(33_692, 0).saturating_mul(p.into())) + // Standard Error: 2_255 + .saturating_add(Weight::from_parts(37_487, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -162,11 +162,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 28_854_000 picoseconds. - Weight::from_parts(29_891_464, 0) + // Minimum execution time: 27_512_000 picoseconds. + Weight::from_parts(28_578_784, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_510 - .saturating_add(Weight::from_parts(34_316, 0).saturating_mul(p.into())) + // Standard Error: 1_282 + .saturating_add(Weight::from_parts(40_913, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -177,11 +177,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `305` // Estimated: `4706` - // Minimum execution time: 31_980_000 picoseconds. - Weight::from_parts(33_124_220, 0) + // Minimum execution time: 30_296_000 picoseconds. + Weight::from_parts(31_487_124, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_545 - .saturating_add(Weight::from_parts(9_586, 0).saturating_mul(p.into())) + // Standard Error: 1_323 + .saturating_add(Weight::from_parts(22_065, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -192,11 +192,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `330 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_976_000 picoseconds. - Weight::from_parts(31_111_792, 0) + // Minimum execution time: 28_444_000 picoseconds. + Weight::from_parts(29_900_842, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_519 - .saturating_add(Weight::from_parts(40_969, 0).saturating_mul(p.into())) + // Standard Error: 1_483 + .saturating_add(Weight::from_parts(46_997, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/centrifuge/src/weights/pallet_remarks.rs b/runtime/centrifuge/src/weights/pallet_remarks.rs index 8e7c1cf3bd..07c799efc4 100644 --- a/runtime/centrifuge/src/weights/pallet_remarks.rs +++ b/runtime/centrifuge/src/weights/pallet_remarks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_remarks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_remarks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_233_000 picoseconds. - Weight::from_parts(12_745_452, 0) + // Minimum execution time: 12_042_000 picoseconds. + Weight::from_parts(12_390_753, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_323 - .saturating_add(Weight::from_parts(129_352, 0).saturating_mul(n.into())) + // Standard Error: 2_357 + .saturating_add(Weight::from_parts(131_469, 0).saturating_mul(n.into())) } } diff --git a/runtime/centrifuge/src/weights/pallet_restricted_tokens.rs b/runtime/centrifuge/src/weights/pallet_restricted_tokens.rs index 83f01b7679..6f7cdf81b1 100644 --- a/runtime/centrifuge/src/weights/pallet_restricted_tokens.rs +++ b/runtime/centrifuge/src/weights/pallet_restricted_tokens.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_restricted_tokens` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 82_273_000 picoseconds. - Weight::from_parts(83_316_000, 0) + // Minimum execution time: 76_613_000 picoseconds. + Weight::from_parts(78_467_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 66_654_000 picoseconds. - Weight::from_parts(67_506_000, 0) + // Minimum execution time: 62_006_000 picoseconds. + Weight::from_parts(63_589_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -71,8 +71,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 71_644_000 picoseconds. - Weight::from_parts(73_167_000, 0) + // Minimum execution time: 66_023_000 picoseconds. + Weight::from_parts(67_887_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `753` // Estimated: `6198` - // Minimum execution time: 61_605_000 picoseconds. - Weight::from_parts(63_288_000, 0) + // Minimum execution time: 58_549_000 picoseconds. + Weight::from_parts(59_943_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -103,8 +103,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 85_871_000 picoseconds. - Weight::from_parts(87_754_000, 0) + // Minimum execution time: 79_539_000 picoseconds. + Weight::from_parts(81_653_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -121,8 +121,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 70_893_000 picoseconds. - Weight::from_parts(71_895_000, 0) + // Minimum execution time: 66_915_000 picoseconds. + Weight::from_parts(68_208_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `259` // Estimated: `3593` - // Minimum execution time: 72_526_000 picoseconds. - Weight::from_parts(74_039_000, 0) + // Minimum execution time: 67_556_000 picoseconds. + Weight::from_parts(69_019_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `610` // Estimated: `6198` - // Minimum execution time: 53_661_000 picoseconds. - Weight::from_parts(55_263_000, 0) + // Minimum execution time: 50_935_000 picoseconds. + Weight::from_parts(52_208_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -163,8 +163,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `300` // Estimated: `3593` - // Minimum execution time: 157_094_000 picoseconds. - Weight::from_parts(159_549_000, 0) + // Minimum execution time: 145_563_000 picoseconds. + Weight::from_parts(148_167_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -179,8 +179,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `400` // Estimated: `4407` - // Minimum execution time: 91_301_000 picoseconds. - Weight::from_parts(92_442_000, 0) + // Minimum execution time: 85_470_000 picoseconds. + Weight::from_parts(86_803_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/centrifuge/src/weights/pallet_scheduler.rs b/runtime/centrifuge/src/weights/pallet_scheduler.rs index 41579f944a..217d922fe6 100644 --- a/runtime/centrifuge/src/weights/pallet_scheduler.rs +++ b/runtime/centrifuge/src/weights/pallet_scheduler.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_scheduler` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31` // Estimated: `1489` - // Minimum execution time: 3_968_000 picoseconds. - Weight::from_parts(4_148_000, 0) + // Minimum execution time: 3_697_000 picoseconds. + Weight::from_parts(3_878_000, 0) .saturating_add(Weight::from_parts(0, 1489)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -50,11 +50,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 5_249_000 picoseconds. - Weight::from_parts(8_455_668, 0) + // Minimum execution time: 4_779_000 picoseconds. + Weight::from_parts(7_725_139, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 3_978 - .saturating_add(Weight::from_parts(613_461, 0).saturating_mul(s.into())) + // Standard Error: 3_631 + .saturating_add(Weight::from_parts(615_806, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -62,8 +62,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_970_000 picoseconds. - Weight::from_parts(5_120_000, 0) + // Minimum execution time: 4_619_000 picoseconds. + Weight::from_parts(4_829_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Preimage::PreimageFor` (r:1 w:1) @@ -77,11 +77,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `213 + s * (1 ±0)` // Estimated: `3678 + s * (1 ±0)` - // Minimum execution time: 25_228_000 picoseconds. - Weight::from_parts(25_808_000, 0) + // Minimum execution time: 23_854_000 picoseconds. + Weight::from_parts(24_276_000, 0) .saturating_add(Weight::from_parts(0, 3678)) - // Standard Error: 14 - .saturating_add(Weight::from_parts(1_379, 0).saturating_mul(s.into())) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_458, 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())) @@ -92,8 +92,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_264_000 picoseconds. - Weight::from_parts(7_554_000, 0) + // Minimum execution time: 7_033_000 picoseconds. + Weight::from_parts(7_404_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -101,24 +101,24 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_899_000 picoseconds. - Weight::from_parts(5_200_000, 0) + // Minimum execution time: 4_658_000 picoseconds. + Weight::from_parts(4_819_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: 3_887_000 picoseconds. - Weight::from_parts(4_138_000, 0) + // Minimum execution time: 3_767_000 picoseconds. + Weight::from_parts(3_978_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: 3_867_000 picoseconds. - Weight::from_parts(4_028_000, 0) + // Minimum execution time: 3_627_000 picoseconds. + Weight::from_parts(3_877_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Scheduler::Agenda` (r:1 w:1) @@ -128,11 +128,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 14_648_000 picoseconds. - Weight::from_parts(17_990_542, 0) + // Minimum execution time: 13_896_000 picoseconds. + Weight::from_parts(17_282_602, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 4_276 - .saturating_add(Weight::from_parts(629_105, 0).saturating_mul(s.into())) + // Standard Error: 3_612 + .saturating_add(Weight::from_parts(627_945, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -145,11 +145,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 20_208_000 picoseconds. - Weight::from_parts(18_944_972, 0) + // Minimum execution time: 19_387_000 picoseconds. + Weight::from_parts(17_554_146, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_325 - .saturating_add(Weight::from_parts(974_711, 0).saturating_mul(s.into())) + // Standard Error: 5_069 + .saturating_add(Weight::from_parts(1_007_033, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -162,11 +162,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `255 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 19_917_000 picoseconds. - Weight::from_parts(24_367_159, 0) + // Minimum execution time: 19_106_000 picoseconds. + Weight::from_parts(23_173_999, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 4_143 - .saturating_add(Weight::from_parts(664_976, 0).saturating_mul(s.into())) + // Standard Error: 4_417 + .saturating_add(Weight::from_parts(666_926, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -179,11 +179,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `281 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 23_364_000 picoseconds. - Weight::from_parts(22_474_466, 0) + // Minimum execution time: 22_622_000 picoseconds. + Weight::from_parts(21_334_664, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_379 - .saturating_add(Weight::from_parts(1_009_547, 0).saturating_mul(s.into())) + // Standard Error: 5_227 + .saturating_add(Weight::from_parts(1_031_161, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/centrifuge/src/weights/pallet_session.rs b/runtime/centrifuge/src/weights/pallet_session.rs index e5e44ff9f0..ab869f862f 100644 --- a/runtime/centrifuge/src/weights/pallet_session.rs +++ b/runtime/centrifuge/src/weights/pallet_session.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_session` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `308` // Estimated: `3773` - // Minimum execution time: 29_145_000 picoseconds. - Weight::from_parts(29_686_000, 0) + // Minimum execution time: 26_740_000 picoseconds. + Weight::from_parts(27_812_000, 0) .saturating_add(Weight::from_parts(0, 3773)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `3780` - // Minimum execution time: 18_775_000 picoseconds. - Weight::from_parts(19_285_000, 0) + // Minimum execution time: 17_773_000 picoseconds. + Weight::from_parts(18_475_000, 0) .saturating_add(Weight::from_parts(0, 3780)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/centrifuge/src/weights/pallet_timestamp.rs b/runtime/centrifuge/src/weights/pallet_timestamp.rs index 245c250d58..5449f496b1 100644 --- a/runtime/centrifuge/src/weights/pallet_timestamp.rs +++ b/runtime/centrifuge/src/weights/pallet_timestamp.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_timestamp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `223` // Estimated: `1493` - // Minimum execution time: 10_469_000 picoseconds. - Weight::from_parts(10_830_000, 0) + // Minimum execution time: 9_688_000 picoseconds. + Weight::from_parts(10_290_000, 0) .saturating_add(Weight::from_parts(0, 1493)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `128` // Estimated: `0` - // Minimum execution time: 4_629_000 picoseconds. - Weight::from_parts(4_799_000, 0) + // Minimum execution time: 4_628_000 picoseconds. + Weight::from_parts(4_819_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/centrifuge/src/weights/pallet_token_mux.rs b/runtime/centrifuge/src/weights/pallet_token_mux.rs index a949d39389..4155c81c82 100644 --- a/runtime/centrifuge/src/weights/pallet_token_mux.rs +++ b/runtime/centrifuge/src/weights/pallet_token_mux.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_token_mux` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `690` // Estimated: `8802` - // Minimum execution time: 99_926_000 picoseconds. - Weight::from_parts(100_939_000, 0) + // Minimum execution time: 95_309_000 picoseconds. + Weight::from_parts(96_782_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(6)) @@ -61,8 +61,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `980` // Estimated: `8802` - // Minimum execution time: 94_646_000 picoseconds. - Weight::from_parts(95_629_000, 0) + // Minimum execution time: 89_949_000 picoseconds. + Weight::from_parts(91_933_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) @@ -85,8 +85,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1326` // Estimated: `11406` - // Minimum execution time: 179_345_000 picoseconds. - Weight::from_parts(181_790_000, 0) + // Minimum execution time: 171_923_000 picoseconds. + Weight::from_parts(173_996_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/centrifuge/src/weights/pallet_transfer_allowlist.rs b/runtime/centrifuge/src/weights/pallet_transfer_allowlist.rs index 36bcc8c220..41b48360a6 100644 --- a/runtime/centrifuge/src/weights/pallet_transfer_allowlist.rs +++ b/runtime/centrifuge/src/weights/pallet_transfer_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_transfer_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `570` // Estimated: `4166` - // Minimum execution time: 89_497_000 picoseconds. - Weight::from_parts(91_170_000, 0) + // Minimum execution time: 82_805_000 picoseconds. + Weight::from_parts(85_580_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -65,8 +65,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `664` // Estimated: `4166` - // Minimum execution time: 91_241_000 picoseconds. - Weight::from_parts(93_384_000, 0) + // Minimum execution time: 86_272_000 picoseconds. + Weight::from_parts(87_865_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `246` // Estimated: `3557` - // Minimum execution time: 16_420_000 picoseconds. - Weight::from_parts(17_363_000, 0) + // Minimum execution time: 15_168_000 picoseconds. + Weight::from_parts(15_779_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `370` // Estimated: `3557` - // Minimum execution time: 19_176_000 picoseconds. - Weight::from_parts(19_786_000, 0) + // Minimum execution time: 18_104_000 picoseconds. + Weight::from_parts(18_675_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,8 +101,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `340` // Estimated: `3557` - // Minimum execution time: 18_474_000 picoseconds. - Weight::from_parts(19_256_000, 0) + // Minimum execution time: 17_934_000 picoseconds. + Weight::from_parts(18_445_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -113,8 +113,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 18_866_000 picoseconds. - Weight::from_parts(19_306_000, 0) + // Minimum execution time: 17_943_000 picoseconds. + Weight::from_parts(18_384_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 18_594_000 picoseconds. - Weight::from_parts(19_056_000, 0) + // Minimum execution time: 17_533_000 picoseconds. + Weight::from_parts(18_144_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `378` // Estimated: `3557` - // Minimum execution time: 19_146_000 picoseconds. - Weight::from_parts(19_897_000, 0) + // Minimum execution time: 18_565_000 picoseconds. + Weight::from_parts(19_236_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -151,8 +151,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `473` // Estimated: `4166` - // Minimum execution time: 30_778_000 picoseconds. - Weight::from_parts(31_509_000, 0) + // Minimum execution time: 29_846_000 picoseconds. + Weight::from_parts(30_748_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -165,8 +165,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `469` // Estimated: `4166` - // Minimum execution time: 30_928_000 picoseconds. - Weight::from_parts(31_579_000, 0) + // Minimum execution time: 29_405_000 picoseconds. + Weight::from_parts(30_407_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `848` // Estimated: `4166` - // Minimum execution time: 84_217_000 picoseconds. - Weight::from_parts(85_830_000, 0) + // Minimum execution time: 79_669_000 picoseconds. + Weight::from_parts(82_084_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -205,8 +205,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `887` // Estimated: `4166` - // Minimum execution time: 83_276_000 picoseconds. - Weight::from_parts(84_749_000, 0) + // Minimum execution time: 79_780_000 picoseconds. + Weight::from_parts(80_982_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/centrifuge/src/weights/pallet_uniques.rs b/runtime/centrifuge/src/weights/pallet_uniques.rs index 94833ecc03..e750b70881 100644 --- a/runtime/centrifuge/src/weights/pallet_uniques.rs +++ b/runtime/centrifuge/src/weights/pallet_uniques.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_uniques` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `249` // Estimated: `3647` - // Minimum execution time: 36_659_000 picoseconds. - Weight::from_parts(37_541_000, 0) + // Minimum execution time: 34_604_000 picoseconds. + Weight::from_parts(35_266_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3647` - // Minimum execution time: 16_871_000 picoseconds. - Weight::from_parts(17_242_000, 0) + // Minimum execution time: 15_990_000 picoseconds. + Weight::from_parts(16_871_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -82,15 +82,15 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `511 + a * (346 ±0) + m * (69 ±0) + n * (88 ±0)` // Estimated: `3647 + a * (3080 ±0) + m * (2806 ±0) + n * (2613 ±0)` - // Minimum execution time: 3_004_732_000 picoseconds. - Weight::from_parts(3_014_581_000, 0) + // Minimum execution time: 3_041_352_000 picoseconds. + Weight::from_parts(3_134_416_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(10_066_324, 0).saturating_mul(n.into())) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(276_468, 0).saturating_mul(m.into())) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(519_952, 0).saturating_mul(a.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(10_091_830, 0).saturating_mul(n.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(124_016, 0).saturating_mul(m.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(626_227, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -115,8 +115,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 46_878_000 picoseconds. - Weight::from_parts(47_749_000, 0) + // Minimum execution time: 44_894_000 picoseconds. + Weight::from_parts(45_665_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 49_442_000 picoseconds. - Weight::from_parts(50_063_000, 0) + // Minimum execution time: 46_186_000 picoseconds. + Weight::from_parts(47_589_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -151,8 +151,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 37_399_000 picoseconds. - Weight::from_parts(37_761_000, 0) + // Minimum execution time: 35_597_000 picoseconds. + Weight::from_parts(36_298_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -166,11 +166,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `821 + i * (88 ±0)` // Estimated: `3647 + i * (2613 ±0)` - // Minimum execution time: 16_952_000 picoseconds. - Weight::from_parts(17_132_000, 0) + // Minimum execution time: 15_720_000 picoseconds. + Weight::from_parts(16_070_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 14_760 - .saturating_add(Weight::from_parts(22_704_797, 0).saturating_mul(i.into())) + // Standard Error: 17_966 + .saturating_add(Weight::from_parts(21_830_006, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_314_000 picoseconds. - Weight::from_parts(23_925_000, 0) + // Minimum execution time: 22_101_000 picoseconds. + Weight::from_parts(22_652_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -199,8 +199,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_103_000 picoseconds. - Weight::from_parts(23_533_000, 0) + // Minimum execution time: 21_410_000 picoseconds. + Weight::from_parts(22_352_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -211,8 +211,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 15_069_000 picoseconds. - Weight::from_parts(15_489_000, 0) + // Minimum execution time: 14_498_000 picoseconds. + Weight::from_parts(15_049_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -223,8 +223,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 14_888_000 picoseconds. - Weight::from_parts(15_269_000, 0) + // Minimum execution time: 14_537_000 picoseconds. + Weight::from_parts(14_808_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -241,8 +241,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `638` // Estimated: `3647` - // Minimum execution time: 33_433_000 picoseconds. - Weight::from_parts(34_204_000, 0) + // Minimum execution time: 32_009_000 picoseconds. + Weight::from_parts(32_882_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -253,8 +253,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 15_369_000 picoseconds. - Weight::from_parts(15_860_000, 0) + // Minimum execution time: 14_517_000 picoseconds. + Weight::from_parts(15_359_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -267,8 +267,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 20_008_000 picoseconds. - Weight::from_parts(20_518_000, 0) + // Minimum execution time: 19_175_000 picoseconds. + Weight::from_parts(19_807_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -283,8 +283,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `4070` - // Minimum execution time: 53_901_000 picoseconds. - Weight::from_parts(54_763_000, 0) + // Minimum execution time: 51_366_000 picoseconds. + Weight::from_parts(52_178_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -299,8 +299,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1407` // Estimated: `4070` - // Minimum execution time: 51_977_000 picoseconds. - Weight::from_parts(52_808_000, 0) + // Minimum execution time: 49_583_000 picoseconds. + Weight::from_parts(50_404_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -313,8 +313,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `419` // Estimated: `3796` - // Minimum execution time: 37_340_000 picoseconds. - Weight::from_parts(38_342_000, 0) + // Minimum execution time: 35_165_000 picoseconds. + Weight::from_parts(36_227_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -327,8 +327,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `3796` - // Minimum execution time: 38_502_000 picoseconds. - Weight::from_parts(39_594_000, 0) + // Minimum execution time: 36_689_000 picoseconds. + Weight::from_parts(37_380_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -341,8 +341,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3764` - // Minimum execution time: 39_264_000 picoseconds. - Weight::from_parts(40_305_000, 0) + // Minimum execution time: 37_019_000 picoseconds. + Weight::from_parts(37_891_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -355,8 +355,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `676` // Estimated: `3764` - // Minimum execution time: 37_700_000 picoseconds. - Weight::from_parts(38_221_000, 0) + // Minimum execution time: 34_695_000 picoseconds. + Weight::from_parts(35_686_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -369,8 +369,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_664_000 picoseconds. - Weight::from_parts(24_105_000, 0) + // Minimum execution time: 22_522_000 picoseconds. + Weight::from_parts(23_073_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -383,8 +383,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `549` // Estimated: `3647` - // Minimum execution time: 23_874_000 picoseconds. - Weight::from_parts(24_255_000, 0) + // Minimum execution time: 22_262_000 picoseconds. + Weight::from_parts(22_883_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -395,8 +395,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3521` - // Minimum execution time: 17_633_000 picoseconds. - Weight::from_parts(18_184_000, 0) + // Minimum execution time: 16_982_000 picoseconds. + Weight::from_parts(17_523_000, 0) .saturating_add(Weight::from_parts(0, 3521)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -409,8 +409,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 19_627_000 picoseconds. - Weight::from_parts(20_148_000, 0) + // Minimum execution time: 18_705_000 picoseconds. + Weight::from_parts(19_387_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -423,8 +423,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `343` // Estimated: `3603` - // Minimum execution time: 18_915_000 picoseconds. - Weight::from_parts(19_457_000, 0) + // Minimum execution time: 18_214_000 picoseconds. + Weight::from_parts(18_855_000, 0) .saturating_add(Weight::from_parts(0, 3603)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -441,8 +441,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `645` // Estimated: `3647` - // Minimum execution time: 47_038_000 picoseconds. - Weight::from_parts(48_631_000, 0) + // Minimum execution time: 44_143_000 picoseconds. + Weight::from_parts(45_436_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/centrifuge/src/weights/pallet_utility.rs b/runtime/centrifuge/src/weights/pallet_utility.rs index dd180f3c76..e3ce92979f 100644 --- a/runtime/centrifuge/src/weights/pallet_utility.rs +++ b/runtime/centrifuge/src/weights/pallet_utility.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_utility` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,18 +36,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_852_000 picoseconds. - Weight::from_parts(3_779_214, 0) + // Minimum execution time: 6_632_000 picoseconds. + Weight::from_parts(5_074_088, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_185 - .saturating_add(Weight::from_parts(4_705_310, 0).saturating_mul(c.into())) + // Standard Error: 2_374 + .saturating_add(Weight::from_parts(4_739_370, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_613_000 picoseconds. - Weight::from_parts(7_043_000, 0) + // Minimum execution time: 6_762_000 picoseconds. + Weight::from_parts(7_063_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -55,18 +55,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_603_000 picoseconds. - Weight::from_parts(6_813_000, 0) + // Minimum execution time: 6_682_000 picoseconds. + Weight::from_parts(6_733_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_474 - .saturating_add(Weight::from_parts(5_109_510, 0).saturating_mul(c.into())) + // Standard Error: 1_373 + .saturating_add(Weight::from_parts(5_166_964, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_368_000 picoseconds. - Weight::from_parts(9_769_000, 0) + // Minimum execution time: 9_297_000 picoseconds. + Weight::from_parts(9_738_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -74,10 +74,10 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_812_000 picoseconds. - Weight::from_parts(7_053_000, 0) + // Minimum execution time: 6_582_000 picoseconds. + Weight::from_parts(3_166_614, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_310 - .saturating_add(Weight::from_parts(4_734_507, 0).saturating_mul(c.into())) + // Standard Error: 2_634 + .saturating_add(Weight::from_parts(4_775_960, 0).saturating_mul(c.into())) } } diff --git a/runtime/centrifuge/src/weights/pallet_vesting.rs b/runtime/centrifuge/src/weights/pallet_vesting.rs index 4defe13506..1843b9aaa7 100644 --- a/runtime/centrifuge/src/weights/pallet_vesting.rs +++ b/runtime/centrifuge/src/weights/pallet_vesting.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_vesting` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,13 +43,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 39_564_000 picoseconds. - Weight::from_parts(39_981_239, 0) + // Minimum execution time: 37_951_000 picoseconds. + Weight::from_parts(38_965_383, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_037 - .saturating_add(Weight::from_parts(43_712, 0).saturating_mul(l.into())) - // Standard Error: 19_876 - .saturating_add(Weight::from_parts(229_682, 0).saturating_mul(s.into())) + // Standard Error: 1_237 + .saturating_add(Weight::from_parts(40_197, 0).saturating_mul(l.into())) + // Standard Error: 23_718 + .saturating_add(Weight::from_parts(249_871, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -65,13 +65,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 41_808_000 picoseconds. - Weight::from_parts(43_269_209, 0) + // Minimum execution time: 40_486_000 picoseconds. + Weight::from_parts(41_225_359, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_148 - .saturating_add(Weight::from_parts(40_780, 0).saturating_mul(l.into())) - // Standard Error: 22_013 - .saturating_add(Weight::from_parts(93_733, 0).saturating_mul(s.into())) + // Standard Error: 1_304 + .saturating_add(Weight::from_parts(42_788, 0).saturating_mul(l.into())) + // Standard Error: 24_998 + .saturating_add(Weight::from_parts(301_311, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -89,13 +89,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `372 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 41_467_000 picoseconds. - Weight::from_parts(41_941_236, 0) + // Minimum execution time: 40_015_000 picoseconds. + Weight::from_parts(40_097_427, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_114 - .saturating_add(Weight::from_parts(44_127, 0).saturating_mul(l.into())) - // Standard Error: 21_345 - .saturating_add(Weight::from_parts(397_753, 0).saturating_mul(s.into())) + // Standard Error: 1_281 + .saturating_add(Weight::from_parts(61_378, 0).saturating_mul(l.into())) + // Standard Error: 24_561 + .saturating_add(Weight::from_parts(428_834, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -113,13 +113,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `372 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 44_693_000 picoseconds. - Weight::from_parts(45_550_838, 0) + // Minimum execution time: 42_830_000 picoseconds. + Weight::from_parts(43_536_045, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_152 - .saturating_add(Weight::from_parts(42_064, 0).saturating_mul(l.into())) - // Standard Error: 22_075 - .saturating_add(Weight::from_parts(232_605, 0).saturating_mul(s.into())) + // Standard Error: 1_326 + .saturating_add(Weight::from_parts(45_431, 0).saturating_mul(l.into())) + // Standard Error: 25_424 + .saturating_add(Weight::from_parts(361_821, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -137,13 +137,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `283 + l * (25 ±0) + s * (134 ±0)` // Estimated: `4764` - // Minimum execution time: 93_545_000 picoseconds. - Weight::from_parts(92_993_209, 0) + // Minimum execution time: 87_765_000 picoseconds. + Weight::from_parts(89_515_252, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_581 - .saturating_add(Weight::from_parts(61_450, 0).saturating_mul(l.into())) - // Standard Error: 30_294 - .saturating_add(Weight::from_parts(1_040_335, 0).saturating_mul(s.into())) + // Standard Error: 2_059 + .saturating_add(Weight::from_parts(46_297, 0).saturating_mul(l.into())) + // Standard Error: 39_461 + .saturating_add(Weight::from_parts(792_948, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -161,13 +161,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `423 + l * (25 ±0) + s * (134 ±0)` // Estimated: `6196` - // Minimum execution time: 95_989_000 picoseconds. - Weight::from_parts(95_019_286, 0) + // Minimum execution time: 91_231_000 picoseconds. + Weight::from_parts(90_757_578, 0) .saturating_add(Weight::from_parts(0, 6196)) - // Standard Error: 2_465 - .saturating_add(Weight::from_parts(86_005, 0).saturating_mul(l.into())) - // Standard Error: 47_232 - .saturating_add(Weight::from_parts(2_593_636, 0).saturating_mul(s.into())) + // Standard Error: 3_149 + .saturating_add(Weight::from_parts(82_836, 0).saturating_mul(l.into())) + // Standard Error: 60_349 + .saturating_add(Weight::from_parts(2_688_391, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -185,13 +185,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 41_888_000 picoseconds. - Weight::from_parts(42_630_812, 0) + // Minimum execution time: 40_716_000 picoseconds. + Weight::from_parts(42_531_698, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(55_222, 0).saturating_mul(l.into())) - // Standard Error: 33_643 - .saturating_add(Weight::from_parts(196_992, 0).saturating_mul(s.into())) + // Standard Error: 1_440 + .saturating_add(Weight::from_parts(44_899, 0).saturating_mul(l.into())) + // Standard Error: 45_950 + .saturating_add(Weight::from_parts(39_530, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -209,13 +209,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 44_733_000 picoseconds. - Weight::from_parts(45_724_733, 0) + // Minimum execution time: 43_822_000 picoseconds. + Weight::from_parts(44_628_776, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_061 - .saturating_add(Weight::from_parts(46_527, 0).saturating_mul(l.into())) - // Standard Error: 33_842 - .saturating_add(Weight::from_parts(193_383, 0).saturating_mul(s.into())) + // Standard Error: 1_479 + .saturating_add(Weight::from_parts(47_116, 0).saturating_mul(l.into())) + // Standard Error: 47_196 + .saturating_add(Weight::from_parts(307_721, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -229,15 +229,17 @@ impl pallet_vesting::WeightInfo for WeightInfo { /// 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, 3]`. - fn force_remove_vesting_schedule(l: u32, _s: u32, ) -> Weight { + fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `479 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 47_398_000 picoseconds. - Weight::from_parts(49_317_822, 0) + // Minimum execution time: 45_586_000 picoseconds. + Weight::from_parts(46_341_164, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_305 - .saturating_add(Weight::from_parts(43_381, 0).saturating_mul(l.into())) + // Standard Error: 1_811 + .saturating_add(Weight::from_parts(54_813, 0).saturating_mul(l.into())) + // Standard Error: 57_780 + .saturating_add(Weight::from_parts(447_204, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } diff --git a/runtime/centrifuge/src/weights/pallet_xcm.rs b/runtime/centrifuge/src/weights/pallet_xcm.rs index ff8118d8bd..f25dc02629 100644 --- a/runtime/centrifuge/src/weights/pallet_xcm.rs +++ b/runtime/centrifuge/src/weights/pallet_xcm.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_xcm` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -95,8 +95,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_967_000, 0) + // Minimum execution time: 3_667_000 picoseconds. + Weight::from_parts(3_797_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Benchmark::Override` (r:0 w:0) @@ -125,8 +125,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_877_000 picoseconds. - Weight::from_parts(4_147_000, 0) + // Minimum execution time: 3_647_000 picoseconds. + Weight::from_parts(3_877_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -136,8 +136,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `22` // Estimated: `13387` - // Minimum execution time: 26_810_000 picoseconds. - Weight::from_parts(27_190_000, 0) + // Minimum execution time: 25_058_000 picoseconds. + Weight::from_parts(25_738_000, 0) .saturating_add(Weight::from_parts(0, 13387)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -148,8 +148,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `26` // Estimated: `13391` - // Minimum execution time: 27_080_000 picoseconds. - Weight::from_parts(27_462_000, 0) + // Minimum execution time: 25_397_000 picoseconds. + Weight::from_parts(25_939_000, 0) .saturating_add(Weight::from_parts(0, 13391)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -180,8 +180,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `69` // Estimated: `10959` - // Minimum execution time: 19_667_000 picoseconds. - Weight::from_parts(20_097_000, 0) + // Minimum execution time: 18_695_000 picoseconds. + Weight::from_parts(19_336_000, 0) .saturating_add(Weight::from_parts(0, 10959)) .saturating_add(T::DbWeight::get().reads(4)) } @@ -191,8 +191,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `33` // Estimated: `13398` - // Minimum execution time: 26_430_000 picoseconds. - Weight::from_parts(26_980_000, 0) + // Minimum execution time: 25_427_000 picoseconds. + Weight::from_parts(26_179_000, 0) .saturating_add(Weight::from_parts(0, 13398)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -215,8 +215,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_967_000, 0) + // Minimum execution time: 3_336_000 picoseconds. + Weight::from_parts(3_536_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -227,8 +227,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7576` // Estimated: `11041` - // Minimum execution time: 43_632_000 picoseconds. - Weight::from_parts(44_152_000, 0) + // Minimum execution time: 42_199_000 picoseconds. + Weight::from_parts(43_071_000, 0) .saturating_add(Weight::from_parts(0, 11041)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/centrifuge/src/xcm.rs b/runtime/centrifuge/src/xcm.rs index ef74d41fe1..f454f5f695 100644 --- a/runtime/centrifuge/src/xcm.rs +++ b/runtime/centrifuge/src/xcm.rs @@ -10,7 +10,6 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_primitives::types::{EnsureRootOr, HalfOfCouncil}; use cfg_traits::TryConvert; use cfg_types::{tokens::CurrencyId, EVMChainId}; use frame_support::{ @@ -23,6 +22,7 @@ use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; use orml_xcm_support::MultiNativeAsset; use pallet_xcm::XcmPassthrough; use runtime_common::{ + origins::gov::types::{EnsureRootOr, HalfOfCouncil}, transfer_filter::PreXcmTransfer, xcm::{ AccountIdToLocation, Barrier, CanonicalNativePerSecond, FixedConversionRateProvider, diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index f48a96c906..90c138f9e4 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -133,7 +133,6 @@ default = ["std"] std = [ "parity-scale-codec/std", "log/std", - # Substrate related "frame-support/std", "frame-system/std", @@ -161,7 +160,6 @@ std = [ "sp-api/std", "sp-arithmetic/std", "sp-core/std", - "sp-core/std", "sp-io/std", "sp-runtime/std", "sp-std/std", @@ -169,14 +167,12 @@ std = [ "xcm-primitives/std", "staging-xcm-builder/std", "staging-xcm/std", - # Locals "cfg-primitives/std", "cfg-traits/std", "cfg-types/std", "cfg-utils/std", "cfg-mocks/std", - # Pallet exporting list "axelar-gateway-precompile/std", "chainbridge/std", @@ -255,14 +251,12 @@ runtime-benchmarks = [ "staging-xcm-builder/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "cumulus-primitives-core/runtime-benchmarks", - # Locals "cfg-primitives/runtime-benchmarks", "cfg-traits/runtime-benchmarks", "cfg-types/runtime-benchmarks", "cfg-utils/runtime-benchmarks", "cfg-mocks/runtime-benchmarks", - # Pallet exporting list "axelar-gateway-precompile/runtime-benchmarks", "chainbridge/runtime-benchmarks", @@ -329,7 +323,6 @@ try-runtime = [ "cfg-mocks/try-runtime", "frame-support/try-runtime", "frame-system/try-runtime", - # Pallet exporting list "axelar-gateway-precompile/try-runtime", "chainbridge/try-runtime", diff --git a/runtime/common/src/evm/mod.rs b/runtime/common/src/evm/mod.rs index bf0c4044da..e782bba10c 100644 --- a/runtime/common/src/evm/mod.rs +++ b/runtime/common/src/evm/mod.rs @@ -13,7 +13,9 @@ use cfg_primitives::AuraId; use frame_support::{traits::FindAuthor, weights::constants::WEIGHT_REF_TIME_PER_SECOND}; use pallet_ethereum::{Transaction, TransactionAction}; -use sp_core::{crypto::ByteArray, H160}; +#[cfg(feature = "std")] +use sp_core::KeccakHasher; +use sp_core::{crypto::ByteArray, Hasher, H160}; use sp_runtime::{ConsensusEngineId, Permill}; use sp_std::marker::PhantomData; @@ -107,3 +109,80 @@ impl> FindAuthor for FindAuth None } } + +/// Passthrough router deployed bytecode as of this state +/// https://github.com/centrifuge/liquidity-pools/blob/6f62bb3a89f5f61a33d14965ea8ae725b4cc16d3/test/integration/PassthroughAdapter.sol +/// +/// NOTE: If the above file changes, this code needs to be adapted. +/// +/// Blake256 hash of the deployed passthrough router contract code as +/// Encoded::encode(Vec): +/// `0x31173f15567854cfc3702aa6b639bf0dedf74638e745a3e90fa00f1619d8b94c` +const PASSTHROUGH_ROUTER_ACCOUNT_CODES: [u8; 3289] = hex_literal::hex!("608060405234801561000f575f80fd5b50600436106100da575f3560e01c806365fae35e11610088578063b0fa844411610063578063b0fa8444146101aa578063bf353dbb146101b2578063d4e8be83146101df578063f8a8fd6d146100f1575f80fd5b806365fae35e146101715780636d90d4ad146101845780639c52a7f114610197575f80fd5b80631c92115f116100b85780631c92115f146101385780632bb1ae7c1461014b57806342f1de141461015e575f80fd5b8063097ac46e146100de578063116191b6146100f35780631c6ffa4614610123575b5f80fd5b6100f16100ec3660046107f4565b6101f2565b005b600154610106906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61012b61032a565b60405161011a919061083c565b6100f1610146366004610871565b6103b6565b6100f1610159366004610910565b6103ff565b6100f161016c366004610871565b610442565b6100f161017f36600461096a565b6104da565b6100f1610192366004610871565b610572565b6100f16101a536600461096a565b61063c565b61012b6106d3565b6101d16101c036600461096a565b5f6020819052908152604090205481565b60405190815260200161011a565b6100f16101ed36600461098a565b6106e0565b335f9081526020819052604090205460011461024b5760405162461bcd60e51b8152602060048201526013602482015272105d5d1a0bdb9bdd0b585d5d1a1bdc9a5e9959606a1b60448201526064015b60405180910390fd5b826a39b7bab931b2a1b430b4b760a91b0361027357600261026d828483610a4c565b506102eb565b826c736f757263654164647265737360981b0361029757600361026d828483610a4c565b60405162461bcd60e51b815260206004820152602360248201527f4c6f63616c526f757465722f66696c652d756e7265636f676e697a65642d706160448201526272616d60e81b6064820152608401610242565b827fe42e0b9a029dc87ccb1029c632e6359090acd0eb032b2b59c811e3ec70160dc6838360405161031d929190610b2e565b60405180910390a2505050565b60028054610337906109c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610363906109c8565b80156103ae5780601f10610385576101008083540402835291602001916103ae565b820191905f5260205f20905b81548152906001019060200180831161039157829003601f168201915b505050505081565b7ffabee705da75429b35b4ca6585fef97dc7a96c1aaeca74c480eeefe2f140c27e8686868686866040516103ef96959493929190610b49565b60405180910390a1505050505050565b7ffabee705da75429b35b4ca6585fef97dc7a96c1aaeca74c480eeefe2f140c27e6002600384846040516104369493929190610c10565b60405180910390a15050565b600154604051635fa45e5b60e11b81526001600160a01b039091169063bf48bcb6906104749085908590600401610b2e565b5f604051808303815f87803b15801561048b575f80fd5b505af115801561049d573d5f803e3d5ffd5b505050507f0352e36764157a0a91a3565aca47fd498d8a1eff81976b83ff9b179a8ad61e418686868686866040516103ef96959493929190610b49565b335f9081526020819052604090205460011461052e5760405162461bcd60e51b8152602060048201526013602482015272105d5d1a0bdb9bdd0b585d5d1a1bdc9a5e9959606a1b6044820152606401610242565b6001600160a01b0381165f8181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b604051630922c0cb60e31b81526108009081906349160658906105c5907f8505b897b40f92d6c56f2c1cd87ce4ab0da8b445d7453a51231ff9874ad45e26908b908b908b908b908b908b90600401610c54565b5f604051808303815f87803b1580156105dc575f80fd5b505af11580156105ee573d5f803e3d5ffd5b505050507f80bd9fe4a5709d9803f037c9c5601c8a67ea987a0f35a2767de92bdb0363f49887878787878760405161062b96959493929190610b49565b60405180910390a150505050505050565b335f908152602081905260409020546001146106905760405162461bcd60e51b8152602060048201526013602482015272105d5d1a0bdb9bdd0b585d5d1a1bdc9a5e9959606a1b6044820152606401610242565b6001600160a01b0381165f81815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b60038054610337906109c8565b335f908152602081905260409020546001146107345760405162461bcd60e51b8152602060048201526013602482015272105d5d1a0bdb9bdd0b585d5d1a1bdc9a5e9959606a1b6044820152606401610242565b81666761746577617960c81b03610297576001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040516001600160a01b038216815282907f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba9060200160405180910390a25050565b5f8083601f8401126107bf575f80fd5b50813567ffffffffffffffff8111156107d6575f80fd5b6020830191508360208285010111156107ed575f80fd5b9250929050565b5f805f60408486031215610806575f80fd5b83359250602084013567ffffffffffffffff811115610823575f80fd5b61082f868287016107af565b9497909650939450505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f805f805f8060608789031215610886575f80fd5b863567ffffffffffffffff81111561089c575f80fd5b6108a889828a016107af565b909750955050602087013567ffffffffffffffff8111156108c7575f80fd5b6108d389828a016107af565b909550935050604087013567ffffffffffffffff8111156108f2575f80fd5b6108fe89828a016107af565b979a9699509497509295939492505050565b5f8060208385031215610921575f80fd5b823567ffffffffffffffff811115610937575f80fd5b610943858286016107af565b90969095509350505050565b80356001600160a01b0381168114610965575f80fd5b919050565b5f6020828403121561097a575f80fd5b6109838261094f565b9392505050565b5f806040838503121561099b575f80fd5b823591506109ab6020840161094f565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806109dc57607f821691505b6020821081036109fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610a4757805f5260205f20601f840160051c81016020851015610a255750805b601f840160051c820191505b81811015610a44575f8155600101610a31565b50505b505050565b67ffffffffffffffff831115610a6457610a646109b4565b610a7883610a7283546109c8565b83610a00565b5f601f841160018114610aa9575f8515610a925750838201355b5f19600387901b1c1916600186901b178355610a44565b5f83815260208120601f198716915b82811015610ad85786850135825560209485019460019092019101610ab8565b5086821015610af4575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610b41602083018486610b06565b949350505050565b606081525f610b5c60608301888a610b06565b8281036020840152610b6f818789610b06565b90508281036040840152610b84818587610b06565b9998505050505050505050565b5f8154610b9d816109c8565b808552600182168015610bb75760018114610bd357610c07565b60ff1983166020870152602082151560051b8701019350610c07565b845f5260205f205f5b83811015610bfe5781546020828a010152600182019150602081019050610bdc565b87016020019450505b50505092915050565b606081525f610c226060830187610b91565b8281036020840152610c348187610b91565b90508281036040840152610c49818587610b06565b979650505050505050565b878152608060208201525f610c6d60808301888a610b06565b8281036040840152610c80818789610b06565b90508281036060840152610c95818587610b06565b9a995050505050505050505056fea264697066735822122005379d3f006b4eb9a474736ca830a0bb73d84168bf7a9f8a826e7706226dc16564736f6c634300081a0033"); + +/// Input for the KeccakHasher to derive a random `H160` where the passthrough +/// router is always located at. Refers to address: +/// `0x33e7daf228e7613ba85ef6c3647dbceb0f011f7c` +const PASSTHROUGH_ROUTER_ACCOUNT_CODES_ACCOUNT_LOCATION_SALT: &[u8] = + b"PASSTHROUGH_ROUTER_ACCOUNT_CODES_ACCOUNT_LOCATION_SALT"; + +#[cfg(feature = "std")] +pub fn passthrough_router_location() -> H160 { + H160::from(KeccakHasher::hash( + PASSTHROUGH_ROUTER_ACCOUNT_CODES_ACCOUNT_LOCATION_SALT, + )) +} + +#[cfg(feature = "std")] +pub fn passthrough_genesis() -> (H160, fp_evm::GenesisAccount) { + ( + passthrough_router_location(), + fp_evm::GenesisAccount { + nonce: Default::default(), + balance: Default::default(), + storage: Default::default(), + code: PASSTHROUGH_ROUTER_ACCOUNT_CODES.to_vec(), + }, + ) +} + +#[cfg(test)] +mod tests { + use sp_runtime::traits::{BlakeTwo256, Hash}; + + use super::*; + + #[test] + fn stable_passthrough_location() { + assert_eq!( + passthrough_router_location().as_bytes(), + hex_literal::hex!("33e7daf228e7613ba85ef6c3647dbceb0f011f7c") + ); + } + + #[test] + fn stable_passthrough_bytecode_hash() { + assert_eq!( + BlakeTwo256::hash_of(&PASSTHROUGH_ROUTER_ACCOUNT_CODES.to_vec()), + hex_literal::hex!("31173f15567854cfc3702aa6b639bf0dedf74638e745a3e90fa00f1619d8b94c") + .into() + ); + } +} + +pub mod utils { + use sp_core::H160; + use sp_std::collections::btree_map::BTreeMap; + + use crate::evm::precompile::H160Addresses; + + #[cfg(feature = "std")] + pub fn account_genesis() -> BTreeMap + { + let mut precompiles = + super::precompile::utils::precompile_account_genesis::(); + let (passthrough_addr, passthrough_genesis) = super::passthrough_genesis(); + precompiles.insert(passthrough_addr, passthrough_genesis); + precompiles + } +} diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs index 29dd4bd01c..3ad18a91c4 100644 --- a/runtime/common/src/lib.rs +++ b/runtime/common/src/lib.rs @@ -39,6 +39,7 @@ pub mod fees; pub mod gateway; pub mod migrations; pub mod oracle; +pub mod origins; pub mod pool; pub mod remarks; pub mod transfer_filter; @@ -47,6 +48,19 @@ pub mod xcm; pub mod instances { /// The rewards associated to block rewards pub type BlockRewards = pallet_rewards::Instance1; + + /// The technical fellowship collective which can whitelist proposal for the + /// WhitelistedCaller track + pub type TechnicalCollective = pallet_collective::Instance2; + + /// The technical membership which handles membership of the + /// TechnicalCollective. It is not linked to the WhitelistedCaller track. + pub type TechnicalMembership = pallet_membership::Instance1; + + /// The council collective which is used in Gov1. + /// + /// NOTE: Will be deprecated once we have fully transitioned to OpenGov. + pub type CouncilCollective = pallet_collective::Instance1; } parameter_types! { @@ -277,15 +291,9 @@ pub mod asset_registry { /// Module for investment portfolio common to all runtimes pub mod investment_portfolios { - use cfg_primitives::{AccountId, Balance, PoolId}; - use cfg_traits::{ - investments::{InvestmentCollector, TrancheCurrency as _}, - PoolInspect, - }; - use cfg_types::{ - investments::InvestmentPortfolio, - tokens::{CurrencyId, TrancheCurrency}, - }; + use cfg_primitives::{AccountId, Balance, InvestmentId, PoolId}; + use cfg_traits::{investments::InvestmentCollector, PoolInspect}; + use cfg_types::{investments::InvestmentPortfolio, tokens::CurrencyId}; use frame_support::traits::{ fungibles, tokens::{Fortitude, Preservation}, @@ -303,16 +311,16 @@ pub mod investment_portfolios { #[allow(clippy::type_complexity)] pub fn get_account_portfolio( investor: AccountId, - ) -> Result)>, DispatchError> + ) -> Result)>, DispatchError> where T: frame_system::Config - + pallet_investments::Config + + pallet_investments::Config + orml_tokens::Config + pallet_restricted_tokens::Config + pallet_pool_system::Config, { let mut portfolio = - BTreeMap::>::new(); + BTreeMap::>::new(); // Denote current tranche token balances before dry running collecting for currency in orml_tokens::Accounts::::iter_key_prefix(&investor) { @@ -333,7 +341,7 @@ pub mod investment_portfolios { ); portfolio - .entry(TrancheCurrency::generate(pool_id, tranche_id)) + .entry((pool_id, tranche_id)) .and_modify(|p| { p.free_tranche_tokens = free_balance; p.reserved_tranche_tokens = reserved_balance; @@ -347,26 +355,28 @@ pub mod investment_portfolios { } // Set pending invest currency and claimable tranche tokens - for invest_id in pallet_investments::InvestOrders::::iter_key_prefix(&investor) { - let pool_currency = pallet_pool_system::Pallet::::currency_for(invest_id.of_pool()) + for investment_id in pallet_investments::InvestOrders::::iter_key_prefix(&investor) { + let pool_currency = pallet_pool_system::Pallet::::currency_for(investment_id.0) .ok_or(DispatchError::Other("Pool must exist; qed"))?; // Collect such that we can determine claimable tranche tokens // NOTE: Does not modify storage since RtAPI is readonly - let _ = - pallet_investments::Pallet::::collect_investment(investor.clone(), invest_id); - let amount = pallet_investments::InvestOrders::::get(&investor, invest_id) + let _ = pallet_investments::Pallet::::collect_investment( + investor.clone(), + investment_id, + ); + let amount = pallet_investments::InvestOrders::::get(&investor, investment_id) .map(|order| order.amount()) .unwrap_or_default(); let free_tranche_tokens_new = pallet_restricted_tokens::Pallet::::reducible_balance( - invest_id.into(), + investment_id.into(), &investor, Preservation::Preserve, Fortitude::Polite, ); portfolio - .entry(invest_id) + .entry(investment_id) .and_modify(|p| { p.pending_invest_currency = amount; if p.free_tranche_tokens < free_tranche_tokens_new { @@ -382,8 +392,8 @@ pub mod investment_portfolios { } // Set pending tranche tokens and claimable invest currency - for invest_id in pallet_investments::RedeemOrders::::iter_key_prefix(&investor) { - let pool_currency = pallet_pool_system::Pallet::::currency_for(invest_id.of_pool()) + for investment_id in pallet_investments::RedeemOrders::::iter_key_prefix(&investor) { + let pool_currency = pallet_pool_system::Pallet::::currency_for(investment_id.0) .ok_or(DispatchError::Other("Pool must exist; qed"))?; let balance_before = pallet_restricted_tokens::Pallet::::reducible_balance( @@ -395,9 +405,11 @@ pub mod investment_portfolios { // Collect such that we can determine claimable invest currency // NOTE: Does not modify storage since RtAPI is readonly - let _ = - pallet_investments::Pallet::::collect_redemption(investor.clone(), invest_id); - let amount = pallet_investments::RedeemOrders::::get(&investor, invest_id) + let _ = pallet_investments::Pallet::::collect_redemption( + investor.clone(), + investment_id, + ); + let amount = pallet_investments::RedeemOrders::::get(&investor, investment_id) .map(|order| order.amount()) .unwrap_or_default(); let balance_after = pallet_restricted_tokens::Pallet::::reducible_balance( @@ -408,7 +420,7 @@ pub mod investment_portfolios { ); portfolio - .entry(invest_id) + .entry(investment_id) .and_modify(|p| { p.pending_redeem_tranche_tokens = amount; if balance_before < balance_after { @@ -515,14 +527,6 @@ pub mod foreign_investments { } } -pub mod liquidity_pools { - use cfg_primitives::{Balance, PoolId, TrancheId}; - use cfg_types::{domain_address::Domain, fixed_point::Ratio}; - - pub type LiquidityPoolsMessage = - pallet_liquidity_pools::Message; -} - pub mod origin { use cfg_primitives::AccountId; use frame_support::traits::{EitherOfDiverse, SortedMembers}; @@ -547,7 +551,6 @@ pub mod origin { #[cfg(test)] mod test { - use cfg_primitives::HalfOfCouncil; use frame_support::traits::EnsureOrigin; use sp_core::{crypto::AccountId32, parameter_types}; @@ -613,6 +616,7 @@ pub mod origin { mod ensure_account_or_root_or { use super::*; + use crate::origins::gov::types::HalfOfCouncil; #[test] fn works_with_account() { diff --git a/runtime/common/src/migrations/mod.rs b/runtime/common/src/migrations/mod.rs index c74db367ff..dd3cd7bb78 100644 --- a/runtime/common/src/migrations/mod.rs +++ b/runtime/common/src/migrations/mod.rs @@ -18,6 +18,7 @@ pub mod loans; pub mod nuke; pub mod precompile_account_codes; pub mod restricted_location; +pub mod technical_comittee; pub mod utils { use frame_support::storage::unhashed; diff --git a/runtime/common/src/migrations/technical_comittee.rs b/runtime/common/src/migrations/technical_comittee.rs new file mode 100644 index 0000000000..edd38df836 --- /dev/null +++ b/runtime/common/src/migrations/technical_comittee.rs @@ -0,0 +1,90 @@ +// Copyright 2024 Centrifuge Foundation (centrifuge.io). +// +// This file is part of the Centrifuge chain project. +// Centrifuge 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 (see http://www.gnu.org/licenses). +// Centrifuge 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. + +use frame_support::traits::{Get, InitializeMembers, OnRuntimeUpgrade}; +use pallet_order_book::weights::Weight; +use sp_arithmetic::traits::SaturatedConversion; +use sp_runtime::BoundedVec; +use sp_std::vec::Vec; + +use crate::instances::{TechnicalCollective, TechnicalMembership}; + +const LOG_PREFIX: &str = "InitTechnicalCommittee:"; + +pub struct InitMigration(sp_std::marker::PhantomData<(T, Members)>); + +impl OnRuntimeUpgrade for InitMigration +where + T: frame_system::Config + + pallet_membership::Config + + pallet_collective::Config, + Members: Get>, +{ + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, sp_runtime::DispatchError> { + let membership_members = pallet_membership::Members::::get(); + let collective_members = pallet_collective::Members::::get(); + assert!(membership_members.is_empty()); + assert!(collective_members.is_empty()); + assert!(!Members::get().is_empty()); + + log::info!("{LOG_PREFIX} Pre checks done"); + + Ok(sp_std::vec![]) + } + + fn on_runtime_upgrade() -> Weight { + let membership_members = pallet_membership::Members::::get(); + let collective_members = pallet_collective::Members::::get(); + + if membership_members.is_empty() && collective_members.is_empty() { + log::info!("{LOG_PREFIX} Setting up members"); + as InitializeMembers< + T::AccountId, + >>::initialize_members(&Members::get()); + pallet_membership::Members::::put(BoundedVec::truncate_from( + Members::get(), + )); + + log::info!("{LOG_PREFIX} Migration done"); + T::DbWeight::get() + .reads_writes(2, Members::get().len().saturating_add(1).saturated_into()) + } else { + log::warn!("{LOG_PREFIX} Members are not empty. Skipping initialization. This migration should probably be removed"); + T::DbWeight::get().reads(2) + } + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(_: Vec) -> Result<(), sp_runtime::DispatchError> { + let membership_members = pallet_membership::Members::::get(); + let collective_members = pallet_collective::Members::::get(); + assert_eq!( + collective_members, + Members::get(), + "Collective members {} vs input {}", + collective_members.len(), + Members::get().len() + ); + assert_eq!( + membership_members.clone().into_inner(), + Members::get(), + "Membership members {} vs input {}", + membership_members.len(), + Members::get().len() + ); + + log::info!("{LOG_PREFIX} Post checks done"); + + Ok(()) + } +} diff --git a/runtime/common/src/oracle.rs b/runtime/common/src/oracle.rs index 03941cef71..a300306aae 100644 --- a/runtime/common/src/oracle.rs +++ b/runtime/common/src/oracle.rs @@ -168,11 +168,11 @@ where /// An extension of the [OracleRatioProvider] which performs a pre-check when /// querying a feeder key value pair. -pub struct OracleRatioProviderLocalAssetExtension( +pub struct DigestedOracleRatioProvider( PhantomData<(Origin, Provider, AssetInspect)>, ); impl ValueProvider, (CurrencyId, CurrencyId)> - for OracleRatioProviderLocalAssetExtension + for DigestedOracleRatioProvider where Origin: OriginTrait, Provider: ValueProvider, (CurrencyId, CurrencyId), Value = Ratio>, @@ -195,7 +195,7 @@ where _ => Ok(false), }?; - if locally_coupled_assets { + if locally_coupled_assets || from == to { Ok(Some(Ratio::one())) } else { Provider::get(feeder, &(*from, *to)) @@ -203,7 +203,7 @@ where } #[cfg(feature = "runtime-benchmarks")] - fn set(feeder: &Feeder, (from, to): &(CurrencyId, CurrencyId), ratio: Ratio) { - Provider::set(&feeder, &(*from, *to), ratio); + fn set(feeder: &Feeder, currencies: &(CurrencyId, CurrencyId), ratio: Ratio) { + Provider::set(feeder, currencies, ratio); } } diff --git a/runtime/common/src/origins.rs b/runtime/common/src/origins.rs new file mode 100644 index 0000000000..f9010441e5 --- /dev/null +++ b/runtime/common/src/origins.rs @@ -0,0 +1,132 @@ +// Copyright 2024 Centrifuge Foundation (centrifuge.io). +// +// This file is part of the Centrifuge chain project. +// Centrifuge 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 (see http://www.gnu.org/licenses). +// Centrifuge 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. + +/// Custom origins for governance interventions. +pub mod gov { + pub use pallet_custom_origins::*; + + #[frame_support::pallet] + pub mod pallet_custom_origins { + use frame_support::pallet_prelude::*; + + #[pallet::config] + pub trait Config: frame_system::Config {} + + #[pallet::pallet] + pub struct Pallet(_); + + #[derive(PartialEq, Eq, Clone, MaxEncodedLen, Encode, Decode, TypeInfo, RuntimeDebug)] + #[pallet::origin] + pub enum Origin { + /// Origin able to dispatch a whitelisted call. + WhitelistedCaller, + /// Origin for spending (any amount of) funds. + Treasurer, + /// Origin for pool related referenda. + PoolAdmin, + /// Origin able to cancel referenda. + ReferendumCanceller, + /// Origin able to kill referenda. + ReferendumKiller, + } + + macro_rules! decl_unit_ensures { + ( $name:ident: $success_type:ty = $success:expr ) => { + pub struct $name; + impl> + From> + EnsureOrigin for $name + { + type Success = $success_type; + fn try_origin(o: O) -> Result { + 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 { + 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!( + WhitelistedCaller, + PoolAdmin, + Treasurer, + ReferendumCanceller, + ReferendumKiller, + ); + } + + pub mod types { + use cfg_primitives::AccountId; + use frame_support::traits::{EitherOf, EitherOfDiverse}; + use frame_system::EnsureRoot; + use pallet_collective::EnsureProportionAtLeast; + + use super::*; + use crate::instances::{CouncilCollective, TechnicalCollective}; + + // Ensure that origin is either Root or fallback to use EnsureOrigin `O` + pub type EnsureRootOr = EitherOfDiverse, O>; + + /// All council members must vote yes to create this origin. + pub type AllOfCouncil = EnsureProportionAtLeast; + + /// 1/2 of all council members must vote yes to create this origin. + pub type HalfOfCouncil = EnsureProportionAtLeast; + + /// 2/3 of all council members must vote yes to create this origin. + pub type TwoThirdOfCouncil = EnsureProportionAtLeast; + + /// 3/4 of all council members must vote yes to create this origin. + pub type ThreeFourthOfCouncil = EnsureProportionAtLeast; + + /// 1/2 of all technical committee members must vote yes to create this + /// origin. + pub type HalfOfTechnicalCommitte = + EnsureProportionAtLeast; + + /// The origin which approves and rejects treasury spends. + /// + /// NOTE: The council will be removed once the OpenGov transition has + /// concluded. + pub type TreasuryApproveOrigin = EnsureRootOr>; + + /// The origin which can whitelist calls. + pub type WhitelistOrigin = EnsureRootOr; + + /// The origin which dispatches whitelisted calls. + pub type DispatchWhitelistedOrigin = EnsureRootOr; + + /// The origin which can cancel ongoing referenda. + pub type RefCancelOrigin = EnsureRootOr; + + /// The origin which can kill ongoing referenda. + pub type RefKillerOrigin = EnsureRootOr; + + /// The origin which can create new pools. + pub type PoolCreateOrigin = EnsureRootOr; + } +} diff --git a/runtime/common/src/xcm.rs b/runtime/common/src/xcm.rs index aa82c339de..2bf09a676d 100644 --- a/runtime/common/src/xcm.rs +++ b/runtime/common/src/xcm.rs @@ -272,8 +272,9 @@ pub type LocationToAccountId = ( #[cfg(test)] mod test { - use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, MessageMock, RouterMock}; + use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, RouterMock}; use cfg_primitives::OutboundMessageNonce; + use cfg_traits::liquidity_pools::test_util::Message; use frame_support::{assert_ok, derive_impl, traits::EnsureOrigin}; use frame_system::EnsureRoot; use pallet_liquidity_pools_gateway::{EnsureLocal, GatewayOrigin}; @@ -313,7 +314,7 @@ mod test { impl pallet_mock_liquidity_pools::Config for Runtime { type DomainAddress = DomainAddress; - type Message = MessageMock; + type Message = Message; } impl pallet_mock_routers::Config for Runtime {} @@ -323,7 +324,7 @@ mod test { type InboundQueue = MockLP; type LocalEVMOrigin = pallet_liquidity_pools_gateway::EnsureLocal; type MaxIncomingMessageSize = ConstU32<1024>; - type Message = MessageMock; + type Message = Message; type OriginRecovery = MockOriginRecovery; type OutboundMessageNonce = OutboundMessageNonce; type Router = RouterMock; diff --git a/runtime/development/Cargo.toml b/runtime/development/Cargo.toml index e5c4c4989e..af8e2eb92f 100644 --- a/runtime/development/Cargo.toml +++ b/runtime/development/Cargo.toml @@ -19,6 +19,7 @@ serde = { workspace = true, optional = true } static_assertions = { workspace = true } sp-api = { workspace = true } +sp-arithmetic = { workspace = true } sp-block-builder = { workspace = true } sp-consensus-aura = { workspace = true } sp-core = { workspace = true } @@ -35,6 +36,7 @@ sp-version = { workspace = true } frame-benchmarking = { workspace = true, optional = true } # For benchmarking frame-executive = { workspace = true } +frame-metadata-hash-extension = { workspace = true } frame-support = { workspace = true } frame-system = { workspace = true } frame-system-benchmarking = { workspace = true, optional = true } # For benchmarking @@ -65,6 +67,7 @@ fp-self-contained = { workspace = true } cfg-primitives = { workspace = true } cfg-traits = { workspace = true } cfg-types = { workspace = true } +cfg-utils = { workspace = true } liquidity-pools-gateway-routers = { workspace = true } runtime-common = { workspace = true } @@ -91,6 +94,7 @@ pallet-bridge = { workspace = true } pallet-collator-allowlist = { workspace = true } pallet-collator-selection = { workspace = true } pallet-collective = { workspace = true } +pallet-conviction-voting = { workspace = true } pallet-democracy = { workspace = true } pallet-elections-phragmen = { workspace = true } pallet-ethereum = { workspace = true } @@ -119,6 +123,7 @@ pallet-pool-registry = { workspace = true } pallet-pool-system = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } +pallet-referenda = { workspace = true } pallet-remarks = { workspace = true } pallet-restricted-tokens = { workspace = true } pallet-restricted-xtokens = { workspace = true } @@ -135,6 +140,7 @@ pallet-treasury = { workspace = true } pallet-uniques = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } +pallet-whitelist = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } staging-parachain-info = { workspace = true } @@ -153,6 +159,7 @@ std = [ "serde/std", # Substrate related "sp-api/std", + "sp-arithmetic/std", "sp-runtime/std", "sp-block-builder/std", "sp-consensus-aura/std", @@ -170,6 +177,7 @@ std = [ "frame-system/std", "frame-system-rpc-runtime-api/std", "frame-executive/std", + "frame-metadata-hash-extension/std", "frame-try-runtime?/std", "frame-system-benchmarking?/std", "frame-benchmarking?/std", @@ -190,6 +198,7 @@ std = [ "polkadot-parachain-primitives/std", # Locals "cfg-primitives/std", + "cfg-utils/std", "cfg-traits/std", "cfg-types/std", "runtime-common/std", @@ -217,6 +226,7 @@ std = [ "pallet-collator-allowlist/std", "pallet-collator-selection/std", "pallet-collective/std", + "pallet-conviction-voting/std", "pallet-democracy/std", "pallet-elections-phragmen/std", "pallet-ethereum/std", @@ -244,6 +254,7 @@ std = [ "pallet-pool-system/std", "pallet-preimage/std", "pallet-proxy/std", + "pallet-referenda/std", "pallet-remarks/std", "pallet-restricted-tokens/std", "pallet-restricted-xtokens/std", @@ -260,6 +271,7 @@ std = [ "pallet-uniques/std", "pallet-utility/std", "pallet-vesting/std", + "pallet-whitelist/std", "pallet-xcm/std", "pallet-xcm-transactor/std", "pallet-message-queue/std", @@ -283,6 +295,7 @@ runtime-benchmarks = [ "polkadot-parachain-primitives/runtime-benchmarks", # Locals "cfg-primitives/runtime-benchmarks", + "cfg-utils/runtime-benchmarks", "cfg-traits/runtime-benchmarks", "cfg-types/runtime-benchmarks", "runtime-common/runtime-benchmarks", @@ -303,6 +316,7 @@ runtime-benchmarks = [ "pallet-collator-allowlist/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "pallet-collective/runtime-benchmarks", + "pallet-conviction-voting/runtime-benchmarks", "pallet-democracy/runtime-benchmarks", "pallet-elections-phragmen/runtime-benchmarks", "pallet-ethereum/runtime-benchmarks", @@ -330,6 +344,7 @@ runtime-benchmarks = [ "pallet-preimage/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", "pallet-remarks/runtime-benchmarks", + "pallet-referenda/runtime-benchmarks", "pallet-restricted-tokens/runtime-benchmarks", "pallet-restricted-xtokens/runtime-benchmarks", "pallet-rewards/runtime-benchmarks", @@ -343,6 +358,7 @@ runtime-benchmarks = [ "pallet-uniques/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", + "pallet-whitelist/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", @@ -360,6 +376,7 @@ try-runtime = [ "polkadot-runtime-common/try-runtime", # Locals "cfg-primitives/try-runtime", + "cfg-utils/try-runtime", "cfg-traits/try-runtime", "cfg-types/try-runtime", "runtime-common/try-runtime", @@ -387,6 +404,7 @@ try-runtime = [ "pallet-collator-allowlist/try-runtime", "pallet-collator-selection/try-runtime", "pallet-collective/try-runtime", + "pallet-conviction-voting/try-runtime", "pallet-democracy/try-runtime", "pallet-elections-phragmen/try-runtime", "pallet-ethereum/try-runtime", @@ -414,6 +432,7 @@ try-runtime = [ "pallet-pool-system/try-runtime", "pallet-preimage/try-runtime", "pallet-proxy/try-runtime", + "pallet-referenda/try-runtime", "pallet-remarks/try-runtime", "pallet-restricted-tokens/try-runtime", "pallet-restricted-xtokens/try-runtime", @@ -430,18 +449,29 @@ try-runtime = [ "pallet-uniques/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", + "pallet-whitelist/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", "pallet-message-queue/try-runtime", "staging-parachain-info/try-runtime", ] +# Enable the metadata hash generation. +# +# This is hidden behind a feature because it increases the compile time. +# The wasm binary needs to be compiled twice, once to fetch the metadata, +# generate the metadata hash and then a second time with the +# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash` +# extension. +metadata-hash = ["substrate-wasm-builder/metadata-hash"] + # A feature that should be enabled when the runtime should be build 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 = [ "sp-api/disable-logging", "runtime-common/on-chain-release-build", + "metadata-hash", ] # Used by integration testing diff --git a/runtime/development/build.rs b/runtime/development/build.rs index 9b53d2457d..7ea8ab14ba 100644 --- a/runtime/development/build.rs +++ b/runtime/development/build.rs @@ -1,9 +1,16 @@ -use substrate_wasm_builder::WasmBuilder; +#[cfg(all(feature = "std", feature = "metadata-hash"))] +fn main() { + substrate_wasm_builder::WasmBuilder::init_with_defaults() + .enable_metadata_hash("DEVEL", 18) + .build(); +} +#[cfg(all(feature = "std", not(feature = "metadata-hash")))] fn main() { - WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() + substrate_wasm_builder::WasmBuilder::build_using_defaults(); } + +/// The wasm builder is deactivated when compiling +/// this crate for wasm to speed up the compilation. +#[cfg(not(feature = "std"))] +fn main() {} diff --git a/runtime/development/src/lib.rs b/runtime/development/src/lib.rs index 0e46c15183..dea4323da5 100644 --- a/runtime/development/src/lib.rs +++ b/runtime/development/src/lib.rs @@ -23,15 +23,14 @@ use cfg_primitives::{ constants::*, liquidity_pools::GeneralCurrencyPrefix, types::{ - AccountId, Address, AllOfCouncil, AuraId, Balance, BlockNumber, CollectionId, - CouncilCollective, EnsureRootOr, HalfOfCouncil, Hash, Hashing, Header, IBalance, ItemId, - LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, PoolEpochId, PoolFeeId, PoolId, - Signature, TrancheId, TrancheWeight, TwoThirdOfCouncil, + AccountId, Address, AuraId, Balance, BlockNumber, CollectionId, Hash, Hashing, Header, + IBalance, InvestmentId, ItemId, LoanId, Nonce, OrderId, OutboundMessageNonce, PalletIndex, + PoolEpochId, PoolFeeId, PoolId, Signature, TrancheId, TrancheWeight, }, }; use cfg_traits::{ - investments::{OrderManager, TrancheCurrency as _}, - Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, Seconds, + investments::OrderManager, Millis, Permissions as PermissionsT, PoolUpdateGuard, PreConditions, + Seconds, }; use cfg_types::{ fee_keys::{Fee, FeeKey}, @@ -46,7 +45,7 @@ use cfg_types::{ time::TimeProvider, tokens::{ AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, - StakingCurrency::BlockRewards as BlockRewardsCurrency, TrancheCurrency, + StakingCurrency::BlockRewards as BlockRewardsCurrency, }, }; use chainbridge::constants::DEFAULT_RELAYER_VOTE_THRESHOLD; @@ -61,7 +60,7 @@ use frame_support::{ traits::{ fungible::HoldConsideration, tokens::{PayFromAccount, UnityAssetBalanceConversion}, - AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOfDiverse, + AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOf, EitherOfDiverse, EqualPrivilegeOnly, Get, InstanceFilter, LinearStoragePrice, LockIdentifier, OnFinalize, PalletInfoAccess, TransformOrigin, UnixTime, WithdrawReasons, }, @@ -73,7 +72,7 @@ use frame_support::{ }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, + EnsureRoot, EnsureSigned, EnsureWithSuccess, }; use orml_traits::currency::MutationHooks; use pallet_anchors::AnchorData; @@ -113,10 +112,16 @@ use runtime_common::{ }, fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, - liquidity_pools::LiquidityPoolsMessage, + instances::{CouncilCollective, TechnicalCollective, TechnicalMembership}, message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - oracle::{ - Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, + oracle::{DigestedOracleRatioProvider, Feeder, OracleConverterBridge, OracleRatioProvider}, + origins::gov::{ + pallet_custom_origins, + types::{ + AllOfCouncil, DispatchWhitelistedOrigin, EnsureRootOr, HalfOfCouncil, RefCancelOrigin, + RefKillerOrigin, TreasuryApproveOrigin, TwoThirdOfCouncil, WhitelistOrigin, + }, + PoolAdmin, Treasurer, }, permissions::PoolAdminCheck, remarks::Remark, @@ -144,9 +149,10 @@ use sp_version::RuntimeVersion; use staging_xcm::v4::{Asset, Location}; use static_assertions::const_assert; -use crate::xcm::*; +use crate::{tracks::TracksInfo, xcm::*}; mod migrations; +mod tracks; mod weights; pub mod xcm; @@ -167,7 +173,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("centrifuge-devel"), impl_name: create_runtime_str!("centrifuge-devel"), authoring_version: 1, - spec_version: 1100, + spec_version: 1301, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 2, @@ -433,7 +439,7 @@ impl pallet_authorship::Config for Runtime { } parameter_types! { - pub Period: u32 = polkadot_runtime_common::prod_or_fast!(6 * HOURS, 1 * MINUTES, "DEV_SESSION_PERIOD"); + pub Period: u32 = 2 * MINUTES; pub const Offset: u32 = 0; } @@ -553,6 +559,11 @@ impl InstanceFilter for ProxyType { RuntimeCall::Council(..) | RuntimeCall::Elections(..) | RuntimeCall::Democracy(..) | + RuntimeCall::ConvictionVoting(..) | + RuntimeCall::Referenda(..) | + RuntimeCall::TechnicalCommittee(..) | + RuntimeCall::TechnicalCommitteeMembership(..) | + RuntimeCall::Whitelist(..) | RuntimeCall::Identity(..) | RuntimeCall::Vesting(pallet_vesting::Call::vest {..}) | RuntimeCall::Vesting(pallet_vesting::Call::vest_other {..}) | @@ -600,6 +611,12 @@ impl InstanceFilter for ProxyType { | RuntimeCall::Council(..) | RuntimeCall::Elections(..) | RuntimeCall::Utility(..) + // OpenGov calls + | RuntimeCall::ConvictionVoting(..) + | RuntimeCall::Referenda(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalCommitteeMembership(..) + | RuntimeCall::Whitelist(..) ), ProxyType::_Staking => false, ProxyType::NonProxy => { @@ -610,26 +627,29 @@ impl InstanceFilter for ProxyType { matches!( c, RuntimeCall::Loans(pallet_loans::Call::create { .. }) | - RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | - RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | - RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::close { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | - RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | - RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | - RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | - // Borrowers should be able to close and execute an epoch - // in order to get liquidity from repayments in previous epochs. - RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch { .. }) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution { .. }) | - RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch { .. }) | - RuntimeCall::Utility(pallet_utility::Call::batch_all { .. }) | - RuntimeCall::Utility(pallet_utility::Call::batch { .. }) | - // Borrowers should be able to swap back and forth between local currencies and their variants - RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | - RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) + RuntimeCall::Loans(pallet_loans::Call::borrow { .. }) | + RuntimeCall::Loans(pallet_loans::Call::repay { .. }) | + RuntimeCall::Loans(pallet_loans::Call::write_off { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_loan_mutation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::close { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_write_off_policy { .. }) | + RuntimeCall::Loans(pallet_loans::Call::update_portfolio_valuation { .. }) | + RuntimeCall::Loans(pallet_loans::Call::propose_transfer_debt { .. }) | + RuntimeCall::Loans(pallet_loans::Call::apply_transfer_debt { .. }) | + // Borrowers should be able to close and execute an epoch + // in order to get liquidity from repayments in previous epochs. + RuntimeCall::PoolSystem(pallet_pool_system::Call::close_epoch { .. }) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::submit_solution { .. }) | + RuntimeCall::PoolSystem(pallet_pool_system::Call::execute_epoch { .. }) | + RuntimeCall::Utility(pallet_utility::Call::batch_all { .. }) | + RuntimeCall::Utility(pallet_utility::Call::batch { .. }) | + // Borrowers should be able to swap back and forth between local currencies and their variants + RuntimeCall::TokenMux(pallet_token_mux::Call::burn {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::deposit {..}) | + RuntimeCall::TokenMux(pallet_token_mux::Call::match_swap {..}) | + // Borrowers should be able to (un)charge fees as part of the borrow flow + RuntimeCall::PoolFees(pallet_pool_fees::Call::charge_fee { .. }) | + RuntimeCall::PoolFees(pallet_pool_fees::Call::uncharge_fee { .. }) ) | ProxyType::PodOperation.filter(c) } ProxyType::Invest => matches!( @@ -773,7 +793,7 @@ impl pallet_collective::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; type SetMembersOrigin = EnsureRoot; - type WeightInfo = weights::pallet_collective::WeightInfo; + type WeightInfo = weights::pallet_collective_council::WeightInfo; } parameter_types! { @@ -1013,9 +1033,7 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - type ApproveOrigin = EnsureRootOr< - pallet_collective::EnsureProportionAtLeast, - >; + type ApproveOrigin = TreasuryApproveOrigin; type AssetKind = (); type BalanceConverter = UnityAssetBalanceConversion; #[cfg(feature = "runtime-benchmarks")] @@ -1033,10 +1051,10 @@ impl pallet_treasury::Config for Runtime { type ProposalBond = ProposalBond; type ProposalBondMaximum = ProposalBondMaximum; type ProposalBondMinimum = ProposalBondMinimum; - type RejectOrigin = EnsureRootOr; + type RejectOrigin = TreasuryApproveOrigin; type RuntimeEvent = RuntimeEvent; type SpendFunds = (); - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + type SpendOrigin = TreasurySpender; type SpendPeriod = SpendPeriod; type WeightInfo = pallet_treasury::weights::SubstrateWeight; } @@ -1149,7 +1167,7 @@ impl pallet_pool_system::Config for Runtime { type StringLimit = AssetStringLimit; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; + type TrancheCurrency = InvestmentId; type TrancheId = TrancheId; type TrancheWeight = TrancheWeight; type UpdateGuard = UpdateGuard; @@ -1170,7 +1188,6 @@ impl pallet_pool_registry::Config for Runtime { type PoolFeesInspect = PoolFees; type PoolId = PoolId; type RuntimeEvent = RuntimeEvent; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type WeightInfo = weights::pallet_pool_registry::WeightInfo; } @@ -1217,7 +1234,7 @@ impl PoolUpdateGuard for UpdateGuard { type Moment = Seconds; type PoolDetails = PoolDetails< CurrencyId, - TrancheCurrency, + InvestmentId, u32, Balance, Rate, @@ -1259,7 +1276,7 @@ impl PoolUpdateGuard for UpdateGuard { .ids_non_residual_top() .iter() .map(|tranche_id| { - let investment_id = TrancheCurrency::generate(pool_id, *tranche_id); + let investment_id = (pool_id, *tranche_id); Investments::redeem_orders(investment_id).amount }) .fold(Balance::zero(), |acc, redemption| { @@ -1339,7 +1356,7 @@ parameter_types! { pub const MaxActiveLoansPerPool: u32 = 1000; pub const MaxRegisteredPricesPerPool: u32 = 100; pub const MaxRateCount: u32 = 1000; // See #1024 - pub const FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); + pub FirstValueFee: Fee = Fee::Balance(deposit(1, pallet_oracle_feed::util::size_of_feed::())); #[derive(Clone, PartialEq, Eq, Debug, TypeInfo, Encode, Decode, MaxEncodedLen)] pub const MaxWriteOffPolicySize: u32 = 10; @@ -1426,7 +1443,7 @@ parameter_types! { } impl pallet_permissions::Config for Runtime { - type AdminOrigin = EnsureRootOr; + type AdminOrigin = EnsureRootOr>; type Editors = Editors; type MaxRolesPerScope = MaxRolesPerPool; type Role = Role; @@ -1665,7 +1682,7 @@ impl pallet_investments::Config for Runtime { type BalanceRatio = Quantity; type CollectedInvestmentHook = pallet_foreign_investments::CollectedInvestmentHook; type CollectedRedemptionHook = pallet_foreign_investments::CollectedRedemptionHook; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type MaxOutstandingCollects = MaxOutstandingCollects; type PreConditions = IsTrancheInvestor; type RuntimeEvent = RuntimeEvent; @@ -1679,35 +1696,29 @@ pub struct IsTrancheInvestor(PhantomData<(P, T)>); impl< P: PermissionsT, Role = Role>, T: UnixTime, - > PreConditions> for IsTrancheInvestor + > PreConditions> for IsTrancheInvestor { type Result = DispatchResult; - fn check(order: OrderType) -> Self::Result { + fn check(order: OrderType) -> Self::Result { let is_tranche_investor = match order { OrderType::Investment { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), OrderType::Redemption { who, - investment_id: tranche, + investment_id: (pool_id, tranche_id), .. } => P::has( - PermissionScope::Pool(tranche.of_pool()), + PermissionScope::Pool(pool_id), who, - Role::PoolRole(PoolRole::TrancheInvestor( - tranche.of_tranche(), - T::now().as_secs(), - )), + Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, T::now().as_secs())), ), }; @@ -1841,7 +1852,7 @@ impl pallet_order_book::Config for Runtime { type NativeDecimals = NativeDecimals; type OrderIdNonce = u64; type Ratio = Ratio; - type RatioProvider = OracleRatioProviderLocalAssetExtension< + type RatioProvider = DigestedOracleRatioProvider< RuntimeOrigin, OracleRatioProvider, OrmlAssetRegistry, @@ -1866,7 +1877,7 @@ impl pallet_foreign_investments::Config for Runtime { type DecreasedForeignInvestOrderHook = DecreasedForeignInvestOrderHook; type ForeignBalance = Balance; type Investment = Investments; - type InvestmentId = TrancheCurrency; + type InvestmentId = InvestmentId; type PoolBalance = Balance; type PoolInspect = PoolSystem; type RuntimeEvent = RuntimeEvent; @@ -1890,6 +1901,7 @@ impl pallet_liquidity_pools::Config for Runtime { type DomainAddressToAccountId = AccountConverter; type ForeignInvestment = ForeignInvestments; type GeneralCurrencyPrefix = GeneralCurrencyPrefix; + type MarketRatio = OrderBook; type OutboundQueue = LiquidityPoolsGateway; type Permission = Permissions; type PoolId = PoolId; @@ -1898,7 +1910,6 @@ impl pallet_liquidity_pools::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Time = Timestamp; type Tokens = Tokens; - type TrancheCurrency = TrancheCurrency; type TrancheId = TrancheId; type TrancheTokenPrice = PoolSystem; type TreasuryAccount = TreasuryAccount; @@ -1915,7 +1926,7 @@ impl pallet_liquidity_pools_gateway::Config for Runtime { type InboundQueue = LiquidityPools; type LocalEVMOrigin = pallet_liquidity_pools_gateway::EnsureLocal; type MaxIncomingMessageSize = MaxIncomingMessageSize; - type Message = LiquidityPoolsMessage; + type Message = pallet_liquidity_pools::Message; type OriginRecovery = LiquidityPoolsAxelarGateway; type OutboundMessageNonce = OutboundMessageNonce; type Router = liquidity_pools_gateway_routers::DomainRouter; @@ -2036,6 +2047,91 @@ impl axelar_gateway_precompile::Config for Runtime { type WeightInfo = (); } +impl pallet_conviction_voting::Config for Runtime { + type Currency = Balances; + type MaxTurnout = + frame_support::traits::tokens::currency::ActiveIssuanceOf; + type MaxVotes = ConstU32<512>; + type Polls = Referenda; + type RuntimeEvent = RuntimeEvent; + type VoteLockingPeriod = EnactmentPeriod; + type WeightInfo = weights::pallet_conviction_voting::WeightInfo; +} + +parameter_types! { + pub const AlarmInterval: BlockNumber = 1; + pub const SubmissionDeposit: Balance = 10 * CFG; + pub const UndecidingTimeout: BlockNumber = 14 * MINUTES; +} + +parameter_types! { + pub const MaxBalance: Balance = Balance::max_value(); +} +pub type TreasurySpender = EnsureWithSuccess, AccountId, MaxBalance>; + +impl pallet_custom_origins::Config for Runtime {} + +impl pallet_whitelist::Config for Runtime { + type DispatchWhitelistedOrigin = DispatchWhitelistedOrigin; + type Preimages = Preimage; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = weights::pallet_whitelist::WeightInfo; + type WhitelistOrigin = WhitelistOrigin; +} + +impl pallet_referenda::Config for Runtime { + type AlarmInterval = AlarmInterval; + type CancelOrigin = RefCancelOrigin; + type Currency = Balances; + type KillOrigin = RefKillerOrigin; + type MaxQueued = ConstU32<100>; + type Preimages = Preimage; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type Scheduler = Scheduler; + type Slash = Treasury; + type SubmissionDeposit = SubmissionDeposit; + type SubmitOrigin = frame_system::EnsureSigned; + type Tally = pallet_conviction_voting::TallyOf; + type Tracks = TracksInfo; + type UndecidingTimeout = UndecidingTimeout; + type Votes = pallet_conviction_voting::VotesOf; + type WeightInfo = weights::pallet_referenda::WeightInfo; +} + +parameter_types! { + pub const TechnicalMotionDuration: BlockNumber = 3 * DAYS; + pub const TechnicalMaxProposals: u32 = 20; + pub const TechnicalMaxMembers: u32 = 20; +} + +impl pallet_collective::Config for Runtime { + type DefaultVote = pallet_collective::PrimeDefaultVote; + type MaxMembers = TechnicalMaxMembers; + type MaxProposalWeight = MaxProposalWeight; + type MaxProposals = TechnicalMaxProposals; + type MotionDuration = TechnicalMotionDuration; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; + type SetMembersOrigin = EnsureRoot; + type WeightInfo = weights::pallet_collective_technical_fellowship::WeightInfo; +} + +impl pallet_membership::Config for Runtime { + type AddOrigin = EnsureRoot; + type MaxMembers = TechnicalMaxMembers; + type MembershipChanged = TechnicalCommittee; + type MembershipInitialized = TechnicalCommittee; + type PrimeOrigin = EnsureRoot; + type RemoveOrigin = EnsureRoot; + type ResetOrigin = EnsureRoot; + type RuntimeEvent = RuntimeEvent; + type SwapOrigin = EnsureRoot; + type WeightInfo = weights::pallet_membership::WeightInfo; +} + /// Block type as expected by this runtime. pub type Block = generic::Block; /// A Block signed with a Justification @@ -2052,6 +2148,7 @@ pub type SignedExtra = ( frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, + frame_metadata_hash_extension::CheckMetadataHash, runtime_common::transfer_filter::PreBalanceTransferExtension, ); /// Unchecked extrinsic type as expected by this runtime. @@ -2068,7 +2165,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - crate::migrations::UpgradeDevelopment1100, + crate::migrations::UpgradeDevelopment1300, >; // Frame Order in this block dictates the index of each one in the metadata @@ -2108,6 +2205,14 @@ construct_runtime!( Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 70, Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 72, + // OpenGov + ConvictionVoting: pallet_conviction_voting::{Pallet, Call, Storage, Event} = 80, + Referenda: pallet_referenda::{Pallet, Call, Storage, Event} = 81, + Origins: pallet_custom_origins::{Origin} = 82, + Whitelist: pallet_whitelist::{Pallet, Call, Storage, Event} = 83, + TechnicalCommittee: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config} = 84, + TechnicalCommitteeMembership: pallet_membership::::{Pallet, Call, Storage, Event, Config} = 85, + // our pallets part 1 Fees: pallet_fees::{Pallet, Call, Storage, Config, Event} = 90, Anchor: pallet_anchors::{Pallet, Call, Storage} = 91, @@ -2483,8 +2588,8 @@ impl_runtime_apis! { } // Investment Runtime APIs - impl runtime_common::apis::InvestmentsApi> for Runtime { - fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { + impl runtime_common::apis::InvestmentsApi> for Runtime { + fn investment_portfolio(account_id: AccountId) -> Vec<(InvestmentId, InvestmentPortfolio)> { runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } @@ -2837,7 +2942,7 @@ mod benches { [pallet_proxy, Proxy] [pallet_utility, Utility] [pallet_scheduler, Scheduler] - [pallet_collective, Council] + [pallet_collective_council, Council] [pallet_democracy, Democracy] [pallet_elections_phragmen, Elections] [pallet_identity, Identity] @@ -2869,6 +2974,11 @@ mod benches { [pallet_remarks, Remarks] [pallet_pool_fees, PoolFees] [pallet_token_mux, TokenMux] + [pallet_collective_technical_fellowship, TechnicalCommittee] + [pallet_conviction_voting, ConvictionVoting] + [pallet_membership, TechnicalCommitteeMembership] + [pallet_referenda, Referenda] + [pallet_whitelist, Whitelist] ); } diff --git a/runtime/development/src/migrations.rs b/runtime/development/src/migrations.rs index 76b5483753..440a77a4d4 100644 --- a/runtime/development/src/migrations.rs +++ b/runtime/development/src/migrations.rs @@ -15,137 +15,24 @@ use sp_core::parameter_types; use sp_std::{vec, vec::Vec}; parameter_types! { - pub const CollatorReward: cfg_primitives::Balance = cfg_primitives::constants::CFG; - pub const AnnualTreasuryInflationPercent: u32 = 3; - pub AccountMap: Vec<(AccountId, AccountId)> = vec![]; - + // Alice + pub InitialTcMembers: Vec = vec![AccountId::new(hex_literal::hex!("d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"))]; } -// Number of identities on Dev and Demo Chain on 30.05.2024 was both 0 -const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; - /// The migration set for Development & Demo. /// It includes all the migrations that have to be applied on that chain. -pub type UpgradeDevelopment1100 = ( - pallet_collator_selection::migration::v1::MigrateToV1, - pallet_collator_selection::migration::v2::MigrationToV2, - cleanup_foreign_investments::Migration, - // v0 -> v1 - pallet_multisig::migrations::v1::MigrateToV1, - // v0 -> v1 - pallet_balances::migration::MigrateToTrackInactive, - // v0 -> v1 - runtime_common::migrations::nuke::ResetPallet, - // v0 -> v1 - runtime_common::migrations::nuke::ResetPallet, - // v0 -> v1 - runtime_common::migrations::nuke::ResetPallet, - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, +pub type UpgradeDevelopment1300 = ( + // Initialize OpenGov Technical Committee with Alice + runtime_common::migrations::technical_comittee::InitMigration, + runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration< - crate::OraclePriceCollection, + crate::TechnicalCommittee, 0, - 1, - >, - runtime_common::migrations::increase_storage_version::Migration, - // Reset Block rewards on Demo which is at v0 - runtime_common::migrations::nuke::ResetPallet, - // Reset Block rewards on Dev which is at v2 - runtime_common::migrations::nuke::ResetPallet, - pallet_block_rewards::migrations::init::InitBlockRewards< - crate::Runtime, - CollatorReward, - AnnualTreasuryInflationPercent, + 4, >, - runtime_common::migrations::restricted_location::MigrateRestrictedTransferLocation< - crate::Runtime, - AccountMap, - >, - runtime_common::migrations::loans::AddWithLinearPricing, - runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< - crate::Runtime, - crate::RuntimeHoldReason, + runtime_common::migrations::increase_storage_version::Migration< + crate::TechnicalCommitteeMembership, + 0, + 4, >, - // Migrations below this comment originate from Polkadot SDK - pallet_xcm::migration::MigrateToLatestXcmVersion, - cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, - pallet_identity::migration::versioned::V0ToV1, - pallet_uniques::migration::MigrateV0ToV1, ); - -mod cleanup_foreign_investments { - use cfg_types::tokens::CurrencyId; - use frame_support::{ - storage::StoragePrefixedMap, - traits::{Get, OnRuntimeUpgrade}, - weights::Weight, - }; - #[cfg(feature = "try-runtime")] - use runtime_common::migrations::utils::count_storage_keys; - use runtime_common::migrations::utils::remove_undecodable_storage_keys; - #[cfg(feature = "try-runtime")] - use sp_runtime::DispatchError; - #[cfg(feature = "try-runtime")] - use sp_runtime::SaturatedConversion; - - pub struct Migration(sp_std::marker::PhantomData); - - const LOG_PREFIX: &str = "CleanupForeignInvestments"; - impl OnRuntimeUpgrade for Migration - where - T: pallet_foreign_investments::Config + frame_system::Config, - { - fn on_runtime_upgrade() -> Weight { - log::info!("{LOG_PREFIX} Initiating removal of undecodable keys"); - let (reads, writes) = remove_undecodable_storage_keys::( - pallet_foreign_investments::ForeignInvestmentInfo::::final_prefix(), - ); - - log::info!("{LOG_PREFIX} Removed {writes} undecodable keys"); - - T::DbWeight::get().reads_writes(reads, writes) - } - - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, DispatchError> { - let n: u32 = count_storage_keys( - pallet_foreign_investments::ForeignInvestmentInfo::::final_prefix(), - ); - let n_count: u32 = pallet_foreign_investments::ForeignInvestmentInfo::::iter_keys() - .count() - .saturated_into(); - - if n == n_count { - log::info!( - "{LOG_PREFIX} Storage cleanup can be skipped because all keys can be decoded" - ); - } else { - log::info!( - "{LOG_PREFIX} Failed to decode {} keys, cleanup necessary", - n.saturating_sub(n_count) - ); - } - - log::info!("{LOG_PREFIX} pre_upgrade done!",); - - Ok(sp_std::vec![]) - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade(_pre_state: sp_std::vec::Vec) -> Result<(), DispatchError> { - let n: u32 = count_storage_keys( - pallet_foreign_investments::ForeignInvestmentInfo::::final_prefix(), - ); - let n_count: u32 = pallet_foreign_investments::ForeignInvestmentInfo::::iter_keys() - .count() - .saturated_into(); - assert_eq!(n, n_count); - - log::info!("{LOG_PREFIX} post_upgrade done with {n} remaining storage keys!",); - - Ok(()) - } - } -} diff --git a/runtime/development/src/tracks.rs b/runtime/development/src/tracks.rs new file mode 100644 index 0000000000..a9b1fabee2 --- /dev/null +++ b/runtime/development/src/tracks.rs @@ -0,0 +1,176 @@ +// Copyright 2024 Centrifuge Foundation (centrifuge.io). +// +// This file is part of the Centrifuge chain project. +// Centrifuge 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 (see http://www.gnu.org/licenses). +// Centrifuge 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. + +//! OpenGov Tracks parametrization +//! +//! Based on [Centrifuge Chain parametrization](https://docs.google.com/document/d/1aPH1sTfAttD3K0f4AoOF2iDb3nH1GHlx5TfIP4Xi4SM) +//! whereas `DAYS` and `HOURS` were replaced with `MINUTES` for Development +//! runtime. + +use cfg_primitives::{ + Balance, BlockNumber, CFG, MINUTES, TRACK_INDEX_POOL_ADMIN, TRACK_INDEX_REF_CANCELLER, + TRACK_INDEX_REF_KILLER, TRACK_INDEX_ROOT, TRACK_INDEX_TREASURER, + TRACK_INDEX_WHITELISTED_CALLER, +}; +use cfg_utils::math::{to_percent, to_ppm}; +use pallet_referenda::Curve; + +use crate::RuntimeOrigin; + +const SUP_ROOT: Curve = + Curve::make_reciprocal(1, 14, to_percent(10), to_ppm(8800), to_percent(100)); +const APP_ROOT: Curve = Curve::make_linear(14, 14, to_percent(50), to_percent(100)); + +const SUP_WHITELISTED: Curve = + Curve::make_reciprocal(1, 7, to_ppm(800), to_ppm(100), to_percent(50)); +const APP_WHITELISTED: Curve = Curve::make_linear(7, 7, to_percent(50), to_percent(100)); + +const SUP_POOL_ADMIN: Curve = + Curve::make_reciprocal(1, 7, to_ppm(38500), to_ppm(5900), to_percent(50)); +const APP_POOL_ADMIN: Curve = Curve::make_linear(7, 7, to_percent(70), to_percent(100)); + +const SUP_TREASURER: Curve = Curve::make_linear(25, 28, to_percent(1), to_percent(50)); +const APP_TREASURER: Curve = Curve::make_linear(14, 14, to_percent(70), to_percent(100)); + +const SUP_REF_CANCELLER: Curve = + Curve::make_reciprocal(1, 7, to_ppm(38500), to_ppm(5900), to_percent(50)); +const APP_REF_CANCELLER: Curve = Curve::make_linear(7, 7, to_percent(70), to_percent(100)); + +const SUP_REF_KILLER: Curve = + Curve::make_reciprocal(1, 7, to_ppm(38500), to_ppm(5900), to_percent(50)); +const APP_REF_KILLER: Curve = Curve::make_linear(7, 7, to_percent(70), to_percent(100)); + +const TRACKS_DATA: [(u16, pallet_referenda::TrackInfo); 6] = [ + ( + TRACK_INDEX_ROOT, + pallet_referenda::TrackInfo { + name: "root", + max_deciding: 2, + decision_deposit: 300_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_ROOT, + min_support: SUP_ROOT, + }, + ), + ( + TRACK_INDEX_WHITELISTED_CALLER, + pallet_referenda::TrackInfo { + name: "whitelisted_caller", + max_deciding: 20, + decision_deposit: 1_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_WHITELISTED, + min_support: SUP_WHITELISTED, + }, + ), + ( + TRACK_INDEX_POOL_ADMIN, + pallet_referenda::TrackInfo { + name: "pool_admin", + max_deciding: 5, + decision_deposit: 1_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_POOL_ADMIN, + min_support: SUP_POOL_ADMIN, + }, + ), + ( + TRACK_INDEX_TREASURER, + pallet_referenda::TrackInfo { + name: "treasurer", + max_deciding: 2, + decision_deposit: 10_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_TREASURER, + min_support: SUP_TREASURER, + }, + ), + ( + TRACK_INDEX_REF_CANCELLER, + pallet_referenda::TrackInfo { + name: "referendum_canceller", + max_deciding: 20, + decision_deposit: 50_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_REF_CANCELLER, + min_support: SUP_REF_CANCELLER, + }, + ), + ( + TRACK_INDEX_REF_KILLER, + pallet_referenda::TrackInfo { + name: "referendum_killer", + max_deciding: 20, + decision_deposit: 75_000 * CFG, + prepare_period: 1 * MINUTES, + decision_period: 1 * MINUTES, + confirm_period: 1 * MINUTES, + min_enactment_period: 1 * MINUTES, + min_approval: APP_REF_KILLER, + min_support: SUP_REF_KILLER, + }, + ), +]; + +pub struct TracksInfo; +impl pallet_referenda::TracksInfo for TracksInfo { + type Id = u16; + type RuntimeOrigin = ::PalletsOrigin; + + fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo)] { + &TRACKS_DATA[..] + } + + fn track_for(id: &Self::RuntimeOrigin) -> Result { + if let Ok(system_origin) = frame_system::RawOrigin::try_from(id.clone()) { + match system_origin { + frame_system::RawOrigin::Root => Ok(TRACK_INDEX_ROOT), + _ => Err(()), + } + } else if let Ok(custom_origin) = runtime_common::origins::gov::Origin::try_from(id.clone()) + { + match custom_origin { + runtime_common::origins::gov::Origin::WhitelistedCaller => { + Ok(TRACK_INDEX_WHITELISTED_CALLER) + } + // General admin + runtime_common::origins::gov::Origin::PoolAdmin => Ok(TRACK_INDEX_POOL_ADMIN), + runtime_common::origins::gov::Origin::Treasurer => Ok(TRACK_INDEX_TREASURER), + // Referendum admins + runtime_common::origins::gov::Origin::ReferendumCanceller => { + Ok(TRACK_INDEX_REF_CANCELLER) + } + runtime_common::origins::gov::Origin::ReferendumKiller => { + Ok(TRACK_INDEX_REF_KILLER) + } + } + } else { + Err(()) + } + } +} +pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber); diff --git a/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs index 1b2f3baa35..648860a512 100644 --- a/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `cumulus_pallet_xcmp_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 6_322_000 picoseconds. - Weight::from_parts(6_612_000, 0) + // Minimum execution time: 5_781_000 picoseconds. + Weight::from_parts(6_172_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `115` // Estimated: `3517` - // Minimum execution time: 17_583_000 picoseconds. - Weight::from_parts(18_214_000, 0) + // Minimum execution time: 15_860_000 picoseconds. + Weight::from_parts(16_440_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -69,8 +69,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `109` // Estimated: `1594` - // Minimum execution time: 3_627_000 picoseconds. - Weight::from_parts(3_857_000, 0) + // Minimum execution time: 3_467_000 picoseconds. + Weight::from_parts(3_617_000, 0) .saturating_add(Weight::from_parts(0, 1594)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,8 +81,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `144` // Estimated: `1629` - // Minimum execution time: 4_809_000 picoseconds. - Weight::from_parts(5_019_000, 0) + // Minimum execution time: 4_559_000 picoseconds. + Weight::from_parts(4_859_000, 0) .saturating_add(Weight::from_parts(0, 1629)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -91,8 +91,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 11_432_000 picoseconds. - Weight::from_parts(11_742_000, 0) + // Minimum execution time: 11_031_000 picoseconds. + Weight::from_parts(11_261_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) @@ -113,8 +113,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65744` // Estimated: `69209` - // Minimum execution time: 132_207_000 picoseconds. - Weight::from_parts(136_435_000, 0) + // Minimum execution time: 137_428_000 picoseconds. + Weight::from_parts(140_333_000, 0) .saturating_add(Weight::from_parts(0, 69209)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -127,8 +127,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `65743` // Estimated: `69208` - // Minimum execution time: 63_539_000 picoseconds. - Weight::from_parts(64_109_000, 0) + // Minimum execution time: 62_427_000 picoseconds. + Weight::from_parts(62_908_000, 0) .saturating_add(Weight::from_parts(0, 69208)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/development/src/weights/frame_system.rs b/runtime/development/src/weights/frame_system.rs index 05427a8a9c..171d6d176b 100644 --- a/runtime/development/src/weights/frame_system.rs +++ b/runtime/development/src/weights/frame_system.rs @@ -92,8 +92,8 @@ impl frame_system::WeightInfo for WeightInfo { // Estimated: `0` // Minimum execution time: 3_306 nanoseconds. Weight::from_parts(3_357_000, 0) - // Standard Error: 868 - .saturating_add(Weight::from_parts(650_497, 0).saturating_mul(i.into())) + // Standard Error: 1_425 + .saturating_add(Weight::from_parts(662_473, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: Skipped Metadata (r:0 w:0) @@ -101,21 +101,41 @@ impl frame_system::WeightInfo for WeightInfo { /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `178 + p * (69 ±0)` - // Estimated: `155 + p * (70 ±0)` - // Minimum execution time: 6_271 nanoseconds. + // Measured: `115 + p * (69 ±0)` + // Estimated: `128 + p * (70 ±0)` + // Minimum execution time: 4_189_000 picoseconds. Weight::from_parts(6_522_000, 155) - // Standard Error: 1_372 - .saturating_add(Weight::from_parts(1_296_943, 0).saturating_mul(p.into())) + // Standard Error: 2_296 + .saturating_add(Weight::from_parts(1_389_650, 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())) } - - fn authorize_upgrade() -> Weight { - Weight::zero() - } - - fn apply_authorized_upgrade() -> Weight { - Weight::zero() - } + /// 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: 33_027_000 picoseconds. + Weight::from_parts(33_027_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: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// 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: `22` + // Estimated: `1518` + // Minimum execution time: 118_101_992_000 picoseconds. + Weight::from_parts(118_101_992_000, 0) + .saturating_add(Weight::from_parts(0, 1518)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } } diff --git a/runtime/development/src/weights/mod.rs b/runtime/development/src/weights/mod.rs index 857944649e..3ceb435a64 100644 --- a/runtime/development/src/weights/mod.rs +++ b/runtime/development/src/weights/mod.rs @@ -17,7 +17,9 @@ pub mod pallet_balances; pub mod pallet_block_rewards; pub mod pallet_collator_allowlist; pub mod pallet_collator_selection; -pub mod pallet_collective; +pub mod pallet_collective_council; +pub mod pallet_collective_technical_fellowship; +pub mod pallet_conviction_voting; pub mod pallet_democracy; pub mod pallet_elections_phragmen; pub mod pallet_fees; @@ -27,6 +29,7 @@ pub mod pallet_investments; pub mod pallet_keystore; pub mod pallet_liquidity_rewards; pub mod pallet_loans; +pub mod pallet_membership; pub mod pallet_multisig; pub mod pallet_oracle_collection; pub mod pallet_oracle_feed; @@ -37,6 +40,7 @@ pub mod pallet_pool_registry; pub mod pallet_pool_system; pub mod pallet_preimage; pub mod pallet_proxy; +pub mod pallet_referenda; pub mod pallet_remarks; pub mod pallet_restricted_tokens; pub mod pallet_scheduler; @@ -47,4 +51,5 @@ pub mod pallet_transfer_allowlist; pub mod pallet_uniques; pub mod pallet_utility; pub mod pallet_vesting; +pub mod pallet_whitelist; pub mod pallet_xcm; diff --git a/runtime/development/src/weights/pallet_anchors.rs b/runtime/development/src/weights/pallet_anchors.rs index 1ff8ae7cc7..00dbbebea4 100644 --- a/runtime/development/src/weights/pallet_anchors.rs +++ b/runtime/development/src/weights/pallet_anchors.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_anchors` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `301` // Estimated: `3581` - // Minimum execution time: 38_893_000 picoseconds. - Weight::from_parts(39_884_000, 0) + // Minimum execution time: 36_409_000 picoseconds. + Weight::from_parts(37_100_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -69,8 +69,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `635` // Estimated: `3581` - // Minimum execution time: 65_643_000 picoseconds. - Weight::from_parts(66_685_000, 0) + // Minimum execution time: 62_277_000 picoseconds. + Weight::from_parts(64_080_000, 0) .saturating_add(Weight::from_parts(0, 3581)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(5)) @@ -81,8 +81,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `12450` // Estimated: `260090` - // Minimum execution time: 1_948_840_000 picoseconds. - Weight::from_parts(1_974_327_000, 0) + // Minimum execution time: 1_796_481_000 picoseconds. + Weight::from_parts(1_811_690_000, 0) .saturating_add(Weight::from_parts(0, 260090)) .saturating_add(T::DbWeight::get().reads(100)) .saturating_add(T::DbWeight::get().writes(100)) @@ -505,8 +505,8 @@ impl pallet_anchors::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `18325` // Estimated: `254990` - // Minimum execution time: 2_020_935_000 picoseconds. - Weight::from_parts(2_047_634_000, 0) + // Minimum execution time: 1_877_153_000 picoseconds. + Weight::from_parts(1_901_648_000, 0) .saturating_add(Weight::from_parts(0, 254990)) .saturating_add(T::DbWeight::get().reads(504)) .saturating_add(T::DbWeight::get().writes(402)) diff --git a/runtime/development/src/weights/pallet_balances.rs b/runtime/development/src/weights/pallet_balances.rs index bf342fa632..4436cf7d4c 100644 --- a/runtime/development/src/weights/pallet_balances.rs +++ b/runtime/development/src/weights/pallet_balances.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_balances` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 72_405_000 picoseconds. - Weight::from_parts(73_437_000, 0) + // Minimum execution time: 67_787_000 picoseconds. + Weight::from_parts(68_879_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 56_827_000 picoseconds. - Weight::from_parts(58_238_000, 0) + // Minimum execution time: 53_851_000 picoseconds. + Weight::from_parts(54_503_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -61,8 +61,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 20_999_000 picoseconds. - Weight::from_parts(21_651_000, 0) + // Minimum execution time: 20_528_000 picoseconds. + Weight::from_parts(20_940_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 28_343_000 picoseconds. - Weight::from_parts(29_054_000, 0) + // Minimum execution time: 27_251_000 picoseconds. + Weight::from_parts(28_113_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -85,8 +85,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 75_261_000 picoseconds. - Weight::from_parts(76_302_000, 0) + // Minimum execution time: 70_232_000 picoseconds. + Weight::from_parts(71_625_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -97,8 +97,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 71_503_000 picoseconds. - Weight::from_parts(73_437_000, 0) + // Minimum execution time: 67_336_000 picoseconds. + Weight::from_parts(68_258_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -109,8 +109,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `3593` - // Minimum execution time: 25_337_000 picoseconds. - Weight::from_parts(26_099_000, 0) + // Minimum execution time: 24_506_000 picoseconds. + Weight::from_parts(25_258_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -122,11 +122,11 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `143 + u * (136 ±0)` // Estimated: `990 + u * (2603 ±0)` - // Minimum execution time: 23_484_000 picoseconds. - Weight::from_parts(23_684_000, 0) + // Minimum execution time: 22_302_000 picoseconds. + Weight::from_parts(22_773_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 12_704 - .saturating_add(Weight::from_parts(19_776_076, 0).saturating_mul(u.into())) + // Standard Error: 14_310 + .saturating_add(Weight::from_parts(18_718_369, 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())) @@ -135,8 +135,8 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_776_000 picoseconds. - Weight::from_parts(9_267_000, 0) + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(8_757_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/development/src/weights/pallet_block_rewards.rs b/runtime/development/src/weights/pallet_block_rewards.rs index 58029e5e99..5bc0f6b2be 100644 --- a/runtime/development/src/weights/pallet_block_rewards.rs +++ b/runtime/development/src/weights/pallet_block_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_block_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `516` // Estimated: `6196` - // Minimum execution time: 84_087_000 picoseconds. - Weight::from_parts(85_410_000, 0) + // Minimum execution time: 78_388_000 picoseconds. + Weight::from_parts(80_060_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_502_000 picoseconds. - Weight::from_parts(6_702_000, 0) + // Minimum execution time: 5_921_000 picoseconds. + Weight::from_parts(6_312_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -67,8 +67,8 @@ impl pallet_block_rewards::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `41` // Estimated: `3582` - // Minimum execution time: 6_442_000 picoseconds. - Weight::from_parts(6_662_000, 0) + // Minimum execution time: 5_961_000 picoseconds. + Weight::from_parts(6_362_000, 0) .saturating_add(Weight::from_parts(0, 3582)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_collator_allowlist.rs b/runtime/development/src/weights/pallet_collator_allowlist.rs index 9d2f9f754f..8b2ed0c349 100644 --- a/runtime/development/src/weights/pallet_collator_allowlist.rs +++ b/runtime/development/src/weights/pallet_collator_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `485` // Estimated: `3950` - // Minimum execution time: 20_959_000 picoseconds. - Weight::from_parts(21_520_000, 0) + // Minimum execution time: 20_238_000 picoseconds. + Weight::from_parts(21_149_000, 0) .saturating_add(Weight::from_parts(0, 3950)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -51,8 +51,8 @@ impl pallet_collator_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `265` // Estimated: `3497` - // Minimum execution time: 15_138_000 picoseconds. - Weight::from_parts(15_690_000, 0) + // Minimum execution time: 14_778_000 picoseconds. + Weight::from_parts(15_169_000, 0) .saturating_add(Weight::from_parts(0, 3497)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_collator_selection.rs b/runtime/development/src/weights/pallet_collator_selection.rs index 80aad763c5..56f4fb2c98 100644 --- a/runtime/development/src/weights/pallet_collator_selection.rs +++ b/runtime/development/src/weights/pallet_collator_selection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_collator_selection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,11 +43,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `426 + b * (112 ±0)` // Estimated: `1415 + b * (2588 ±0)` - // Minimum execution time: 21_761_000 picoseconds. - Weight::from_parts(18_325_667, 0) + // Minimum execution time: 20_919_000 picoseconds. + Weight::from_parts(16_576_940, 0) .saturating_add(Weight::from_parts(0, 1415)) - // Standard Error: 2_818 - .saturating_add(Weight::from_parts(6_395_759, 0).saturating_mul(b.into())) + // Standard Error: 3_936 + .saturating_add(Weight::from_parts(6_014_809, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 2588).saturating_mul(b.into())) @@ -70,13 +70,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1306 + b * (37 ±0) + c * (48 ±0)` // Estimated: `4726 + b * (37 ±0) + c * (53 ±0)` - // Minimum execution time: 59_742_000 picoseconds. - Weight::from_parts(60_284_422, 0) + // Minimum execution time: 58_360_000 picoseconds. + Weight::from_parts(59_368_218, 0) .saturating_add(Weight::from_parts(0, 4726)) - // Standard Error: 460 - .saturating_add(Weight::from_parts(96_883, 0).saturating_mul(b.into())) - // Standard Error: 2_428 - .saturating_add(Weight::from_parts(90_127, 0).saturating_mul(c.into())) + // Standard Error: 518 + .saturating_add(Weight::from_parts(93_358, 0).saturating_mul(b.into())) + // Standard Error: 2_733 + .saturating_add(Weight::from_parts(77_375, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) @@ -92,11 +92,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `285 + b * (32 ±0)` // Estimated: `4687` - // Minimum execution time: 15_498_000 picoseconds. - Weight::from_parts(16_316_216, 0) + // Minimum execution time: 15_268_000 picoseconds. + Weight::from_parts(15_827_111, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 286 - .saturating_add(Weight::from_parts(61_407, 0).saturating_mul(b.into())) + // Standard Error: 308 + .saturating_add(Weight::from_parts(63_917, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -106,8 +106,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_773_000 picoseconds. - Weight::from_parts(7_183_000, 0) + // Minimum execution time: 6_492_000 picoseconds. + Weight::from_parts(6_883_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -127,13 +127,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0 + c * (201 ±0) + k * (152 ±0)` // Estimated: `3593 + c * (848 ±15) + k * (848 ±15)` - // Minimum execution time: 13_064_000 picoseconds. - Weight::from_parts(13_555_000, 0) + // Minimum execution time: 12_544_000 picoseconds. + Weight::from_parts(13_024_000, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 112_406 - .saturating_add(Weight::from_parts(7_553_928, 0).saturating_mul(c.into())) - // Standard Error: 112_406 - .saturating_add(Weight::from_parts(7_323_334, 0).saturating_mul(k.into())) + // Standard Error: 105_868 + .saturating_add(Weight::from_parts(7_163_105, 0).saturating_mul(c.into())) + // Standard Error: 105_868 + .saturating_add(Weight::from_parts(6_944_316, 0).saturating_mul(k.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(c.into()))) @@ -151,11 +151,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `529 + c * (48 ±0)` // Estimated: `2446` - // Minimum execution time: 33_843_000 picoseconds. - Weight::from_parts(35_210_680, 0) + // Minimum execution time: 32_612_000 picoseconds. + Weight::from_parts(33_891_223, 0) .saturating_add(Weight::from_parts(0, 2446)) - // Standard Error: 2_477 - .saturating_add(Weight::from_parts(89_870, 0).saturating_mul(c.into())) + // Standard Error: 2_504 + .saturating_add(Weight::from_parts(105_355, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -177,11 +177,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `925 + c * (61 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 53_069_000 picoseconds. - Weight::from_parts(54_800_265, 0) + // Minimum execution time: 51_476_000 picoseconds. + Weight::from_parts(53_185_126, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 1_793 - .saturating_add(Weight::from_parts(300_153, 0).saturating_mul(c.into())) + // Standard Error: 1_881 + .saturating_add(Weight::from_parts(273_377, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -206,11 +206,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1017 + c * (62 ±0)` // Estimated: `4687 + c * (62 ±0)` - // Minimum execution time: 75_732_000 picoseconds. - Weight::from_parts(76_168_356, 0) + // Minimum execution time: 72_947_000 picoseconds. + Weight::from_parts(73_437_057, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 2_715 - .saturating_add(Weight::from_parts(286_388, 0).saturating_mul(c.into())) + // Standard Error: 2_467 + .saturating_add(Weight::from_parts(278_714, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 62).saturating_mul(c.into())) @@ -227,11 +227,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `476 + c * (48 ±0)` // Estimated: `4687` - // Minimum execution time: 39_313_000 picoseconds. - Weight::from_parts(40_269_388, 0) + // Minimum execution time: 38_032_000 picoseconds. + Weight::from_parts(38_812_001, 0) .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 1_755 - .saturating_add(Weight::from_parts(149_791, 0).saturating_mul(c.into())) + // Standard Error: 1_603 + .saturating_add(Weight::from_parts(140_107, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -243,8 +243,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `192` // Estimated: `6196` - // Minimum execution time: 60_223_000 picoseconds. - Weight::from_parts(61_394_000, 0) + // Minimum execution time: 56_807_000 picoseconds. + Weight::from_parts(57_868_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -267,11 +267,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `416 + c * (98 ±0) + r * (154 ±0)` // Estimated: `3962574101370078 + c * (2519 ±0) + r * (2393 ±6)` - // Minimum execution time: 25_678_000 picoseconds. - Weight::from_parts(26_419_000, 0) + // Minimum execution time: 25_267_000 picoseconds. + Weight::from_parts(25_839_000, 0) .saturating_add(Weight::from_parts(0, 3962574101370078)) - // Standard Error: 178_336 - .saturating_add(Weight::from_parts(16_618_722, 0).saturating_mul(c.into())) + // Standard Error: 168_266 + .saturating_add(Weight::from_parts(15_760_335, 0).saturating_mul(c.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().writes((1_u64).saturating_mul(c.into()))) diff --git a/runtime/altair/src/weights/pallet_collective.rs b/runtime/development/src/weights/pallet_collective_council.rs similarity index 68% rename from runtime/altair/src/weights/pallet_collective.rs rename to runtime/development/src/weights/pallet_collective_council.rs index 50f68bd6ca..2cfefb756d 100644 --- a/runtime/altair/src/weights/pallet_collective.rs +++ b/runtime/development/src/weights/pallet_collective_council.rs @@ -1,24 +1,24 @@ -//! Autogenerated weights for `pallet_collective` +//! Autogenerated weights for `pallet_collective_council` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=altair-local +// --chain=development // --steps=50 // --repeat=20 -// --pallet=pallet_collective +// --pallet=pallet_collective_council // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/altair/src/weights/pallet_collective.rs +// --output=/tmp/runtime/development/src/weights/pallet_collective_council.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -28,7 +28,7 @@ use frame_support::{traits::Get, weights::Weight}; use core::marker::PhantomData; -/// Weight functions for `pallet_collective`. +/// Weight functions for `pallet_collective_council`. pub struct WeightInfo(PhantomData); impl pallet_collective::WeightInfo for WeightInfo { /// Storage: `Council::Members` (r:1 w:1) @@ -45,14 +45,14 @@ impl pallet_collective::WeightInfo for WeightInfo { fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (3232 ±0) + p * (3190 ±0)` - // Estimated: `15728 + m * (1967 ±23) + p * (4332 ±23)` - // Minimum execution time: 20_168_000 picoseconds. - Weight::from_parts(20_378_000, 0) - .saturating_add(Weight::from_parts(0, 15728)) - // Standard Error: 67_745 - .saturating_add(Weight::from_parts(4_991_723, 0).saturating_mul(m.into())) - // Standard Error: 67_745 - .saturating_add(Weight::from_parts(9_516_473, 0).saturating_mul(p.into())) + // Estimated: `15762 + m * (1967 ±23) + p * (4332 ±23)` + // Minimum execution time: 20_087_000 picoseconds. + Weight::from_parts(20_528_000, 0) + .saturating_add(Weight::from_parts(0, 15762)) + // Standard Error: 63_530 + .saturating_add(Weight::from_parts(4_802_406, 0).saturating_mul(m.into())) + // Standard Error: 63_530 + .saturating_add(Weight::from_parts(9_028_020, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -66,15 +66,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[1, 100]`. fn execute(b: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `69 + m * (32 ±0)` - // Estimated: `1555 + m * (32 ±0)` - // Minimum execution time: 17_863_000 picoseconds. - Weight::from_parts(16_825_917, 0) - .saturating_add(Weight::from_parts(0, 1555)) - // Standard Error: 47 - .saturating_add(Weight::from_parts(1_631, 0).saturating_mul(b.into())) - // Standard Error: 484 - .saturating_add(Weight::from_parts(19_800, 0).saturating_mul(m.into())) + // Measured: `103 + m * (32 ±0)` + // Estimated: `1589 + m * (32 ±0)` + // Minimum execution time: 18_094_000 picoseconds. + Weight::from_parts(16_739_939, 0) + .saturating_add(Weight::from_parts(0, 1589)) + // Standard Error: 44 + .saturating_add(Weight::from_parts(1_880, 0).saturating_mul(b.into())) + // Standard Error: 455 + .saturating_add(Weight::from_parts(19_204, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -86,15 +86,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[1, 100]`. fn propose_execute(b: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `69 + m * (32 ±0)` - // Estimated: `3535 + m * (32 ±0)` - // Minimum execution time: 22_021_000 picoseconds. - Weight::from_parts(20_559_271, 0) - .saturating_add(Weight::from_parts(0, 3535)) - // Standard Error: 58 - .saturating_add(Weight::from_parts(2_310, 0).saturating_mul(b.into())) - // Standard Error: 598 - .saturating_add(Weight::from_parts(34_169, 0).saturating_mul(m.into())) + // Measured: `103 + m * (32 ±0)` + // Estimated: `3569 + m * (32 ±0)` + // Minimum execution time: 22_151_000 picoseconds. + Weight::from_parts(20_475_324, 0) + .saturating_add(Weight::from_parts(0, 3569)) + // Standard Error: 74 + .saturating_add(Weight::from_parts(2_200, 0).saturating_mul(b.into())) + // Standard Error: 769 + .saturating_add(Weight::from_parts(32_131, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -113,17 +113,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `359 + m * (32 ±0) + p * (36 ±0)` - // Estimated: `3751 + m * (33 ±0) + p * (36 ±0)` - // Minimum execution time: 28_624_000 picoseconds. - Weight::from_parts(28_370_286, 0) - .saturating_add(Weight::from_parts(0, 3751)) - // Standard Error: 111 - .saturating_add(Weight::from_parts(3_203, 0).saturating_mul(b.into())) - // Standard Error: 1_163 - .saturating_add(Weight::from_parts(24_185, 0).saturating_mul(m.into())) - // Standard Error: 1_148 - .saturating_add(Weight::from_parts(264_716, 0).saturating_mul(p.into())) + // Measured: `393 + m * (32 ±0) + p * (36 ±0)` + // Estimated: `3785 + m * (33 ±0) + p * (36 ±0)` + // Minimum execution time: 28_103_000 picoseconds. + Weight::from_parts(28_987_169, 0) + .saturating_add(Weight::from_parts(0, 3785)) + // Standard Error: 97 + .saturating_add(Weight::from_parts(2_680, 0).saturating_mul(b.into())) + // Standard Error: 1_022 + .saturating_add(Weight::from_parts(22_268, 0).saturating_mul(m.into())) + // Standard Error: 1_009 + .saturating_add(Weight::from_parts(246_433, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into())) @@ -136,13 +136,13 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `m` is `[5, 100]`. fn vote(m: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `808 + m * (64 ±0)` - // Estimated: `4272 + m * (64 ±0)` - // Minimum execution time: 25_808_000 picoseconds. - Weight::from_parts(26_813_711, 0) - .saturating_add(Weight::from_parts(0, 4272)) - // Standard Error: 1_518 - .saturating_add(Weight::from_parts(46_212, 0).saturating_mul(m.into())) + // Measured: `842 + m * (64 ±0)` + // Estimated: `4306 + m * (64 ±0)` + // Minimum execution time: 26_379_000 picoseconds. + Weight::from_parts(26_828_158, 0) + .saturating_add(Weight::from_parts(0, 4306)) + // Standard Error: 835 + .saturating_add(Weight::from_parts(47_000, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) @@ -159,15 +159,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_early_disapproved(m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `397 + m * (64 ±0) + p * (36 ±0)` - // Estimated: `3842 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 31_148_000 picoseconds. - Weight::from_parts(31_291_102, 0) - .saturating_add(Weight::from_parts(0, 3842)) - // Standard Error: 1_331 - .saturating_add(Weight::from_parts(26_407, 0).saturating_mul(m.into())) - // Standard Error: 1_297 - .saturating_add(Weight::from_parts(258_062, 0).saturating_mul(p.into())) + // Measured: `431 + m * (64 ±0) + p * (36 ±0)` + // Estimated: `3876 + m * (65 ±0) + p * (36 ±0)` + // Minimum execution time: 31_730_000 picoseconds. + Weight::from_parts(31_276_441, 0) + .saturating_add(Weight::from_parts(0, 3876)) + // Standard Error: 1_499 + .saturating_add(Weight::from_parts(19_540, 0).saturating_mul(m.into())) + // Standard Error: 1_462 + .saturating_add(Weight::from_parts(271_420, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -186,17 +186,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `699 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` - // Estimated: `4016 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 44_864_000 picoseconds. - Weight::from_parts(43_464_920, 0) - .saturating_add(Weight::from_parts(0, 4016)) - // Standard Error: 226 - .saturating_add(Weight::from_parts(3_120, 0).saturating_mul(b.into())) - // Standard Error: 2_391 - .saturating_add(Weight::from_parts(42_023, 0).saturating_mul(m.into())) - // Standard Error: 2_331 - .saturating_add(Weight::from_parts(311_089, 0).saturating_mul(p.into())) + // Measured: `733 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` + // Estimated: `4050 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` + // Minimum execution time: 44_673_000 picoseconds. + Weight::from_parts(47_141_872, 0) + .saturating_add(Weight::from_parts(0, 4050)) + // Standard Error: 126 + .saturating_add(Weight::from_parts(2_067, 0).saturating_mul(b.into())) + // Standard Error: 1_334 + .saturating_add(Weight::from_parts(24_554, 0).saturating_mul(m.into())) + // Standard Error: 1_300 + .saturating_add(Weight::from_parts(270_286, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -217,15 +217,15 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_disapproved(m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `417 + m * (64 ±0) + p * (36 ±0)` - // Estimated: `3862 + m * (65 ±0) + p * (36 ±0)` - // Minimum execution time: 33_622_000 picoseconds. - Weight::from_parts(32_647_996, 0) - .saturating_add(Weight::from_parts(0, 3862)) - // Standard Error: 1_662 - .saturating_add(Weight::from_parts(35_027, 0).saturating_mul(m.into())) - // Standard Error: 1_620 - .saturating_add(Weight::from_parts(264_644, 0).saturating_mul(p.into())) + // Measured: `451 + m * (64 ±0) + p * (36 ±0)` + // Estimated: `3896 + m * (65 ±0) + p * (36 ±0)` + // Minimum execution time: 33_823_000 picoseconds. + Weight::from_parts(33_523_475, 0) + .saturating_add(Weight::from_parts(0, 3896)) + // Standard Error: 1_494 + .saturating_add(Weight::from_parts(45_061, 0).saturating_mul(m.into())) + // Standard Error: 1_457 + .saturating_add(Weight::from_parts(267_763, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) @@ -246,17 +246,17 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `719 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` - // Estimated: `4036 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` - // Minimum execution time: 47_879_000 picoseconds. - Weight::from_parts(53_428_347, 0) - .saturating_add(Weight::from_parts(0, 4036)) - // Standard Error: 228 - .saturating_add(Weight::from_parts(573, 0).saturating_mul(b.into())) - // Standard Error: 2_414 - .saturating_add(Weight::from_parts(3_988, 0).saturating_mul(m.into())) - // Standard Error: 2_353 - .saturating_add(Weight::from_parts(286_186, 0).saturating_mul(p.into())) + // Measured: `753 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)` + // Estimated: `4070 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)` + // Minimum execution time: 50_384_000 picoseconds. + Weight::from_parts(49_650_489, 0) + .saturating_add(Weight::from_parts(0, 4070)) + // Standard Error: 130 + .saturating_add(Weight::from_parts(1_890, 0).saturating_mul(b.into())) + // Standard Error: 1_374 + .saturating_add(Weight::from_parts(24_126, 0).saturating_mul(m.into())) + // Standard Error: 1_340 + .saturating_add(Weight::from_parts(273_495, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -272,13 +272,13 @@ impl pallet_collective::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 100]`. fn disapprove_proposal(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `226 + p * (32 ±0)` - // Estimated: `1711 + p * (32 ±0)` - // Minimum execution time: 17_001_000 picoseconds. - Weight::from_parts(18_171_314, 0) - .saturating_add(Weight::from_parts(0, 1711)) - // Standard Error: 730 - .saturating_add(Weight::from_parts(246_569, 0).saturating_mul(p.into())) + // Measured: `260 + p * (32 ±0)` + // Estimated: `1745 + p * (32 ±0)` + // Minimum execution time: 17_542_000 picoseconds. + Weight::from_parts(18_197_558, 0) + .saturating_add(Weight::from_parts(0, 1745)) + // Standard Error: 785 + .saturating_add(Weight::from_parts(241_539, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) diff --git a/runtime/development/src/weights/pallet_collective_technical_fellowship.rs b/runtime/development/src/weights/pallet_collective_technical_fellowship.rs new file mode 100644 index 0000000000..704f81b6f7 --- /dev/null +++ b/runtime/development/src/weights/pallet_collective_technical_fellowship.rs @@ -0,0 +1,282 @@ + +//! Autogenerated weights for `pallet_collective_technical_fellowship` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=development +// --steps=50 +// --repeat=20 +// --pallet=pallet_collective_technical_fellowship +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_collective_technical_fellowship.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_collective_technical_fellowship`. +pub struct WeightInfo(PhantomData); +impl pallet_collective::WeightInfo for WeightInfo { + /// Storage: `TechnicalCommittee::Members` (r:1 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:20 w:20) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[0, 20]`. + /// The range of component `n` is `[0, 20]`. + /// The range of component `p` is `[0, 20]`. + fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + m * (672 ±0) + p * (630 ±0)` + // Estimated: `4896 + m * (413 ±4) + p * (2773 ±4)` + // Minimum execution time: 11_051_000 picoseconds. + Weight::from_parts(11_481_000, 0) + .saturating_add(Weight::from_parts(0, 4896)) + // Standard Error: 43_460 + .saturating_add(Weight::from_parts(1_581_550, 0).saturating_mul(m.into())) + // Standard Error: 43_460 + .saturating_add(Weight::from_parts(5_250_842, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 413).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 2773).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[1, 20]`. + fn execute(b: u32, m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `32 + m * (32 ±0)` + // Estimated: `1517 + m * (32 ±0)` + // Minimum execution time: 16_060_000 picoseconds. + Weight::from_parts(16_403_320, 0) + .saturating_add(Weight::from_parts(0, 1517)) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_810, 0).saturating_mul(b.into())) + // Standard Error: 1_690 + .saturating_add(Weight::from_parts(15_973, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[1, 20]`. + fn propose_execute(b: u32, m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `32 + m * (32 ±0)` + // Estimated: `3497 + m * (32 ±0)` + // Minimum execution time: 20_618_000 picoseconds. + Weight::from_parts(20_709_773, 0) + .saturating_add(Weight::from_parts(0, 3497)) + // Standard Error: 45 + .saturating_add(Weight::from_parts(1_589, 0).saturating_mul(b.into())) + // Standard Error: 2_377 + .saturating_add(Weight::from_parts(27_249, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalCount` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:0 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[2, 20]`. + /// The range of component `p` is `[1, 20]`. + fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `22 + m * (32 ±0) + p * (55 ±0)` + // Estimated: `3455 + m * (35 ±0) + p * (54 ±0)` + // Minimum execution time: 26_148_000 picoseconds. + Weight::from_parts(25_697_082, 0) + .saturating_add(Weight::from_parts(0, 3455)) + // Standard Error: 67 + .saturating_add(Weight::from_parts(2_507, 0).saturating_mul(b.into())) + // Standard Error: 3_708 + .saturating_add(Weight::from_parts(41_265, 0).saturating_mul(m.into())) + // Standard Error: 3_517 + .saturating_add(Weight::from_parts(398_319, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 35).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 54).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[5, 20]`. + fn vote(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `572 + m * (64 ±0)` + // Estimated: `4037 + m * (64 ±0)` + // Minimum execution time: 22_803_000 picoseconds. + Weight::from_parts(23_522_836, 0) + .saturating_add(Weight::from_parts(0, 4037)) + // Standard Error: 2_288 + .saturating_add(Weight::from_parts(61_105, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_early_disapproved(m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `117 + m * (64 ±0) + p * (55 ±0)` + // Estimated: `3588 + m * (65 ±0) + p * (55 ±0)` + // Minimum execution time: 27_290_000 picoseconds. + Weight::from_parts(28_501_497, 0) + .saturating_add(Weight::from_parts(0, 3588)) + // Standard Error: 3_188 + .saturating_add(Weight::from_parts(8_320, 0).saturating_mul(m.into())) + // Standard Error: 2_714 + .saturating_add(Weight::from_parts(350_876, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `62 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)` + // Estimated: `3630 + b * (1 ±0) + m * (61 ±0) + p * (74 ±0)` + // Minimum execution time: 40_425_000 picoseconds. + Weight::from_parts(43_104_982, 0) + .saturating_add(Weight::from_parts(0, 3630)) + // Standard Error: 108 + .saturating_add(Weight::from_parts(2_692, 0).saturating_mul(b.into())) + // Standard Error: 5_644 + .saturating_add(Weight::from_parts(531_782, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 61).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 74).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:1 w:0) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_disapproved(m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `137 + m * (64 ±0) + p * (55 ±0)` + // Estimated: `3608 + m * (65 ±0) + p * (55 ±0)` + // Minimum execution time: 29_605_000 picoseconds. + Weight::from_parts(30_549_610, 0) + .saturating_add(Weight::from_parts(0, 3608)) + // Standard Error: 3_145 + .saturating_add(Weight::from_parts(29_234, 0).saturating_mul(m.into())) + // Standard Error: 2_678 + .saturating_add(Weight::from_parts(358_165, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Voting` (r:1 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:1 w:0) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:1 w:0) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `b` is `[2, 1024]`. + /// The range of component `m` is `[4, 20]`. + /// The range of component `p` is `[1, 20]`. + fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `82 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)` + // Estimated: `3650 + b * (1 ±0) + m * (61 ±0) + p * (74 ±0)` + // Minimum execution time: 43_531_000 picoseconds. + Weight::from_parts(46_044_405, 0) + .saturating_add(Weight::from_parts(0, 3650)) + // Standard Error: 107 + .saturating_add(Weight::from_parts(2_385, 0).saturating_mul(b.into())) + // Standard Error: 5_588 + .saturating_add(Weight::from_parts(534_811, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 61).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 74).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:0 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::ProposalOf` (r:0 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `p` is `[1, 20]`. + fn disapprove_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `188 + p * (32 ±0)` + // Estimated: `1673 + p * (32 ±0)` + // Minimum execution time: 16_460_000 picoseconds. + Weight::from_parts(17_297_135, 0) + .saturating_add(Weight::from_parts(0, 1673)) + // Standard Error: 1_882 + .saturating_add(Weight::from_parts(280_598, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) + } +} diff --git a/runtime/development/src/weights/pallet_conviction_voting.rs b/runtime/development/src/weights/pallet_conviction_voting.rs new file mode 100644 index 0000000000..7bb4ba78f1 --- /dev/null +++ b/runtime/development/src/weights/pallet_conviction_voting.rs @@ -0,0 +1,176 @@ + +//! Autogenerated weights for `pallet_conviction_voting` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=development +// --steps=50 +// --repeat=20 +// --pallet=pallet_conviction_voting +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_conviction_voting.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_conviction_voting`. +pub struct WeightInfo(PhantomData); +impl pallet_conviction_voting::WeightInfo for WeightInfo { + /// 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(149), added: 2624, 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(209), added: 2684, 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: `13381` + // Estimated: `42428` + // Minimum execution time: 119_353_000 picoseconds. + Weight::from_parts(124_742_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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:2 w:2) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + fn vote_existing() -> Weight { + // Proof Size summary in bytes: + // Measured: `14102` + // Estimated: `83866` + // Minimum execution time: 168_233_000 picoseconds. + Weight::from_parts(172_281_000, 0) + .saturating_add(Weight::from_parts(0, 83866)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// 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`) + fn remove_vote() -> Weight { + // Proof Size summary in bytes: + // Measured: `13891` + // Estimated: `83866` + // Minimum execution time: 138_428_000 picoseconds. + Weight::from_parts(148_126_000, 0) + .saturating_add(Weight::from_parts(0, 83866)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// 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: `13015` + // Estimated: `30706` + // Minimum execution time: 69_740_000 picoseconds. + Weight::from_parts(71_293_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:20 w:20) + /// 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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + /// The range of component `r` is `[0, 20]`. + fn delegate(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1928 + r * (705 ±0)` + // Estimated: `83866 + r * (3411 ±0)` + // Minimum execution time: 60_683_000 picoseconds. + Weight::from_parts(49_152_901, 0) + .saturating_add(Weight::from_parts(0, 83866)) + // Standard Error: 142_987 + .saturating_add(Weight::from_parts(38_936_029, 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(6)) + .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:20 w:20) + /// 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`) + /// The range of component `r` is `[0, 20]`. + fn undelegate(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1881 + r * (705 ±0)` + // Estimated: `83866 + r * (3411 ±0)` + // Minimum execution time: 30_417_000 picoseconds. + Weight::from_parts(11_657_082, 0) + .saturating_add(Weight::from_parts(0, 83866)) + // Standard Error: 148_364 + .saturating_add(Weight::from_parts(38_985_936, 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(4)) + .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(149), added: 2624, 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(209), added: 2684, mode: `MaxEncodedLen`) + fn unlock() -> Weight { + // Proof Size summary in bytes: + // Measured: `11959` + // Estimated: `30706` + // Minimum execution time: 87_544_000 picoseconds. + Weight::from_parts(90_088_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/runtime/development/src/weights/pallet_democracy.rs b/runtime/development/src/weights/pallet_democracy.rs index 6c6b5b09a1..c64e73b50d 100644 --- a/runtime/development/src/weights/pallet_democracy.rs +++ b/runtime/development/src/weights/pallet_democracy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_democracy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4768` // Estimated: `18187` - // Minimum execution time: 47_850_000 picoseconds. - Weight::from_parts(49_673_000, 0) + // Minimum execution time: 47_970_000 picoseconds. + Weight::from_parts(48_822_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -55,8 +55,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3523` // Estimated: `6695` - // Minimum execution time: 46_377_000 picoseconds. - Weight::from_parts(47_519_000, 0) + // Minimum execution time: 43_943_000 picoseconds. + Weight::from_parts(45_455_000, 0) .saturating_add(Weight::from_parts(0, 6695)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -73,8 +73,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3400` // Estimated: `7260` - // Minimum execution time: 64_059_000 picoseconds. - Weight::from_parts(65_272_000, 0) + // Minimum execution time: 61_376_000 picoseconds. + Weight::from_parts(64_241_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -91,8 +91,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3422` // Estimated: `7260` - // Minimum execution time: 67_406_000 picoseconds. - Weight::from_parts(69_409_000, 0) + // Minimum execution time: 66_435_000 picoseconds. + Weight::from_parts(68_128_000, 0) .saturating_add(Weight::from_parts(0, 7260)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -107,8 +107,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `333` // Estimated: `3666` - // Minimum execution time: 31_869_000 picoseconds. - Weight::from_parts(32_581_000, 0) + // Minimum execution time: 30_627_000 picoseconds. + Weight::from_parts(31_178_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -131,8 +131,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6249` // Estimated: `18187` - // Minimum execution time: 126_165_000 picoseconds. - Weight::from_parts(128_319_000, 0) + // Minimum execution time: 124_394_000 picoseconds. + Weight::from_parts(126_207_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(8)) @@ -145,8 +145,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3383` // Estimated: `6703` - // Minimum execution time: 15_780_000 picoseconds. - Weight::from_parts(16_421_000, 0) + // Minimum execution time: 15_349_000 picoseconds. + Weight::from_parts(16_050_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -157,8 +157,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_878_000 picoseconds. - Weight::from_parts(4_268_000, 0) + // Minimum execution time: 3_927_000 picoseconds. + Weight::from_parts(4_199_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -168,8 +168,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_018_000 picoseconds. - Weight::from_parts(4_268_000, 0) + // Minimum execution time: 3_847_000 picoseconds. + Weight::from_parts(4_078_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -185,8 +185,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 30_637_000 picoseconds. - Weight::from_parts(31_138_000, 0) + // Minimum execution time: 28_784_000 picoseconds. + Weight::from_parts(29_365_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -201,8 +201,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3486` // Estimated: `6703` - // Minimum execution time: 33_743_000 picoseconds. - Weight::from_parts(34_825_000, 0) + // Minimum execution time: 32_732_000 picoseconds. + Weight::from_parts(33_472_000, 0) .saturating_add(Weight::from_parts(0, 6703)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -219,8 +219,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6160` // Estimated: `18187` - // Minimum execution time: 104_916_000 picoseconds. - Weight::from_parts(106_740_000, 0) + // Minimum execution time: 103_284_000 picoseconds. + Weight::from_parts(105_338_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -233,8 +233,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `238` // Estimated: `3518` - // Minimum execution time: 21_650_000 picoseconds. - Weight::from_parts(22_493_000, 0) + // Minimum execution time: 21_721_000 picoseconds. + Weight::from_parts(22_181_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -250,11 +250,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `1489 + r * (2676 ±0)` - // Minimum execution time: 7_304_000 picoseconds. - Weight::from_parts(10_862_570, 0) + // Minimum execution time: 7_163_000 picoseconds. + Weight::from_parts(10_609_274, 0) .saturating_add(Weight::from_parts(0, 1489)) - // Standard Error: 6_674 - .saturating_add(Weight::from_parts(4_146_711, 0).saturating_mul(r.into())) + // Standard Error: 6_292 + .saturating_add(Weight::from_parts(3_922_770, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -277,11 +277,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `211 + r * (86 ±0)` // Estimated: `18187 + r * (2676 ±0)` - // Minimum execution time: 10_389_000 picoseconds. - Weight::from_parts(13_699_184, 0) + // Minimum execution time: 10_249_000 picoseconds. + Weight::from_parts(13_274_114, 0) .saturating_add(Weight::from_parts(0, 18187)) - // Standard Error: 5_780 - .saturating_add(Weight::from_parts(4_164_228, 0).saturating_mul(r.into())) + // Standard Error: 6_380 + .saturating_add(Weight::from_parts(3_951_506, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -300,11 +300,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `764 + r * (108 ±0)` // Estimated: `19800 + r * (2676 ±0)` - // Minimum execution time: 50_284_000 picoseconds. - Weight::from_parts(55_797_297, 0) + // Minimum execution time: 48_671_000 picoseconds. + Weight::from_parts(53_091_257, 0) .saturating_add(Weight::from_parts(0, 19800)) - // Standard Error: 7_012 - .saturating_add(Weight::from_parts(5_251_046, 0).saturating_mul(r.into())) + // Standard Error: 8_896 + .saturating_add(Weight::from_parts(5_033_326, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -320,11 +320,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `460 + r * (108 ±0)` // Estimated: `13530 + r * (2676 ±0)` - // Minimum execution time: 24_035_000 picoseconds. - Weight::from_parts(24_880_328, 0) + // Minimum execution time: 23_514_000 picoseconds. + Weight::from_parts(23_499_920, 0) .saturating_add(Weight::from_parts(0, 13530)) - // Standard Error: 6_179 - .saturating_add(Weight::from_parts(5_186_435, 0).saturating_mul(r.into())) + // Standard Error: 8_740 + .saturating_add(Weight::from_parts(5_053_477, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -337,8 +337,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_258_000 picoseconds. - Weight::from_parts(4_428_000, 0) + // Minimum execution time: 4_298_000 picoseconds. + Weight::from_parts(4_528_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -355,11 +355,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `492` // Estimated: `7260` - // Minimum execution time: 31_679_000 picoseconds. - Weight::from_parts(43_939_429, 0) + // Minimum execution time: 30_227_000 picoseconds. + Weight::from_parts(42_668_816, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 2_749 - .saturating_add(Weight::from_parts(59_143, 0).saturating_mul(r.into())) + // Standard Error: 2_879 + .saturating_add(Weight::from_parts(63_151, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -376,11 +376,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `493 + r * (22 ±0)` // Estimated: `7260` - // Minimum execution time: 41_618_000 picoseconds. - Weight::from_parts(43_212_793, 0) + // Minimum execution time: 40_356_000 picoseconds. + Weight::from_parts(41_926_124, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 934 - .saturating_add(Weight::from_parts(88_400, 0).saturating_mul(r.into())) + // Standard Error: 1_000 + .saturating_add(Weight::from_parts(95_612, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -393,11 +393,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 21_250_000 picoseconds. - Weight::from_parts(24_298_976, 0) + // Minimum execution time: 20_449_000 picoseconds. + Weight::from_parts(23_411_333, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_316 - .saturating_add(Weight::from_parts(91_321, 0).saturating_mul(r.into())) + // Standard Error: 1_379 + .saturating_add(Weight::from_parts(95_460, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -410,11 +410,11 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `695 + r * (26 ±0)` // Estimated: `7260` - // Minimum execution time: 21_500_000 picoseconds. - Weight::from_parts(24_479_652, 0) + // Minimum execution time: 20_638_000 picoseconds. + Weight::from_parts(23_576_545, 0) .saturating_add(Weight::from_parts(0, 7260)) - // Standard Error: 1_417 - .saturating_add(Weight::from_parts(92_182, 0).saturating_mul(r.into())) + // Standard Error: 1_299 + .saturating_add(Weight::from_parts(96_842, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -430,8 +430,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `357` // Estimated: `3556` - // Minimum execution time: 24_195_000 picoseconds. - Weight::from_parts(24_666_000, 0) + // Minimum execution time: 23_163_000 picoseconds. + Weight::from_parts(23_755_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -444,8 +444,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `253` // Estimated: `3518` - // Minimum execution time: 19_797_000 picoseconds. - Weight::from_parts(20_188_000, 0) + // Minimum execution time: 19_126_000 picoseconds. + Weight::from_parts(19_777_000, 0) .saturating_add(Weight::from_parts(0, 3518)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -462,8 +462,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4889` // Estimated: `18187` - // Minimum execution time: 50_986_000 picoseconds. - Weight::from_parts(53_871_000, 0) + // Minimum execution time: 51_847_000 picoseconds. + Weight::from_parts(53_421_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -476,8 +476,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4789` // Estimated: `18187` - // Minimum execution time: 47_639_000 picoseconds. - Weight::from_parts(48_401_000, 0) + // Minimum execution time: 45_335_000 picoseconds. + Weight::from_parts(46_538_000, 0) .saturating_add(Weight::from_parts(0, 18187)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -492,8 +492,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 20_007_000 picoseconds. - Weight::from_parts(20_649_000, 0) + // Minimum execution time: 19_166_000 picoseconds. + Weight::from_parts(19_757_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -506,8 +506,8 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269` // Estimated: `3666` - // Minimum execution time: 23_243_000 picoseconds. - Weight::from_parts(23_924_000, 0) + // Minimum execution time: 22_483_000 picoseconds. + Weight::from_parts(22_893_000, 0) .saturating_add(Weight::from_parts(0, 3666)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_elections_phragmen.rs b/runtime/development/src/weights/pallet_elections_phragmen.rs index 73cbcffd18..4c93322240 100644 --- a/runtime/development/src/weights/pallet_elections_phragmen.rs +++ b/runtime/development/src/weights/pallet_elections_phragmen.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_elections_phragmen` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -48,11 +48,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `397 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 39_854_000 picoseconds. - Weight::from_parts(41_059_638, 0) + // Minimum execution time: 38_502_000 picoseconds. + Weight::from_parts(39_912_581, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 9_339 - .saturating_add(Weight::from_parts(122_202, 0).saturating_mul(v.into())) + // Standard Error: 8_975 + .saturating_add(Weight::from_parts(98_894, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -74,11 +74,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `366 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 55_103_000 picoseconds. - Weight::from_parts(56_171_173, 0) + // Minimum execution time: 52_850_000 picoseconds. + Weight::from_parts(54_513_226, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 14_770 - .saturating_add(Weight::from_parts(204_563, 0).saturating_mul(v.into())) + // Standard Error: 16_591 + .saturating_add(Weight::from_parts(120_091, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -100,11 +100,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `398 + v * (80 ±0)` // Estimated: `4764 + v * (80 ±0)` - // Minimum execution time: 55_143_000 picoseconds. - Weight::from_parts(55_848_022, 0) + // Minimum execution time: 53_220_000 picoseconds. + Weight::from_parts(54_760_200, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 12_961 - .saturating_add(Weight::from_parts(304_036, 0).saturating_mul(v.into())) + // Standard Error: 15_761 + .saturating_add(Weight::from_parts(96_724, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into())) @@ -119,8 +119,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `568` // Estimated: `4764` - // Minimum execution time: 56_095_000 picoseconds. - Weight::from_parts(57_527_000, 0) + // Minimum execution time: 53_852_000 picoseconds. + Weight::from_parts(54_663_000, 0) .saturating_add(Weight::from_parts(0, 4764)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -136,11 +136,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1475 + c * (48 ±0)` // Estimated: `2960 + c * (48 ±0)` - // Minimum execution time: 40_225_000 picoseconds. - Weight::from_parts(41_460_863, 0) + // Minimum execution time: 39_334_000 picoseconds. + Weight::from_parts(40_418_334, 0) .saturating_add(Weight::from_parts(0, 2960)) - // Standard Error: 2_567 - .saturating_add(Weight::from_parts(92_423, 0).saturating_mul(c.into())) + // Standard Error: 2_971 + .saturating_add(Weight::from_parts(86_088, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -152,11 +152,11 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `318 + c * (48 ±0)` // Estimated: `1803 + c * (48 ±0)` - // Minimum execution time: 35_306_000 picoseconds. - Weight::from_parts(36_290_646, 0) + // Minimum execution time: 33_913_000 picoseconds. + Weight::from_parts(35_461_879, 0) .saturating_add(Weight::from_parts(0, 1803)) - // Standard Error: 2_574 - .saturating_add(Weight::from_parts(70_605, 0).saturating_mul(c.into())) + // Standard Error: 3_451 + .saturating_add(Weight::from_parts(59_093, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into())) @@ -175,8 +175,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1621` // Estimated: `3106` - // Minimum execution time: 50_805_000 picoseconds. - Weight::from_parts(51_927_000, 0) + // Minimum execution time: 49_974_000 picoseconds. + Weight::from_parts(50_966_000, 0) .saturating_add(Weight::from_parts(0, 3106)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -187,8 +187,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1023` // Estimated: `2508` - // Minimum execution time: 36_037_000 picoseconds. - Weight::from_parts(36_938_000, 0) + // Minimum execution time: 34_905_000 picoseconds. + Weight::from_parts(35_627_000, 0) .saturating_add(Weight::from_parts(0, 2508)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -219,8 +219,8 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `1724` // Estimated: `6196` - // Minimum execution time: 71_003_000 picoseconds. - Weight::from_parts(72_324_000, 0) + // Minimum execution time: 70_262_000 picoseconds. + Weight::from_parts(71_775_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -245,13 +245,13 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0 + d * (494 ±0) + v * (62 ±0)` // Estimated: `8032 + d * (3774 ±0) + v * (27 ±0)` - // Minimum execution time: 5_440_000 picoseconds. - Weight::from_parts(5_851_000, 0) + // Minimum execution time: 5_891_000 picoseconds. + Weight::from_parts(6_452_000, 0) .saturating_add(Weight::from_parts(0, 8032)) - // Standard Error: 7_490 - .saturating_add(Weight::from_parts(452_735, 0).saturating_mul(v.into())) - // Standard Error: 16_345 - .saturating_add(Weight::from_parts(54_859_868, 0).saturating_mul(d.into())) + // Standard Error: 8_924 + .saturating_add(Weight::from_parts(427_670, 0).saturating_mul(v.into())) + // Standard Error: 19_473 + .saturating_add(Weight::from_parts(52_887_810, 0).saturating_mul(d.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(d.into()))) .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(d.into()))) @@ -282,16 +282,16 @@ impl pallet_elections_phragmen::WeightInfo for WeightIn fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + e * (23 ±0) + v * (241 ±0)` - // Estimated: `9323 + c * (154 ±35) + e * (19 ±1) + v * (2526 ±7)` - // Minimum execution time: 288_329_000 picoseconds. - Weight::from_parts(291_985_000, 0) + // Estimated: `9323 + c * (154 ±3) + e * (19 ±0) + v * (2526 ±2)` + // Minimum execution time: 287_449_000 picoseconds. + Weight::from_parts(289_734_000, 0) .saturating_add(Weight::from_parts(0, 9323)) - // Standard Error: 776_472 - .saturating_add(Weight::from_parts(1_654_140, 0).saturating_mul(c.into())) - // Standard Error: 154_461 - .saturating_add(Weight::from_parts(8_253_388, 0).saturating_mul(v.into())) - // Standard Error: 33_543 - .saturating_add(Weight::from_parts(253_004, 0).saturating_mul(e.into())) + // Standard Error: 767_401 + .saturating_add(Weight::from_parts(1_933_199, 0).saturating_mul(c.into())) + // Standard Error: 152_657 + .saturating_add(Weight::from_parts(8_288_246, 0).saturating_mul(v.into())) + // Standard Error: 33_152 + .saturating_add(Weight::from_parts(234_027, 0).saturating_mul(e.into())) .saturating_add(T::DbWeight::get().reads(17)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(7)) diff --git a/runtime/development/src/weights/pallet_fees.rs b/runtime/development/src/weights/pallet_fees.rs index 9f1aa979eb..9e2bd5858e 100644 --- a/runtime/development/src/weights/pallet_fees.rs +++ b/runtime/development/src/weights/pallet_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -37,8 +37,8 @@ impl pallet_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_786_000 picoseconds. - Weight::from_parts(9_347_000, 0) + // Minimum execution time: 8_767_000 picoseconds. + Weight::from_parts(9_137_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_identity.rs b/runtime/development/src/weights/pallet_identity.rs index 6b04d4e622..4ec57f169e 100644 --- a/runtime/development/src/weights/pallet_identity.rs +++ b/runtime/development/src/weights/pallet_identity.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_identity` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 11_461_000 picoseconds. - Weight::from_parts(12_329_958, 0) + // Minimum execution time: 10_800_000 picoseconds. + Weight::from_parts(11_625_695, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_709 - .saturating_add(Weight::from_parts(85_260, 0).saturating_mul(r.into())) + // Standard Error: 1_788 + .saturating_add(Weight::from_parts(103_042, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -53,11 +53,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6977 + r * (5 ±0)` // Estimated: `11037` - // Minimum execution time: 177_182_000 picoseconds. - Weight::from_parts(184_291_666, 0) + // Minimum execution time: 181_139_000 picoseconds. + Weight::from_parts(186_891_152, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 10_202 - .saturating_add(Weight::from_parts(118_377, 0).saturating_mul(r.into())) + // Standard Error: 10_552 + .saturating_add(Weight::from_parts(127_892, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -72,11 +72,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `100` // Estimated: `11037 + s * (2589 ±0)` - // Minimum execution time: 13_866_000 picoseconds. - Weight::from_parts(32_107_917, 0) + // Minimum execution time: 13_315_000 picoseconds. + Weight::from_parts(30_300_345, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 5_302 - .saturating_add(Weight::from_parts(5_097_828, 0).saturating_mul(s.into())) + // Standard Error: 4_297 + .saturating_add(Weight::from_parts(4_817_807, 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)) @@ -94,11 +94,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `193 + p * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 13_595_000 picoseconds. - Weight::from_parts(31_078_104, 0) + // Minimum execution time: 13_235_000 picoseconds. + Weight::from_parts(29_977_630, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 4_131 - .saturating_add(Weight::from_parts(2_071_635, 0).saturating_mul(p.into())) + // Standard Error: 3_817 + .saturating_add(Weight::from_parts(1_926_526, 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()))) @@ -115,13 +115,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7069 + r * (5 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 82_014_000 picoseconds. - Weight::from_parts(82_257_399, 0) + // Minimum execution time: 79_800_000 picoseconds. + Weight::from_parts(79_505_866, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_823 - .saturating_add(Weight::from_parts(137_193, 0).saturating_mul(r.into())) - // Standard Error: 1_721 - .saturating_add(Weight::from_parts(2_055_434, 0).saturating_mul(s.into())) + // Standard Error: 9_179 + .saturating_add(Weight::from_parts(243_871, 0).saturating_mul(r.into())) + // Standard Error: 1_791 + .saturating_add(Weight::from_parts(1_919_722, 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()))) @@ -135,11 +135,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6967 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 118_782_000 picoseconds. - Weight::from_parts(122_396_298, 0) + // Minimum execution time: 119_183_000 picoseconds. + Weight::from_parts(123_021_848, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_997 - .saturating_add(Weight::from_parts(131_018, 0).saturating_mul(r.into())) + // Standard Error: 7_694 + .saturating_add(Weight::from_parts(129_954, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -150,11 +150,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6998` // Estimated: `11037` - // Minimum execution time: 114_965_000 picoseconds. - Weight::from_parts(119_931_535, 0) + // Minimum execution time: 120_536_000 picoseconds. + Weight::from_parts(125_125_550, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_210 - .saturating_add(Weight::from_parts(90_229, 0).saturating_mul(r.into())) + // Standard Error: 10_327 + .saturating_add(Weight::from_parts(54_456, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -165,11 +165,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_085_000 picoseconds. - Weight::from_parts(8_745_689, 0) + // Minimum execution time: 7_915_000 picoseconds. + Weight::from_parts(8_534_727, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_017 - .saturating_add(Weight::from_parts(77_434, 0).saturating_mul(r.into())) + // Standard Error: 1_193 + .saturating_add(Weight::from_parts(78_723, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,11 +180,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_666_000 picoseconds. - Weight::from_parts(9_025_881, 0) + // Minimum execution time: 8_316_000 picoseconds. + Weight::from_parts(8_711_517, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 866 - .saturating_add(Weight::from_parts(69_178, 0).saturating_mul(r.into())) + // Standard Error: 1_329 + .saturating_add(Weight::from_parts(73_322, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -195,11 +195,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `88 + r * (57 ±0)` // Estimated: `2626` - // Minimum execution time: 8_466_000 picoseconds. - Weight::from_parts(8_930_474, 0) + // Minimum execution time: 8_135_000 picoseconds. + Weight::from_parts(8_608_881, 0) .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 909 - .saturating_add(Weight::from_parts(61_820, 0).saturating_mul(r.into())) + // Standard Error: 1_166 + .saturating_add(Weight::from_parts(67_838, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -212,11 +212,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7045 + r * (57 ±0)` // Estimated: `11037` - // Minimum execution time: 153_066_000 picoseconds. - Weight::from_parts(158_933_479, 0) + // Minimum execution time: 156_914_000 picoseconds. + Weight::from_parts(161_829_651, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 11_349 - .saturating_add(Weight::from_parts(55_251, 0).saturating_mul(r.into())) + // Standard Error: 8_364 + .saturating_add(Weight::from_parts(72_484, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -234,13 +234,13 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7396 + r * (15 ±0) + s * (32 ±0)` // Estimated: `11037` - // Minimum execution time: 102_231_000 picoseconds. - Weight::from_parts(102_236_164, 0) + // Minimum execution time: 99_647_000 picoseconds. + Weight::from_parts(99_927_286, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 8_449 - .saturating_add(Weight::from_parts(197_958, 0).saturating_mul(r.into())) - // Standard Error: 1_648 - .saturating_add(Weight::from_parts(2_070_834, 0).saturating_mul(s.into())) + // Standard Error: 10_465 + .saturating_add(Weight::from_parts(259_528, 0).saturating_mul(r.into())) + // Standard Error: 2_041 + .saturating_add(Weight::from_parts(1_935_780, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) @@ -256,11 +256,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `474 + s * (36 ±0)` // Estimated: `11037` - // Minimum execution time: 37_360_000 picoseconds. - Weight::from_parts(42_407_134, 0) + // Minimum execution time: 35_507_000 picoseconds. + Weight::from_parts(41_040_666, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 1_241 - .saturating_add(Weight::from_parts(71_942, 0).saturating_mul(s.into())) + // Standard Error: 1_389 + .saturating_add(Weight::from_parts(65_456, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -273,11 +273,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `590 + s * (3 ±0)` // Estimated: `11037` - // Minimum execution time: 18_885_000 picoseconds. - Weight::from_parts(20_897_159, 0) + // Minimum execution time: 18_114_000 picoseconds. + Weight::from_parts(20_405_690, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 581 - .saturating_add(Weight::from_parts(22_219, 0).saturating_mul(s.into())) + // Standard Error: 621 + .saturating_add(Weight::from_parts(18_211, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -292,11 +292,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `637 + s * (35 ±0)` // Estimated: `11037` - // Minimum execution time: 41_738_000 picoseconds. - Weight::from_parts(44_337_160, 0) + // Minimum execution time: 39_854_000 picoseconds. + Weight::from_parts(42_669_307, 0) .saturating_add(Weight::from_parts(0, 11037)) - // Standard Error: 846 - .saturating_add(Weight::from_parts(56_189, 0).saturating_mul(s.into())) + // Standard Error: 870 + .saturating_add(Weight::from_parts(55_604, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -311,11 +311,11 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `770 + s * (37 ±0)` // Estimated: `6723` - // Minimum execution time: 31_408_000 picoseconds. - Weight::from_parts(33_717_882, 0) + // Minimum execution time: 30_147_000 picoseconds. + Weight::from_parts(32_252_771, 0) .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 786 - .saturating_add(Weight::from_parts(58_377, 0).saturating_mul(s.into())) + // Standard Error: 818 + .saturating_add(Weight::from_parts(60_248, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -325,8 +325,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_908_000 picoseconds. - Weight::from_parts(10_289_000, 0) + // Minimum execution time: 9_277_000 picoseconds. + Weight::from_parts(9_659_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -336,8 +336,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `3517` - // Minimum execution time: 12_994_000 picoseconds. - Weight::from_parts(13_535_000, 0) + // Minimum execution time: 12_384_000 picoseconds. + Weight::from_parts(12_804_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -354,8 +354,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `79` // Estimated: `11037` - // Minimum execution time: 80_831_000 picoseconds. - Weight::from_parts(83_435_000, 0) + // Minimum execution time: 80_060_000 picoseconds. + Weight::from_parts(81_623_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -370,8 +370,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `11037` - // Minimum execution time: 29_946_000 picoseconds. - Weight::from_parts(30_658_000, 0) + // Minimum execution time: 28_453_000 picoseconds. + Weight::from_parts(29_405_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -382,8 +382,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114` // Estimated: `3550` - // Minimum execution time: 18_815_000 picoseconds. - Weight::from_parts(19_336_000, 0) + // Minimum execution time: 32_511_000 picoseconds. + Weight::from_parts(35_307_000, 0) .saturating_add(Weight::from_parts(0, 3550)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -396,8 +396,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `11037` - // Minimum execution time: 24_736_000 picoseconds. - Weight::from_parts(25_086_000, 0) + // Minimum execution time: 23_384_000 picoseconds. + Weight::from_parts(24_145_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -410,8 +410,8 @@ impl pallet_identity::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `97` // Estimated: `11037` - // Minimum execution time: 17_082_000 picoseconds. - Weight::from_parts(17_633_000, 0) + // Minimum execution time: 16_291_000 picoseconds. + Weight::from_parts(16_821_000, 0) .saturating_add(Weight::from_parts(0, 11037)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_interest_accrual.rs b/runtime/development/src/weights/pallet_interest_accrual.rs index 769034448e..f0590698e4 100644 --- a/runtime/development/src/weights/pallet_interest_accrual.rs +++ b/runtime/development/src/weights/pallet_interest_accrual.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_interest_accrual` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_interest_accrual::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 791_000 picoseconds. - Weight::from_parts(164_950, 0) + // Minimum execution time: 741_000 picoseconds. + Weight::from_parts(89_162, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 465 - .saturating_add(Weight::from_parts(729_925, 0).saturating_mul(n.into())) + // Standard Error: 717 + .saturating_add(Weight::from_parts(733_327, 0).saturating_mul(n.into())) } } diff --git a/runtime/development/src/weights/pallet_investments.rs b/runtime/development/src/weights/pallet_investments.rs index 2a6edaa5e8..8184a4ae06 100644 --- a/runtime/development/src/weights/pallet_investments.rs +++ b/runtime/development/src/weights/pallet_investments.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_investments` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -51,8 +51,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2057` // Estimated: `6198` - // Minimum execution time: 93_985_000 picoseconds. - Weight::from_parts(95_147_000, 0) + // Minimum execution time: 89_498_000 picoseconds. + Weight::from_parts(91_311_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1981` // Estimated: `6198` - // Minimum execution time: 93_976_000 picoseconds. - Weight::from_parts(94_897_000, 0) + // Minimum execution time: 90_960_000 picoseconds. + Weight::from_parts(92_153_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -104,11 +104,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2388 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 103_373_000 picoseconds. - Weight::from_parts(99_437_572, 0) + // Minimum execution time: 100_228_000 picoseconds. + Weight::from_parts(95_557_639, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 19_681 - .saturating_add(Weight::from_parts(5_637_768, 0).saturating_mul(n.into())) + // Standard Error: 23_625 + .saturating_add(Weight::from_parts(5_469_119, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -135,11 +135,11 @@ impl pallet_investments::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2397 + n * (44 ±0)` // Estimated: `6198 + n * (2555 ±0)` - // Minimum execution time: 100_808_000 picoseconds. - Weight::from_parts(95_697_939, 0) + // Minimum execution time: 95_620_000 picoseconds. + Weight::from_parts(91_778_514, 0) .saturating_add(Weight::from_parts(0, 6198)) - // Standard Error: 19_798 - .saturating_add(Weight::from_parts(5_639_662, 0).saturating_mul(n.into())) + // Standard Error: 19_492 + .saturating_add(Weight::from_parts(5_288_939, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/development/src/weights/pallet_keystore.rs b/runtime/development/src/weights/pallet_keystore.rs index 074c2e85de..34a97b21bb 100644 --- a/runtime/development/src/weights/pallet_keystore.rs +++ b/runtime/development/src/weights/pallet_keystore.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_keystore` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -44,11 +44,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `216` // Estimated: `3593 + n * (2595 ±0)` - // Minimum execution time: 37_760_000 picoseconds. - Weight::from_parts(16_409_452, 0) + // Minimum execution time: 36_478_000 picoseconds. + Weight::from_parts(16_574_792, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 9_527 - .saturating_add(Weight::from_parts(22_637_672, 0).saturating_mul(n.into())) + // Standard Error: 13_913 + .saturating_add(Weight::from_parts(21_570_952, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -62,11 +62,11 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `114 + n * (75 ±0)` // Estimated: `990 + n * (2595 ±0)` - // Minimum execution time: 17_162_000 picoseconds. - Weight::from_parts(8_240_640, 0) + // Minimum execution time: 16_942_000 picoseconds. + Weight::from_parts(8_113_503, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 15_142 - .saturating_add(Weight::from_parts(9_969_400, 0).saturating_mul(n.into())) + // Standard Error: 16_035 + .saturating_add(Weight::from_parts(9_802_427, 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, 2595).saturating_mul(n.into())) @@ -77,8 +77,8 @@ impl pallet_keystore::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_244_000 picoseconds. - Weight::from_parts(7_645_000, 0) + // Minimum execution time: 7_003_000 picoseconds. + Weight::from_parts(7_424_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_liquidity_rewards.rs b/runtime/development/src/weights/pallet_liquidity_rewards.rs index 88c7aa8513..4aebee7ffe 100644 --- a/runtime/development/src/weights/pallet_liquidity_rewards.rs +++ b/runtime/development/src/weights/pallet_liquidity_rewards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_liquidity_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -42,15 +42,15 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `262` // Estimated: `1493` - // Minimum execution time: 6_501_000 picoseconds. - Weight::from_parts(6_914_210, 0) + // Minimum execution time: 6_281_000 picoseconds. + Weight::from_parts(6_545_592, 0) .saturating_add(Weight::from_parts(0, 1493)) - // Standard Error: 473 - .saturating_add(Weight::from_parts(1_250, 0).saturating_mul(x.into())) - // Standard Error: 194 - .saturating_add(Weight::from_parts(626, 0).saturating_mul(y.into())) - // Standard Error: 194 - .saturating_add(Weight::from_parts(7_112, 0).saturating_mul(z.into())) + // Standard Error: 446 + .saturating_add(Weight::from_parts(873, 0).saturating_mul(x.into())) + // Standard Error: 182 + .saturating_add(Weight::from_parts(1_542, 0).saturating_mul(y.into())) + // Standard Error: 182 + .saturating_add(Weight::from_parts(8_809, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) } /// Storage: `LiquidityRewardsBase::Currency` (r:1 w:1) @@ -67,8 +67,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `467` // Estimated: `4407` - // Minimum execution time: 36_218_000 picoseconds. - Weight::from_parts(37_270_000, 0) + // Minimum execution time: 35_216_000 picoseconds. + Weight::from_parts(35_827_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -83,8 +83,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `176` // Estimated: `4328` - // Minimum execution time: 24_386_000 picoseconds. - Weight::from_parts(25_398_000, 0) + // Minimum execution time: 23_544_000 picoseconds. + Weight::from_parts(24_356_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -101,8 +101,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `449` // Estimated: `4328` - // Minimum execution time: 51_947_000 picoseconds. - Weight::from_parts(53_051_000, 0) + // Minimum execution time: 49_503_000 picoseconds. + Weight::from_parts(50_525_000, 0) .saturating_add(Weight::from_parts(0, 4328)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -113,8 +113,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_522_000 picoseconds. - Weight::from_parts(6_903_000, 0) + // Minimum execution time: 6_272_000 picoseconds. + Weight::from_parts(6_603_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_492_000 picoseconds. - Weight::from_parts(6_773_000, 0) + // Minimum execution time: 6_252_000 picoseconds. + Weight::from_parts(6_532_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_823_000 picoseconds. - Weight::from_parts(6_923_000, 0) + // Minimum execution time: 6_442_000 picoseconds. + Weight::from_parts(6_722_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_liquidity_rewards::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `109` // Estimated: `3563` - // Minimum execution time: 6_773_000 picoseconds. - Weight::from_parts(7_103_000, 0) + // Minimum execution time: 6_633_000 picoseconds. + Weight::from_parts(6_923_000, 0) .saturating_add(Weight::from_parts(0, 3563)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_loans.rs b/runtime/development/src/weights/pallet_loans.rs index 09cc66a1d7..658e17c98a 100644 --- a/runtime/development/src/weights/pallet_loans.rs +++ b/runtime/development/src/weights/pallet_loans.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_loans` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -53,8 +53,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1228` // Estimated: `4278` - // Minimum execution time: 74_619_000 picoseconds. - Weight::from_parts(76_393_000, 0) + // Minimum execution time: 72_245_000 picoseconds. + Weight::from_parts(74_249_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -84,11 +84,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `38081 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 257_271_000 picoseconds. - Weight::from_parts(271_593_289, 0) + // Minimum execution time: 257_563_000 picoseconds. + Weight::from_parts(272_292_416, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 56_742 - .saturating_add(Weight::from_parts(66_655, 0).saturating_mul(n.into())) + // Standard Error: 63_683 + .saturating_add(Weight::from_parts(757_913, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(7)) } @@ -115,11 +115,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `38267 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 191_979_000 picoseconds. - Weight::from_parts(195_609_642, 0) + // Minimum execution time: 190_737_000 picoseconds. + Weight::from_parts(196_104_492, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 24_834 - .saturating_add(Weight::from_parts(914_255, 0).saturating_mul(n.into())) + // Standard Error: 51_181 + .saturating_add(Weight::from_parts(1_197_771, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -140,11 +140,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `41068 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 291_074_000 picoseconds. - Weight::from_parts(306_451_616, 0) + // Minimum execution time: 291_497_000 picoseconds. + Weight::from_parts(306_682_349, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 65_729 - .saturating_add(Weight::from_parts(889_240, 0).saturating_mul(n.into())) + // Standard Error: 72_881 + .saturating_add(Weight::from_parts(1_026_808, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -167,11 +167,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `41319 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 336_618_000 picoseconds. - Weight::from_parts(351_659_527, 0) + // Minimum execution time: 328_175_000 picoseconds. + Weight::from_parts(350_667_801, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 59_611 - .saturating_add(Weight::from_parts(790_271, 0).saturating_mul(n.into())) + // Standard Error: 114_376 + .saturating_add(Weight::from_parts(1_989_708, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -188,11 +188,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `971 + n * (316 ±0)` // Estimated: `376491` - // Minimum execution time: 41_297_000 picoseconds. - Weight::from_parts(42_125_690, 0) + // Minimum execution time: 40_055_000 picoseconds. + Weight::from_parts(40_474_606, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 5_612 - .saturating_add(Weight::from_parts(468_060, 0).saturating_mul(n.into())) + // Standard Error: 46_172 + .saturating_add(Weight::from_parts(1_100_611, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -215,11 +215,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37404 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 121_217_000 picoseconds. - Weight::from_parts(123_415_693, 0) + // Minimum execution time: 116_177_000 picoseconds. + Weight::from_parts(123_075_128, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 16_707 - .saturating_add(Weight::from_parts(571_387, 0).saturating_mul(n.into())) + // Standard Error: 39_333 + .saturating_add(Weight::from_parts(141_017, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -246,11 +246,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37264 + n * (373 ±0)` // Estimated: `376491` - // Minimum execution time: 134_531_000 picoseconds. - Weight::from_parts(142_641_726, 0) + // Minimum execution time: 133_891_000 picoseconds. + Weight::from_parts(144_621_878, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 26_601 - .saturating_add(Weight::from_parts(601_280, 0).saturating_mul(n.into())) + // Standard Error: 58_594 + .saturating_add(Weight::from_parts(2_131_881, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(8)) } @@ -266,8 +266,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `4278` - // Minimum execution time: 99_716_000 picoseconds. - Weight::from_parts(100_969_000, 0) + // Minimum execution time: 97_372_000 picoseconds. + Weight::from_parts(99_948_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -282,8 +282,8 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4854` // Estimated: `8649` - // Minimum execution time: 131_546_000 picoseconds. - Weight::from_parts(132_908_000, 0) + // Minimum execution time: 127_679_000 picoseconds. + Weight::from_parts(129_963_000, 0) .saturating_add(Weight::from_parts(0, 8649)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -307,11 +307,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `36953 + n * (353 ±0)` // Estimated: `376491` - // Minimum execution time: 110_657_000 picoseconds. - Weight::from_parts(80_744_391, 0) + // Minimum execution time: 108_984_000 picoseconds. + Weight::from_parts(90_387_321, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 40_449 - .saturating_add(Weight::from_parts(34_591_694, 0).saturating_mul(n.into())) + // Standard Error: 51_006 + .saturating_add(Weight::from_parts(32_222_654, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -334,11 +334,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37071 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 306_813_000 picoseconds. - Weight::from_parts(320_875_517, 0) + // Minimum execution time: 317_194_000 picoseconds. + Weight::from_parts(336_146_318, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 85_096 - .saturating_add(Weight::from_parts(1_049_642, 0).saturating_mul(n.into())) + // Standard Error: 101_526 + .saturating_add(Weight::from_parts(1_508_571, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -363,11 +363,11 @@ impl pallet_loans::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `37732 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 317_713_000 picoseconds. - Weight::from_parts(330_762_786, 0) + // Minimum execution time: 323_055_000 picoseconds. + Weight::from_parts(346_590_744, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 82_499 - .saturating_add(Weight::from_parts(726_621, 0).saturating_mul(n.into())) + // Standard Error: 95_473 + .saturating_add(Weight::from_parts(779_329, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -384,15 +384,13 @@ impl pallet_loans::WeightInfo for WeightInfo { /// Storage: `Loans::ActiveLoans` (r:1 w:1) /// Proof: `Loans::ActiveLoans` (`max_values`: None, `max_size`: Some(373026), added: 375501, mode: `MaxEncodedLen`) /// The range of component `n` is `[1, 9]`. - fn increase_debt(n: u32, ) -> Weight { + fn increase_debt(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `36731 + n * (340 ±0)` // Estimated: `376491` - // Minimum execution time: 200_694_000 picoseconds. - Weight::from_parts(213_050_296, 0) + // Minimum execution time: 200_756_000 picoseconds. + Weight::from_parts(223_830_693, 0) .saturating_add(Weight::from_parts(0, 376491)) - // Standard Error: 68_417 - .saturating_add(Weight::from_parts(887_808, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) } diff --git a/runtime/development/src/weights/pallet_membership.rs b/runtime/development/src/weights/pallet_membership.rs new file mode 100644 index 0000000000..431df9f0ce --- /dev/null +++ b/runtime/development/src/weights/pallet_membership.rs @@ -0,0 +1,186 @@ + +//! Autogenerated weights for `pallet_membership` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=development +// --steps=50 +// --repeat=20 +// --pallet=pallet_membership +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_membership.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_membership`. +pub struct WeightInfo(PhantomData); +impl pallet_membership::WeightInfo for WeightInfo { + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 19]`. + fn add_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `240 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 15_689_000 picoseconds. + Weight::from_parts(16_472_526, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_797 + .saturating_add(Weight::from_parts(40_888, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[2, 20]`. + fn remove_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_265_000 picoseconds. + Weight::from_parts(19_136_826, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_797 + .saturating_add(Weight::from_parts(35_932, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[2, 20]`. + fn swap_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_474_000 picoseconds. + Weight::from_parts(19_327_764, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_683 + .saturating_add(Weight::from_parts(41_100, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn reset_member(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 18_274_000 picoseconds. + Weight::from_parts(19_322_709, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 2_526 + .saturating_add(Weight::from_parts(223_432, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:0) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:1 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Members` (r:0 w:1) + /// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn change_key(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `344 + m * (64 ±0)` + // Estimated: `2126 + m * (64 ±0)` + // Minimum execution time: 19_266_000 picoseconds. + Weight::from_parts(20_049_052, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 1_710 + .saturating_add(Weight::from_parts(50_192, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Members` (r:1 w:0) + /// Proof: `TechnicalCommitteeMembership::Members` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommitteeMembership::Prime` (r:0 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn set_prime(m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `208 + m * (32 ±0)` + // Estimated: `2126 + m * (32 ±0)` + // Minimum execution time: 8_937_000 picoseconds. + Weight::from_parts(9_371_359, 0) + .saturating_add(Weight::from_parts(0, 2126)) + // Standard Error: 871 + .saturating_add(Weight::from_parts(14_361, 0).saturating_mul(m.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) + } + /// Storage: `TechnicalCommitteeMembership::Prime` (r:0 w:1) + /// Proof: `TechnicalCommitteeMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `TechnicalCommittee::Prime` (r:0 w:1) + /// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `m` is `[1, 20]`. + fn clear_prime(_m: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_276_000 picoseconds. + Weight::from_parts(3_561_668, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/runtime/development/src/weights/pallet_multisig.rs b/runtime/development/src/weights/pallet_multisig.rs index 684c0cb6f3..54ec42d734 100644 --- a/runtime/development/src/weights/pallet_multisig.rs +++ b/runtime/development/src/weights/pallet_multisig.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_multisig` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,11 +36,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_338_000 picoseconds. - Weight::from_parts(16_533_180, 0) + // Minimum execution time: 15_570_000 picoseconds. + Weight::from_parts(16_684_226, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 3 - .saturating_add(Weight::from_parts(574, 0).saturating_mul(z.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(552, 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`) @@ -50,13 +50,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 50_915_000 picoseconds. - Weight::from_parts(43_873_293, 0) + // Minimum execution time: 48_151_000 picoseconds. + Weight::from_parts(40_683_731, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 815 - .saturating_add(Weight::from_parts(91_909, 0).saturating_mul(s.into())) + // Standard Error: 749 + .saturating_add(Weight::from_parts(93_019, 0).saturating_mul(s.into())) // Standard Error: 7 - .saturating_add(Weight::from_parts(1_538, 0).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(1_670, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -68,13 +68,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 31_569_000 picoseconds. - Weight::from_parts(24_463_345, 0) + // Minimum execution time: 30_738_000 picoseconds. + Weight::from_parts(23_614_778, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 531 - .saturating_add(Weight::from_parts(82_688, 0).saturating_mul(s.into())) - // Standard Error: 5 - .saturating_add(Weight::from_parts(1_606, 0).saturating_mul(z.into())) + // Standard Error: 647 + .saturating_add(Weight::from_parts(84_794, 0).saturating_mul(s.into())) + // Standard Error: 6 + .saturating_add(Weight::from_parts(1_590, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -88,13 +88,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `456 + s * (33 ±0)` // Estimated: `6811` - // Minimum execution time: 57_838_000 picoseconds. - Weight::from_parts(47_255_589, 0) + // Minimum execution time: 57_438_000 picoseconds. + Weight::from_parts(45_380_535, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 768 - .saturating_add(Weight::from_parts(122_970, 0).saturating_mul(s.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_675, 0).saturating_mul(z.into())) + // Standard Error: 1_286 + .saturating_add(Weight::from_parts(131_154, 0).saturating_mul(s.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_749, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -105,11 +105,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `334 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 40_035_000 picoseconds. - Weight::from_parts(41_467_020, 0) + // Minimum execution time: 37_841_000 picoseconds. + Weight::from_parts(39_637_927, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 716 - .saturating_add(Weight::from_parts(90_922, 0).saturating_mul(s.into())) + // Standard Error: 807 + .saturating_add(Weight::from_parts(87_739, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -120,11 +120,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `6811` - // Minimum execution time: 21_891_000 picoseconds. - Weight::from_parts(22_563_240, 0) + // Minimum execution time: 20_559_000 picoseconds. + Weight::from_parts(21_737_096, 0) .saturating_add(Weight::from_parts(0, 6811)) // Standard Error: 568 - .saturating_add(Weight::from_parts(83_269, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(79_340, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -135,11 +135,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `520 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 41_267_000 picoseconds. - Weight::from_parts(42_346_960, 0) + // Minimum execution time: 38_903_000 picoseconds. + Weight::from_parts(40_412_893, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 606 - .saturating_add(Weight::from_parts(85_093, 0).saturating_mul(s.into())) + // Standard Error: 679 + .saturating_add(Weight::from_parts(86_231, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_oracle_collection.rs b/runtime/development/src/weights/pallet_oracle_collection.rs index bd0acee940..43889febd9 100644 --- a/runtime/development/src/weights/pallet_oracle_collection.rs +++ b/runtime/development/src/weights/pallet_oracle_collection.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_collection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -42,11 +42,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `222` // Estimated: `3693` - // Minimum execution time: 24_276_000 picoseconds. - Weight::from_parts(24_755_058, 0) + // Minimum execution time: 24_065_000 picoseconds. + Weight::from_parts(24_511_801, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 8_436 - .saturating_add(Weight::from_parts(511_561, 0).saturating_mul(n.into())) + // Standard Error: 8_678 + .saturating_add(Weight::from_parts(563_504, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -63,11 +63,11 @@ impl pallet_oracle_collection::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `657 + n * (34 ±0)` // Estimated: `8649` - // Minimum execution time: 35_065_000 picoseconds. - Weight::from_parts(35_541_621, 0) + // Minimum execution time: 34_054_000 picoseconds. + Weight::from_parts(34_776_162, 0) .saturating_add(Weight::from_parts(0, 8649)) - // Standard Error: 8_931 - .saturating_add(Weight::from_parts(522_188, 0).saturating_mul(n.into())) + // Standard Error: 11_125 + .saturating_add(Weight::from_parts(503_536, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -90,14 +90,14 @@ impl pallet_oracle_collection::WeightInfo for WeightInf fn update_collection(n: u32, m: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + m * (326 ±0) + n * (5851 ±0)` - // Estimated: `16920 + m * (6039 ±164) + n * (100600 ±3_323)` - // Minimum execution time: 129_342_000 picoseconds. - Weight::from_parts(130_825_000, 0) + // Estimated: `16920 + m * (6039 ±0) + n * (100600 ±3_323)` + // Minimum execution time: 127_009_000 picoseconds. + Weight::from_parts(128_011_000, 0) .saturating_add(Weight::from_parts(0, 16920)) - // Standard Error: 15_277_105 - .saturating_add(Weight::from_parts(473_216_566, 0).saturating_mul(n.into())) - // Standard Error: 756_691 - .saturating_add(Weight::from_parts(30_611_211, 0).saturating_mul(m.into())) + // Standard Error: 14_835_526 + .saturating_add(Weight::from_parts(460_389_375, 0).saturating_mul(n.into())) + // Standard Error: 734_819 + .saturating_add(Weight::from_parts(29_532_475, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().reads((31_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(m.into()))) diff --git a/runtime/development/src/weights/pallet_oracle_feed.rs b/runtime/development/src/weights/pallet_oracle_feed.rs index 8bd62c36d7..a621adda11 100644 --- a/runtime/development/src/weights/pallet_oracle_feed.rs +++ b/runtime/development/src/weights/pallet_oracle_feed.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_oracle_feed` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `387` // Estimated: `4176` - // Minimum execution time: 50_644_000 picoseconds. - Weight::from_parts(51_506_000, 0) + // Minimum execution time: 48_572_000 picoseconds. + Weight::from_parts(49_794_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -55,8 +55,8 @@ impl pallet_oracle_feed::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `413` // Estimated: `4176` - // Minimum execution time: 19_166_000 picoseconds. - Weight::from_parts(19_607_000, 0) + // Minimum execution time: 18_796_000 picoseconds. + Weight::from_parts(19_276_000, 0) .saturating_add(Weight::from_parts(0, 4176)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_order_book.rs b/runtime/development/src/weights/pallet_order_book.rs index fb6f1f781c..8538a8ce7e 100644 --- a/runtime/development/src/weights/pallet_order_book.rs +++ b/runtime/development/src/weights/pallet_order_book.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_order_book` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `692` // Estimated: `4407` - // Minimum execution time: 45_916_000 picoseconds. - Weight::from_parts(47_449_000, 0) + // Minimum execution time: 44_163_000 picoseconds. + Weight::from_parts(45_125_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) @@ -61,8 +61,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `896` // Estimated: `4407` - // Minimum execution time: 44_593_000 picoseconds. - Weight::from_parts(45_495_000, 0) + // Minimum execution time: 42_991_000 picoseconds. + Weight::from_parts(44_083_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -79,8 +79,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `896` // Estimated: `4407` - // Minimum execution time: 47_599_000 picoseconds. - Weight::from_parts(48_360_000, 0) + // Minimum execution time: 45_827_000 picoseconds. + Weight::from_parts(47_299_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -105,8 +105,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1628` // Estimated: `11406` - // Minimum execution time: 148_507_000 picoseconds. - Weight::from_parts(150_471_000, 0) + // Minimum execution time: 140_194_000 picoseconds. + Weight::from_parts(143_400_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) @@ -117,8 +117,8 @@ impl pallet_order_book::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_285_000 picoseconds. - Weight::from_parts(8_867_000, 0) + // Minimum execution time: 8_487_000 picoseconds. + Weight::from_parts(8_967_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_permissions.rs b/runtime/development/src/weights/pallet_permissions.rs index 5f7fd5cc64..94a1f0c7bb 100644 --- a/runtime/development/src/weights/pallet_permissions.rs +++ b/runtime/development/src/weights/pallet_permissions.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_permissions` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3693` - // Minimum execution time: 16_992_000 picoseconds. - Weight::from_parts(17_683_000, 0) + // Minimum execution time: 16_381_000 picoseconds. + Weight::from_parts(17_563_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `6396` - // Minimum execution time: 24_876_000 picoseconds. - Weight::from_parts(25_528_000, 0) + // Minimum execution time: 23_815_000 picoseconds. + Weight::from_parts(24_586_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -67,8 +67,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `162` // Estimated: `3693` - // Minimum execution time: 20_128_000 picoseconds. - Weight::from_parts(20_548_000, 0) + // Minimum execution time: 19_688_000 picoseconds. + Weight::from_parts(20_328_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -81,8 +81,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `256` // Estimated: `6396` - // Minimum execution time: 27_151_000 picoseconds. - Weight::from_parts(27_842_000, 0) + // Minimum execution time: 25_828_000 picoseconds. + Weight::from_parts(26_590_000, 0) .saturating_add(Weight::from_parts(0, 6396)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -93,8 +93,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_081_000 picoseconds. - Weight::from_parts(17_573_000, 0) + // Minimum execution time: 16_581_000 picoseconds. + Weight::from_parts(17_122_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -105,8 +105,8 @@ impl pallet_permissions::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 17_492_000 picoseconds. - Weight::from_parts(18_124_000, 0) + // Minimum execution time: 16_941_000 picoseconds. + Weight::from_parts(17_493_000, 0) .saturating_add(Weight::from_parts(0, 3693)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/weights/pallet_pool_fees.rs b/runtime/development/src/weights/pallet_pool_fees.rs index a02e2d1026..69aa87f380 100644 --- a/runtime/development/src/weights/pallet_pool_fees.rs +++ b/runtime/development/src/weights/pallet_pool_fees.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_fees` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `581` // Estimated: `4278` - // Minimum execution time: 35_577_000 picoseconds. - Weight::from_parts(36_578_000, 0) + // Minimum execution time: 33_413_000 picoseconds. + Weight::from_parts(34_144_000, 0) .saturating_add(Weight::from_parts(0, 4278)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -66,11 +66,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1395 + n * (137 ±0)` // Estimated: `17508` - // Minimum execution time: 56_726_000 picoseconds. - Weight::from_parts(57_282_882, 0) + // Minimum execution time: 54_553_000 picoseconds. + Weight::from_parts(55_058_389, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 1_865 - .saturating_add(Weight::from_parts(289_067, 0).saturating_mul(n.into())) + // Standard Error: 2_580 + .saturating_add(Weight::from_parts(303_267, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -85,11 +85,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `709 + n * (136 ±0)` // Estimated: `17508` - // Minimum execution time: 34_966_000 picoseconds. - Weight::from_parts(37_186_153, 0) + // Minimum execution time: 32_862_000 picoseconds. + Weight::from_parts(35_714_635, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 3_901 - .saturating_add(Weight::from_parts(428_616, 0).saturating_mul(n.into())) + // Standard Error: 3_943 + .saturating_add(Weight::from_parts(441_978, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -102,11 +102,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `795 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 24_425_000 picoseconds. - Weight::from_parts(24_164_408, 0) + // Minimum execution time: 23_264_000 picoseconds. + Weight::from_parts(22_897_227, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_222 - .saturating_add(Weight::from_parts(262_898, 0).saturating_mul(n.into())) + // Standard Error: 2_298 + .saturating_add(Weight::from_parts(273_423, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -119,11 +119,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `795 + n * (129 ±0)` // Estimated: `17508` - // Minimum execution time: 23_915_000 picoseconds. - Weight::from_parts(23_620_971, 0) + // Minimum execution time: 22_613_000 picoseconds. + Weight::from_parts(22_567_812, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 2_185 - .saturating_add(Weight::from_parts(260_376, 0).saturating_mul(n.into())) + // Standard Error: 2_083 + .saturating_add(Weight::from_parts(264_856, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -142,11 +142,11 @@ impl pallet_pool_fees::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `603 + n * (124 ±0)` // Estimated: `17508` - // Minimum execution time: 42_099_000 picoseconds. - Weight::from_parts(39_371_621, 0) + // Minimum execution time: 39_604_000 picoseconds. + Weight::from_parts(36_657_966, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 3_636 - .saturating_add(Weight::from_parts(2_980_612, 0).saturating_mul(n.into())) + // Standard Error: 4_666 + .saturating_add(Weight::from_parts(2_945_593, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/development/src/weights/pallet_pool_registry.rs b/runtime/development/src/weights/pallet_pool_registry.rs index 83b032d6bc..3d5d24d6c5 100644 --- a/runtime/development/src/weights/pallet_pool_registry.rs +++ b/runtime/development/src/weights/pallet_pool_registry.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_registry` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -67,11 +67,11 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `595` // Estimated: `17508 + m * (2508 ±0) + n * (3417 ±0)` - // Minimum execution time: 207_187_000 picoseconds. - Weight::from_parts(134_932_487, 0) + // Minimum execution time: 200_757_000 picoseconds. + Weight::from_parts(129_235_710, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 83_180 - .saturating_add(Weight::from_parts(24_022_038, 0).saturating_mul(m.into())) + // Standard Error: 84_710 + .saturating_add(Weight::from_parts(23_287_625, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -101,13 +101,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `957 + m * (124 ±0) + n * (133 ±0)` // Estimated: `17508 + n * (2531 ±0)` - // Minimum execution time: 60_493_000 picoseconds. - Weight::from_parts(50_920_021, 0) + // Minimum execution time: 58_350_000 picoseconds. + Weight::from_parts(49_218_674, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 34_654 - .saturating_add(Weight::from_parts(2_983_125, 0).saturating_mul(n.into())) - // Standard Error: 1_581 - .saturating_add(Weight::from_parts(208_639, 0).saturating_mul(m.into())) + // Standard Error: 39_378 + .saturating_add(Weight::from_parts(2_932_409, 0).saturating_mul(n.into())) + // Standard Error: 1_796 + .saturating_add(Weight::from_parts(217_586, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -135,13 +135,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `960 + m * (124 ±0) + n * (200 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 100_818_000 picoseconds. - Weight::from_parts(70_751_268, 0) + // Minimum execution time: 98_896_000 picoseconds. + Weight::from_parts(69_289_463, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 41_555 - .saturating_add(Weight::from_parts(10_532_795, 0).saturating_mul(n.into())) - // Standard Error: 1_896 - .saturating_add(Weight::from_parts(220_140, 0).saturating_mul(m.into())) + // Standard Error: 45_486 + .saturating_add(Weight::from_parts(9_959_080, 0).saturating_mul(n.into())) + // Standard Error: 2_075 + .saturating_add(Weight::from_parts(233_646, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -167,13 +167,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `948 + m * (124 ±0) + n * (227 ±0)` // Estimated: `17508 + n * (3417 ±0)` - // Minimum execution time: 92_523_000 picoseconds. - Weight::from_parts(62_401_403, 0) + // Minimum execution time: 90_741_000 picoseconds. + Weight::from_parts(59_789_066, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 45_703 - .saturating_add(Weight::from_parts(11_004_977, 0).saturating_mul(n.into())) - // Standard Error: 2_085 - .saturating_add(Weight::from_parts(214_718, 0).saturating_mul(m.into())) + // Standard Error: 44_665 + .saturating_add(Weight::from_parts(10_744_368, 0).saturating_mul(n.into())) + // Standard Error: 2_038 + .saturating_add(Weight::from_parts(222_202, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -189,13 +189,13 @@ impl pallet_pool_registry::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `146` // Estimated: `3693` - // Minimum execution time: 18_926_000 picoseconds. - Weight::from_parts(19_576_499, 0) + // Minimum execution time: 18_334_000 picoseconds. + Weight::from_parts(18_863_972, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 670 - .saturating_add(Weight::from_parts(8_248, 0).saturating_mul(n.into())) - // Standard Error: 311 - .saturating_add(Weight::from_parts(21_318, 0).saturating_mul(m.into())) + // Standard Error: 1_004 + .saturating_add(Weight::from_parts(7_583, 0).saturating_mul(n.into())) + // Standard Error: 466 + .saturating_add(Weight::from_parts(26_619, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_pool_system.rs b/runtime/development/src/weights/pallet_pool_system.rs index abf51c4efc..f9b5ca9ea4 100644 --- a/runtime/development/src/weights/pallet_pool_system.rs +++ b/runtime/development/src/weights/pallet_pool_system.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_pool_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -40,11 +40,11 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `554` // Estimated: `4278` - // Minimum execution time: 24_495_000 picoseconds. - Weight::from_parts(25_394_511, 0) + // Minimum execution time: 23_063_000 picoseconds. + Weight::from_parts(24_251_823, 0) .saturating_add(Weight::from_parts(0, 4278)) - // Standard Error: 442 - .saturating_add(Weight::from_parts(28_512, 0).saturating_mul(m.into())) + // Standard Error: 462 + .saturating_add(Weight::from_parts(33_667, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -90,13 +90,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1216 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 436_896_000 picoseconds. - Weight::from_parts(81_585_373, 0) + // Minimum execution time: 417_964_000 picoseconds. + Weight::from_parts(78_260_784, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 123_362 - .saturating_add(Weight::from_parts(71_083_398, 0).saturating_mul(n.into())) - // Standard Error: 5_697 - .saturating_add(Weight::from_parts(3_386_226, 0).saturating_mul(m.into())) + // Standard Error: 115_710 + .saturating_add(Weight::from_parts(67_979_368, 0).saturating_mul(n.into())) + // Standard Error: 5_343 + .saturating_add(Weight::from_parts(3_332_748, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -139,13 +139,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1428 + m * (124 ±0) + n * (133 ±0)` // Estimated: `27515 + n * (2531 ±0)` - // Minimum execution time: 223_157_000 picoseconds. - Weight::from_parts(91_267_466, 0) + // Minimum execution time: 215_163_000 picoseconds. + Weight::from_parts(88_990_599, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 84_017 - .saturating_add(Weight::from_parts(27_905_302, 0).saturating_mul(n.into())) - // Standard Error: 3_834 - .saturating_add(Weight::from_parts(3_184_077, 0).saturating_mul(m.into())) + // Standard Error: 86_631 + .saturating_add(Weight::from_parts(26_651_156, 0).saturating_mul(n.into())) + // Standard Error: 3_953 + .saturating_add(Weight::from_parts(3_123_311, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(5)) @@ -198,13 +198,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2120 + m * (124 ±0) + n * (167 ±0)` // Estimated: `27515 + n * (2604 ±0)` - // Minimum execution time: 531_753_000 picoseconds. - Weight::from_parts(177_037_674, 0) + // Minimum execution time: 509_738_000 picoseconds. + Weight::from_parts(169_577_571, 0) .saturating_add(Weight::from_parts(0, 27515)) - // Standard Error: 151_845 - .saturating_add(Weight::from_parts(73_612_531, 0).saturating_mul(n.into())) - // Standard Error: 6_929 - .saturating_add(Weight::from_parts(3_395_975, 0).saturating_mul(m.into())) + // Standard Error: 140_624 + .saturating_add(Weight::from_parts(70_438_828, 0).saturating_mul(n.into())) + // Standard Error: 6_417 + .saturating_add(Weight::from_parts(3_359_889, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(14)) .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(10)) @@ -223,13 +223,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `821 + m * (124 ±0) + n * (249 ±0)` // Estimated: `17508` - // Minimum execution time: 39_494_000 picoseconds. - Weight::from_parts(34_485_549, 0) + // Minimum execution time: 37_831_000 picoseconds. + Weight::from_parts(33_439_924, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 33_558 - .saturating_add(Weight::from_parts(1_408_318, 0).saturating_mul(n.into())) - // Standard Error: 1_531 - .saturating_add(Weight::from_parts(202_749, 0).saturating_mul(m.into())) + // Standard Error: 36_364 + .saturating_add(Weight::from_parts(1_410_469, 0).saturating_mul(n.into())) + // Standard Error: 1_659 + .saturating_add(Weight::from_parts(204_902, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -273,13 +273,13 @@ impl pallet_pool_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2042 + m * (124 ±0) + n * (633 ±0)` // Estimated: `17508 + n * (2604 ±0)` - // Minimum execution time: 241_661_000 picoseconds. - Weight::from_parts(150_024_240, 0) + // Minimum execution time: 234_841_000 picoseconds. + Weight::from_parts(143_881_436, 0) .saturating_add(Weight::from_parts(0, 17508)) - // Standard Error: 92_293 - .saturating_add(Weight::from_parts(55_452_128, 0).saturating_mul(n.into())) - // Standard Error: 4_211 - .saturating_add(Weight::from_parts(392_999, 0).saturating_mul(m.into())) + // Standard Error: 122_072 + .saturating_add(Weight::from_parts(53_674_575, 0).saturating_mul(n.into())) + // Standard Error: 5_570 + .saturating_add(Weight::from_parts(408_633, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/development/src/weights/pallet_preimage.rs b/runtime/development/src/weights/pallet_preimage.rs index f7f83d8228..3adfcb359a 100644 --- a/runtime/development/src/weights/pallet_preimage.rs +++ b/runtime/development/src/weights/pallet_preimage.rs @@ -2,23 +2,23 @@ //! Autogenerated weights for `pallet_preimage` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=centrifuge-local +// --chain=development // --steps=50 // --repeat=20 // --pallet=pallet_preimage // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/centrifuge/src/weights/pallet_preimage.rs +// --output=/tmp/runtime/development/src/weights/pallet_preimage.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -44,11 +44,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3568` - // Minimum execution time: 67_957_000 picoseconds. - Weight::from_parts(68_688_000, 0) + // Minimum execution time: 66_865_000 picoseconds. + Weight::from_parts(504_564_293, 0) .saturating_add(Weight::from_parts(0, 3568)) - // Standard Error: 10 - .saturating_add(Weight::from_parts(2_734, 0).saturating_mul(s.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(2_047, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -63,11 +63,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 22_232_000 picoseconds. - Weight::from_parts(22_442_000, 0) + // Minimum execution time: 21_570_000 picoseconds. + Weight::from_parts(86_953_990, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(2_861, 0).saturating_mul(s.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(2_724, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -82,11 +82,11 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 21_240_000 picoseconds. - Weight::from_parts(21_380_000, 0) + // Minimum execution time: 20_358_000 picoseconds. + Weight::from_parts(9_431_969, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 10 - .saturating_add(Weight::from_parts(2_811, 0).saturating_mul(s.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(2_709, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -102,8 +102,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3568` - // Minimum execution time: 67_567_000 picoseconds. - Weight::from_parts(71_203_000, 0) + // Minimum execution time: 64_070_000 picoseconds. + Weight::from_parts(65_703_000, 0) .saturating_add(Weight::from_parts(0, 3568)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -118,8 +118,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 29_836_000 picoseconds. - Weight::from_parts(31_940_000, 0) + // Minimum execution time: 26_329_000 picoseconds. + Weight::from_parts(27_281_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -132,8 +132,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `222` // Estimated: `3556` - // Minimum execution time: 22_872_000 picoseconds. - Weight::from_parts(24_416_000, 0) + // Minimum execution time: 21_250_000 picoseconds. + Weight::from_parts(21_931_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -146,8 +146,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 17_282_000 picoseconds. - Weight::from_parts(18_875_000, 0) + // Minimum execution time: 15_759_000 picoseconds. + Weight::from_parts(16_261_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -160,8 +160,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3556` - // Minimum execution time: 18_846_000 picoseconds. - Weight::from_parts(19_627_000, 0) + // Minimum execution time: 18_234_000 picoseconds. + Weight::from_parts(18_865_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -174,8 +174,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_816_000 picoseconds. - Weight::from_parts(14_387_000, 0) + // Minimum execution time: 13_556_000 picoseconds. + Weight::from_parts(13_936_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -190,8 +190,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `178` // Estimated: `3556` - // Minimum execution time: 25_207_000 picoseconds. - Weight::from_parts(26_880_000, 0) + // Minimum execution time: 24_055_000 picoseconds. + Weight::from_parts(25_487_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -204,8 +204,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_846_000 picoseconds. - Weight::from_parts(14_167_000, 0) + // Minimum execution time: 13_395_000 picoseconds. + Weight::from_parts(14_056_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -218,8 +218,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `140` // Estimated: `3556` - // Minimum execution time: 13_835_000 picoseconds. - Weight::from_parts(14_246_000, 0) + // Minimum execution time: 13_765_000 picoseconds. + Weight::from_parts(14_116_000, 0) .saturating_add(Weight::from_parts(0, 3556)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -235,13 +235,13 @@ impl pallet_preimage::WeightInfo for WeightInfo { /// The range of component `n` is `[1, 1024]`. fn ensure_updated(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `404 + n * (227 ±0)` + // Measured: `370 + n * (227 ±0)` // Estimated: `990 + n * (2603 ±0)` - // Minimum execution time: 77_144_000 picoseconds. - Weight::from_parts(77_675_000, 0) + // Minimum execution time: 75_280_000 picoseconds. + Weight::from_parts(76_803_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 35_892 - .saturating_add(Weight::from_parts(75_015_178, 0).saturating_mul(n.into())) + // Standard Error: 34_642 + .saturating_add(Weight::from_parts(74_016_638, 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())) diff --git a/runtime/development/src/weights/pallet_proxy.rs b/runtime/development/src/weights/pallet_proxy.rs index 416c369eb9..0cf895469e 100644 --- a/runtime/development/src/weights/pallet_proxy.rs +++ b/runtime/development/src/weights/pallet_proxy.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -38,11 +38,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 18_384_000 picoseconds. - Weight::from_parts(19_097_838, 0) + // Minimum execution time: 17_813_000 picoseconds. + Weight::from_parts(18_577_071, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_242 - .saturating_add(Weight::from_parts(47_304, 0).saturating_mul(p.into())) + // Standard Error: 1_156 + .saturating_add(Weight::from_parts(46_335, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `Proxy::Proxies` (r:1 w:0) @@ -57,13 +57,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `620 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 48_761_000 picoseconds. - Weight::from_parts(49_720_241, 0) + // Minimum execution time: 47_670_000 picoseconds. + Weight::from_parts(48_087_732, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 4_236 - .saturating_add(Weight::from_parts(198_243, 0).saturating_mul(a.into())) - // Standard Error: 4_377 - .saturating_add(Weight::from_parts(27_827, 0).saturating_mul(p.into())) + // Standard Error: 4_339 + .saturating_add(Weight::from_parts(202_543, 0).saturating_mul(a.into())) + // Standard Error: 4_483 + .saturating_add(Weight::from_parts(29_219, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -77,11 +77,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 31_219_000 picoseconds. - Weight::from_parts(32_252_523, 0) + // Minimum execution time: 29_926_000 picoseconds. + Weight::from_parts(31_355_299, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_985 - .saturating_add(Weight::from_parts(226_389, 0).saturating_mul(a.into())) + // Standard Error: 2_008 + .saturating_add(Weight::from_parts(228_005, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -95,11 +95,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `535 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 30_968_000 picoseconds. - Weight::from_parts(32_225_799, 0) + // Minimum execution time: 29_666_000 picoseconds. + Weight::from_parts(31_218_837, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_898 - .saturating_add(Weight::from_parts(222_682, 0).saturating_mul(a.into())) + // Standard Error: 2_031 + .saturating_add(Weight::from_parts(230_395, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -115,13 +115,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `552 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 41_467_000 picoseconds. - Weight::from_parts(43_094_252, 0) + // Minimum execution time: 40_436_000 picoseconds. + Weight::from_parts(42_702_902, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 4_013 - .saturating_add(Weight::from_parts(218_559, 0).saturating_mul(a.into())) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(44_158, 0).saturating_mul(p.into())) + // Standard Error: 4_178 + .saturating_add(Weight::from_parts(216_231, 0).saturating_mul(a.into())) + // Standard Error: 4_317 + .saturating_add(Weight::from_parts(29_017, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -132,11 +132,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_695_000 picoseconds. - Weight::from_parts(30_725_974, 0) + // Minimum execution time: 28_282_000 picoseconds. + Weight::from_parts(29_359_603, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_268 - .saturating_add(Weight::from_parts(41_910, 0).saturating_mul(p.into())) + // Standard Error: 1_329 + .saturating_add(Weight::from_parts(55_597, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -147,11 +147,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_635_000 picoseconds. - Weight::from_parts(31_078_426, 0) + // Minimum execution time: 28_323_000 picoseconds. + Weight::from_parts(30_007_051, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 2_453 - .saturating_add(Weight::from_parts(33_692, 0).saturating_mul(p.into())) + // Standard Error: 2_255 + .saturating_add(Weight::from_parts(37_487, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -162,11 +162,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 28_854_000 picoseconds. - Weight::from_parts(29_891_464, 0) + // Minimum execution time: 27_512_000 picoseconds. + Weight::from_parts(28_578_784, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_510 - .saturating_add(Weight::from_parts(34_316, 0).saturating_mul(p.into())) + // Standard Error: 1_282 + .saturating_add(Weight::from_parts(40_913, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -177,11 +177,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `305` // Estimated: `4706` - // Minimum execution time: 31_980_000 picoseconds. - Weight::from_parts(33_124_220, 0) + // Minimum execution time: 30_296_000 picoseconds. + Weight::from_parts(31_487_124, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_545 - .saturating_add(Weight::from_parts(9_586, 0).saturating_mul(p.into())) + // Standard Error: 1_323 + .saturating_add(Weight::from_parts(22_065, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -192,11 +192,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `330 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 29_976_000 picoseconds. - Weight::from_parts(31_111_792, 0) + // Minimum execution time: 28_444_000 picoseconds. + Weight::from_parts(29_900_842, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_519 - .saturating_add(Weight::from_parts(40_969, 0).saturating_mul(p.into())) + // Standard Error: 1_483 + .saturating_add(Weight::from_parts(46_997, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/runtime/development/src/weights/pallet_referenda.rs b/runtime/development/src/weights/pallet_referenda.rs new file mode 100644 index 0000000000..04b5405c49 --- /dev/null +++ b/runtime/development/src/weights/pallet_referenda.rs @@ -0,0 +1,484 @@ + +//! Autogenerated weights for `pallet_referenda` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=development +// --steps=50 +// --repeat=20 +// --pallet=pallet_referenda +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_referenda.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_referenda`. +pub struct WeightInfo(PhantomData); +impl pallet_referenda::WeightInfo for WeightInfo { + /// 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: `291` + // Estimated: `42428` + // Minimum execution time: 44_683_000 picoseconds. + Weight::from_parts(46_066_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: `544` + // Estimated: `83866` + // Minimum execution time: 58_088_000 picoseconds. + Weight::from_parts(59_060_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: `3337` + // Estimated: `42428` + // Minimum execution time: 71_323_000 picoseconds. + Weight::from_parts(73_548_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: `3357` + // Estimated: `42428` + // Minimum execution time: 71_965_000 picoseconds. + Weight::from_parts(73_046_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: `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: `544` + // Estimated: `83866` + // Minimum execution time: 72_245_000 picoseconds. + Weight::from_parts(73_788_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: `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`) + fn place_decision_deposit_failing() -> Weight { + // Proof Size summary in bytes: + // Measured: `544` + // Estimated: `83866` + // Minimum execution time: 67_777_000 picoseconds. + Weight::from_parts(69_250_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`) + fn refund_decision_deposit() -> Weight { + // Proof Size summary in bytes: + // Measured: `423` + // Estimated: `4401` + // Minimum execution time: 36_829_000 picoseconds. + Weight::from_parts(37_490_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: `412` + // Estimated: `4401` + // Minimum execution time: 37_249_000 picoseconds. + Weight::from_parts(37_821_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: `452` + // Estimated: `83866` + // Minimum execution time: 40_656_000 picoseconds. + Weight::from_parts(41_427_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: `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`) + fn kill() -> Weight { + // Proof Size summary in bytes: + // Measured: `797` + // Estimated: `83866` + // Minimum execution time: 118_751_000 picoseconds. + Weight::from_parts(121_086_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::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: `245` + // Estimated: `5477` + // Minimum execution time: 14_647_000 picoseconds. + Weight::from_parts(15_198_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: `3222` + // Estimated: `42428` + // Minimum execution time: 53_981_000 picoseconds. + Weight::from_parts(55_734_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: `3222` + // Estimated: `42428` + // Minimum execution time: 54_332_000 picoseconds. + Weight::from_parts(56_044_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: `3082` + // Estimated: `5477` + // Minimum execution time: 28_153_000 picoseconds. + Weight::from_parts(29_435_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: `3082` + // Estimated: `5477` + // Minimum execution time: 27_862_000 picoseconds. + Weight::from_parts(29_104_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: `3086` + // Estimated: `5477` + // Minimum execution time: 34_013_000 picoseconds. + Weight::from_parts(34_946_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: `3106` + // Estimated: `5477` + // Minimum execution time: 33_693_000 picoseconds. + Weight::from_parts(34_344_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: `404` + // Estimated: `42428` + // Minimum execution time: 28_393_000 picoseconds. + Weight::from_parts(29_476_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: `452` + // Estimated: `42428` + // Minimum execution time: 29_014_000 picoseconds. + Weight::from_parts(29_525_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: `349` + // Estimated: `4401` + // Minimum execution time: 19_025_000 picoseconds. + Weight::from_parts(19_416_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: `452` + // Estimated: `42428` + // Minimum execution time: 38_532_000 picoseconds. + Weight::from_parts(39_423_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: `452` + // Estimated: `42428` + // Minimum execution time: 40_025_000 picoseconds. + Weight::from_parts(41_006_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: `505` + // Estimated: `42428` + // Minimum execution time: 33_713_000 picoseconds. + Weight::from_parts(34_455_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: `488` + // Estimated: `42428` + // Minimum execution time: 34_014_000 picoseconds. + Weight::from_parts(34_855_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: `505` + // Estimated: `42428` + // Minimum execution time: 31_689_000 picoseconds. + Weight::from_parts(32_721_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: `509` + // Estimated: `42428` + // Minimum execution time: 31_418_000 picoseconds. + Weight::from_parts(31_890_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: `509` + // Estimated: `83866` + // Minimum execution time: 47_138_000 picoseconds. + Weight::from_parts(47_719_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: `505` + // Estimated: `42428` + // Minimum execution time: 33_533_000 picoseconds. + Weight::from_parts(34_234_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: `527` + // Estimated: `4401` + // Minimum execution time: 26_730_000 picoseconds. + Weight::from_parts(27_742_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: `426` + // Estimated: `4401` + // Minimum execution time: 21_560_000 picoseconds. + Weight::from_parts(22_162_000, 0) + .saturating_add(Weight::from_parts(0, 4401)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } +} diff --git a/runtime/development/src/weights/pallet_remarks.rs b/runtime/development/src/weights/pallet_remarks.rs index 8e7c1cf3bd..07c799efc4 100644 --- a/runtime/development/src/weights/pallet_remarks.rs +++ b/runtime/development/src/weights/pallet_remarks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_remarks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,10 +36,10 @@ impl pallet_remarks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_233_000 picoseconds. - Weight::from_parts(12_745_452, 0) + // Minimum execution time: 12_042_000 picoseconds. + Weight::from_parts(12_390_753, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_323 - .saturating_add(Weight::from_parts(129_352, 0).saturating_mul(n.into())) + // Standard Error: 2_357 + .saturating_add(Weight::from_parts(131_469, 0).saturating_mul(n.into())) } } diff --git a/runtime/development/src/weights/pallet_restricted_tokens.rs b/runtime/development/src/weights/pallet_restricted_tokens.rs index 83f01b7679..6f7cdf81b1 100644 --- a/runtime/development/src/weights/pallet_restricted_tokens.rs +++ b/runtime/development/src/weights/pallet_restricted_tokens.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_restricted_tokens` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 82_273_000 picoseconds. - Weight::from_parts(83_316_000, 0) + // Minimum execution time: 76_613_000 picoseconds. + Weight::from_parts(78_467_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -57,8 +57,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 66_654_000 picoseconds. - Weight::from_parts(67_506_000, 0) + // Minimum execution time: 62_006_000 picoseconds. + Weight::from_parts(63_589_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -71,8 +71,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 71_644_000 picoseconds. - Weight::from_parts(73_167_000, 0) + // Minimum execution time: 66_023_000 picoseconds. + Weight::from_parts(67_887_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `753` // Estimated: `6198` - // Minimum execution time: 61_605_000 picoseconds. - Weight::from_parts(63_288_000, 0) + // Minimum execution time: 58_549_000 picoseconds. + Weight::from_parts(59_943_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -103,8 +103,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `505` // Estimated: `6124` - // Minimum execution time: 85_871_000 picoseconds. - Weight::from_parts(87_754_000, 0) + // Minimum execution time: 79_539_000 picoseconds. + Weight::from_parts(81_653_000, 0) .saturating_add(Weight::from_parts(0, 6124)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -121,8 +121,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `856` // Estimated: `6198` - // Minimum execution time: 70_893_000 picoseconds. - Weight::from_parts(71_895_000, 0) + // Minimum execution time: 66_915_000 picoseconds. + Weight::from_parts(68_208_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `259` // Estimated: `3593` - // Minimum execution time: 72_526_000 picoseconds. - Weight::from_parts(74_039_000, 0) + // Minimum execution time: 67_556_000 picoseconds. + Weight::from_parts(69_019_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -149,8 +149,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `610` // Estimated: `6198` - // Minimum execution time: 53_661_000 picoseconds. - Weight::from_parts(55_263_000, 0) + // Minimum execution time: 50_935_000 picoseconds. + Weight::from_parts(52_208_000, 0) .saturating_add(Weight::from_parts(0, 6198)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -163,8 +163,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `300` // Estimated: `3593` - // Minimum execution time: 157_094_000 picoseconds. - Weight::from_parts(159_549_000, 0) + // Minimum execution time: 145_563_000 picoseconds. + Weight::from_parts(148_167_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -179,8 +179,8 @@ impl pallet_restricted_tokens::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `400` // Estimated: `4407` - // Minimum execution time: 91_301_000 picoseconds. - Weight::from_parts(92_442_000, 0) + // Minimum execution time: 85_470_000 picoseconds. + Weight::from_parts(86_803_000, 0) .saturating_add(Weight::from_parts(0, 4407)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/development/src/weights/pallet_scheduler.rs b/runtime/development/src/weights/pallet_scheduler.rs index 41579f944a..1f89ded613 100644 --- a/runtime/development/src/weights/pallet_scheduler.rs +++ b/runtime/development/src/weights/pallet_scheduler.rs @@ -2,23 +2,23 @@ //! Autogenerated weights for `pallet_scheduler` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 // Executed Command: // target/release/centrifuge-chain // benchmark // pallet -// --chain=centrifuge-local +// --chain=development // --steps=50 // --repeat=20 // --pallet=pallet_scheduler // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=/tmp/runtime/centrifuge/src/weights/pallet_scheduler.rs +// --output=/tmp/runtime/development/src/weights/pallet_scheduler.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -37,8 +37,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `31` // Estimated: `1489` - // Minimum execution time: 3_968_000 picoseconds. - Weight::from_parts(4_148_000, 0) + // Minimum execution time: 3_687_000 picoseconds. + Weight::from_parts(3_867_000, 0) .saturating_add(Weight::from_parts(0, 1489)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -50,11 +50,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 5_249_000 picoseconds. - Weight::from_parts(8_455_668, 0) + // Minimum execution time: 5_089_000 picoseconds. + Weight::from_parts(7_869_140, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 3_978 - .saturating_add(Weight::from_parts(613_461, 0).saturating_mul(s.into())) + // Standard Error: 3_756 + .saturating_add(Weight::from_parts(612_127, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -62,8 +62,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_970_000 picoseconds. - Weight::from_parts(5_120_000, 0) + // Minimum execution time: 4_749_000 picoseconds. + Weight::from_parts(4_969_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Preimage::PreimageFor` (r:1 w:1) @@ -77,11 +77,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `213 + s * (1 ±0)` // Estimated: `3678 + s * (1 ±0)` - // Minimum execution time: 25_228_000 picoseconds. - Weight::from_parts(25_808_000, 0) + // Minimum execution time: 24_736_000 picoseconds. + Weight::from_parts(25_307_000, 0) .saturating_add(Weight::from_parts(0, 3678)) - // Standard Error: 14 - .saturating_add(Weight::from_parts(1_379, 0).saturating_mul(s.into())) + // Standard Error: 19 + .saturating_add(Weight::from_parts(1_364, 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())) @@ -92,8 +92,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_264_000 picoseconds. - Weight::from_parts(7_554_000, 0) + // Minimum execution time: 7_193_000 picoseconds. + Weight::from_parts(7_404_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -101,24 +101,24 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_899_000 picoseconds. - Weight::from_parts(5_200_000, 0) + // Minimum execution time: 4_729_000 picoseconds. + Weight::from_parts(4_999_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: 3_887_000 picoseconds. - Weight::from_parts(4_138_000, 0) + // Minimum execution time: 3_737_000 picoseconds. + Weight::from_parts(3_927_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: 3_867_000 picoseconds. - Weight::from_parts(4_028_000, 0) + // Minimum execution time: 3_597_000 picoseconds. + Weight::from_parts(3_867_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Scheduler::Agenda` (r:1 w:1) @@ -128,11 +128,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 14_648_000 picoseconds. - Weight::from_parts(17_990_542, 0) + // Minimum execution time: 14_317_000 picoseconds. + Weight::from_parts(17_824_084, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 4_276 - .saturating_add(Weight::from_parts(629_105, 0).saturating_mul(s.into())) + // Standard Error: 4_138 + .saturating_add(Weight::from_parts(622_830, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -145,11 +145,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `78 + s * (177 ±0)` // Estimated: `42428` - // Minimum execution time: 20_208_000 picoseconds. - Weight::from_parts(18_944_972, 0) + // Minimum execution time: 20_177_000 picoseconds. + Weight::from_parts(18_771_827, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_325 - .saturating_add(Weight::from_parts(974_711, 0).saturating_mul(s.into())) + // Standard Error: 5_149 + .saturating_add(Weight::from_parts(965_902, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -162,11 +162,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `255 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 19_917_000 picoseconds. - Weight::from_parts(24_367_159, 0) + // Minimum execution time: 19_827_000 picoseconds. + Weight::from_parts(23_796_348, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 4_143 - .saturating_add(Weight::from_parts(664_976, 0).saturating_mul(s.into())) + // Standard Error: 4_118 + .saturating_add(Weight::from_parts(664_008, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -179,11 +179,11 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `281 + s * (185 ±0)` // Estimated: `42428` - // Minimum execution time: 23_364_000 picoseconds. - Weight::from_parts(22_474_466, 0) + // Minimum execution time: 22_943_000 picoseconds. + Weight::from_parts(22_034_404, 0) .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 5_379 - .saturating_add(Weight::from_parts(1_009_547, 0).saturating_mul(s.into())) + // Standard Error: 5_307 + .saturating_add(Weight::from_parts(1_002_865, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } diff --git a/runtime/development/src/weights/pallet_session.rs b/runtime/development/src/weights/pallet_session.rs index e5e44ff9f0..ab869f862f 100644 --- a/runtime/development/src/weights/pallet_session.rs +++ b/runtime/development/src/weights/pallet_session.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_session` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `308` // Estimated: `3773` - // Minimum execution time: 29_145_000 picoseconds. - Weight::from_parts(29_686_000, 0) + // Minimum execution time: 26_740_000 picoseconds. + Weight::from_parts(27_812_000, 0) .saturating_add(Weight::from_parts(0, 3773)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `315` // Estimated: `3780` - // Minimum execution time: 18_775_000 picoseconds. - Weight::from_parts(19_285_000, 0) + // Minimum execution time: 17_773_000 picoseconds. + Weight::from_parts(18_475_000, 0) .saturating_add(Weight::from_parts(0, 3780)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtime/development/src/weights/pallet_timestamp.rs b/runtime/development/src/weights/pallet_timestamp.rs index 245c250d58..5449f496b1 100644 --- a/runtime/development/src/weights/pallet_timestamp.rs +++ b/runtime/development/src/weights/pallet_timestamp.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_timestamp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `223` // Estimated: `1493` - // Minimum execution time: 10_469_000 picoseconds. - Weight::from_parts(10_830_000, 0) + // Minimum execution time: 9_688_000 picoseconds. + Weight::from_parts(10_290_000, 0) .saturating_add(Weight::from_parts(0, 1493)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -49,8 +49,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `128` // Estimated: `0` - // Minimum execution time: 4_629_000 picoseconds. - Weight::from_parts(4_799_000, 0) + // Minimum execution time: 4_628_000 picoseconds. + Weight::from_parts(4_819_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/runtime/development/src/weights/pallet_token_mux.rs b/runtime/development/src/weights/pallet_token_mux.rs index a949d39389..4155c81c82 100644 --- a/runtime/development/src/weights/pallet_token_mux.rs +++ b/runtime/development/src/weights/pallet_token_mux.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_token_mux` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `690` // Estimated: `8802` - // Minimum execution time: 99_926_000 picoseconds. - Weight::from_parts(100_939_000, 0) + // Minimum execution time: 95_309_000 picoseconds. + Weight::from_parts(96_782_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(6)) @@ -61,8 +61,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `980` // Estimated: `8802` - // Minimum execution time: 94_646_000 picoseconds. - Weight::from_parts(95_629_000, 0) + // Minimum execution time: 89_949_000 picoseconds. + Weight::from_parts(91_933_000, 0) .saturating_add(Weight::from_parts(0, 8802)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) @@ -85,8 +85,8 @@ impl pallet_token_mux::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1326` // Estimated: `11406` - // Minimum execution time: 179_345_000 picoseconds. - Weight::from_parts(181_790_000, 0) + // Minimum execution time: 171_923_000 picoseconds. + Weight::from_parts(173_996_000, 0) .saturating_add(Weight::from_parts(0, 11406)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(9)) diff --git a/runtime/development/src/weights/pallet_transfer_allowlist.rs b/runtime/development/src/weights/pallet_transfer_allowlist.rs index 36bcc8c220..41b48360a6 100644 --- a/runtime/development/src/weights/pallet_transfer_allowlist.rs +++ b/runtime/development/src/weights/pallet_transfer_allowlist.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_transfer_allowlist` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -45,8 +45,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `570` // Estimated: `4166` - // Minimum execution time: 89_497_000 picoseconds. - Weight::from_parts(91_170_000, 0) + // Minimum execution time: 82_805_000 picoseconds. + Weight::from_parts(85_580_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -65,8 +65,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `664` // Estimated: `4166` - // Minimum execution time: 91_241_000 picoseconds. - Weight::from_parts(93_384_000, 0) + // Minimum execution time: 86_272_000 picoseconds. + Weight::from_parts(87_865_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +77,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `246` // Estimated: `3557` - // Minimum execution time: 16_420_000 picoseconds. - Weight::from_parts(17_363_000, 0) + // Minimum execution time: 15_168_000 picoseconds. + Weight::from_parts(15_779_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -89,8 +89,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `370` // Estimated: `3557` - // Minimum execution time: 19_176_000 picoseconds. - Weight::from_parts(19_786_000, 0) + // Minimum execution time: 18_104_000 picoseconds. + Weight::from_parts(18_675_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,8 +101,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `340` // Estimated: `3557` - // Minimum execution time: 18_474_000 picoseconds. - Weight::from_parts(19_256_000, 0) + // Minimum execution time: 17_934_000 picoseconds. + Weight::from_parts(18_445_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -113,8 +113,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 18_866_000 picoseconds. - Weight::from_parts(19_306_000, 0) + // Minimum execution time: 17_943_000 picoseconds. + Weight::from_parts(18_384_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -125,8 +125,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `344` // Estimated: `3557` - // Minimum execution time: 18_594_000 picoseconds. - Weight::from_parts(19_056_000, 0) + // Minimum execution time: 17_533_000 picoseconds. + Weight::from_parts(18_144_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +137,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `378` // Estimated: `3557` - // Minimum execution time: 19_146_000 picoseconds. - Weight::from_parts(19_897_000, 0) + // Minimum execution time: 18_565_000 picoseconds. + Weight::from_parts(19_236_000, 0) .saturating_add(Weight::from_parts(0, 3557)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -151,8 +151,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `473` // Estimated: `4166` - // Minimum execution time: 30_778_000 picoseconds. - Weight::from_parts(31_509_000, 0) + // Minimum execution time: 29_846_000 picoseconds. + Weight::from_parts(30_748_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -165,8 +165,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `469` // Estimated: `4166` - // Minimum execution time: 30_928_000 picoseconds. - Weight::from_parts(31_579_000, 0) + // Minimum execution time: 29_405_000 picoseconds. + Weight::from_parts(30_407_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `848` // Estimated: `4166` - // Minimum execution time: 84_217_000 picoseconds. - Weight::from_parts(85_830_000, 0) + // Minimum execution time: 79_669_000 picoseconds. + Weight::from_parts(82_084_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -205,8 +205,8 @@ impl pallet_transfer_allowlist::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `887` // Estimated: `4166` - // Minimum execution time: 83_276_000 picoseconds. - Weight::from_parts(84_749_000, 0) + // Minimum execution time: 79_780_000 picoseconds. + Weight::from_parts(80_982_000, 0) .saturating_add(Weight::from_parts(0, 4166)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/development/src/weights/pallet_uniques.rs b/runtime/development/src/weights/pallet_uniques.rs index 94833ecc03..e750b70881 100644 --- a/runtime/development/src/weights/pallet_uniques.rs +++ b/runtime/development/src/weights/pallet_uniques.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_uniques` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -39,8 +39,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `249` // Estimated: `3647` - // Minimum execution time: 36_659_000 picoseconds. - Weight::from_parts(37_541_000, 0) + // Minimum execution time: 34_604_000 picoseconds. + Weight::from_parts(35_266_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -53,8 +53,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3647` - // Minimum execution time: 16_871_000 picoseconds. - Weight::from_parts(17_242_000, 0) + // Minimum execution time: 15_990_000 picoseconds. + Weight::from_parts(16_871_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -82,15 +82,15 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `511 + a * (346 ±0) + m * (69 ±0) + n * (88 ±0)` // Estimated: `3647 + a * (3080 ±0) + m * (2806 ±0) + n * (2613 ±0)` - // Minimum execution time: 3_004_732_000 picoseconds. - Weight::from_parts(3_014_581_000, 0) + // Minimum execution time: 3_041_352_000 picoseconds. + Weight::from_parts(3_134_416_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(10_066_324, 0).saturating_mul(n.into())) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(276_468, 0).saturating_mul(m.into())) - // Standard Error: 29_103 - .saturating_add(Weight::from_parts(519_952, 0).saturating_mul(a.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(10_091_830, 0).saturating_mul(n.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(124_016, 0).saturating_mul(m.into())) + // Standard Error: 33_054 + .saturating_add(Weight::from_parts(626_227, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -115,8 +115,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 46_878_000 picoseconds. - Weight::from_parts(47_749_000, 0) + // Minimum execution time: 44_894_000 picoseconds. + Weight::from_parts(45_665_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -133,8 +133,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 49_442_000 picoseconds. - Weight::from_parts(50_063_000, 0) + // Minimum execution time: 46_186_000 picoseconds. + Weight::from_parts(47_589_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -151,8 +151,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 37_399_000 picoseconds. - Weight::from_parts(37_761_000, 0) + // Minimum execution time: 35_597_000 picoseconds. + Weight::from_parts(36_298_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -166,11 +166,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `821 + i * (88 ±0)` // Estimated: `3647 + i * (2613 ±0)` - // Minimum execution time: 16_952_000 picoseconds. - Weight::from_parts(17_132_000, 0) + // Minimum execution time: 15_720_000 picoseconds. + Weight::from_parts(16_070_000, 0) .saturating_add(Weight::from_parts(0, 3647)) - // Standard Error: 14_760 - .saturating_add(Weight::from_parts(22_704_797, 0).saturating_mul(i.into())) + // Standard Error: 17_966 + .saturating_add(Weight::from_parts(21_830_006, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -185,8 +185,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_314_000 picoseconds. - Weight::from_parts(23_925_000, 0) + // Minimum execution time: 22_101_000 picoseconds. + Weight::from_parts(22_652_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -199,8 +199,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_103_000 picoseconds. - Weight::from_parts(23_533_000, 0) + // Minimum execution time: 21_410_000 picoseconds. + Weight::from_parts(22_352_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -211,8 +211,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 15_069_000 picoseconds. - Weight::from_parts(15_489_000, 0) + // Minimum execution time: 14_498_000 picoseconds. + Weight::from_parts(15_049_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -223,8 +223,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 14_888_000 picoseconds. - Weight::from_parts(15_269_000, 0) + // Minimum execution time: 14_537_000 picoseconds. + Weight::from_parts(14_808_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -241,8 +241,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `638` // Estimated: `3647` - // Minimum execution time: 33_433_000 picoseconds. - Weight::from_parts(34_204_000, 0) + // Minimum execution time: 32_009_000 picoseconds. + Weight::from_parts(32_882_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -253,8 +253,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 15_369_000 picoseconds. - Weight::from_parts(15_860_000, 0) + // Minimum execution time: 14_517_000 picoseconds. + Weight::from_parts(15_359_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -267,8 +267,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 20_008_000 picoseconds. - Weight::from_parts(20_518_000, 0) + // Minimum execution time: 19_175_000 picoseconds. + Weight::from_parts(19_807_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -283,8 +283,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `4070` - // Minimum execution time: 53_901_000 picoseconds. - Weight::from_parts(54_763_000, 0) + // Minimum execution time: 51_366_000 picoseconds. + Weight::from_parts(52_178_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -299,8 +299,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1407` // Estimated: `4070` - // Minimum execution time: 51_977_000 picoseconds. - Weight::from_parts(52_808_000, 0) + // Minimum execution time: 49_583_000 picoseconds. + Weight::from_parts(50_404_000, 0) .saturating_add(Weight::from_parts(0, 4070)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -313,8 +313,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `419` // Estimated: `3796` - // Minimum execution time: 37_340_000 picoseconds. - Weight::from_parts(38_342_000, 0) + // Minimum execution time: 35_165_000 picoseconds. + Weight::from_parts(36_227_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -327,8 +327,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `775` // Estimated: `3796` - // Minimum execution time: 38_502_000 picoseconds. - Weight::from_parts(39_594_000, 0) + // Minimum execution time: 36_689_000 picoseconds. + Weight::from_parts(37_380_000, 0) .saturating_add(Weight::from_parts(0, 3796)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -341,8 +341,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3764` - // Minimum execution time: 39_264_000 picoseconds. - Weight::from_parts(40_305_000, 0) + // Minimum execution time: 37_019_000 picoseconds. + Weight::from_parts(37_891_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -355,8 +355,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `676` // Estimated: `3764` - // Minimum execution time: 37_700_000 picoseconds. - Weight::from_parts(38_221_000, 0) + // Minimum execution time: 34_695_000 picoseconds. + Weight::from_parts(35_686_000, 0) .saturating_add(Weight::from_parts(0, 3764)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -369,8 +369,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `516` // Estimated: `3647` - // Minimum execution time: 23_664_000 picoseconds. - Weight::from_parts(24_105_000, 0) + // Minimum execution time: 22_522_000 picoseconds. + Weight::from_parts(23_073_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -383,8 +383,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `549` // Estimated: `3647` - // Minimum execution time: 23_874_000 picoseconds. - Weight::from_parts(24_255_000, 0) + // Minimum execution time: 22_262_000 picoseconds. + Weight::from_parts(22_883_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -395,8 +395,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3521` - // Minimum execution time: 17_633_000 picoseconds. - Weight::from_parts(18_184_000, 0) + // Minimum execution time: 16_982_000 picoseconds. + Weight::from_parts(17_523_000, 0) .saturating_add(Weight::from_parts(0, 3521)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -409,8 +409,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `353` // Estimated: `3647` - // Minimum execution time: 19_627_000 picoseconds. - Weight::from_parts(20_148_000, 0) + // Minimum execution time: 18_705_000 picoseconds. + Weight::from_parts(19_387_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -423,8 +423,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `343` // Estimated: `3603` - // Minimum execution time: 18_915_000 picoseconds. - Weight::from_parts(19_457_000, 0) + // Minimum execution time: 18_214_000 picoseconds. + Weight::from_parts(18_855_000, 0) .saturating_add(Weight::from_parts(0, 3603)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -441,8 +441,8 @@ impl pallet_uniques::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `645` // Estimated: `3647` - // Minimum execution time: 47_038_000 picoseconds. - Weight::from_parts(48_631_000, 0) + // Minimum execution time: 44_143_000 picoseconds. + Weight::from_parts(45_436_000, 0) .saturating_add(Weight::from_parts(0, 3647)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtime/development/src/weights/pallet_utility.rs b/runtime/development/src/weights/pallet_utility.rs index dd180f3c76..e3ce92979f 100644 --- a/runtime/development/src/weights/pallet_utility.rs +++ b/runtime/development/src/weights/pallet_utility.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_utility` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -36,18 +36,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_852_000 picoseconds. - Weight::from_parts(3_779_214, 0) + // Minimum execution time: 6_632_000 picoseconds. + Weight::from_parts(5_074_088, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_185 - .saturating_add(Weight::from_parts(4_705_310, 0).saturating_mul(c.into())) + // Standard Error: 2_374 + .saturating_add(Weight::from_parts(4_739_370, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_613_000 picoseconds. - Weight::from_parts(7_043_000, 0) + // Minimum execution time: 6_762_000 picoseconds. + Weight::from_parts(7_063_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -55,18 +55,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_603_000 picoseconds. - Weight::from_parts(6_813_000, 0) + // Minimum execution time: 6_682_000 picoseconds. + Weight::from_parts(6_733_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_474 - .saturating_add(Weight::from_parts(5_109_510, 0).saturating_mul(c.into())) + // Standard Error: 1_373 + .saturating_add(Weight::from_parts(5_166_964, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 9_368_000 picoseconds. - Weight::from_parts(9_769_000, 0) + // Minimum execution time: 9_297_000 picoseconds. + Weight::from_parts(9_738_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -74,10 +74,10 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_812_000 picoseconds. - Weight::from_parts(7_053_000, 0) + // Minimum execution time: 6_582_000 picoseconds. + Weight::from_parts(3_166_614, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_310 - .saturating_add(Weight::from_parts(4_734_507, 0).saturating_mul(c.into())) + // Standard Error: 2_634 + .saturating_add(Weight::from_parts(4_775_960, 0).saturating_mul(c.into())) } } diff --git a/runtime/development/src/weights/pallet_vesting.rs b/runtime/development/src/weights/pallet_vesting.rs index 4defe13506..1843b9aaa7 100644 --- a/runtime/development/src/weights/pallet_vesting.rs +++ b/runtime/development/src/weights/pallet_vesting.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_vesting` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -43,13 +43,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 39_564_000 picoseconds. - Weight::from_parts(39_981_239, 0) + // Minimum execution time: 37_951_000 picoseconds. + Weight::from_parts(38_965_383, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_037 - .saturating_add(Weight::from_parts(43_712, 0).saturating_mul(l.into())) - // Standard Error: 19_876 - .saturating_add(Weight::from_parts(229_682, 0).saturating_mul(s.into())) + // Standard Error: 1_237 + .saturating_add(Weight::from_parts(40_197, 0).saturating_mul(l.into())) + // Standard Error: 23_718 + .saturating_add(Weight::from_parts(249_871, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -65,13 +65,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `269 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 41_808_000 picoseconds. - Weight::from_parts(43_269_209, 0) + // Minimum execution time: 40_486_000 picoseconds. + Weight::from_parts(41_225_359, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_148 - .saturating_add(Weight::from_parts(40_780, 0).saturating_mul(l.into())) - // Standard Error: 22_013 - .saturating_add(Weight::from_parts(93_733, 0).saturating_mul(s.into())) + // Standard Error: 1_304 + .saturating_add(Weight::from_parts(42_788, 0).saturating_mul(l.into())) + // Standard Error: 24_998 + .saturating_add(Weight::from_parts(301_311, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -89,13 +89,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `372 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 41_467_000 picoseconds. - Weight::from_parts(41_941_236, 0) + // Minimum execution time: 40_015_000 picoseconds. + Weight::from_parts(40_097_427, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_114 - .saturating_add(Weight::from_parts(44_127, 0).saturating_mul(l.into())) - // Standard Error: 21_345 - .saturating_add(Weight::from_parts(397_753, 0).saturating_mul(s.into())) + // Standard Error: 1_281 + .saturating_add(Weight::from_parts(61_378, 0).saturating_mul(l.into())) + // Standard Error: 24_561 + .saturating_add(Weight::from_parts(428_834, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -113,13 +113,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `372 + l * (25 ±0) + s * (37 ±0)` // Estimated: `4764` - // Minimum execution time: 44_693_000 picoseconds. - Weight::from_parts(45_550_838, 0) + // Minimum execution time: 42_830_000 picoseconds. + Weight::from_parts(43_536_045, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_152 - .saturating_add(Weight::from_parts(42_064, 0).saturating_mul(l.into())) - // Standard Error: 22_075 - .saturating_add(Weight::from_parts(232_605, 0).saturating_mul(s.into())) + // Standard Error: 1_326 + .saturating_add(Weight::from_parts(45_431, 0).saturating_mul(l.into())) + // Standard Error: 25_424 + .saturating_add(Weight::from_parts(361_821, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -137,13 +137,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `283 + l * (25 ±0) + s * (134 ±0)` // Estimated: `4764` - // Minimum execution time: 93_545_000 picoseconds. - Weight::from_parts(92_993_209, 0) + // Minimum execution time: 87_765_000 picoseconds. + Weight::from_parts(89_515_252, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_581 - .saturating_add(Weight::from_parts(61_450, 0).saturating_mul(l.into())) - // Standard Error: 30_294 - .saturating_add(Weight::from_parts(1_040_335, 0).saturating_mul(s.into())) + // Standard Error: 2_059 + .saturating_add(Weight::from_parts(46_297, 0).saturating_mul(l.into())) + // Standard Error: 39_461 + .saturating_add(Weight::from_parts(792_948, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -161,13 +161,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `423 + l * (25 ±0) + s * (134 ±0)` // Estimated: `6196` - // Minimum execution time: 95_989_000 picoseconds. - Weight::from_parts(95_019_286, 0) + // Minimum execution time: 91_231_000 picoseconds. + Weight::from_parts(90_757_578, 0) .saturating_add(Weight::from_parts(0, 6196)) - // Standard Error: 2_465 - .saturating_add(Weight::from_parts(86_005, 0).saturating_mul(l.into())) - // Standard Error: 47_232 - .saturating_add(Weight::from_parts(2_593_636, 0).saturating_mul(s.into())) + // Standard Error: 3_149 + .saturating_add(Weight::from_parts(82_836, 0).saturating_mul(l.into())) + // Standard Error: 60_349 + .saturating_add(Weight::from_parts(2_688_391, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -185,13 +185,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 41_888_000 picoseconds. - Weight::from_parts(42_630_812, 0) + // Minimum execution time: 40_716_000 picoseconds. + Weight::from_parts(42_531_698, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(55_222, 0).saturating_mul(l.into())) - // Standard Error: 33_643 - .saturating_add(Weight::from_parts(196_992, 0).saturating_mul(s.into())) + // Standard Error: 1_440 + .saturating_add(Weight::from_parts(44_899, 0).saturating_mul(l.into())) + // Standard Error: 45_950 + .saturating_add(Weight::from_parts(39_530, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -209,13 +209,13 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `374 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 44_733_000 picoseconds. - Weight::from_parts(45_724_733, 0) + // Minimum execution time: 43_822_000 picoseconds. + Weight::from_parts(44_628_776, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_061 - .saturating_add(Weight::from_parts(46_527, 0).saturating_mul(l.into())) - // Standard Error: 33_842 - .saturating_add(Weight::from_parts(193_383, 0).saturating_mul(s.into())) + // Standard Error: 1_479 + .saturating_add(Weight::from_parts(47_116, 0).saturating_mul(l.into())) + // Standard Error: 47_196 + .saturating_add(Weight::from_parts(307_721, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -229,15 +229,17 @@ impl pallet_vesting::WeightInfo for WeightInfo { /// 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, 3]`. - fn force_remove_vesting_schedule(l: u32, _s: u32, ) -> Weight { + fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `479 + l * (25 ±0) + s * (36 ±0)` // Estimated: `4764` - // Minimum execution time: 47_398_000 picoseconds. - Weight::from_parts(49_317_822, 0) + // Minimum execution time: 45_586_000 picoseconds. + Weight::from_parts(46_341_164, 0) .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_305 - .saturating_add(Weight::from_parts(43_381, 0).saturating_mul(l.into())) + // Standard Error: 1_811 + .saturating_add(Weight::from_parts(54_813, 0).saturating_mul(l.into())) + // Standard Error: 57_780 + .saturating_add(Weight::from_parts(447_204, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } diff --git a/runtime/development/src/weights/pallet_whitelist.rs b/runtime/development/src/weights/pallet_whitelist.rs new file mode 100644 index 0000000000..ba045f4ed7 --- /dev/null +++ b/runtime/development/src/weights/pallet_whitelist.rs @@ -0,0 +1,107 @@ + +//! Autogenerated weights for `pallet_whitelist` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-06-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("development")`, DB CACHE: 1024 + +// Executed Command: +// target/release/centrifuge-chain +// benchmark +// pallet +// --chain=development +// --steps=50 +// --repeat=20 +// --pallet=pallet_whitelist +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=/tmp/runtime/development/src/weights/pallet_whitelist.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_whitelist`. +pub struct WeightInfo(PhantomData); +impl pallet_whitelist::WeightInfo for WeightInfo { + /// 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: `152` + // Estimated: `3556` + // Minimum execution time: 25_227_000 picoseconds. + Weight::from_parts(25_938_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: `281` + // Estimated: `3556` + // Minimum execution time: 23_654_000 picoseconds. + Weight::from_parts(23_955_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: `357 + n * (1 ±0)` + // Estimated: `3821 + n * (1 ±0)` + // Minimum execution time: 38_532_000 picoseconds. + Weight::from_parts(41_704_185, 0) + .saturating_add(Weight::from_parts(0, 3821)) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_088, 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: `281` + // Estimated: `3556` + // Minimum execution time: 29_315_000 picoseconds. + Weight::from_parts(29_998_334, 0) + .saturating_add(Weight::from_parts(0, 3556)) + // Standard Error: 6 + .saturating_add(Weight::from_parts(1_508, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/runtime/development/src/weights/pallet_xcm.rs b/runtime/development/src/weights/pallet_xcm.rs index ff8118d8bd..f25dc02629 100644 --- a/runtime/development/src/weights/pallet_xcm.rs +++ b/runtime/development/src/weights/pallet_xcm.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_xcm` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-06-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("centrifuge-local")`, DB CACHE: 1024 @@ -95,8 +95,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_967_000, 0) + // Minimum execution time: 3_667_000 picoseconds. + Weight::from_parts(3_797_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `Benchmark::Override` (r:0 w:0) @@ -125,8 +125,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_877_000 picoseconds. - Weight::from_parts(4_147_000, 0) + // Minimum execution time: 3_647_000 picoseconds. + Weight::from_parts(3_877_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -136,8 +136,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `22` // Estimated: `13387` - // Minimum execution time: 26_810_000 picoseconds. - Weight::from_parts(27_190_000, 0) + // Minimum execution time: 25_058_000 picoseconds. + Weight::from_parts(25_738_000, 0) .saturating_add(Weight::from_parts(0, 13387)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -148,8 +148,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `26` // Estimated: `13391` - // Minimum execution time: 27_080_000 picoseconds. - Weight::from_parts(27_462_000, 0) + // Minimum execution time: 25_397_000 picoseconds. + Weight::from_parts(25_939_000, 0) .saturating_add(Weight::from_parts(0, 13391)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -180,8 +180,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `69` // Estimated: `10959` - // Minimum execution time: 19_667_000 picoseconds. - Weight::from_parts(20_097_000, 0) + // Minimum execution time: 18_695_000 picoseconds. + Weight::from_parts(19_336_000, 0) .saturating_add(Weight::from_parts(0, 10959)) .saturating_add(T::DbWeight::get().reads(4)) } @@ -191,8 +191,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `33` // Estimated: `13398` - // Minimum execution time: 26_430_000 picoseconds. - Weight::from_parts(26_980_000, 0) + // Minimum execution time: 25_427_000 picoseconds. + Weight::from_parts(26_179_000, 0) .saturating_add(Weight::from_parts(0, 13398)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -215,8 +215,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_967_000, 0) + // Minimum execution time: 3_336_000 picoseconds. + Weight::from_parts(3_536_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -227,8 +227,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7576` // Estimated: `11041` - // Minimum execution time: 43_632_000 picoseconds. - Weight::from_parts(44_152_000, 0) + // Minimum execution time: 42_199_000 picoseconds. + Weight::from_parts(43_071_000, 0) .saturating_add(Weight::from_parts(0, 11041)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/runtime/development/src/xcm.rs b/runtime/development/src/xcm.rs index ac260246f0..eaecd65851 100644 --- a/runtime/development/src/xcm.rs +++ b/runtime/development/src/xcm.rs @@ -9,7 +9,6 @@ // 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. -use cfg_primitives::types::{EnsureRootOr, HalfOfCouncil}; use cfg_traits::TryConvert; use cfg_types::{tokens::CurrencyId, EVMChainId}; use frame_support::{ @@ -22,6 +21,7 @@ use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; use orml_xcm_support::MultiNativeAsset; use pallet_xcm::XcmPassthrough; use runtime_common::{ + origins::gov::types::{EnsureRootOr, HalfOfCouncil}, transfer_filter::PreXcmTransfer, xcm::{ AccountIdToLocation, Barrier, CanonicalNativePerSecond, FixedConversionRateProvider, diff --git a/runtime/integration-tests/Cargo.toml b/runtime/integration-tests/Cargo.toml index 47d561f010..58082f1977 100644 --- a/runtime/integration-tests/Cargo.toml +++ b/runtime/integration-tests/Cargo.toml @@ -44,6 +44,7 @@ sp-timestamp = { workspace = true, features = ["std"] } sp-tracing = { workspace = true, features = ["std"] } sp-transaction-pool = { workspace = true, features = ["std"] } +frame-metadata-hash-extension = { workspace = true, features = ["std"] } frame-support = { workspace = true, features = ["std"] } frame-system = { workspace = true, features = ["std"] } diff --git a/runtime/integration-tests/procedural/src/lib.rs b/runtime/integration-tests/procedural/src/lib.rs index da8252ffd9..a8a4e8408e 100644 --- a/runtime/integration-tests/procedural/src/lib.rs +++ b/runtime/integration-tests/procedural/src/lib.rs @@ -1,6 +1,6 @@ use proc_macro::TokenStream; use quote::quote; -use syn::{parse_macro_input, Expr, ItemFn}; +use syn::{parse_macro_input, punctuated::Punctuated, Expr, ItemFn, Token}; /// Test the function against different runtimes /// @@ -22,6 +22,21 @@ use syn::{parse_macro_input, Expr, ItemFn}; /// } /// ``` /// +/// You can also ignore them: +/// ```rust,ignore +/// use crate::generic::config::Runtime; +/// +/// #[test_runtimes([development, altair, centrifuge], ignore = "reason")] +/// fn foo { +/// // Your test here... +/// } +/// +/// #[test_runtimes(all, ignore = "reason")] +/// fn foo { +/// // Your test here... +/// } +/// ``` +/// /// You can test for fudge support adding the bound: /// ```rust,ignore /// use crate::generic::{config::Runtime, envs::fudge_env::FudgeSupport}; @@ -46,13 +61,26 @@ use syn::{parse_macro_input, Expr, ItemFn}; /// - The world `all`. #[proc_macro_attribute] pub fn test_runtimes(args: TokenStream, input: TokenStream) -> TokenStream { - let args = parse_macro_input!(args as Expr); - let func = parse_macro_input!(input as ItemFn); + let mut args: Punctuated = + parse_macro_input!(args with Punctuated::parse_terminated); + let runtimes = args + .get(0) + .expect("expect 'all' or a list of runtimes") + .clone(); + + let ignore = args.get(1); + + let func = parse_macro_input!(input as ItemFn); let func_name = &func.sig.ident; + let test_for_runtimes = match ignore { + Some(ignore) => quote!(crate::__test_for_runtimes!(#runtimes, #func_name, #ignore);), + None => quote!(crate::__test_for_runtimes!(#runtimes, #func_name);), + }; + quote! { - crate::__test_for_runtimes!(#args, #func_name); + #test_for_runtimes #func } .into() diff --git a/runtime/integration-tests/procedural/tests/lib.rs b/runtime/integration-tests/procedural/tests/lib.rs index ff5928ed13..84cb14b7b8 100644 --- a/runtime/integration-tests/procedural/tests/lib.rs +++ b/runtime/integration-tests/procedural/tests/lib.rs @@ -1,3 +1,9 @@ +// NOTE: to show the output during the compilation ensure this file is modified +// before compiling and the feature is enabled: +// Steps: +// 1. touch some file from this crate +// 2. `cargo test -p runtime-integration-tests-proc-macro -F debug-proc-macros` + #![allow(unused)] #![cfg(feature = "debug-proc-macros")] @@ -9,3 +15,9 @@ fn macro_runtimes() {} #[__dbg_test_runtimes([development, altair, centrifuge])] fn macro_runtimes_list() {} + +#[__dbg_test_runtimes(all, ignore = "reason")] +fn macro_runtimes_ignored() {} + +#[__dbg_test_runtimes([development, altair, centrifuge], ignore = "reason")] +fn macro_runtimes_list_ignored() {} diff --git a/runtime/integration-tests/src/cases/investments.rs b/runtime/integration-tests/src/cases/investments.rs index 4e49f806f0..057f6daa01 100644 --- a/runtime/integration-tests/src/cases/investments.rs +++ b/runtime/integration-tests/src/cases/investments.rs @@ -1,10 +1,6 @@ use cfg_primitives::{AccountId, Balance, PoolId}; -use cfg_traits::{investments::TrancheCurrency as _, Seconds}; -use cfg_types::{ - investments::InvestmentPortfolio, - permissions::PoolRole, - tokens::{CurrencyId, TrancheCurrency}, -}; +use cfg_traits::Seconds; +use cfg_types::{investments::InvestmentPortfolio, permissions::PoolRole, tokens::CurrencyId}; use frame_support::traits::fungibles::MutateHold; use runtime_common::apis::{ runtime_decl_for_investments_api::InvestmentsApiV1, runtime_decl_for_pools_api::PoolsApiV1, @@ -66,7 +62,7 @@ fn investment_portfolio_single_tranche() { let mut env = common::initialize_state_for_investments::, T>(); let tranche_id = env.parachain_state(|| T::Api::tranche_id(POOL_A, 0).unwrap()); - let invest_id = TrancheCurrency::generate(POOL_A, tranche_id); + let invest_id = (POOL_A, tranche_id); let mut investment_portfolio = env.parachain_state(|| T::Api::investment_portfolio(INVESTOR.id())); diff --git a/runtime/integration-tests/src/cases/liquidity_pools.rs b/runtime/integration-tests/src/cases/liquidity_pools.rs index db171c340e..fda2147733 100644 --- a/runtime/integration-tests/src/cases/liquidity_pools.rs +++ b/runtime/integration-tests/src/cases/liquidity_pools.rs @@ -1,14 +1,13 @@ use cfg_primitives::{ - currency_decimals, parachains, AccountId, Balance, OrderId, PoolId, TrancheId, + currency_decimals, parachains, AccountId, Balance, InvestmentId, OrderId, PoolId, TrancheId, }; use cfg_traits::{ - investments::{Investment, OrderManager, TrancheCurrency}, - liquidity_pools::InboundQueue, - IdentityCurrencyConversion, Permissions, PoolInspect, PoolMutate, Seconds, + investments::OrderManager, liquidity_pools::InboundQueue, IdentityCurrencyConversion, + Permissions, PoolInspect, PoolMutate, Seconds, }; use cfg_types::{ domain_address::{Domain, DomainAddress}, - fixed_point::{Quantity, Ratio}, + fixed_point::Ratio, investments::{InvestCollection, InvestmentAccount, RedeemCollection}, orders::FulfillmentWithPrice, permissions::{PermissionScope, PoolRole, Role}, @@ -26,10 +25,8 @@ use frame_support::{ use liquidity_pools_gateway_routers::{ DomainRouter, EthereumXCMRouter, XCMRouter, XcmDomain, DEFAULT_PROOF_SIZE, }; -use orml_traits::MultiCurrency; use pallet_investments::CollectOutcome; use pallet_liquidity_pools::Message; -use pallet_liquidity_pools_gateway::Call as LiquidityPoolsGatewayCall; use pallet_pool_system::tranches::{TrancheInput, TrancheLoc, TrancheType}; use runtime_common::{ account_conversion::AccountConverter, foreign_investments::IdentityPoolCurrencyConverter, @@ -37,7 +34,7 @@ use runtime_common::{ }; use sp_core::{Get, H160}; use sp_runtime::{ - traits::{AccountIdConversion, BadOrigin, Convert, EnsureAdd, One, Zero}, + traits::{AccountIdConversion, Convert, EnsureAdd, One, Zero}, BoundedVec, DispatchError, FixedPointNumber, Perquintill, SaturatedConversion, }; use staging_xcm::{ @@ -52,6 +49,13 @@ use crate::{ utils::{accounts::Keyring, genesis, genesis::Genesis, orml_asset_registry}, }; +// ------------------ +// NOTE +// This file only contains foreign investments tests, but the name must remain +// as it is until feature lpv2 is merged to avoid conflicts: +// (https://github.com/centrifuge/centrifuge-chain/pull/1909) +// ------------------ + /// The AUSD asset id pub const AUSD_CURRENCY_ID: CurrencyId = CurrencyId::ForeignAsset(3); /// The USDT asset id @@ -74,7 +78,7 @@ pub const DEFAULT_DOMAIN_ADDRESS_MOONBEAM: DomainAddress = pub const DEFAULT_OTHER_DOMAIN_ADDRESS: DomainAddress = DomainAddress::EVM(MOONBEAM_EVM_CHAIN_ID, [0; 20]); -pub type LiquidityPoolMessage = Message; +pub type LiquidityPoolMessage = Message; mod utils { use cfg_types::oracles::OracleKey; @@ -126,21 +130,6 @@ mod utils { 10u128.saturating_pow(decimals) } - pub fn set_domain_router_call( - domain: Domain, - router: DomainRouter, - ) -> T::RuntimeCallExt { - LiquidityPoolsGatewayCall::set_domain_router { domain, router }.into() - } - - pub fn add_instance_call(instance: DomainAddress) -> T::RuntimeCallExt { - LiquidityPoolsGatewayCall::add_instance { instance }.into() - } - - pub fn remove_instance_call(instance: DomainAddress) -> T::RuntimeCallExt { - LiquidityPoolsGatewayCall::remove_instance { instance }.into() - } - /// Creates a new pool for for the given id with the provided currency. /// * BOB as admin and depositor /// * Two tranches @@ -357,16 +346,12 @@ mod utils { pub fn investment_id( pool_id: u64, tranche_id: TrancheId, - ) -> cfg_types::tokens::TrancheCurrency { - ::TrancheCurrency::generate(pool_id, tranche_id) + ) -> InvestmentId { + (pool_id, tranche_id) } - pub fn default_investment_id() -> cfg_types::tokens::TrancheCurrency - { - ::TrancheCurrency::generate( - POOL_ID, - default_tranche_id::(POOL_ID), - ) + pub fn default_investment_id() -> InvestmentId { + (POOL_ID, default_tranche_id::(POOL_ID)) } pub fn default_order_id(investor: &AccountId) -> OrderId { @@ -675,842 +660,10 @@ mod utils { amount_foreign_denominated } - - pub fn get_council_members() -> Vec { - vec![Keyring::Alice, Keyring::Bob, Keyring::Charlie] - } } use utils::*; -mod add_allow_upgrade { - use cfg_types::tokens::LiquidityPoolsWrappedToken; - - use super::*; - - #[test_runtimes([development])] - fn update_member() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - // Now create the pool - let pool_id = POOL_ID; - - create_ausd_pool::(pool_id); - - let tranche_id = default_tranche_id::(pool_id); - - // Finally, verify we can call pallet_liquidity_pools::Pallet::::add_tranche - // successfully when given a valid pool + tranche id pair. - let new_member = DomainAddress::EVM(MOONBEAM_EVM_CHAIN_ID, [3; 20]); - - // Make ALICE the MembersListAdmin of this Pool - assert_ok!(pallet_permissions::Pallet::::add( - ::RuntimeOrigin::root(), - Role::PoolRole(PoolRole::PoolAdmin), - Keyring::Alice.into(), - PermissionScope::Pool(pool_id), - Role::PoolRole(PoolRole::InvestorAdmin), - )); - - // Verify it fails if the destination is not whitelisted yet - assert_noop!( - pallet_liquidity_pools::Pallet::::update_member( - RawOrigin::Signed(Keyring::Alice.into()).into(), - pool_id, - tranche_id, - new_member.clone(), - DEFAULT_VALIDITY, - ), - pallet_liquidity_pools::Error::::InvestorDomainAddressNotAMember, - ); - - // Whitelist destination as TrancheInvestor of this Pool - crate::utils::pool::give_role::( - AccountConverter::convert(new_member.clone()), - pool_id, - PoolRole::TrancheInvestor(default_tranche_id::(pool_id), DEFAULT_VALIDITY), - ); - - // Verify the Investor role was set as expected in Permissions - assert!(pallet_permissions::Pallet::::has( - PermissionScope::Pool(pool_id), - AccountConverter::convert(new_member.clone()), - Role::PoolRole(PoolRole::TrancheInvestor(tranche_id, DEFAULT_VALIDITY)), - )); - - // Verify it now works - assert_ok!(pallet_liquidity_pools::Pallet::::update_member( - RawOrigin::Signed(Keyring::Alice.into()).into(), - pool_id, - tranche_id, - new_member, - DEFAULT_VALIDITY, - )); - - // Verify it cannot be called for another member without whitelisting the domain - // beforehand - assert_noop!( - pallet_liquidity_pools::Pallet::::update_member( - RawOrigin::Signed(Keyring::Alice.into()).into(), - pool_id, - tranche_id, - DomainAddress::EVM(MOONBEAM_EVM_CHAIN_ID, [9; 20]), - DEFAULT_VALIDITY, - ), - pallet_liquidity_pools::Error::::InvestorDomainAddressNotAMember, - ); - }); - } - - #[test_runtimes([development])] - fn update_token_price() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let currency_id = AUSD_CURRENCY_ID; - let pool_id = POOL_ID; - - enable_liquidity_pool_transferability::(currency_id); - - create_ausd_pool::(pool_id); - - assert_ok!(pallet_liquidity_pools::Pallet::::update_token_price( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - default_tranche_id::(pool_id), - currency_id, - Domain::EVM(MOONBEAM_EVM_CHAIN_ID), - )); - }); - } - - #[test_runtimes([development])] - fn add_currency() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let gateway_sender = ::Sender::get(); - - let currency_id = AUSD_CURRENCY_ID; - - enable_liquidity_pool_transferability::(currency_id); - - assert_eq!( - orml_tokens::Pallet::::free_balance(GLMR_CURRENCY_ID, &gateway_sender), - DEFAULT_BALANCE_GLMR - ); - - assert_ok!(pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - currency_id, - )); - - let currency_index = - pallet_liquidity_pools::Pallet::::try_get_general_index(currency_id) - .expect("can get general index for currency"); - - let LiquidityPoolsWrappedToken::EVM { - address: evm_address, - .. - } = pallet_liquidity_pools::Pallet::::try_get_wrapped_token(¤cy_id) - .expect("can get wrapped token"); - - let outbound_message = pallet_liquidity_pools_gateway::OutboundMessageQueue::::get( - T::OutboundMessageNonce::one(), - ) - .expect("expected outbound queue message"); - - assert_eq!( - outbound_message.2, - Message::AddCurrency { - currency: currency_index, - evm_address, - }, - ); - }); - } - - #[test_runtimes([development])] - fn add_currency_should_fail() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - CurrencyId::ForeignAsset(42) - ), - pallet_liquidity_pools::Error::::AssetNotFound - ); - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - CurrencyId::Native - ), - pallet_liquidity_pools::Error::::AssetNotFound - ); - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - CurrencyId::Staking(cfg_types::tokens::StakingCurrency::BlockRewards) - ), - pallet_liquidity_pools::Error::::AssetNotFound - ); - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - CurrencyId::Staking(cfg_types::tokens::StakingCurrency::BlockRewards) - ), - pallet_liquidity_pools::Error::::AssetNotFound - ); - - // Should fail to add currency_id which is missing a registered - // Location - let currency_id = CurrencyId::ForeignAsset(100); - - assert_ok!(orml_asset_registry::Pallet::::register_asset( - ::RuntimeOrigin::root(), - AssetMetadata { - name: BoundedVec::default(), - symbol: BoundedVec::default(), - decimals: 12, - location: None, - existential_deposit: 1_000_000, - additional: CustomMetadata { - transferability: CrossChainTransferability::LiquidityPools, - mintable: false, - permissioned: false, - pool_currency: false, - local_representation: None, - }, - }, - Some(currency_id) - )); - - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - currency_id - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken - ); - - // Add convertable Location to metadata but remove transferability - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - // Changed: Add multilocation to metadata for some random EVM chain id for - // which no instance is registered - Some(Some(liquidity_pools_transferable_multilocation::( - u64::MAX, - [1u8; 20], - ))), - Some(CustomMetadata { - // Changed: Disallow liquidityPools transferability - transferability: CrossChainTransferability::Xcm(Default::default()), - ..Default::default() - }), - )); - - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - currency_id - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable - ); - - // Switch transferability from XCM to None - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - None, - Some(CustomMetadata { - // Changed: Disallow cross chain transferability entirely - transferability: CrossChainTransferability::None, - ..Default::default() - }) - )); - - assert_noop!( - pallet_liquidity_pools::Pallet::::add_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - currency_id - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable - ); - }); - } - - #[test_runtimes([development])] - fn allow_investment_currency() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let currency_id = AUSD_CURRENCY_ID; - let pool_id = POOL_ID; - let evm_chain_id: u64 = MOONBEAM_EVM_CHAIN_ID; - let evm_address = [1u8; 20]; - - // Create an AUSD pool - create_ausd_pool::(pool_id); - - enable_liquidity_pool_transferability::(currency_id); - - // Enable LiquidityPools transferability - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - // Changed: Add location which can be converted to LiquidityPoolsWrappedToken - Some(Some(liquidity_pools_transferable_multilocation::( - evm_chain_id, - evm_address, - ))), - Some(CustomMetadata { - // Changed: Allow liquidity_pools transferability - transferability: CrossChainTransferability::LiquidityPools, - pool_currency: true, - ..Default::default() - }) - )); - - assert_ok!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ) - ); - - assert_noop!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Charlie.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::NotPoolAdmin - ); - }); - } - - #[test_runtimes([development])] - fn allow_investment_currency_should_fail() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let pool_id = POOL_ID; - let currency_id = CurrencyId::ForeignAsset(42); - let ausd_currency_id = AUSD_CURRENCY_ID; - - // Should fail if pool does not exist - assert_noop!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::NotPoolAdmin - ); - - // Register currency_id with pool_currency set to true - assert_ok!(orml_asset_registry::Pallet::::register_asset( - ::RuntimeOrigin::root(), - AssetMetadata { - name: BoundedVec::default(), - symbol: BoundedVec::default(), - decimals: 12, - location: None, - existential_deposit: 1_000_000, - additional: CustomMetadata { - pool_currency: true, - ..Default::default() - }, - }, - Some(currency_id) - )); - - // Create pool - create_currency_pool::(pool_id, currency_id, 10_000 * decimals(12)); - - enable_liquidity_pool_transferability::(ausd_currency_id); - - // Should fail if currency is not liquidityPools transferable - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - None, - Some(CustomMetadata { - // Disallow any cross chain transferability - transferability: CrossChainTransferability::None, - // Changed: Allow to be usable as pool currency - pool_currency: true, - ..Default::default() - }), - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable - ); - - // Should fail if currency does not have any Location in metadata - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - None, - Some(CustomMetadata { - // Changed: Allow liquidityPools transferability - transferability: CrossChainTransferability::LiquidityPools, - // Still allow to be pool currency - pool_currency: true, - ..Default::default() - }), - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken - ); - - // Should fail if currency does not have LiquidityPoolsWrappedToken location in - // metadata - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - // Changed: Add some location which cannot be converted to - // LiquidityPoolsWrappedToken - Some(Some(VersionedLocation::V4(Default::default()))), - // No change for transferability required as it is already allowed for - // LiquidityPools - None, - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::allow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken - ); - }); - } - - #[test_runtimes([development])] - fn disallow_investment_currency() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let currency_id = AUSD_CURRENCY_ID; - let pool_id = POOL_ID; - let evm_chain_id: u64 = MOONBEAM_EVM_CHAIN_ID; - let evm_address = [1u8; 20]; - - // Create an AUSD pool - create_ausd_pool::(pool_id); - - enable_liquidity_pool_transferability::(currency_id); - - // Enable LiquidityPools transferability - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - // Changed: Add location which can be converted to LiquidityPoolsWrappedToken - Some(Some(liquidity_pools_transferable_multilocation::( - evm_chain_id, - evm_address, - ))), - Some(CustomMetadata { - // Changed: Allow liquidity_pools transferability - transferability: CrossChainTransferability::LiquidityPools, - pool_currency: true, - ..Default::default() - }) - )); - - assert_ok!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ) - ); - - assert_noop!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Charlie.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::NotPoolAdmin - ); - }); - } - - #[test_runtimes([development])] - fn disallow_investment_currency_should_fail() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let pool_id = POOL_ID; - let currency_id = CurrencyId::ForeignAsset(42); - let ausd_currency_id = AUSD_CURRENCY_ID; - - // Should fail if pool does not exist - assert_noop!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::NotPoolAdmin - ); - - // Register currency_id with pool_currency set to true - assert_ok!(orml_asset_registry::Pallet::::register_asset( - ::RuntimeOrigin::root(), - AssetMetadata { - name: BoundedVec::default(), - symbol: BoundedVec::default(), - decimals: 12, - location: None, - existential_deposit: 1_000_000, - additional: CustomMetadata { - pool_currency: true, - ..Default::default() - }, - }, - Some(currency_id) - )); - - // Create pool - create_currency_pool::(pool_id, currency_id, 10_000 * decimals(12)); - - enable_liquidity_pool_transferability::(ausd_currency_id); - - // Should fail if currency is not liquidityPools transferable - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - None, - Some(CustomMetadata { - // Disallow any cross chain transferability - transferability: CrossChainTransferability::None, - // Changed: Allow to be usable as pool currency - pool_currency: true, - ..Default::default() - }), - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable - ); - - // Should fail if currency does not have any Location in metadata - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - None, - Some(CustomMetadata { - // Changed: Allow liquidityPools transferability - transferability: CrossChainTransferability::LiquidityPools, - // Still allow to be pool currency - pool_currency: true, - ..Default::default() - }), - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken - ); - - // Should fail if currency does not have LiquidityPoolsWrappedToken location in - // metadata - assert_ok!(orml_asset_registry::Pallet::::update_asset( - ::RuntimeOrigin::root(), - currency_id, - None, - None, - None, - None, - // Changed: Add some location which cannot be converted to - // LiquidityPoolsWrappedToken - Some(Some(VersionedLocation::V4(Default::default()))), - // No change for transferability required as it is already allowed for - // LiquidityPools - None, - )); - assert_noop!( - pallet_liquidity_pools::Pallet::::disallow_investment_currency( - RawOrigin::Signed(Keyring::Bob.into()).into(), - pool_id, - currency_id, - ), - pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken - ); - }); - } - - #[test_runtimes([development])] - fn schedule_upgrade() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - // Only Root can call `schedule_upgrade` - assert_noop!( - pallet_liquidity_pools::Pallet::::schedule_upgrade( - RawOrigin::Signed(Keyring::Bob.into()).into(), - MOONBEAM_EVM_CHAIN_ID, - [7; 20] - ), - BadOrigin - ); - - // Now it finally works - assert_ok!(pallet_liquidity_pools::Pallet::::schedule_upgrade( - ::RuntimeOrigin::root(), - MOONBEAM_EVM_CHAIN_ID, - [7; 20] - )); - }); - } - - #[test_runtimes([development])] - fn cancel_upgrade() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - // Only Root can call `cancel_upgrade` - assert_noop!( - pallet_liquidity_pools::Pallet::::cancel_upgrade( - RawOrigin::Signed(Keyring::Bob.into()).into(), - MOONBEAM_EVM_CHAIN_ID, - [7; 20] - ), - BadOrigin - ); - - // Now it finally works - assert_ok!(pallet_liquidity_pools::Pallet::::cancel_upgrade( - ::RuntimeOrigin::root(), - MOONBEAM_EVM_CHAIN_ID, - [7; 20] - )); - }); - } - - #[test_runtimes([development])] - fn update_tranche_token_metadata() { - let mut env = FudgeEnv::::from_parachain_storage( - Genesis::default() - .add(genesis::balances::(cfg(1_000))) - .add(genesis::tokens::(vec![( - GLMR_CURRENCY_ID, - DEFAULT_BALANCE_GLMR, - )])) - .storage(), - ); - - setup_test(&mut env); - - env.parachain_state_mut(|| { - let pool_id = POOL_ID; - // NOTE: Default pool admin is BOB - create_ausd_pool::(pool_id); - - // Missing tranche token should throw - let nonexistent_tranche = [71u8; 16]; - - assert_noop!( - pallet_liquidity_pools::Pallet::::update_tranche_token_metadata( - RawOrigin::Signed(Keyring::Alice.into()).into(), - pool_id, - nonexistent_tranche, - Domain::EVM(MOONBEAM_EVM_CHAIN_ID), - ), - pallet_liquidity_pools::Error::::TrancheNotFound - ); - - let tranche_id = default_tranche_id::(pool_id); - - // Moving the update to another domain can be called by anyone - assert_ok!( - pallet_liquidity_pools::Pallet::::update_tranche_token_metadata( - RawOrigin::Signed(Keyring::Alice.into()).into(), - pool_id, - tranche_id, - Domain::EVM(MOONBEAM_EVM_CHAIN_ID), - ) - ); - - // Edge case: Should throw if tranche exists but metadata does not exist - let tranche_currency_id = CurrencyId::Tranche(pool_id, tranche_id); - - orml_asset_registry::Metadata::::remove(tranche_currency_id); - - assert_noop!( - pallet_liquidity_pools::Pallet::::update_tranche_token_metadata( - RawOrigin::Signed(POOL_ADMIN.into()).into(), - pool_id, - tranche_id, - Domain::EVM(MOONBEAM_EVM_CHAIN_ID), - ), - pallet_liquidity_pools::Error::::TrancheMetadataNotFound - ); - }); - } -} - mod foreign_investments { use super::*; @@ -1938,13 +1091,6 @@ mod foreign_investments { enable_liquidity_pool_transferability::(currency_id); let investment_currency_id: CurrencyId = default_investment_id::().into(); - assert!( - !pallet_investments::Pallet::::investment_requires_collect( - &investor, - default_investment_id::() - ) - ); - // Process 50% of investment at 25% rate, i.e. 1 pool currency = 4 tranche // tokens assert_ok!(pallet_investments::Pallet::::process_invest_orders( @@ -1958,14 +1104,6 @@ mod foreign_investments { } )); - // Pre collect assertions - assert!( - pallet_investments::Pallet::::investment_requires_collect( - &investor, - default_investment_id::() - ) - ); - // Collecting through Investments should denote amounts and transition // state assert_ok!(pallet_investments::Pallet::::collect_investments_for( @@ -1973,12 +1111,6 @@ mod foreign_investments { investor.clone(), default_investment_id::() )); - assert!( - !pallet_investments::Pallet::::investment_requires_collect( - &investor, - default_investment_id::() - ) - ); // Tranche Tokens should still be transferred to collected to // domain locator account already @@ -2058,12 +1190,6 @@ mod foreign_investments { investor.clone(), default_investment_id::() )); - assert!( - !pallet_investments::Pallet::::investment_requires_collect( - &investor, - default_investment_id::() - ) - ); // Tranche Tokens should be transferred to collected to // domain locator account already @@ -2597,12 +1723,6 @@ mod foreign_investments { &pool_account, redeem_amount )); - assert!( - !pallet_investments::Pallet::::redemption_requires_collect( - &investor, - default_investment_id::() - ) - ); // Process 50% of redemption at 25% rate, i.e. 1 pool currency = 4 tranche // tokens @@ -2617,14 +1737,6 @@ mod foreign_investments { } )); - // Pre collect assertions - assert!( - pallet_investments::Pallet::::redemption_requires_collect( - &investor, - default_investment_id::() - ) - ); - // Collecting through investments should denote amounts and transition // state assert_ok!(pallet_investments::Pallet::::collect_redemptions_for( @@ -2666,12 +1778,6 @@ mod foreign_investments { } .into() })); - assert!( - !pallet_investments::Pallet::::redemption_requires_collect( - &investor, - default_investment_id::() - ) - ); // Since foreign currency is pool currency, the swap is immediately fulfilled // and ExecutedCollectRedeem dispatched assert!(frame_system::Pallet::::events().iter().any(|e| e.event @@ -2708,12 +1814,6 @@ mod foreign_investments { investor.clone(), default_investment_id::() )); - assert!( - !pallet_investments::Pallet::::redemption_requires_collect( - &investor, - default_investment_id::() - ) - ); assert!(!frame_system::Pallet::::events().iter().any(|e| { e.event == pallet_investments::Event::::RedeemCollectedForNonClearedOrderId { diff --git a/runtime/integration-tests/src/cases/lp/investments.rs b/runtime/integration-tests/src/cases/lp/investments.rs index 131e893ac8..93d8431007 100644 --- a/runtime/integration-tests/src/cases/lp/investments.rs +++ b/runtime/integration-tests/src/cases/lp/investments.rs @@ -30,8 +30,8 @@ use crate::{ const DEFAULT_INVESTMENT_AMOUNT: Balance = 100 * DECIMALS_6; mod utils { - use cfg_primitives::{AccountId, Balance}; - use cfg_traits::{investments::TrancheCurrency, HasLocalAssetRepresentation}; + use cfg_primitives::{AccountId, Balance, InvestmentId, PoolId, TrancheId}; + use cfg_traits::HasLocalAssetRepresentation; use ethabi::Token; use pallet_foreign_investments::Action; use pallet_liquidity_pools::{GeneralCurrencyIndexOf, GeneralCurrencyIndexType}; @@ -62,10 +62,10 @@ mod utils { } pub fn investment_id( - pool: T::PoolId, - tranche: T::TrancheId, - ) -> ::TrancheCurrency { - ::TrancheCurrency::generate(pool, tranche) + pool: PoolId, + tranche: TrancheId, + ) -> InvestmentId { + (pool, tranche) } // TODO: CHANGE EVM TO BE ENVIRONMENTAL AND MAKE TRAIT NON SELF BUT RATHER GET @@ -332,7 +332,7 @@ mod with_foreign_currency { use cfg_types::fixed_point::Quantity; use cfg_utils::vec_to_fixed_array; use pallet_foreign_investments::Action; - use pallet_liquidity_pools::MessageOf; + use pallet_liquidity_pools::Message; use sp_runtime::{ traits::{EnsureFixedPointNumber, EnsureSub, One}, FixedPointNumber, @@ -464,7 +464,7 @@ mod with_foreign_currency { lp_utils::process_outbound::(|msg| { assert_eq!( msg, - MessageOf::::ExecutedDecreaseInvestOrder { + Message::ExecutedDecreaseInvestOrder { pool_id: POOL_A, tranche_id: pool_a_tranche_1_id::(), investor: vec_to_fixed_array(lp::utils::remote_account_of::( @@ -567,7 +567,7 @@ mod with_foreign_currency { lp_utils::process_outbound::(|msg| { assert_eq!( msg, - MessageOf::::ExecutedDecreaseInvestOrder { + Message::ExecutedDecreaseInvestOrder { pool_id: POOL_A, tranche_id: pool_a_tranche_1_id::(), investor: vec_to_fixed_array(lp::utils::remote_account_of::( @@ -659,7 +659,7 @@ mod with_foreign_currency { lp_utils::process_outbound::(|msg| { assert_eq!( msg, - MessageOf::::ExecutedCollectInvest { + Message::ExecutedCollectInvest { pool_id: POOL_A, tranche_id: pool_a_tranche_1_id::(), investor: vec_to_fixed_array(lp::utils::remote_account_of::( @@ -712,7 +712,7 @@ mod with_foreign_currency { lp_utils::process_outbound::(|msg| { assert_eq!( msg, - MessageOf::::ExecutedDecreaseInvestOrder { + Message::ExecutedDecreaseInvestOrder { pool_id: POOL_A, tranche_id: pool_a_tranche_1_id::(), investor: vec_to_fixed_array(lp::utils::remote_account_of::( diff --git a/runtime/integration-tests/src/cases/lp/pool_management.rs b/runtime/integration-tests/src/cases/lp/pool_management.rs index 6950fae46b..119cd3250c 100644 --- a/runtime/integration-tests/src/cases/lp/pool_management.rs +++ b/runtime/integration-tests/src/cases/lp/pool_management.rs @@ -10,7 +10,7 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -use cfg_primitives::{Balance, PoolId, SECONDS_PER_YEAR}; +use cfg_primitives::{AccountId, Balance, PoolId, SECONDS_PER_YEAR}; use cfg_traits::{PoolMetadata, TimeAsSecs, TrancheTokenPrice}; use cfg_types::{ domain_address::{Domain, DomainAddress}, @@ -18,7 +18,7 @@ use cfg_types::{ tokens::{CrossChainTransferability, CurrencyId, CustomMetadata}, }; use ethabi::{ethereum_types::H160, Token, Uint}; -use frame_support::{assert_noop, assert_ok, traits::OriginTrait}; +use frame_support::{assert_ok, traits::OriginTrait}; use frame_system::pallet_prelude::OriginFor; use pallet_liquidity_pools::GeneralCurrencyIndexOf; use runtime_common::account_conversion::AccountConverter; @@ -389,18 +389,6 @@ fn update_member() { PoolRole::TrancheInvestor(pool_a_tranche_1_id::(), SECONDS_PER_YEAR), ); - // Address given MUST match derived allowlisted address for that domain - assert_noop!( - pallet_liquidity_pools::Pallet::::update_member( - Keyring::Bob.as_origin(), - POOL_A, - pool_a_tranche_1_id::(), - DomainAddress::evm(EVM_DOMAIN_CHAIN_ID, Keyring::Alice.into()), - SECONDS_PER_YEAR, - ), - pallet_liquidity_pools::Error::::InvestorDomainAddressNotAMember - ); - assert_ok!(pallet_liquidity_pools::Pallet::::update_member( Keyring::Bob.as_origin(), POOL_A, @@ -561,12 +549,13 @@ fn update_tranche_token_price() { assert_eq!(computed_evm, 0); }); - let pre_price_cfg = env.state_mut(|_evm| { - let price = as TrancheTokenPrice< - ::AccountId, - CurrencyId, - >>::get(POOL_A, pool_a_tranche_1_id::()) - .unwrap(); + let (price, last_updated) = env.state_mut(|_evm| { + let price = + as TrancheTokenPrice>::get_price( + POOL_A, + pool_a_tranche_1_id::(), + ) + .unwrap(); assert_ok!(pallet_liquidity_pools::Pallet::::update_token_price( OriginFor::::signed(Keyring::Alice.into()), @@ -596,7 +585,7 @@ fn update_tranche_token_price() { .value, ); - assert_eq!(pre_price_cfg.last_updated, computed_at_evm); - assert_eq!(price_evm, pre_price_cfg.price.into_inner()); + assert_eq!(last_updated, computed_at_evm); + assert_eq!(price.into_inner(), price_evm); }); } diff --git a/runtime/integration-tests/src/cases/lp/transfers.rs b/runtime/integration-tests/src/cases/lp/transfers.rs index a267c1a541..b8194e1016 100644 --- a/runtime/integration-tests/src/cases/lp/transfers.rs +++ b/runtime/integration-tests/src/cases/lp/transfers.rs @@ -271,7 +271,7 @@ fn transfer_tranche_tokens_domain_to_local_to_domain() { ) ) .into(), - domain: Domain::EVM(EVM_DOMAIN_CHAIN_ID), + domain: Domain::EVM(EVM_DOMAIN_CHAIN_ID).into(), receiver: as_h160_32bytes(Keyring::TrancheInvestor(2)), amount: AMOUNT, } diff --git a/runtime/integration-tests/src/cases/precompile.rs b/runtime/integration-tests/src/cases/precompile.rs index 92086d3629..d71257ed1f 100644 --- a/runtime/integration-tests/src/cases/precompile.rs +++ b/runtime/integration-tests/src/cases/precompile.rs @@ -1,10 +1,7 @@ use axelar_gateway_precompile::SourceConverter; -use cfg_primitives::{Balance, PoolId, TrancheId, CFG}; -use cfg_traits::liquidity_pools::Codec; -use cfg_types::{ - domain_address::{Domain, DomainAddress}, - fixed_point::Rate, -}; +use cfg_primitives::CFG; +use cfg_traits::liquidity_pools::LPEncoding; +use cfg_types::domain_address::{Domain, DomainAddress}; use ethabi::{Function, Param, ParamType, Token}; use frame_support::assert_ok; use frame_system::RawOrigin; @@ -71,7 +68,7 @@ fn axelar_precompile_execute() { ) .unwrap(); - let msg = Message::::Transfer { + let msg = Message::Transfer { currency: general_currency_id, sender: derived_sender_account.clone().into(), receiver: derived_receiver_account.clone().into(), diff --git a/runtime/integration-tests/src/cases/routers.rs b/runtime/integration-tests/src/cases/routers.rs index eb07d58409..a2c482eec9 100644 --- a/runtime/integration-tests/src/cases/routers.rs +++ b/runtime/integration-tests/src/cases/routers.rs @@ -9,7 +9,7 @@ use liquidity_pools_gateway_routers::{ AxelarEVMRouter, AxelarXCMRouter, DomainRouter, EVMDomain, EVMRouter, EthereumXCMRouter, FeeValues, XCMRouter, XcmDomain, }; -use pallet_liquidity_pools::MessageOf; +use pallet_liquidity_pools::Message; use polkadot_core_primitives::BlakeTwo256; use runtime_common::gateway::get_gateway_h160_account; use sp_core::{Get, H160, U256}; @@ -108,7 +108,7 @@ fn check_submission(mut env: impl Env, domain_router: DomainRoute ) ); - let msg = MessageOf::::Transfer { + let msg = Message::Transfer { currency: 0, sender: Keyring::Alice.into(), receiver: Keyring::Bob.into(), diff --git a/runtime/integration-tests/src/config.rs b/runtime/integration-tests/src/config.rs index cbb6c00aae..4c7dca75c1 100644 --- a/runtime/integration-tests/src/config.rs +++ b/runtime/integration-tests/src/config.rs @@ -1,18 +1,17 @@ use std::fmt::Debug; use cfg_primitives::{ - AccountId, Address, AuraId, Balance, CollectionId, CouncilCollective, Header, IBalance, ItemId, + AccountId, Address, AuraId, Balance, CollectionId, Header, IBalance, InvestmentId, ItemId, LoanId, Nonce, OrderId, PoolId, Signature, TrancheId, }; use cfg_traits::Millis; use cfg_types::{ - domain_address::Domain, fixed_point::{Quantity, Rate, Ratio}, investments::InvestmentPortfolio, locations::RestrictedTransferLocation, oracles::OracleKey, permissions::{PermissionScope, Role}, - tokens::{AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, TrancheCurrency}, + tokens::{AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency}, }; use fp_evm::PrecompileSet; use fp_self_contained::{SelfContainedCall, UncheckedExtrinsic}; @@ -30,6 +29,7 @@ use runtime_common::{ evm::precompile::H160Addresses, fees::{DealWithFees, WeightToFee}, instances, + instances::CouncilCollective, oracle::Feeder, remarks::Remark, rewards::SingleCurrencyMovement, @@ -72,22 +72,20 @@ pub trait Runtime: TrancheId = TrancheId, BalanceRatio = Quantity, MaxTranches = Self::MaxTranchesExt, - TrancheCurrency = TrancheCurrency, + TrancheCurrency = InvestmentId, > + pallet_balances::Config + pallet_pool_registry::Config< CurrencyId = CurrencyId, PoolId = PoolId, + TrancheId = TrancheId, InterestRate = Rate, Balance = Balance, MaxTranches = Self::MaxTranchesExt, ModifyPool = pallet_pool_system::Pallet, ModifyWriteOffPolicy = pallet_loans::Pallet, > + pallet_permissions::Config> - + pallet_investments::Config< - InvestmentId = ::TrancheCurrency, - Amount = Balance, - BalanceRatio = Ratio, - > + pallet_loans::Config< + + pallet_investments::Config + + pallet_loans::Config< Balance = Balance, PoolId = PoolId, LoanId = LoanId, @@ -136,12 +134,9 @@ pub trait Runtime: Balance = Balance, PoolId = PoolId, TrancheId = TrancheId, - TrancheCurrency = TrancheCurrency, BalanceRatio = Ratio, - > + pallet_liquidity_pools_gateway::Config< - Router = DomainRouter, - Message = Message, - > + pallet_xcm_transactor::Config + > + pallet_liquidity_pools_gateway::Config, Message = Message> + + pallet_xcm_transactor::Config + pallet_ethereum::Config + pallet_ethereum_transaction::Config + pallet_order_book::Config< @@ -156,7 +151,7 @@ pub trait Runtime: ForeignBalance = Balance, PoolBalance = Balance, TrancheBalance = Balance, - InvestmentId = TrancheCurrency, + InvestmentId = InvestmentId, CurrencyId = CurrencyId, > + pallet_preimage::Config + pallet_collective::Config @@ -298,6 +293,7 @@ pub trait Runtime: frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, + frame_metadata_hash_extension::CheckMetadataHash, runtime_common::transfer_filter::PreBalanceTransferExtension, ), >, @@ -324,7 +320,7 @@ pub trait Runtime: > + apis::runtime_decl_for_investments_api::InvestmentsApiV1< Self::BlockExt, AccountId, - TrancheCurrency, + InvestmentId, InvestmentPortfolio, > + apis::runtime_decl_for_account_conversion_api::AccountConversionApiV1< Self::BlockExt, diff --git a/runtime/integration-tests/src/env.rs b/runtime/integration-tests/src/env.rs index 5d42e8c2db..fd1666ac16 100644 --- a/runtime/integration-tests/src/env.rs +++ b/runtime/integration-tests/src/env.rs @@ -255,6 +255,7 @@ pub mod utils { frame_system::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), pallet_transaction_payment::ChargeTransactionPayment::::from(0), + frame_metadata_hash_extension::CheckMetadataHash::::new(false), runtime_common::transfer_filter::PreBalanceTransferExtension::::new(), ); diff --git a/runtime/integration-tests/src/envs/runtime_env.rs b/runtime/integration-tests/src/envs/runtime_env.rs index dc066afb86..88d05177d4 100644 --- a/runtime/integration-tests/src/envs/runtime_env.rs +++ b/runtime/integration-tests/src/envs/runtime_env.rs @@ -191,9 +191,7 @@ impl RuntimeEnv { ext.execute_with(|| { // Precompiles need to have code-set pallet_evm::GenesisConfig:: { - accounts: runtime_common::evm::precompile::utils::precompile_account_genesis::< - T::PrecompilesTypeExt, - >(), + accounts: runtime_common::evm::utils::account_genesis::(), _marker: PhantomData::default(), } .build(); diff --git a/runtime/integration-tests/src/lib.rs b/runtime/integration-tests/src/lib.rs index 459781a7e1..4df51a310c 100644 --- a/runtime/integration-tests/src/lib.rs +++ b/runtime/integration-tests/src/lib.rs @@ -37,7 +37,18 @@ mod impls; /// NOTE: Do not use it direclty, use `#[test_runtimes]` proc macro instead #[macro_export] macro_rules! __test_for_runtimes { - ( [ $($runtime_name:ident),* ], $test_name:ident ) => { + ( [ $($runtime_name:ident),* ], $test_name:ident $(, $ignore:meta)?) => { + // We need here an extra macro to unfold ignore as `?` inside a repetition of runtimes + macro_rules! __test_for_runtime { + ( $runtime_name_nested:ident) => { + #[tokio::test] + $(#[$ignore])? + async fn $runtime_name_nested() { + $test_name::<$runtime_name_nested::Runtime>() + } + }; + } + #[cfg(test)] mod $test_name { use super::*; @@ -52,14 +63,26 @@ macro_rules! __test_for_runtimes { use centrifuge_runtime as centrifuge; $( - #[tokio::test] - async fn $runtime_name() { - $test_name::<$runtime_name::Runtime>() - } + __test_for_runtime!($runtime_name); )* } }; - ( all , $test_name:ident ) => { - $crate::__test_for_runtimes!([development, altair, centrifuge], $test_name); + ( all, $test_name:ident $(, $ignore:meta)?) => { + $crate::__test_for_runtimes!([development, altair, centrifuge], $test_name $(, $ignore)?); }; } + +#[cfg(test)] +mod test_for_runtimes_macro_checks { + fn foo1() {} + fn foo2() {} + fn foo3() {} + fn foo4() {} + fn foo5() {} + + __test_for_runtimes!([development], foo1); + __test_for_runtimes!([development, altair, centrifuge], foo2); + __test_for_runtimes!(all, foo3); + __test_for_runtimes!([development], foo4, ignore = "ignored correctly"); + __test_for_runtimes!(all, foo5, ignore = "ignored correctly"); +} diff --git a/runtime/integration-tests/src/utils/genesis.rs b/runtime/integration-tests/src/utils/genesis.rs index d6a721d0b5..ae1c7b1710 100644 --- a/runtime/integration-tests/src/utils/genesis.rs +++ b/runtime/integration-tests/src/utils/genesis.rs @@ -7,6 +7,7 @@ use cfg_types::{ tokens::{AssetMetadata, CurrencyId}, }; use parity_scale_codec::Encode; +use runtime_common::instances::CouncilCollective; use sp_core::Get; use sp_runtime::{BuildStorage, FixedPointNumber, Storage}; @@ -78,7 +79,7 @@ pub fn assets<'a, T: Runtime>( pub fn council_members( members: impl IntoIterator, ) -> impl BuildStorage { - pallet_collective::GenesisConfig:: { + pallet_collective::GenesisConfig:: { phantom: Default::default(), members: members.into_iter().map(|acc| acc.id().into()).collect(), } diff --git a/runtime/integration-tests/src/utils/mod.rs b/runtime/integration-tests/src/utils/mod.rs index 3dc636ce3d..83107e9b11 100644 --- a/runtime/integration-tests/src/utils/mod.rs +++ b/runtime/integration-tests/src/utils/mod.rs @@ -22,12 +22,8 @@ pub mod tokens; pub mod xcm; use cfg_primitives::{AccountId, Balance, CollectionId, ItemId, PoolId, TrancheId}; -use cfg_traits::{investments::TrancheCurrency as _, Seconds, TimeAsSecs}; -use cfg_types::{ - fixed_point::Ratio, - oracles::OracleKey, - tokens::{CurrencyId, TrancheCurrency}, -}; +use cfg_traits::{Seconds, TimeAsSecs}; +use cfg_types::{fixed_point::Ratio, oracles::OracleKey, tokens::CurrencyId}; use frame_system::RawOrigin; use pallet_oracle_collection::types::CollectionInfo; use runtime_common::oracle::Feeder; @@ -187,7 +183,7 @@ pub fn invest( ) { pallet_investments::Pallet::::update_invest_order( RawOrigin::Signed(investor).into(), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), amount, ) .unwrap(); @@ -201,7 +197,7 @@ pub fn redeem( ) { pallet_investments::Pallet::::update_redeem_order( RawOrigin::Signed(investor).into(), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), amount, ) .unwrap(); @@ -214,7 +210,7 @@ pub fn collect_investments( ) { pallet_investments::Pallet::::collect_investments( RawOrigin::Signed(investor).into(), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), ) .unwrap(); } @@ -226,7 +222,7 @@ pub fn collect_redemptions( ) { pallet_investments::Pallet::::collect_redemptions( RawOrigin::Signed(investor).into(), - TrancheCurrency::generate(pool_id, tranche_id), + (pool_id, tranche_id), ) .unwrap(); } diff --git a/scripts/check_benchmarks.sh b/scripts/check_benchmarks.sh index a9e9470b5a..f255f8e9b0 100755 --- a/scripts/check_benchmarks.sh +++ b/scripts/check_benchmarks.sh @@ -48,11 +48,7 @@ else echo "Benchmarking all pallets" for pallet in $all_pallets do - if [[ $pallet != "frame_system" ]]; then - run_benchmark $pallet - else - echo "WARNING: Skipping frame_system. Please re-enable at Polkadot v1.0.0+ support." - fi + run_benchmark $pallet done fi diff --git a/scripts/export_parachain_files.sh b/scripts/export_parachain_files.sh index 8fef73db32..74b8ebbce2 100755 --- a/scripts/export_parachain_files.sh +++ b/scripts/export_parachain_files.sh @@ -25,5 +25,5 @@ if [[ $should_build == "true" ]]; then fi echo "Exporting State & Wasm" -$PWD/target/release/centrifuge-chain export-genesis-state --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-state +$PWD/target/release/centrifuge-chain export-genesis-head --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-state $PWD/target/release/centrifuge-chain export-genesis-wasm --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-wasm diff --git a/scripts/init.sh b/scripts/init.sh index e86b83ce7a..437cd4921c 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -41,7 +41,7 @@ stop-parachain-docker) start-parachain) printf "\nBuilding parachain with runtime '$parachain' and id '$para_id'...\n" - cargo build -p centrifuge-chain --release --features=fast-runtime + cargo build -p centrifuge-chain --release --features=on-chain-release-build parachain_dir=$base_dir/parachain/${para_id} mkdir -p $parachain_dir; @@ -74,10 +74,10 @@ onboard-parachain) wasm_location="$onboard_dir/${parachain}-${para_id}.wasm" if [ "$docker_onboard" == "true" ]; then - genesis=$(docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-state --chain="${parachain}") + genesis=$(docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-head --chain="${parachain}") docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-wasm --chain="${parachain}" > $wasm_location else - genesis=$(./target/release/centrifuge-chain export-genesis-state --chain="${parachain}") + genesis=$(./target/release/centrifuge-chain export-genesis-head --chain="${parachain}") ./target/release/centrifuge-chain export-genesis-wasm --chain="${parachain}" > $wasm_location fi diff --git a/scripts/js/runtime-upgrade-remote/configs/demo.json b/scripts/js/runtime-upgrade-remote/configs/demo.json index 8a82088e39..5c0d42d1d7 100644 --- a/scripts/js/runtime-upgrade-remote/configs/demo.json +++ b/scripts/js/runtime-upgrade-remote/configs/demo.json @@ -1,6 +1,6 @@ { "endpoint": "wss://fullnode.demo.k-f.dev", - "wasmFile": "./development.wasm", + "wasmFile": "./demo.wasm", "privateKey": "", "sudo": true, "councilMembers": [] diff --git a/scripts/js/runtime-upgrade-remote/perform-upgrade.sh b/scripts/js/runtime-upgrade-remote/perform-upgrade.sh old mode 100644 new mode 100755 index 34f3422842..2bbbfe3573 --- a/scripts/js/runtime-upgrade-remote/perform-upgrade.sh +++ b/scripts/js/runtime-upgrade-remote/perform-upgrade.sh @@ -16,7 +16,7 @@ fi # && \. "$NVM_DIR/nvm.sh"' >> ~/.zshrc && source ~/.zshrc && nvm install node # Define the tag and calculate the short git hash -TAG="v0.11.1-rc1" +TAG="v0.13.0" GIT_HASH=$(git rev-parse --short=7 $TAG) # Download the WASM file from Google Cloud Storage diff --git a/scripts/run_collator.sh b/scripts/run_collator.sh index 14a563d214..44d1db5fde 100755 --- a/scripts/run_collator.sh +++ b/scripts/run_collator.sh @@ -50,7 +50,7 @@ bootnode () { echo "/ip4/$node/tcp/$p2p_port/p2p/$id" } -args+=( "--" "--wasm-execution=compiled" "--execution=wasm" "--chain=${chain}" "--bootnodes=$(bootnode "$alice" "$alice_p2p_port" "$alice_rpc_port")" "--bootnodes=$(bootnode "$bob" "$bob_p2p_port" "$bob_rpc_port")" ) +args+=( "--" "--wasm-execution=compiled" "--chain=${chain}" "--bootnodes=$(bootnode "$alice" "$alice_p2p_port" "$alice_rpc_port")" "--bootnodes=$(bootnode "$bob" "$bob_p2p_port" "$bob_rpc_port")" ) set -x "$ctpc" "${args[@]}" diff --git a/scripts/runtime_benchmarks.sh b/scripts/runtime_benchmarks.sh index 06eff7e9df..f5ecd957b6 100755 --- a/scripts/runtime_benchmarks.sh +++ b/scripts/runtime_benchmarks.sh @@ -91,16 +91,11 @@ all_pallets=$( for pallet in $all_pallets do output="${build_path}/${pallet}.rs" + run_benchmark $pallet $output + check $? - if [[ $pallet != "frame_system" ]]; then - run_benchmark $pallet $output - check $? - - echo "pub mod ${pallet};" >> "${build_path}/mod.rs" - check $? - else - echo "WARNING: Skipping frame_system. Please re-enable at Polkadot v1.0.0+ support." - fi + echo "pub mod ${pallet};" >> "${build_path}/mod.rs" + check $? done echo "Removing old weights in '${weight_path}'"