SIP: Remove the ID Leak Verifier - #73
Conversation
Proposes removing the Sui Move ID Leak Verifier bytecode pass, which requires every object to be packed with a freshly-minted UID. The pass is redundant with runtime enforcement and costs a hand-maintained allow-list duplicated between the verifier and the Move compiler. Removing it allows a UID extracted via unpack to be repacked into a new object, enabling in-place type migration at a stable ObjectID.
3dd24cf to
99d605b
Compare
|
good idea |
|
I am in favor of this SIP for a few reasons:
I would much rather define a singular
One security consideration worth mentioning is how this will impact when the For example, in our oracle aggregator package we have a function like this For context: a There is an implicit UID -> type that we define here, as In all of our packages, this is the only occurrence of where we (1) hardcode an expected All-in-all this would be a nice QoL improvement and unlock some cool patterns. |
Proposes removing the ID Leak Verifier, the bytecode pass that requires every object to be packed only with a freshly-minted
UID.This is an open request for feedback in an attempt to collect any scenarios that might get broken.