A call to a smart contract results with about 1,5 MB proof size consumed.
Bare call ends:
result=Ok(ExecReturnValue { flags: (empty), data: [] }),
weight_consumed = Weight { ref_time: 23_406_892_571, proof_size: 1_600_360 },
weight_required = Weight { ref_time: 23_406_892_571, proof_size: 1_600_776 },
storage_deposit = Charge(0),
gas_consumed = 45286,
max_storage_deposit = Charge(3_715_200_000)
Is there an existing issue?
Experiencing problems? Have you tried our Stack Exchange first?
Description of bug
A call to a smart contract results with about 1,5 MB proof size consumed.
Tested flow:
Tested with:
Full flow for more context, but may be irrelevant: https://github.com/paritytech/individuality/issues/755 "Username Reservation Flow".
Steps to reproduce
For the direct smart contract call:
For full flow that got me to this discovery:
pub const DotnsMaxContractCallWeight: Weight =
Weight::from_parts(50_000_000_000, (512 + 1024) * 1024); // 1.5 MiB
cd ../individuality && cargo build --release -p next-asset-hub-paseo-runtime
-lruntime::revive=trace, deploy dotns contracts, set-up everything needed on chain (pnpm bootstrap from the scripts repo)pnpm reserve usxxxx 40 usyyyy --network local (from the scripts repo)
DispatchError: Module DotnsGateway.ContractCallFailed
- meter starts with proof_size: 1572864
- consumes ~1,569,557 of it (~99.8 %)
- deepest frame returns Err(... error: [3,0,0,0], message: Some("OutOfGas") ...) (revive pallet index 100, variant 3 = OutOfGas, here meaning proof-size
exhaustion, not ref_time)
- all ancestor frames Absorb weight meter only and return flags: REVERT, data: [] → "unknown contract revert selector" warning