Module moody.upgrades.proxy
Expand source code
from ..libeb import MiliDoS
class ProxyUpgrade:
"""
Preforming an upgrade contract to the previous contract
"""
def __init__(self, _from: MiliDoS):
self.engine = _from
@property
def AdminProxy(self) -> str:
if self.engine.hasContractName("AdminProxy"):
return self.engine.getAddr("AdminProxy")
else:
raise ValueError("not AdminProxy contract address is found")
@property
def UpgradeAbility(self) -> str:
if self.engine.hasContractName("UpgradingProxy"):
return self.engine.getAddr("UpgradingProxy")
else:
raise ValueError("not UpgradingProxy contract address is found")
def adminProxySetup(self):
pass
def upgrade(self, upgradeProxyContractName: str, original_tracking_logic_contract: str, admin: str, calldata: bytes):
upgrading_contract = ""
if self.engine.hasContractName(upgradeProxyContractName):
upgrading_contract = self.engine.getAddr(upgradeProxyContractName)
else:
result = self.engine.deploy(upgradeProxyContractName, [original_tracking_logic_contract, admin, calldata])
if result is False:
print("⛔️ There is an error from deploying the upgrade proxy contract")
exit(0)
if self.engine.hasContractName(upgradeProxyContractName) is False:
print("⛔️ The proxy contract is deployed but it is not found from the deployment results. Check: deploy_results.json for details.")
exit(0)
upgrading_contract = self.engine.getAddr(upgradeProxyContractName)
print(f"🈶 The final proxy deployment contract is found and shown as {upgrading_contract}")
Classes
class ProxyUpgrade (_from: MiliDoS)
-
Preforming an upgrade contract to the previous contract
Expand source code
class ProxyUpgrade: """ Preforming an upgrade contract to the previous contract """ def __init__(self, _from: MiliDoS): self.engine = _from @property def AdminProxy(self) -> str: if self.engine.hasContractName("AdminProxy"): return self.engine.getAddr("AdminProxy") else: raise ValueError("not AdminProxy contract address is found") @property def UpgradeAbility(self) -> str: if self.engine.hasContractName("UpgradingProxy"): return self.engine.getAddr("UpgradingProxy") else: raise ValueError("not UpgradingProxy contract address is found") def adminProxySetup(self): pass def upgrade(self, upgradeProxyContractName: str, original_tracking_logic_contract: str, admin: str, calldata: bytes): upgrading_contract = "" if self.engine.hasContractName(upgradeProxyContractName): upgrading_contract = self.engine.getAddr(upgradeProxyContractName) else: result = self.engine.deploy(upgradeProxyContractName, [original_tracking_logic_contract, admin, calldata]) if result is False: print("⛔️ There is an error from deploying the upgrade proxy contract") exit(0) if self.engine.hasContractName(upgradeProxyContractName) is False: print("⛔️ The proxy contract is deployed but it is not found from the deployment results. Check: deploy_results.json for details.") exit(0) upgrading_contract = self.engine.getAddr(upgradeProxyContractName) print(f"🈶 The final proxy deployment contract is found and shown as {upgrading_contract}")
Instance variables
var AdminProxy : str
-
Expand source code
@property def AdminProxy(self) -> str: if self.engine.hasContractName("AdminProxy"): return self.engine.getAddr("AdminProxy") else: raise ValueError("not AdminProxy contract address is found")
var UpgradeAbility : str
-
Expand source code
@property def UpgradeAbility(self) -> str: if self.engine.hasContractName("UpgradingProxy"): return self.engine.getAddr("UpgradingProxy") else: raise ValueError("not UpgradingProxy contract address is found")
Methods
def adminProxySetup(self)
-
Expand source code
def adminProxySetup(self): pass
def upgrade(self, upgradeProxyContractName: str, original_tracking_logic_contract: str, admin: str, calldata: bytes)
-
Expand source code
def upgrade(self, upgradeProxyContractName: str, original_tracking_logic_contract: str, admin: str, calldata: bytes): upgrading_contract = "" if self.engine.hasContractName(upgradeProxyContractName): upgrading_contract = self.engine.getAddr(upgradeProxyContractName) else: result = self.engine.deploy(upgradeProxyContractName, [original_tracking_logic_contract, admin, calldata]) if result is False: print("⛔️ There is an error from deploying the upgrade proxy contract") exit(0) if self.engine.hasContractName(upgradeProxyContractName) is False: print("⛔️ The proxy contract is deployed but it is not found from the deployment results. Check: deploy_results.json for details.") exit(0) upgrading_contract = self.engine.getAddr(upgradeProxyContractName) print(f"🈶 The final proxy deployment contract is found and shown as {upgrading_contract}")