Access wrapped objects by ID outside of Move #5816
Labels
devx
event
fullnode-support
rpc
rust
Pull requests that update Rust code
rust-sdk
sui-explorer
ts-sdk
Motivation
When an object is wrapped (made a field of) another object over the course of a move transaction, it disappears from the perspective of external tools, which can create confusing experiences, e.g.: When viewing a transaction that created an NFT in Explorer, if it is wrapped, its details will not be accessible via the transaction, even though it still exists in some sense. At a later time, the details may become accessible again, if the object is unwrapped.
Functionality
Proposal
id
field matches the wrapped object's ID.Alternatives
It is possible to achieve the same functionality within the adapter layer between Sui and Move, by explicitly representing wrapped object's in validators' object storage. This could be done in one of two ways:
Both of these approaches require doing additional work on the validator which doesn't help with execution or consensus, and can be done in the full node for the benefit of readers.
There is also the possibility of an even simpler index representation in Full Node which omits the access path (i.e. the index just says that a wrapped object can be found "somewhere" in the sub-structure of a given root object). This saves indexing work on writes at the expense of scanning work on reads, which may make sense if reads are infrequent, but this may not be true if the Explorer is going to visualise all wrapped objects.
The text was updated successfully, but these errors were encountered: