## Description
This PR creates a new system object the deny list object during epoch
change, when the protocol config feature is enabled.
The mechanism is the same as how we created the randomness and
authentication state objects.
Since @aschran worked on it recently you probably have most fresh memory
on how to do this right.
## Test Plan
Added e2e test to test the creation of the object.
---
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)
- [ x] protocol change
- [ ] user-visible impact
- [ ] breaking change for a client SDKs
- [ x] breaking change for FNs (FN binary must upgrade)
- [ x] 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