You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Aptos object model offers an extensible data model that allows an object to masquerade as many distinct types. For example, an object can be both a fungible asset as well as a digital asset. Some asset classes have need for greater control as a result the existing framework is at odds with their goals. Specifically, many APIs expose adding new objects via the ConstructorRef, but the ConstructorRef can also be used to enable new transfer policies. As a result, there is currently no method to enforce certain transfer policies in the existing object model. This AIP introduces the first step toward providing greater control by offer a new method for constructing objects called object::set_untransferable that ensures that the object owner is set permanently regardless of any operations performed on the object during or after its creation.
The specific application that comes to mind is fungible assets, wherein a fungible asset stores can be frozen via fungible_asset::set_frozen_flag, however, that does not prevent the owner of the asset from sending and receiving new fungible stores and continue to access assets.
thepomeranian
changed the title
[AIP-83][Discussion] Framework-level Untransferable Objects
[AIP-82][Discussion] Framework-level Untransferable Objects
May 23, 2024
thepomeranian
changed the title
[AIP-82][Discussion] Framework-level Untransferable Objects
[AIP-83][Discussion] Framework-level Untransferable Objects
May 23, 2024
AIP Discussion
Summary
The Aptos object model offers an extensible data model that allows an object to masquerade as many distinct types. For example, an object can be both a fungible asset as well as a digital asset. Some asset classes have need for greater control as a result the existing framework is at odds with their goals. Specifically, many APIs expose adding new objects via the
ConstructorRef
, but theConstructorRef
can also be used to enable new transfer policies. As a result, there is currently no method to enforce certain transfer policies in the existing object model. This AIP introduces the first step toward providing greater control by offer a new method for constructing objects calledobject::set_untransferable
that ensures that the object owner is set permanently regardless of any operations performed on the object during or after its creation.The specific application that comes to mind is fungible assets, wherein a fungible asset stores can be frozen via
fungible_asset::set_frozen_flag
, however, that does not prevent the owner of the asset from sending and receiving new fungible stores and continue to access assets.Read more about it here: https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-83.md
The text was updated successfully, but these errors were encountered: