@turbolent in #491 ported these 5 PRs from onflow/atree-internal
:
- [feature] Provide WrapperValue and WrapperStorable interfaces
(+5,937 −174)
by @fxamacker - [not a mainnet bug] Create unique composite type ID with no fields
(+4 −0)
by @fxamacker- This item only updates unreachable scenario (doesn't change behavior on mainnet).
- [not a mainnet bug] Update smoke test program for WrapperValue, etc.
(+559 −35)
by @fxamacker - [not a mainnet bug] Fix slab iterator used only by tests
(+148 −4)
by @fxamacker - [not a mainnet bug] Update LoadedValueIterator to check WrapperStorable
(+1,712 −1,462)
by @fxamacker
New Features
This release adds 2 new interfaces that can be used by client software:
atree.WrapperValue
atree.WrapperStorable
Some client software might use containers wrapped by an opaque object, which prevents external packages (e.g. Atree) from accessing the wrapped container.
To allow Atree to access such wrapped containers, client software can implement these new Atree interfaces in their opaque object to unwrap the container if needed.
Other changes are nits that don't affect mainnet (fix or improve some tests, cleanup an unreachable scenario, add more tests, etc.)