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
Fungible assets in Noir can be classified as Local and Global assets.
Definitions
Local Assets:
Fungible assets whose states are entirely managed within a single VM's context. These assets are designed to operate independently, with no shared state across other VMs.
Global Assets:
Assets where the primary state transitions are managed by the engine itself while exposing interfaces for operations within individual VMs. Advantages of Global assets:
Lower costs: Key operations are centralized in the engine, reducing VM-specific overhead.
Shared state access: The engine allows multiple VMs to interact with the same asset state seamlessly through exposed interfaces.
However, Global assets come with a significant caveat: contracts must transition their state to use our contract SDK (instead of managing state independently), requiring developers to modify their contracts to comply with this approach. This introduces a learning curve and a proprietary workflow, which might not align with our protocol’s goal of simplicity and broad compatibility.
Alternative Approach: Cross-VM Asset Management
Instead of Global assets, we could explore a mechanism where Local assets remain fully managed within their respective VMs but are made accessible across VMs through an adapter layer.
The adapter would:
Maintain metadata about the asset's state location (i.e., which VM manages the asset) and provide instructions for accessing it.
Facilitate cross-VM calls to interact with the asset, ensuring that even non-native VMs can recognize and work with these assets.
For example:
A standard ERC-20 contract could be deployed on the EVM.
To interact with this asset from another VM, the engine would require registration (or upgrade) of the asset's metadata.
This process would enable the engine to coordinate interactions while maintaining compatibility with existing contracts and minimizing modifications.
The text was updated successfully, but these errors were encountered:
Description
Fungible assets in Noir can be classified as Local and Global assets.
Definitions
Local Assets:
Fungible assets whose states are entirely managed within a single VM's context. These assets are designed to operate independently, with no shared state across other VMs.
Global Assets:
Assets where the primary state transitions are managed by the engine itself while exposing interfaces for operations within individual VMs. Advantages of Global assets:
However, Global assets come with a significant caveat: contracts must transition their state to use our contract SDK (instead of managing state independently), requiring developers to modify their contracts to comply with this approach. This introduces a learning curve and a proprietary workflow, which might not align with our protocol’s goal of simplicity and broad compatibility.
Alternative Approach: Cross-VM Asset Management
Instead of Global assets, we could explore a mechanism where Local assets remain fully managed within their respective VMs but are made accessible across VMs through an adapter layer.
The adapter would:
For example:
The text was updated successfully, but these errors were encountered: