Skip to content

Conversation

BonelessImpl
Copy link
Contributor

We support omni bridge by wrapping its token with the PoA tokens. This PR supports migrating a token from being used as an owned token, vs being used to wrap omni bridge.

The upgrade takes two steps:

  1. Mandatory initial contract upgrade, which will add a field that contains the target wrapped token as options

  2. After step 1, the token remains as PoA with nothing changes. Once the migration to Omni bridge is done, we set the wrapped token address, which will change the behavior of the smart contract to wrap omni-bridge

@BonelessImpl BonelessImpl force-pushed the feat/poa-support-omni-bridge branch from 2ff6e1f to b4d41e8 Compare March 21, 2025 09:26
@BonelessImpl BonelessImpl changed the base branch from feat/intent-storage_deposit to main March 21, 2025 11:30
#[cfg(feature = "contract")]
mod contract;
pub mod contract;

Copy link

@mitinarseny mitinarseny Apr 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, remember to add to both: PoA Token & PoA Factory:

impl ControllerUpgradable for Contract {
    #[only(self, owner)]
    fn upgrade(...) -> Promise { /* ... */}
}

@BonelessImpl BonelessImpl marked this pull request as draft April 17, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants