interface IOWOfferingDistribution {
function addDistribution(
uint256 _collectionId,
uint256 _operatorRate,
uint256 _associatorRate,
uint256 _creatorRate,
uint256 _DAORate
) external;
function distributeCurrency(
uint256 _collectionId,
uint256 _offeringId,
uint256 _balance,
address _token
) external;
function distributeKLAY(uint256 _collectionId, uint256 _offeringId)
external
payable;
function setDistributionCollection(
uint256 _distributionId,
uint256 _collectionId
) external;
function setDistributionRate(
uint256 _distributionId,
uint256 _operatorRate,
uint256 _associatorRate,
uint256 _creatorRate,
uint256 _DAORate
) external;
function setDistributionActive(uint256 _distributionId, bool _isActive)
external;
function isExistDistributionById(uint256 _distributionId)
external
view
returns (bool);
function getDistributionIdByCollectionId(uint256 _collectionId)
external
view
returns (uint256);
function getActiveDistributionIdByCollectionId(uint256 _collectionId)
external
view
returns (uint256);
function getDistributionById(uint256 _distributionId)
external
view
returns (OfferingDistributionBase.OfferingDistribution memory);
function getDistributionByCollectionId(uint256 _collectionId)
external
view
returns (OfferingDistributionBase.OfferingDistribution memory);
function getDistributions()
external
view
returns (OfferingDistributionBase.OfferingDistribution[] memory);
function setProviderRate(uint256 _providerRate) external;
function getDenominator() external view returns (uint256);
function getProviderRate() external view returns (uint256);
}