You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today we only charge gas for doing storage operations and loops. For simple operations we only charge gas for a known expensive operations, like signature validation. Serialization is also known to be expensive (especially the "text mode" like JSON). And if there is lot of back and forth then we underprice the transactions.
Proposal
Add a codec wrapper (GasCodec) which will charge gas for every marshaling and unmarshaling.
For Admin Use
Not duplicate issue
Appropriate labels applied
Appropriate contributors tagged
Contributor assigned/self-assigned
The text was updated successfully, but these errors were encountered:
I think this generally makes sense but we should wait to do it until 1) the codec supports the new code generator which is mostly done and 2) we have the app wiring work done so that it's easier to integrate new things like this with baseapp without making app.go even more complicated.
im not sure this is possible since we and users use a combination or raw proto.marshal and cdc.Marshal. We would create a odd world where some messages/state are serialised and others not
Summary
We should charge extra gas when doing serialization.
Epic: #8917
Problem Definition
Today we only charge gas for doing storage operations and loops. For simple operations we only charge gas for a known expensive operations, like signature validation. Serialization is also known to be expensive (especially the "text mode" like JSON). And if there is lot of back and forth then we underprice the transactions.
Proposal
Add a codec wrapper (
GasCodec
) which will charge gas for every marshaling and unmarshaling.For Admin Use
The text was updated successfully, but these errors were encountered: