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.
Draft for #327
Particular things I'd like feedback on:
ExternalSystem
is meant to be temporary to avoid breaking changes in this PR. In v2 I want to renameSystem
toBareSystem
/BaseSystem
, andExternalSystem
toSystem
.requireApproved
andonlyApproved
probably shouldn't both exist. I preferrequireApproved
, since modifiers are in various ways inferior to funcs (no explicit visibility; can't use computed args; only 1 modifier can have a name regardless of args).IApprovalSystem
, which then has all the methods. The intent is to have this be the new standard, and later refactorRegisterSystem
to follow suite.getValue
never throws.ApprovalSystem
has no separate error for absent approval, which reusesApprovalSystem__TimeExpired
. (to avoid callinghas
, thengetValue
. I think this is shorter, easier to read, and probably saves gas on a method call).ApprovalEntityReversal
is separate fromApproval
. You'll see inApprovalSystem
that reversal is used only once, so in most cases it would needlessly complicate approval if combined together.expiryTimestamp
.solecs
changes first?execute
is a deprecated noop. This assumes v2 will removeexecute
fromISystem
.(no particular order, numbers can make responding easier. Any other feedback is welcome too, this is all subject to change)