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()
]
-
[
LogDistributorUpdated(to, operator)
]
-
[
LogComponentWalletAddressChanged(oldWallet, newWallet)
] -
[
LogComponentWalletTokensTransferred(from, to, amount)
] -
[
LogComponentTokenHandlerApproved(tokenHandler, token, limit, isMaxAmount)
]
-
[
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.
isVerifying() → bool verifying
external
Returns true to ensure component is called when transferring distributor Nft Ids.
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, tokenAddress, amount)
] -
[
LogDistributionServiceDistributorTypeCreated(distributionNftId, name)
] -
[
LogDistributionServiceDistributorCreated(distributionNftId, distributorNftId, distributorType, distributor)
] -
[
LogDistributionServiceDistributorTypeChanged(distributorNftId, oldDistributorType, newDistributorType)
] -
[
LogDistributionServiceReferralCreated(distributionNftId, distributorNftId, referralId, code)
] -
[
LogDistributionServiceReferralProcessed(distributionNftId, distributorNftId, referralId, usedReferrals)
] -
[
LogDistributionServiceSaleProcessed(distributionNftId, referralId)
]
-
[
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 distributorNftId, address recipient, address tokenAddress, Amount amount)
event
LogDistributionServiceDistributorCreated(NftId distributionNftId, NftId distributorNftId, DistributorType distributorType, address distributor)
event
LogDistributionServiceDistributorTypeChanged(NftId distributorNftId, DistributorType oldDistributorType, DistributorType newDistributorType)
event
LogDistributionServiceReferralCreated(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, string code)
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)
] -
[
_resendRequest(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()
]
-
[
LogDistributorUpdated(to, operator)
]
-
[
LogComponentWalletAddressChanged(oldWallet, newWallet)
] -
[
LogComponentWalletTokensTransferred(from, to, amount)
] -
[
LogComponentTokenHandlerApproved(tokenHandler, token, limit, isMaxAmount)
]
-
[
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)
] -
[
_resendRequest(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()
]
-
[
LogDistributorUpdated(to, operator)
]
-
[
LogComponentWalletAddressChanged(oldWallet, newWallet)
] -
[
LogComponentWalletTokensTransferred(from, to, amount)
] -
[
LogComponentTokenHandlerApproved(tokenHandler, token, limit, isMaxAmount)
]
-
[
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, tokenAddress, amount)
] -
[
LogDistributionServiceDistributorTypeCreated(distributionNftId, name)
] -
[
LogDistributionServiceDistributorCreated(distributionNftId, distributorNftId, distributorType, distributor)
] -
[
LogDistributionServiceDistributorTypeChanged(distributorNftId, oldDistributorType, newDistributorType)
] -
[
LogDistributionServiceReferralCreated(distributionNftId, distributorNftId, referralId, code)
] -
[
LogDistributionServiceReferralProcessed(distributionNftId, distributorNftId, referralId, usedReferrals)
] -
[
LogDistributionServiceSaleProcessed(distributionNftId, referralId)
]
-
[
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)
]