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
upgrade(address newImplementation, bytes upgradeData) → contract IVersionable versionable public
upgrade existing contract
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)]