Upgradeability
Contains interfaces/contracts linked to contract upgradeability.
Contracts
IVersionable
import "@etherisc/gif-next/contracts/upgradeability/IVersionable.sol";
-
[
initializeVersionable(activatedBy, activationData)
] -
[
upgradeVersionable(upgradeData)
] -
[
getVersion()
]
ProxyManager
import "@etherisc/gif-next/contracts/upgradeability/ProxyManager.sol";
manages proxy deployments for upgradable contracs of type IVersionable
-
[
initialize(registry, implementation, data, salt)
] -
[
deploy(registry, initialImplementation, initializationData)
] -
[
deployDetermenistic(registry, initialImplementation, initializationData, salt)
] -
[
upgrade(newImplementation)
] -
[
upgrade(newImplementation, upgradeData)
] -
[
linkToProxy()
] -
[
getDeployData(proxyOwner, deployData)
] -
[
getUpgradeData(upgradeData)
] -
[
getProxy()
] -
[
getVersion()
] -
[
getVersionCount()
] -
[
getVersion(idx)
] -
[
getVersionInfo(_version)
]
-
[
_checkNftType(nftId, expectedObjectType)
] -
[
__NftOwnable_init(registry, initialOwner)
] -
[
linkToRegisteredNftId()
] -
[
getNftId()
] -
[
getOwner()
] -
[
_linkToNftOwnable(nftOwnableAddress)
]
-
[
__RegistryLinked_init(registry)
] -
[
getRegistry()
]
-
[
__ERC165_init()
] -
[
_initializeERC165()
] -
[
_registerInterface(interfaceId)
] -
[
_registerInterfaceNotInitializing(interfaceId)
] -
[
supportsInterface(interfaceId)
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
LogProxyManagerVersionableDeployed(proxy, initialImplementation)
] -
[
LogProxyManagerVersionableUpgraded(proxy, upgradedImplementation)
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
Initialized(version)
]
initialize(address registry, address implementation, bytes data, bytes32 salt) → contract IVersionable versionable
public
convencience initializer
deploy(address registry, address initialImplementation, bytes initializationData) → contract IVersionable versionable
public
deploy initial contract
deployDetermenistic(address registry, address initialImplementation, bytes initializationData, bytes32 salt) → contract IVersionable versionable
public
upgrade(address newImplementation) → contract IVersionable versionable
public
upgrade existing contract. convenience method using empty data
UpgradableProxyWithAdmin
import "@etherisc/gif-next/contracts/upgradeability/UpgradableProxyWithAdmin.sol";
-
[
constructor(implementation, initialProxyAdminOwner, data)
] -
[
getProxyAdmin()
] -
[
getInitializationData()
]
-
[
_proxyAdmin()
] -
[
_fallback()
]
-
[
_implementation()
]
-
[
_delegate(implementation)
] -
[
fallback()
]
Versionable
import "@etherisc/gif-next/contracts/upgradeability/Versionable.sol";
-
[
constructor()
] -
[
initializeVersionable(activatedBy, data)
] -
[
upgradeVersionable(data)
] -
[
getVersion()
] -
[
_initialize(, )
] -
[
_upgrade(data)
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
Initialized(version)
]