Price event bytes at the same rate as storage #370
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a cost to event emission proportional to the amount of bytes emitted, and at the same rate as a storage instruction. The rationale is that, while nodes are not necessarily required by protocol to hold this data like normal storage, it is still crucial data to hold for external applications, and contracts should be discouraged from emitting events that are "too large".
Hence, a payment at the same rate of storage seems appropriate for now. We may always choose to fine-tune this in a future protocol upgrade.
This should be the final round of pricing PRs, as I can't see the sense in pricing any other WebAssembly import offered to the contracts.
Resolves #359