Question: Mainnet — upgrade existing component to new package with OwnerRole::None?

Same question (canonical copy): GitHub organization radixdlt, repository radixdlt-scrypto, issue #2091. Search those three tokens in a browser if you want the full thread; maintainer replies there matter most. I’m posting here for archive/search only.


Hello,

We need clear guidance on whether a live Mainnet component can be associated with a newer published package / WASM so new methods run on the same global component and same fungible ESS resource—or whether re-instantiation is the only supported path.

Context

Radix ↔ Massa bridge design: fixed-supply ESS (1,000,000 units minted at genesis into the component treasury), lock_essence / unlock_essence, operator badge (SBOP) for treasury ops and unlock. We published a new package that adds withdraw_treasury_bucket (SBOP proof → bucket to worktop) so we can fund a user account before lock_essence.

The live component was globalized with prepare_to_globalize(OwnerRole::None). Radix Developer Console only offered flows that ended in OwnerRole::None (we couldn’t pick a different owner pattern there).

On-ledger references

  • Existing global component: component_rdx1cqdustwrxlc46nmursshyj7n8m5gzhnzta3ypcnez74l2wcg2uadqx
  • Package instantiated from: package_rdx1p57sv0gpl4thcvjxxragt9h9g5ycwunxtklrdj0vh55nhedf4njray
  • New package: package_rdx1phthwnwjx0mg6ct6whlnta3ra7eyjkz57txu9ngny4lf6jzju6pevy

Question

With OwnerRole::None, is there any supported Mainnet procedure today (Console, manifest, documented toolkit) to upgrade / re-point the existing component to the new package so withdraw_treasury_bucket exists without a second instantiate?

If no, please say so plainly. Our fallback is new instantiate, which in our blueprint mints another 1,000,000 ESS as a second resource address (two distinct ESS resources on Mainnet, each with its own genesis treasury—not extra XRD, but two fixed-supply ESS resources).

Pointers to canonical docs appreciated.

Thank you.