flow-go
flow-go copied to clipboard
Standardize memory and interaction limit disabling
This removes PayerIsServiceAcount and AllowContextOverrideByExecutionState special casing.
Previously, the cached meter state differed depending on which payer account loaded the program into the cache, resulting in non-deterministic execution.
Note: the cached usage limits are "incorrect", but they does not impact the final execution result.
Non-deterministic execution due to frozen account, weight updates, service account metering are all manifestation of the same underlying problem. In the long run, we should stop caching transaction state as part of program cache.