ain
ain copied to clipboard
Move attributes into CCustomCSView
Summary
- Moves attributes into CCustomCSView
- Removes the need to load ATTRIBUTES from the view as keys and values can be checked, retrieved, set, erased or looped through via the view itself.
- Attributes are loaded into CCustomCSView on demand and are passed on to copies of CCustomCSView. On Flush or before Flush if an undo is to be created the changes in the attribute copy is applied.
- Note that after Flush the copy in the parent is cleared with ClearAttributes(), this happen outside of SetAttributes(), but should be moved into it to avoid having to add these additional calls or update the parent copy.
- Change BlockContext argument to CreateToken to a reference.
- Move attribute types to its own file. Not needed but tidier.
Implications
-
Storage
- [ ] Database reindex required
- [ ] Database reindex optional
- [ ] Database reindex not required
- [x] None
-
Consensus
- [ ] Network upgrade required
- [ ] Includes backward compatible changes
- [ ] Includes consensus workarounds
- [x] Includes consensus refactors
- [ ] None