A0-1973: Tune down contracts constants#930
Conversation
| type DeletionWeightLimit = DeletionWeightLimit; | ||
| type Schedule = Schedule; | ||
| type CallStack = [pallet_contracts::Frame<Self>; 31]; | ||
| type CallStack = [pallet_contracts::Frame<Self>; 5]; |
There was a problem hiding this comment.
Just FYI - this may cause currently deployed contracts to start failing.
There was a problem hiding this comment.
yes, but if your contract needs 5 nested cross-contract calls, then probably you don't have an optimal architecture anyway
There was a problem hiding this comment.
Yes. But previously you didn't know that when dry-running so could have decided to deploy it. I'm not blocking, just saying we should remember to mention it in the release notes.
There was a problem hiding this comment.
I'm kind of concerned why this is so small. Note that in EVM this is 256, so even 31 was already small, but now we are changing it to 5?! Would be great to know the core reason here...
There was a problem hiding this comment.
5 seems too small to me, each delegate_call-type upgradable contract already adds 2 frames. This is severely limiting the smart contract functionality
There was a problem hiding this comment.
@DamianStraszak have a look here: paritytech/substrate#12993
|
replaced by #938 |
Description
We follow Alex's advice and decrease two limits for
pallet_contracts.Type of change
Checklist:
spec_versionandtransaction_version