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
The trampoline reads the parameters block from storage before consulting whether the method will use it. Even if the method is unimplemented. This is a legitimate use case, e.g.
notification systems like MarketNotifyDeals
the token receiver hook in account and multisig that always return true
This is a non-trival waste of computation bandwidth and gas (e.g. the market notifications are ~4% of some PublishStorageDeals examples (source)). Refactor the trampoline, dispatch, and runtime to permit loading the parameters when they will actually be used. Note that this conflicts with some programming conveniences, such as the decision in #913 to require the account/multisig to take UniversalReceiverParams in their type signature, despite ignoring them (we need to allow them to specify None, and not abort if they receive not-None, or some similar alternative).
The text was updated successfully, but these errors were encountered:
The trampoline reads the parameters block from storage before consulting whether the method will use it. Even if the method is unimplemented. This is a legitimate use case, e.g.
This is a non-trival waste of computation bandwidth and gas (e.g. the market notifications are ~4% of some PublishStorageDeals examples (source)). Refactor the trampoline, dispatch, and runtime to permit loading the parameters when they will actually be used. Note that this conflicts with some programming conveniences, such as the decision in #913 to require the account/multisig to take UniversalReceiverParams in their type signature, despite ignoring them (we need to allow them to specify None, and not abort if they receive not-None, or some similar alternative).
The text was updated successfully, but these errors were encountered: