Distribution
Contains interfaces and contracts related to distribution.
Contracts
IDistributionComponent
import "@etherisc/gif-next/contracts/distribution/IDistributionComponent.sol";
-
[
getDiscountPercentage(referralCode)
] -
[
getReferralId(referralCode)
] -
[
calculateRenewalFeeAmount(referralId, netPremiumAmount)
] -
[
processRenewal(referralId, feeAmount)
] -
[
isVerifying()
] -
[
withdrawCommission(distributorNftId, amount)
]
-
[
withdrawFees(amount)
] -
[
getInstance()
]
-
[
getAuthorization()
]
-
[
getName()
] -
[
getToken()
] -
[
getTokenHandler()
] -
[
getWallet()
] -
[
isNftInterceptor()
] -
[
isRegistered()
] -
[
getComponentInfo()
] -
[
getInitialComponentInfo()
]
-
[
nftTransferFrom(from, to, tokenId, operator)
]
-
[
isActive()
] -
[
getInitialInfo()
]
-
[
getRelease()
]
-
[
linkToRegisteredNftId()
] -
[
getNftId()
] -
[
getOwner()
]
-
[
getRegistry()
]
-
[
supportsInterface(interfaceId)
]
-
[
authority()
] -
[
setAuthority()
] -
[
isConsumingScheduledOp()
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
AuthorityUpdated(authority)
]
getDiscountPercentage(string referralCode) → UFixed discountPercentage, ReferralStatus status
external
calculateRenewalFeeAmount(ReferralId referralId, uint256 netPremiumAmount) → uint256 feeAmount
external
processRenewal(ReferralId referralId, uint256 feeAmount)
external
Callback function to process a renewal of a policy. The default implementation is empty. Overwrite this function to implement a use case specific behaviour.
IDistributionService
import "@etherisc/gif-next/contracts/distribution/IDistributionService.sol";
-
[
createDistributorType(name, minDiscountPercentage, maxDiscountPercentage, commissionPercentage, maxReferralCount, maxReferralLifetime, allowSelfReferrals, allowRenewals, data)
] -
[
createDistributor(distributor, distributorType, data)
] -
[
changeDistributorType(distributorNftId, newDistributorType, data)
] -
[
createReferral(distributorNftId, code, discountPercentage, maxReferrals, expiryAt, data)
] -
[
processReferral(distributionNftId, referralId)
] -
[
processSale(distributionNftId, referralId, premium)
] -
[
referralIsValid(distributorNftId, referralId)
] -
[
withdrawCommission(distributorNftId, amount)
] -
[
getDiscountPercentage(instanceReader, referralId)
]
-
[
getDomain()
] -
[
getRoleId()
]
-
[
initializeVersionable(activatedBy, activationData)
] -
[
upgradeVersionable(upgradeData)
] -
[
getVersion()
]
-
[
isActive()
] -
[
getInitialInfo()
]
-
[
getRelease()
]
-
[
linkToRegisteredNftId()
] -
[
getNftId()
] -
[
getOwner()
]
-
[
getRegistry()
]
-
[
supportsInterface(interfaceId)
]
-
[
authority()
] -
[
setAuthority()
] -
[
isConsumingScheduledOp()
]
-
[
LogDistributionServiceCommissionWithdrawn(distributorNftId, recipient, amount, tokenAddress)
] -
[
LogDistributionServiceDistributorTypeCreated(distributionNftId, distributorType, name, commissionPercentage)
] -
[
LogDistributionServiceDistributorCreated(distributionNftId, distributorNftId, distributor, distributorType)
] -
[
LogDistributionServiceDistributorTypeChanged(distributorNftId, oldDistributorType, newDistributorType)
] -
[
LogDistributionServiceReferralCreated(distributorNftId, referralId, code, discountPercentage, maxReferrals, expiryAt)
] -
[
LogDistributionServiceReferralProcessed(distributorNftId, referralId, usedReferrals)
] -
[
LogDistributionServiceSaleProcessed(distributionNftId, premium, distributionOwnerFee)
] -
[
LogDistributionServiceSaleProcessedWithReferral(distributionNftId, distributorNftId, referralId, numPoliciesSold, premium, distributionOwnerFee, commissionAmount)
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
AuthorityUpdated(authority)
]
createDistributorType(string name, UFixed minDiscountPercentage, UFixed maxDiscountPercentage, UFixed commissionPercentage, uint32 maxReferralCount, Seconds maxReferralLifetime, bool allowSelfReferrals, bool allowRenewals, bytes data) → DistributorType distributorType
external
createDistributor(address distributor, DistributorType distributorType, bytes data) → NftId distributorNftId
external
changeDistributorType(NftId distributorNftId, DistributorType newDistributorType, bytes data)
external
createReferral(NftId distributorNftId, string code, UFixed discountPercentage, uint32 maxReferrals, Timestamp expiryAt, bytes data) → ReferralId referralId
external
processReferral(NftId distributionNftId, ReferralId referralId)
external
callback from product service when a referral is used. Calling this will increment the referral usage counter.
processSale(NftId distributionNftId, ReferralId referralId, struct IPolicy.PremiumInfo premium)
external
callback from product service when selling a policy for a specific referralId
withdrawCommission(NftId distributorNftId, Amount amount) → Amount withdrawnAmount
external
Withdraw commission for the distributor
getDiscountPercentage(contract InstanceReader instanceReader, ReferralId referralId) → UFixed discountPercentage, ReferralStatus status
external
Returns the discount percentage for the provided referral code. The function retuns both the percentage and the status of the referral code.
LogDistributionServiceCommissionWithdrawn(NftId indexed distributorNftId, address indexed recipient, Amount amount, address indexed tokenAddress)
event
LogDistributionServiceDistributorTypeCreated(NftId indexed distributionNftId, DistributorType indexed distributorType, string name, UFixed commissionPercentage)
event
LogDistributionServiceDistributorCreated(NftId indexed distributionNftId, NftId indexed distributorNftId, address indexed distributor, DistributorType distributorType)
event
LogDistributionServiceDistributorTypeChanged(NftId indexed distributorNftId, DistributorType indexed oldDistributorType, DistributorType indexed newDistributorType)
event
LogDistributionServiceReferralCreated(NftId indexed distributorNftId, ReferralId indexed referralId, string code, UFixed discountPercentage, uint32 maxReferrals, Timestamp expiryAt)
event
LogDistributionServiceReferralProcessed(NftId indexed distributorNftId, ReferralId indexed referralId, uint32 usedReferrals)
event
Distribution
import "@etherisc/gif-next/contracts/distribution/Distribution.sol";
-
[
processRenewal(referralId, feeAmount)
] -
[
withdrawCommission(distributorNftId, amount)
] -
[
getDiscountPercentage(referralCode)
] -
[
getReferralId(referralCode)
] -
[
calculateRenewalFeeAmount(, netPremiumAmount)
] -
[
isVerifying()
] -
[
__Distribution_init(registry, productNftId, authorization, isInterceptor, initialOwner, name)
] -
[
_setFees(distributionFee, minDistributionOwnerFee)
] -
[
_createDistributorType(name, minDiscountPercentage, maxDiscountPercentage, commissionPercentage, maxReferralCount, maxReferralLifetime, allowSelfReferrals, allowRenewals, data)
] -
[
_createDistributor(distributor, distributorType, data)
] -
[
_changeDistributorType(distributorNftId, distributorType, data)
] -
[
_createReferral(distributorNftId, code, discountPercentage, maxReferrals, expiryAt, data)
] -
[
_withdrawCommission(distributorNftId, amount)
]
-
[
getInstance()
] -
[
getAuthorization()
] -
[
withdrawFees(amount)
] -
[
_sendRequest(oracleNftId, requestData, expiryAt, callbackMethod)
] -
[
_cancelRequest(requestId)
] -
[
_resendResponse(requestId)
] -
[
__InstanceLinkedComponent_init(registry, parentNftId, name, componentType, authorization, isInterceptor, initialOwner)
] -
[
_checkAndGetInstanceNftId(registryAddress, parentNftId, componentType)
] -
[
_checkAndGetRegistry(registryAddress, objectNftId, requiredType)
] -
[
_setWallet(newWallet)
] -
[
_getComponentInfo()
] -
[
_getInstanceReader()
] -
[
_withdrawFees(amount)
]
-
[
__Component_init(authority, registry, parentNftId, name, componentType, isInterceptor, initialOwner, registryData)
] -
[
nftTransferFrom(from, to, tokenId, operator)
] -
[
getWallet()
] -
[
getTokenHandler()
] -
[
getToken()
] -
[
getName()
] -
[
getVersion()
] -
[
getComponentInfo()
] -
[
getInitialComponentInfo()
] -
[
isNftInterceptor()
] -
[
isRegistered()
] -
[
_approveTokenHandler(token, amount)
] -
[
_nftTransferFrom(from, to, tokenId, operator)
] -
[
_setLocked(locked)
] -
[
_getServiceAddress(domain)
]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)
] -
[
isActive()
] -
[
getRelease()
] -
[
getInitialInfo()
]
-
[
_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)
]
-
[
__AccessManaged_init(initialAuthority)
] -
[
__AccessManaged_init_unchained(initialAuthority)
] -
[
authority()
] -
[
setAuthority(newAuthority)
] -
[
isConsumingScheduledOp()
] -
[
_setAuthority(newAuthority)
] -
[
_checkCanCall(caller, data)
]
-
[
__Context_init()
] -
[
__Context_init_unchained()
] -
[
_msgSender()
] -
[
_msgData()
] -
[
_contextSuffixLength()
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
AuthorityUpdated(authority)
]
-
[
Initialized(version)
]
processRenewal(ReferralId referralId, uint256 feeAmount)
external
Callback function to process a renewal of a policy. The default implementation is empty. Overwrite this function to implement a use case specific behaviour.
withdrawCommission(NftId distributorNftId, Amount amount) → Amount withdrawnAmount
external
Withdraw commission for the distributor
getDiscountPercentage(string referralCode) → UFixed discountPercentage, ReferralStatus status
external
isVerifying() → bool verifying
external
Returns true iff the component needs to be called when selling/renewing policis
__Distribution_init(address registry, NftId productNftId, contract IAuthorization authorization, bool isInterceptor, address initialOwner, string name)
internal
_setFees(struct Fee distributionFee, struct Fee minDistributionOwnerFee)
internal
Sets the distribution fees to the provided values.
_createDistributorType(string name, UFixed minDiscountPercentage, UFixed maxDiscountPercentage, UFixed commissionPercentage, uint32 maxReferralCount, Seconds maxReferralLifetime, bool allowSelfReferrals, bool allowRenewals, bytes data) → DistributorType distributorType
internal
Creates a new distributor type using the provided parameters.
_createDistributor(address distributor, DistributorType distributorType, bytes data) → NftId distributorNftId
internal
Turns the provided account into a new distributor of the specified type.
_changeDistributorType(NftId distributorNftId, DistributorType distributorType, bytes data)
internal
Uptates the distributor type for the specified distributor.
BasicDistribution
import "@etherisc/gif-next/contracts/distribution/BasicDistribution.sol";
-
[
setFees(distributionFee, minDistributionOwnerFee)
] -
[
createDistributorType(name, minDiscountPercentage, maxDiscountPercentage, commissionPercentage, maxReferralCount, maxReferralLifetime, allowSelfReferrals, allowRenewals, data)
] -
[
createDistributor(distributor, distributorType, data)
] -
[
changeDistributorType(distributorNftId, distributorType, data)
] -
[
createReferral(distributorNftId, code, discountPercentage, maxReferrals, expiryAt, data)
] -
[
_initializeBasicDistribution(registry, instanceNftId, authorization, initialOwner, name)
]
-
[
processRenewal(referralId, feeAmount)
] -
[
withdrawCommission(distributorNftId, amount)
] -
[
getDiscountPercentage(referralCode)
] -
[
getReferralId(referralCode)
] -
[
calculateRenewalFeeAmount(, netPremiumAmount)
] -
[
isVerifying()
] -
[
__Distribution_init(registry, productNftId, authorization, isInterceptor, initialOwner, name)
] -
[
_setFees(distributionFee, minDistributionOwnerFee)
] -
[
_createDistributorType(name, minDiscountPercentage, maxDiscountPercentage, commissionPercentage, maxReferralCount, maxReferralLifetime, allowSelfReferrals, allowRenewals, data)
] -
[
_createDistributor(distributor, distributorType, data)
] -
[
_changeDistributorType(distributorNftId, distributorType, data)
] -
[
_createReferral(distributorNftId, code, discountPercentage, maxReferrals, expiryAt, data)
] -
[
_withdrawCommission(distributorNftId, amount)
]
-
[
getInstance()
] -
[
getAuthorization()
] -
[
withdrawFees(amount)
] -
[
_sendRequest(oracleNftId, requestData, expiryAt, callbackMethod)
] -
[
_cancelRequest(requestId)
] -
[
_resendResponse(requestId)
] -
[
__InstanceLinkedComponent_init(registry, parentNftId, name, componentType, authorization, isInterceptor, initialOwner)
] -
[
_checkAndGetInstanceNftId(registryAddress, parentNftId, componentType)
] -
[
_checkAndGetRegistry(registryAddress, objectNftId, requiredType)
] -
[
_setWallet(newWallet)
] -
[
_getComponentInfo()
] -
[
_getInstanceReader()
] -
[
_withdrawFees(amount)
]
-
[
__Component_init(authority, registry, parentNftId, name, componentType, isInterceptor, initialOwner, registryData)
] -
[
nftTransferFrom(from, to, tokenId, operator)
] -
[
getWallet()
] -
[
getTokenHandler()
] -
[
getToken()
] -
[
getName()
] -
[
getVersion()
] -
[
getComponentInfo()
] -
[
getInitialComponentInfo()
] -
[
isNftInterceptor()
] -
[
isRegistered()
] -
[
_approveTokenHandler(token, amount)
] -
[
_nftTransferFrom(from, to, tokenId, operator)
] -
[
_setLocked(locked)
] -
[
_getServiceAddress(domain)
]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)
] -
[
isActive()
] -
[
getRelease()
] -
[
getInitialInfo()
]
-
[
_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)
]
-
[
__AccessManaged_init(initialAuthority)
] -
[
__AccessManaged_init_unchained(initialAuthority)
] -
[
authority()
] -
[
setAuthority(newAuthority)
] -
[
isConsumingScheduledOp()
] -
[
_setAuthority(newAuthority)
] -
[
_checkCanCall(caller, data)
]
-
[
__Context_init()
] -
[
__Context_init_unchained()
] -
[
_msgSender()
] -
[
_msgData()
] -
[
_contextSuffixLength()
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
AuthorityUpdated(authority)
]
-
[
Initialized(version)
]
createDistributorType(string name, UFixed minDiscountPercentage, UFixed maxDiscountPercentage, UFixed commissionPercentage, uint32 maxReferralCount, Seconds maxReferralLifetime, bool allowSelfReferrals, bool allowRenewals, bytes data) → DistributorType distributorType
external
createDistributor(address distributor, DistributorType distributorType, bytes data) → NftId distributorNftId
external
BasicDistributionAuthorization
import "@etherisc/gif-next/contracts/distribution/BasicDistributionAuthorization.sol";
-
[
constructor(distributionName)
] -
[
_setupServiceTargets()
] -
[
_setupTokenHandlerAuthorizations()
] -
[
_setupTargetAuthorizations()
]
-
[
getTokenHandlerName()
] -
[
getTokenHandlerTarget()
] -
[
getTarget(targetName)
] -
[
getTargets()
] -
[
targetExists(target)
] -
[
_setupTargets()
] -
[
_setupRoles()
] -
[
_addCustomRole(roleId, adminRoleId, maxMemberCount, name)
] -
[
_addGifTarget(contractName)
] -
[
_addInstanceTarget(contractName)
] -
[
_addTarget(name)
] -
[
_toTargetRoleId(targetDomain)
] -
[
_toTargetRoleName(targetName)
]
-
[
getDomain()
] -
[
getRelease()
] -
[
getCommitHash()
] -
[
getMainTargetName()
] -
[
getMainTarget()
] -
[
getServiceDomains()
] -
[
getServiceDomain(idx)
] -
[
getServiceTarget(serviceDomain)
] -
[
getServiceRole(serviceDomain)
] -
[
getServiceAddress(serviceDomain)
] -
[
getTargetRole(target)
] -
[
roleExists(roleId)
] -
[
getRoles()
] -
[
getRoleInfo(roleId)
] -
[
getRoleName(roleId)
] -
[
getAuthorizedRoles(target)
] -
[
getAuthorizedFunctions(target, roleId)
] -
[
_setupDomains()
] -
[
_setupDomainAuthorizations()
] -
[
_authorizeServiceDomain(serviceDomain, serviceAddress)
] -
[
_addTargetWithRole(targetName, roleId, roleName)
] -
[
_addRole(roleId, info)
] -
[
_authorizeForService(serviceDomain, authorizedDomain)
] -
[
_authorizeForTarget(target, authorizedRoleId)
] -
[
_authorize(functions, selector, name)
]
-
[
__ERC165_init()
] -
[
_initializeERC165()
] -
[
_registerInterface(interfaceId)
] -
[
_registerInterfaceNotInitializing(interfaceId)
] -
[
supportsInterface(interfaceId)
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
Initialized(version)
]
_setupServiceTargets()
internal
Sets up the relevant service targets for the component. Overwrite this function for use case specific authorizations.
DistributionService
import "@etherisc/gif-next/contracts/distribution/DistributionService.sol";
-
[
_initialize(owner, data)
] -
[
createDistributorType(name, minDiscountPercentage, maxDiscountPercentage, commissionPercentage, maxReferralCount, maxReferralLifetime, allowSelfReferrals, allowRenewals, data)
] -
[
createDistributor(distributor, distributorType, data)
] -
[
changeDistributorType(distributorNftId, newDistributorType, data)
] -
[
createReferral(distributorNftId, code, discountPercentage, maxReferrals, expiryAt, data)
] -
[
processReferral(distributionNftId, referralId)
] -
[
processSale(distributionNftId, referralId, premium)
] -
[
withdrawCommission(distributorNftId, amount)
] -
[
referralIsValid(distributionNftId, referralId)
] -
[
getDiscountPercentage(instanceReader, referralId)
] -
[
_checkDistributionType(instanceReader, distributorType, expectedDistributionNftId)
] -
[
_getAndVerifyActiveDistribution()
] -
[
_getDomain()
]
-
[
__Service_init(authority, registry, initialOwner)
] -
[
getDomain()
] -
[
getVersion()
] -
[
getRoleId()
] -
[
_getServiceAddress(domain)
]
-
[
__ReentrancyGuard_init()
] -
[
__ReentrancyGuard_init_unchained()
] -
[
_reentrancyGuardEntered()
]
-
[
initializeVersionable(activatedBy, data)
] -
[
upgradeVersionable(data)
] -
[
_upgrade(data)
]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)
] -
[
isActive()
] -
[
getRelease()
] -
[
getInitialInfo()
]
-
[
_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)
]
-
[
__AccessManaged_init(initialAuthority)
] -
[
__AccessManaged_init_unchained(initialAuthority)
] -
[
authority()
] -
[
setAuthority(newAuthority)
] -
[
isConsumingScheduledOp()
] -
[
_setAuthority(newAuthority)
] -
[
_checkCanCall(caller, data)
]
-
[
__Context_init()
] -
[
__Context_init_unchained()
] -
[
_msgSender()
] -
[
_msgData()
] -
[
_contextSuffixLength()
]
-
[
_checkInitializing()
] -
[
_disableInitializers()
] -
[
_getInitializedVersion()
] -
[
_isInitializing()
]
-
[
LogDistributionServiceCommissionWithdrawn(distributorNftId, recipient, amount, tokenAddress)
] -
[
LogDistributionServiceDistributorTypeCreated(distributionNftId, distributorType, name, commissionPercentage)
] -
[
LogDistributionServiceDistributorCreated(distributionNftId, distributorNftId, distributor, distributorType)
] -
[
LogDistributionServiceDistributorTypeChanged(distributorNftId, oldDistributorType, newDistributorType)
] -
[
LogDistributionServiceReferralCreated(distributorNftId, referralId, code, discountPercentage, maxReferrals, expiryAt)
] -
[
LogDistributionServiceReferralProcessed(distributorNftId, referralId, usedReferrals)
] -
[
LogDistributionServiceSaleProcessed(distributionNftId, premium, distributionOwnerFee)
] -
[
LogDistributionServiceSaleProcessedWithReferral(distributionNftId, distributorNftId, referralId, numPoliciesSold, premium, distributionOwnerFee, commissionAmount)
]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)
]
-
[
AuthorityUpdated(authority)
]
-
[
Initialized(version)
]
createDistributorType(string name, UFixed minDiscountPercentage, UFixed maxDiscountPercentage, UFixed commissionPercentage, uint32 maxReferralCount, Seconds maxReferralLifetime, bool allowSelfReferrals, bool allowRenewals, bytes data) → DistributorType distributorType
external
createDistributor(address distributor, DistributorType distributorType, bytes data) → NftId distributorNftId
external
changeDistributorType(NftId distributorNftId, DistributorType newDistributorType, bytes data)
external
createReferral(NftId distributorNftId, string code, UFixed discountPercentage, uint32 maxReferrals, Timestamp expiryAt, bytes data) → ReferralId referralId
external
processReferral(NftId distributionNftId, ReferralId referralId)
external
callback from product service when a referral is used. Calling this will increment the referral usage counter.
processSale(NftId distributionNftId, ReferralId referralId, struct IPolicy.PremiumInfo premium)
external
callback from product service when selling a policy for a specific referralId
withdrawCommission(NftId distributorNftId, Amount amount) → Amount withdrawnAmount
public
Withdraw commission for the distributor
getDiscountPercentage(contract InstanceReader instanceReader, ReferralId referralId) → UFixed discountPercentage, ReferralStatus status
external
Returns the discount percentage for the provided referral code. The function retuns both the percentage and the status of the referral code.
DistributionServiceManager
import "@etherisc/gif-next/contracts/distribution/DistributionServiceManager.sol";
-
[
constructor(authority, registry, salt)
] -
[
getDistributionService()
]
-
[
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)
]