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
## Scenario 6: Upgrading the BLR TUP Implementation
734
734
735
-
**Use case:** Upgrade the implementation contracts for BLR (BusinessLogicResolver) or Factory proxies using the TransparentUpgradeableProxy (TUP) pattern.
735
+
**Use case:** Upgrade the implementation contract for the BLR (BusinessLogicResolver) proxy using the TransparentUpgradeableProxy (TUP) pattern.
736
736
737
-
**Important distinction:** This is different from `upgradeConfigurations` (Scenario 3), which upgrades ResolverProxy (Diamond pattern) token contracts. Use `upgradeTupProxies` only for BLR/Factory infrastructure upgrades.
737
+
> **Only the BLR is a TUP.** The **Factory is a `ResolverProxy` (Diamond pattern), not a TUP** — it is deployed via `new ResolverProxy(blr, { configurationId: FACTORY_CONFIG_ID, ... })` and resolves its facets from the BLR like any token. Upgrade the Factory through the configuration/registry path (Scenario 3, `upgradeConfigurations`), **not** through `ProxyAdmin.upgrade()`. The `FACTORY_PROXY` / `DEPLOY_NEW_FACTORY_IMPL` env vars that still appear in the `upgradeTupProxies` CLI are **legacy and do not apply to the current Factory design** — do not use them.
738
+
739
+
**Important distinction:** This is different from `upgradeConfigurations` (Scenario 3), which upgrades ResolverProxy (Diamond pattern) contracts — including token contracts **and the Factory**. Use `upgradeTupProxies` only for the BLR infrastructure upgrade.
738
740
739
741
### When to Use This Workflow
740
742
741
743
**Use `upgradeTupProxies` when:**
742
744
743
-
- Upgrading BLR implementation to a new version
744
-
- Upgrading Factory implementation to a new version
745
-
- Both BLR and Factory need to be upgraded simultaneously
745
+
- Upgrading the BLR implementation to a new version
746
746
- You have a tested implementation ready to deploy
747
747
748
748
**Use `upgradeConfigurations` instead when:**
749
749
750
+
- Upgrading the **Factory** (it is a ResolverProxy, not a TUP)
751
+
752
+
**Use `upgradeConfigurations` instead when:**
753
+
750
754
- Updating equity/bond token configurations
751
755
- Changing facet versions for existing token contracts
752
756
- Creating new configuration versions in BusinessLogicResolver
@@ -755,12 +759,12 @@ Each environment maintains independent configuration versions.
0 commit comments