Ya no queda ningun smoke de Charon. weights.rs se ENSAMBLA desde los tres certificados del banco de referencia (la Pi 5) con scripts/bench/ensamblar-pesos.py: - Cada funcion cobra el maximo, coeficiente a coeficiente, de todos los certificados que midieron su mismo codigo (mismo esqueleto de lecturas, escrituras y proof que el del ultimo, que es el del codigo que corre). - Con --comprobar dice si el fichero es exactamente ese ensamblado: probado en rojo cambiando a mano un peso. - Los tres certificados quedan en scripts/bench/certificados/ (sha256 18b8fcd6, 1e15d04e y 6f5cfec1), con su perfil y su evidencia en la cabecera. Por que el maximo de todos y no solo el ultimo: «El maximo de 5 de un dia no es el de otro» (Laurha). La revision adversaria de spec 20 encontro que cobrar solo el certificado vigente de cada funcion dejaba treasury_disbursement en 136 us, cuando el certificado del 2-nov, sobre el wasm que corre, mide 155 us, y otros siete por debajo de lo medido. Con la regla, ningun peso baja respecto a spec 19; los que suben, entre el +1 % y el +33 % de ejecucion. Probado: - 365 tests verdes. - Ensayo en la rp1 sobre una cadena con el codigo vivo de spec 19. Contrafactual: con estos pesos, el E2E reprueba contra spec 19, porque la cadena cobra los viejos. Tras el upgrade a 20 pasa entero, y lo cobrado es weights.rs + extensiones. Ademas: configs.rs ya no dice «Weights INTERIM hand-derived» en los cinco pallets, que cobran pesos certificados desde spec 17. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
708 lines
39 KiB
Rust
708 lines
39 KiB
Rust
// SPDX-License-Identifier: Apache-2.0
|
|
// Origin Chain — Pilar 4 · Charon
|
|
//
|
|
// ATENCION AL LEER ESTOS NUMEROS: un weight es una LATENCIA, y una latencia sin
|
|
// el hardware y el perfil de potencia que la produjeron no se puede reproducir.
|
|
// La cabecera dice HOSTNAME y CPU: creele a eso y a nada mas. Un weight medido
|
|
// en un portatil y cobrado en un Pi 5 es mispricing estructural, solo que
|
|
// invisible. Los numeros CANONICOS de mainnet salen del banco de referencia
|
|
// (Pi 5, governor y aislamiento declarados), no de la maquina de quien compila.
|
|
|
|
// MEDIDO POR LAURHA 🌊 EN EL BANCO DE REFERENCIA, 2026-10-24 17:41-17:46. El perfil es el mismo
|
|
// al empezar y al acabar:
|
|
// CyberDeckRP1 · Raspberry Pi 5 · Cortex-A76 · kernel 6.18.34+rpt-rpi-2712.
|
|
// Núcleo 3 aislado (partición cgroup «isolated» de origin-banco), governor performance a
|
|
// 2,4 GHz, CI parada, throttled 0x0, 45-49 °C.
|
|
// frame-omni-bencher 0.15.0 · wasm sha256 40cb5a1d…a1cf744 (spec 16, main 3cd1068).
|
|
// steps 50 · repeat 20 · taskset -c 3 · 5 PROCESOS por pallet, y se cobra el MÁXIMO de los 5
|
|
// (scripts/bench/max-de-n.py): procesos idénticos se separan hasta un 35 % en el base weight.
|
|
// Evidencia en la rp1: ~/laurha-work/banco/spec16-20261024-1631 (SHA256SUMS d930c5e1…).
|
|
// La Pi es el hardware MÁS LENTO que puede validar la red: sus pesos son el techo honesto. El
|
|
// TIEMPO DE EJECUCIÓN sale de 2,5 a 3,9 veces el del Mac M3 Max (~6 veces en los que verifican
|
|
// Ed25519). Lo COBRADO sube menos, entre +4 % y +56 %, porque lecturas y escrituras de storage
|
|
// (RocksDbWeight) no cambian y pesan más que la ejecución (revisión adversarial, 25-oct).
|
|
|
|
//! Weights AUTOGENERADOS para `origin_chain_governance` — NO editar a mano.
|
|
//!
|
|
//! Regenerar: `scripts/bench/regen-weights.sh` (ver ese script para el
|
|
//! procedimiento completo y el hardware al que hay que creerle).
|
|
//!
|
|
//! GENERADO POR SUBSTRATE BENCHMARK CLI VERSION 51.0.0
|
|
//! FECHA: 2026-10-24, STEPS: `50`, REPEAT: `20`
|
|
//! HOSTNAME: `CyberDeckRP1`, CPU: `<UNKNOWN>`
|
|
//! WASM-EXECUTION: `Compiled`, DB CACHE: 1024
|
|
|
|
// Comando ejecutado:
|
|
// /home/davidherran/.cargo/bin/frame-omni-bencher
|
|
// v1
|
|
// benchmark
|
|
// pallet
|
|
// --runtime
|
|
// /home/davidherran/charon/bench/origin_chain_runtime_spec16_3cd1068_bench.compact.compressed.wasm
|
|
// --genesis-builder-preset
|
|
// development
|
|
// --pallet
|
|
// origin_chain_governance
|
|
// --extrinsic
|
|
//
|
|
// --steps
|
|
// 50
|
|
// --repeat
|
|
// 20
|
|
// --template
|
|
// /home/davidherran/charon/bench/origin-weights-template.hbs
|
|
// --header
|
|
// /home/davidherran/charon/bench/HEADER.txt
|
|
// --output
|
|
// /home/davidherran/laurha-work/banco/spec16-20261024-1631/r1/origin_chain_governance.rs
|
|
|
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
#![allow(unused_parens)]
|
|
#![allow(unused_imports)]
|
|
#![allow(missing_docs)]
|
|
|
|
use core::marker::PhantomData;
|
|
use frame_support::{traits::Get, weights::constants::RocksDbWeight, weights::Weight};
|
|
|
|
/// Trait de weights para los extrinsics de `origin_chain_governance`.
|
|
// MAXIMO DE N = 5 PROCESOS (scripts/bench/max-de-n.py): cada coeficiente
|
|
// de tiempo y de proof es el maximo de los N; reads/writes iguales en los N.
|
|
// Entradas (sha256[:12]): a8f7fab4ff78 c2b1258176a2 817d1e5288c9 62cc76cc2bd7 af28b446c93f
|
|
|
|
pub trait WeightInfo {
|
|
/// Peso de `submit_proposal` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn submit_proposal() -> Weight;
|
|
/// Peso de `cast_vote` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn cast_vote() -> Weight;
|
|
/// Peso de `finalize_proposal` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn finalize_proposal() -> Weight;
|
|
/// Peso de `add_council_member` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn add_council_member() -> Weight;
|
|
/// Peso de `remove_council_member` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn remove_council_member() -> Weight;
|
|
/// Peso de `veto_proposal` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn veto_proposal() -> Weight;
|
|
/// Peso de `mark_as_advisor` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn mark_as_advisor() -> Weight;
|
|
/// Peso de `unmark_as_advisor` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn unmark_as_advisor() -> Weight;
|
|
/// Peso de `override_council_veto` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn override_council_veto() -> Weight;
|
|
/// Peso de `submit_emergency_proposal` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn submit_emergency_proposal() -> Weight;
|
|
/// Peso de `treasury_disbursement` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn treasury_disbursement() -> Weight;
|
|
/// Peso de `treasury_deposit` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn treasury_deposit() -> Weight;
|
|
/// Peso de `endorse_emergency_proposal` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn endorse_emergency_proposal() -> Weight;
|
|
/// Peso de `unlock_vote_funds` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn unlock_vote_funds() -> Weight;
|
|
/// Peso de `uphold_council_veto` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn uphold_council_veto() -> Weight;
|
|
/// Peso de `finalize_override` — MEDIDO sobre el WASM, no estimado a mano.
|
|
fn finalize_override() -> Weight;
|
|
}
|
|
|
|
/// Weights parametrizados por el `DbWeight` real del runtime.
|
|
pub struct SubstrateWeight<T>(PhantomData<T>);
|
|
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:1 w:1)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Governance::ProposalBond` (r:0 w:1)
|
|
/// Proof: `Governance::ProposalBond` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
fn submit_proposal() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `108`
|
|
// Estimado: `3722`
|
|
// Tiempo minimo de ejecucion: 116_074_000 picosegundos.
|
|
Weight::from_parts(122_075_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3722))
|
|
.saturating_add(T::DbWeight::get().reads(7_u64))
|
|
.saturating_add(T::DbWeight::get().writes(5_u64))
|
|
}
|
|
/// Storage: `Governance::AdvisorFlags` (r:1 w:0)
|
|
/// Proof: `Governance::AdvisorFlags` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Votes` (r:1 w:1)
|
|
/// Proof: `Governance::Votes` (`max_values`: None, `max_size`: Some(97), added: 2572, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VoteLocks` (r:1 w:1)
|
|
/// Proof: `Governance::VoteLocks` (`max_values`: None, `max_size`: Some(1873), added: 4348, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Freezes` (r:1 w:1)
|
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Locks` (r:1 w:0)
|
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn cast_vote() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `2321`
|
|
// Estimado: `5338`
|
|
// Tiempo minimo de ejecucion: 103_445_000 picosegundos.
|
|
Weight::from_parts(127_723_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(T::DbWeight::get().reads(10_u64))
|
|
.saturating_add(T::DbWeight::get().writes(6_u64))
|
|
}
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::ProposalBond` (r:1 w:1)
|
|
/// Proof: `Governance::ProposalBond` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:2 w:2)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn finalize_proposal() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `615`
|
|
// Estimado: `6196`
|
|
// Tiempo minimo de ejecucion: 132_890_000 picosegundos.
|
|
Weight::from_parts(146_594_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6196))
|
|
.saturating_add(T::DbWeight::get().reads(9_u64))
|
|
.saturating_add(T::DbWeight::get().writes(6_u64))
|
|
}
|
|
/// Storage: `Governance::CouncilSize` (r:1 w:1)
|
|
/// Proof: `Governance::CouncilSize` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Council` (r:1 w:1)
|
|
/// Proof: `Governance::Council` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn add_council_member() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `26`
|
|
// Estimado: `3554`
|
|
// Tiempo minimo de ejecucion: 30_759_000 picosegundos.
|
|
Weight::from_parts(39_278_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3554))
|
|
.saturating_add(T::DbWeight::get().reads(6_u64))
|
|
.saturating_add(T::DbWeight::get().writes(4_u64))
|
|
}
|
|
/// Storage: `Governance::Council` (r:1 w:1)
|
|
/// Proof: `Governance::Council` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::CouncilSize` (r:1 w:1)
|
|
/// Proof: `Governance::CouncilSize` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn remove_council_member() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `154`
|
|
// Estimado: `3554`
|
|
// Tiempo minimo de ejecucion: 33_907_000 picosegundos.
|
|
Weight::from_parts(46_556_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3554))
|
|
.saturating_add(T::DbWeight::get().reads(6_u64))
|
|
.saturating_add(T::DbWeight::get().writes(4_u64))
|
|
}
|
|
/// Storage: `Governance::Council` (r:5 w:0)
|
|
/// Proof: `Governance::Council` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::CouncilSize` (r:1 w:0)
|
|
/// Proof: `Governance::CouncilSize` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoVotes` (r:6 w:1)
|
|
/// Proof: `Governance::VetoVotes` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::ProposalBond` (r:1 w:1)
|
|
/// Proof: `Governance::ProposalBond` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:2 w:2)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Governance::OverrideDeadline` (r:0 w:1)
|
|
/// Proof: `Governance::OverrideDeadline` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideQuorum` (r:0 w:1)
|
|
/// Proof: `Governance::OverrideQuorum` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoRejected` (r:0 w:1)
|
|
/// Proof: `Governance::VetoRejected` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoCount` (r:0 w:1)
|
|
/// Proof: `Governance::VetoCount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
|
fn veto_proposal() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `1441`
|
|
// Estimado: `16416`
|
|
// Tiempo minimo de ejecucion: 250_076_000 picosegundos.
|
|
Weight::from_parts(266_779_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 16416))
|
|
.saturating_add(T::DbWeight::get().reads(21_u64))
|
|
.saturating_add(T::DbWeight::get().writes(11_u64))
|
|
}
|
|
/// Storage: `Governance::AdvisorFlags` (r:1 w:1)
|
|
/// Proof: `Governance::AdvisorFlags` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn mark_as_advisor() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `26`
|
|
// Estimado: `3513`
|
|
// Tiempo minimo de ejecucion: 26_852_000 picosegundos.
|
|
Weight::from_parts(28_186_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3513))
|
|
.saturating_add(T::DbWeight::get().reads(5_u64))
|
|
.saturating_add(T::DbWeight::get().writes(3_u64))
|
|
}
|
|
/// Storage: `Governance::AdvisorFlags` (r:1 w:1)
|
|
/// Proof: `Governance::AdvisorFlags` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn unmark_as_advisor() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `99`
|
|
// Estimado: `3513`
|
|
// Tiempo minimo de ejecucion: 30_686_000 picosegundos.
|
|
Weight::from_parts(34_333_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3513))
|
|
.saturating_add(T::DbWeight::get().reads(5_u64))
|
|
.saturating_add(T::DbWeight::get().writes(3_u64))
|
|
}
|
|
/// Storage: `Governance::Proposals` (r:1 w:0)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoRejected` (r:1 w:0)
|
|
/// Proof: `Governance::VetoRejected` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::AdvisorFlags` (r:1 w:0)
|
|
/// Proof: `Governance::AdvisorFlags` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideVotes` (r:1 w:1)
|
|
/// Proof: `Governance::OverrideVotes` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::UpholdVotes` (r:1 w:0)
|
|
/// Proof: `Governance::UpholdVotes` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideDeadline` (r:1 w:0)
|
|
/// Proof: `Governance::OverrideDeadline` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VoteLocks` (r:1 w:1)
|
|
/// Proof: `Governance::VoteLocks` (`max_values`: None, `max_size`: Some(1873), added: 4348, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Freezes` (r:1 w:1)
|
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Locks` (r:1 w:0)
|
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Governance::OverrideStakeTotal` (r:1 w:1)
|
|
/// Proof: `Governance::OverrideStakeTotal` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
fn override_council_veto() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `2469`
|
|
// Estimado: `5338`
|
|
// Tiempo minimo de ejecucion: 128_353_000 picosegundos.
|
|
Weight::from_parts(131_927_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(T::DbWeight::get().reads(14_u64))
|
|
.saturating_add(T::DbWeight::get().writes(6_u64))
|
|
}
|
|
/// Storage: `Governance::Council` (r:1 w:0)
|
|
/// Proof: `Governance::Council` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::CouncilSize` (r:1 w:0)
|
|
/// Proof: `Governance::CouncilSize` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::EmergencyEndorsements` (r:2 w:1)
|
|
/// Proof: `Governance::EmergencyEndorsements` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:1 w:1)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Governance::ProposalBond` (r:0 w:1)
|
|
/// Proof: `Governance::ProposalBond` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
fn submit_emergency_proposal() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `354`
|
|
// Estimado: `6132`
|
|
// Tiempo minimo de ejecucion: 156_797_000 picosegundos.
|
|
Weight::from_parts(177_131_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6132))
|
|
.saturating_add(T::DbWeight::get().reads(11_u64))
|
|
.saturating_add(T::DbWeight::get().writes(6_u64))
|
|
}
|
|
/// Storage: `Governance::Proposals` (r:1 w:0)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::Disbursed` (r:1 w:1)
|
|
/// Proof: `Governance::Disbursed` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:2 w:2)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn treasury_disbursement() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `495`
|
|
// Estimado: `6196`
|
|
// Tiempo minimo de ejecucion: 126_964_000 picosegundos.
|
|
Weight::from_parts(138_038_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6196))
|
|
.saturating_add(T::DbWeight::get().reads(9_u64))
|
|
.saturating_add(T::DbWeight::get().writes(5_u64))
|
|
}
|
|
/// Storage: `Balances::TotalIssuance` (r:1 w:0)
|
|
/// Proof: `Balances::TotalIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:1 w:1)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn treasury_deposit() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `102`
|
|
// Estimado: `3593`
|
|
// Tiempo minimo de ejecucion: 95_908_000 picosegundos.
|
|
Weight::from_parts(99_778_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3593))
|
|
.saturating_add(T::DbWeight::get().reads(6_u64))
|
|
.saturating_add(T::DbWeight::get().writes(3_u64))
|
|
}
|
|
/// Storage: `Governance::Council` (r:1 w:0)
|
|
/// Proof: `Governance::Council` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::EmergencyEndorsements` (r:2 w:1)
|
|
/// Proof: `Governance::EmergencyEndorsements` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::CouncilSize` (r:1 w:0)
|
|
/// Proof: `Governance::CouncilSize` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn endorse_emergency_proposal() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `154`
|
|
// Estimado: `6132`
|
|
// Tiempo minimo de ejecucion: 55_537_000 picosegundos.
|
|
Weight::from_parts(67_686_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6132))
|
|
.saturating_add(T::DbWeight::get().reads(8_u64))
|
|
.saturating_add(T::DbWeight::get().writes(3_u64))
|
|
}
|
|
/// Storage: `Governance::VoteLocks` (r:1 w:1)
|
|
/// Proof: `Governance::VoteLocks` (`max_values`: None, `max_size`: Some(1873), added: 4348, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Freezes` (r:1 w:1)
|
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Account` (r:1 w:1)
|
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Locks` (r:1 w:0)
|
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn unlock_vote_funds() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `2198`
|
|
// Estimado: `5338`
|
|
// Tiempo minimo de ejecucion: 81_593_000 picosegundos.
|
|
Weight::from_parts(84_315_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(T::DbWeight::get().reads(8_u64))
|
|
.saturating_add(T::DbWeight::get().writes(5_u64))
|
|
}
|
|
/// Storage: `Governance::Proposals` (r:1 w:0)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoRejected` (r:1 w:0)
|
|
/// Proof: `Governance::VetoRejected` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::AdvisorFlags` (r:1 w:0)
|
|
/// Proof: `Governance::AdvisorFlags` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideVotes` (r:1 w:0)
|
|
/// Proof: `Governance::OverrideVotes` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::UpholdVotes` (r:1 w:1)
|
|
/// Proof: `Governance::UpholdVotes` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideDeadline` (r:1 w:0)
|
|
/// Proof: `Governance::OverrideDeadline` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VoteLocks` (r:1 w:1)
|
|
/// Proof: `Governance::VoteLocks` (`max_values`: None, `max_size`: Some(1873), added: 4348, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Freezes` (r:1 w:1)
|
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
|
|
/// Storage: `Balances::Locks` (r:1 w:0)
|
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Governance::UpholdStakeTotal` (r:1 w:1)
|
|
/// Proof: `Governance::UpholdStakeTotal` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
fn uphold_council_veto() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `2469`
|
|
// Estimado: `5338`
|
|
// Tiempo minimo de ejecucion: 128_686_000 picosegundos.
|
|
Weight::from_parts(153_834_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(T::DbWeight::get().reads(14_u64))
|
|
.saturating_add(T::DbWeight::get().writes(6_u64))
|
|
}
|
|
/// Storage: `Governance::Proposals` (r:1 w:1)
|
|
/// Proof: `Governance::Proposals` (`max_values`: None, `max_size`: Some(257), added: 2732, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::VetoRejected` (r:1 w:0)
|
|
/// Proof: `Governance::VetoRejected` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideDeadline` (r:1 w:1)
|
|
/// Proof: `Governance::OverrideDeadline` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Number` (r:1 w:0)
|
|
/// Proof: `System::Number` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideStakeTotal` (r:1 w:0)
|
|
/// Proof: `Governance::OverrideStakeTotal` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::UpholdStakeTotal` (r:1 w:0)
|
|
/// Proof: `Governance::UpholdStakeTotal` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
/// Storage: `Governance::OverrideQuorum` (r:1 w:1)
|
|
/// Proof: `Governance::OverrideQuorum` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::ExecutionPhase` (r:1 w:0)
|
|
/// Proof: `System::ExecutionPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::EventCount` (r:1 w:1)
|
|
/// Proof: `System::EventCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Events` (r:1 w:1)
|
|
/// Proof: `System::Events` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
fn finalize_override() -> Weight {
|
|
// Proof size en bytes:
|
|
// Medido: `637`
|
|
// Estimado: `3722`
|
|
// Tiempo minimo de ejecucion: 73_297_000 picosegundos.
|
|
Weight::from_parts(78_037_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3722))
|
|
.saturating_add(T::DbWeight::get().reads(10_u64))
|
|
.saturating_add(T::DbWeight::get().writes(5_u64))
|
|
}
|
|
}
|
|
|
|
/// Impl para mocks y tests — `RocksDbWeight` directo, sin necesitar `T`.
|
|
impl WeightInfo for () {
|
|
fn submit_proposal() -> Weight {
|
|
Weight::from_parts(122_075_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3722))
|
|
.saturating_add(RocksDbWeight::get().reads(7_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
|
}
|
|
fn cast_vote() -> Weight {
|
|
Weight::from_parts(127_723_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(RocksDbWeight::get().reads(10_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
|
}
|
|
fn finalize_proposal() -> Weight {
|
|
Weight::from_parts(146_594_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6196))
|
|
.saturating_add(RocksDbWeight::get().reads(9_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
|
}
|
|
fn add_council_member() -> Weight {
|
|
Weight::from_parts(39_278_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3554))
|
|
.saturating_add(RocksDbWeight::get().reads(6_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(4_u64))
|
|
}
|
|
fn remove_council_member() -> Weight {
|
|
Weight::from_parts(46_556_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3554))
|
|
.saturating_add(RocksDbWeight::get().reads(6_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(4_u64))
|
|
}
|
|
fn veto_proposal() -> Weight {
|
|
Weight::from_parts(266_779_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 16416))
|
|
.saturating_add(RocksDbWeight::get().reads(21_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(11_u64))
|
|
}
|
|
fn mark_as_advisor() -> Weight {
|
|
Weight::from_parts(28_186_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3513))
|
|
.saturating_add(RocksDbWeight::get().reads(5_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(3_u64))
|
|
}
|
|
fn unmark_as_advisor() -> Weight {
|
|
Weight::from_parts(34_333_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3513))
|
|
.saturating_add(RocksDbWeight::get().reads(5_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(3_u64))
|
|
}
|
|
fn override_council_veto() -> Weight {
|
|
Weight::from_parts(131_927_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(RocksDbWeight::get().reads(14_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
|
}
|
|
fn submit_emergency_proposal() -> Weight {
|
|
Weight::from_parts(177_131_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6132))
|
|
.saturating_add(RocksDbWeight::get().reads(11_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
|
}
|
|
fn treasury_disbursement() -> Weight {
|
|
Weight::from_parts(138_038_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6196))
|
|
.saturating_add(RocksDbWeight::get().reads(9_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
|
}
|
|
fn treasury_deposit() -> Weight {
|
|
Weight::from_parts(99_778_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3593))
|
|
.saturating_add(RocksDbWeight::get().reads(6_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(3_u64))
|
|
}
|
|
fn endorse_emergency_proposal() -> Weight {
|
|
Weight::from_parts(67_686_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 6132))
|
|
.saturating_add(RocksDbWeight::get().reads(8_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(3_u64))
|
|
}
|
|
fn unlock_vote_funds() -> Weight {
|
|
Weight::from_parts(84_315_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(RocksDbWeight::get().reads(8_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
|
}
|
|
fn uphold_council_veto() -> Weight {
|
|
Weight::from_parts(153_834_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 5338))
|
|
.saturating_add(RocksDbWeight::get().reads(14_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
|
}
|
|
fn finalize_override() -> Weight {
|
|
Weight::from_parts(78_037_000, 0)
|
|
.saturating_add(Weight::from_parts(0, 3722))
|
|
.saturating_add(RocksDbWeight::get().reads(10_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
|
}
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod guard {
|
|
use super::*;
|
|
|
|
/// NINGUN EXTRINSIC PUEDE DECLARAR `proof_size = 0`.
|
|
///
|
|
/// El `proof_size` es lo que el block-builder usa para no pasarse del limite
|
|
/// de PoV. Un cero no dice «este extrinsic no toca storage»: dice «miento
|
|
/// sobre lo que va a ocupar la prueba», y con eso entra en un bloque mucho
|
|
/// mas de lo que cabe.
|
|
///
|
|
/// El test nace de un error propio y de la peor clase: la cabecera de los
|
|
/// weights interinos afirmaba que `T::DbWeight` «puebla tanto ref_time como
|
|
/// proof_size … cerrando el hueco». Es falso y se comprueba en la fuente —
|
|
/// `sp_weights::RuntimeDbWeight` solo tiene los campos `read` y `write`, y
|
|
/// `reads(r)` devuelve `Weight::from_parts(read * r, 0)`. Los interinos
|
|
/// arreglaron reads/writes y dejaron el proof_size donde estaba: en 0. La
|
|
/// afirmacion de haberlo cerrado sobrevivio mas de un mes sin que ninguna
|
|
/// lectura la desmintiera; la desmintio una medicion.
|
|
///
|
|
/// Esta lista la GENERA la plantilla a partir de los benchmarks reales, asi
|
|
/// que no puede quedarse corta cuando se anada un extrinsic nuevo.
|
|
#[test]
|
|
fn ningun_weight_declara_proof_size_cero() {
|
|
let casos: &[(&str, Weight)] = &[
|
|
("submit_proposal", <() as WeightInfo>::submit_proposal()),
|
|
("cast_vote", <() as WeightInfo>::cast_vote()),
|
|
("finalize_proposal", <() as WeightInfo>::finalize_proposal()),
|
|
("add_council_member", <() as WeightInfo>::add_council_member()),
|
|
("remove_council_member", <() as WeightInfo>::remove_council_member()),
|
|
("veto_proposal", <() as WeightInfo>::veto_proposal()),
|
|
("mark_as_advisor", <() as WeightInfo>::mark_as_advisor()),
|
|
("unmark_as_advisor", <() as WeightInfo>::unmark_as_advisor()),
|
|
("override_council_veto", <() as WeightInfo>::override_council_veto()),
|
|
("submit_emergency_proposal", <() as WeightInfo>::submit_emergency_proposal()),
|
|
("treasury_disbursement", <() as WeightInfo>::treasury_disbursement()),
|
|
("treasury_deposit", <() as WeightInfo>::treasury_deposit()),
|
|
("endorse_emergency_proposal", <() as WeightInfo>::endorse_emergency_proposal()),
|
|
("unlock_vote_funds", <() as WeightInfo>::unlock_vote_funds()),
|
|
("uphold_council_veto", <() as WeightInfo>::uphold_council_veto()),
|
|
("finalize_override", <() as WeightInfo>::finalize_override()),
|
|
];
|
|
for (nombre, w) in casos {
|
|
assert!(
|
|
w.proof_size() > 0,
|
|
"`{nombre}` declara proof_size = 0: miente al block-builder sobre el peso PoV"
|
|
);
|
|
assert!(
|
|
w.ref_time() > 0,
|
|
"`{nombre}` declara ref_time = 0: el extrinsic saldria gratis"
|
|
);
|
|
}
|
|
}
|
|
}
|