Accounting

Contains contracts related to accounting and financial operations.

Contracts

AccountingService

import "@etherisc/gif-next/contracts/accounting/AccountingService.sol";
Functions
  • [_initialize(owner, data)]

  • [decreaseComponentFees(instanceStore, componentNftId, feeAmount)]

  • [increaseProductFees(instanceStore, productNftId, feeAmount)]

  • [increaseProductFeesForPool(instanceStore, productNftId, feeAmount)]

  • [decreaseProductFees(instanceStore, productNftId, feeAmount)]

  • [increaseDistributionBalance(instanceStore, distributionNftId, amount, feeAmount)]

  • [decreaseDistributionBalance(instanceStore, distributionNftId, amount, feeAmount)]

  • [increaseDistributorBalance(instanceStore, distributorNftId, amount, feeAmount)]

  • [decreaseDistributorBalance(instanceStore, distributorNftId, amount, feeAmount)]

  • [increasePoolBalance(instanceStore, poolNftId, amount, feeAmount)]

  • [decreasePoolBalance(instanceStore, poolNftId, amount, feeAmount)]

  • [increaseBundleBalance(instanceStore, bundleNftId, amount, feeAmount)]

  • [decreaseBundleBalance(instanceStore, bundleNftId, amount, feeAmount)]

  • [increaseBundleBalanceForPool(instanceStore, bundleNftId, amount, feeAmount)]

  • [decreaseBundleBalanceForPool(instanceStore, bundleNftId, amount, feeAmount)]

  • [_changeTargetBalance(increase, instanceStore, targetNftId, amount, feeAmount)]

  • [_logUpdateFee(productNftId, name, feeBefore, feeAfter)]

  • [_getDomain()]

Service
  • [__Service_init(authority, registry, initialOwner)]

  • [getDomain()]

  • [getVersion()]

  • [getRoleId()]

  • [_getServiceAddress(domain)]

ReentrancyGuardUpgradeable
  • [__ReentrancyGuard_init()]

  • [__ReentrancyGuard_init_unchained()]

  • [_reentrancyGuardEntered()]

Versionable
  • [initializeVersionable(activatedBy, data)]

  • [upgradeVersionable(data)]

  • [_upgrade(data)]

Registerable
  • [__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)]

  • [isActive()]

  • [getRelease()]

  • [getInitialInfo()]

NftOwnable
  • [_checkNftType(nftId, expectedObjectType)]

  • [__NftOwnable_init(registry, initialOwner)]

  • [linkToRegisteredNftId()]

  • [getNftId()]

  • [getOwner()]

  • [_linkToNftOwnable(nftOwnableAddress)]

RegistryLinked
  • [__RegistryLinked_init(registry)]

  • [getRegistry()]

InitializableERC165
  • [__ERC165_init()]

  • [_initializeERC165()]

  • [_registerInterface(interfaceId)]

  • [_registerInterfaceNotInitializing(interfaceId)]

  • [supportsInterface(interfaceId)]

AccessManagedUpgradeable
  • [__AccessManaged_init(initialAuthority)]

  • [__AccessManaged_init_unchained(initialAuthority)]

  • [authority()]

  • [setAuthority(newAuthority)]

  • [isConsumingScheduledOp()]

  • [_setAuthority(newAuthority)]

  • [_checkCanCall(caller, data)]

ContextUpgradeable
  • [__Context_init()]

  • [__Context_init_unchained()]

  • [_msgSender()]

  • [_msgData()]

  • [_contextSuffixLength()]

Initializable
  • [_checkInitializing()]

  • [_disableInitializers()]

  • [_getInitializedVersion()]

  • [_isInitializing()]

Events
IAccountingService
  • [LogComponentServiceUpdateFee(nftId, feeName, previousFractionalFee, previousFixedFee, newFractionalFee, newFixedFee)]

INftOwnable
  • [LogNftOwnableNftLinkedToAddress(nftId, owner)]

IAccessManaged
  • [AuthorityUpdated(authority)]

Initializable
  • [Initialized(version)]

_initialize(address owner, bytes data) internal

decreaseComponentFees(contract InstanceStore instanceStore, NftId componentNftId, Amount feeAmount) external

increaseProductFees(contract InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external

increaseProductFeesForPool(contract InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external

decreaseProductFees(contract InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external

increaseDistributionBalance(contract InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external

decreaseDistributionBalance(contract InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external

increaseDistributorBalance(contract InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external

decreaseDistributorBalance(contract InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external

increasePoolBalance(contract InstanceStore instanceStore, NftId poolNftId, Amount amount, Amount feeAmount) public

decreasePoolBalance(contract InstanceStore instanceStore, NftId poolNftId, Amount amount, Amount feeAmount) public

increaseBundleBalance(contract InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external

decreaseBundleBalance(contract InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external

increaseBundleBalanceForPool(contract InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external

decreaseBundleBalanceForPool(contract InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external

_changeTargetBalance(bool increase, contract InstanceStore instanceStore, NftId targetNftId, Amount amount, Amount feeAmount) internal

_logUpdateFee(NftId productNftId, string name, struct Fee feeBefore, struct Fee feeAfter) internal

_getDomain() → ObjectType internal

AccountingServiceManager

import "@etherisc/gif-next/contracts/accounting/AccountingServiceManager.sol";
Functions
  • [constructor(authority, registry, salt)]

  • [getAccountingService()]

ProxyManager
  • [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)]

NftOwnable
  • [_checkNftType(nftId, expectedObjectType)]

  • [__NftOwnable_init(registry, initialOwner)]

  • [linkToRegisteredNftId()]

  • [getNftId()]

  • [getOwner()]

  • [_linkToNftOwnable(nftOwnableAddress)]

RegistryLinked
  • [__RegistryLinked_init(registry)]

  • [getRegistry()]

InitializableERC165
  • [__ERC165_init()]

  • [_initializeERC165()]

  • [_registerInterface(interfaceId)]

  • [_registerInterfaceNotInitializing(interfaceId)]

  • [supportsInterface(interfaceId)]

Initializable
  • [_checkInitializing()]

  • [_disableInitializers()]

  • [_getInitializedVersion()]

  • [_isInitializing()]

Events
ProxyManager
  • [LogProxyManagerVersionableDeployed(proxy, initialImplementation)]

  • [LogProxyManagerVersionableUpgraded(proxy, upgradedImplementation)]

INftOwnable
  • [LogNftOwnableNftLinkedToAddress(nftId, owner)]

Initializable
  • [Initialized(version)]

constructor(address authority, address registry, bytes32 salt) public

initializes proxy manager with service implementation

getAccountingService() → contract AccountingService external