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
## Description
1. ParanoidTypeChecker struct + impl for various paranoid_type_checks,
consolidated under a few methods w/ descriptive names
2. Organized paranoid checking logic for a given function depending on
whether the function is native or not
3. Removed local_tys out of Frame struct as it's only used in
paranoid_type_checks. Now, in pre- and post- instruction execution, just
check the local type off the function
4. Similarly, removed type stack out of operand_stack
5. InterpreterInterface and FrameInterface trait to limit exposure, as
paranoid checks only need subset of interpreter and frame functionality.
6. Defined Plugin trait, update interpreter to init Vec<Plugin> and have
ParanoidTypeChecker conform to Plugin trait
## Test Plan
How did you test the new or updated feature?
---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.
### Type of Change (Check all that apply)
- [ ] protocol change
- [ ] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes
0 commit comments