@etherisc/gif-next 0.0.2-f2df3e2-873 → 0.0.2-f347f00-614
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +238 -167
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +117 -111
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +49 -312
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +36 -105
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +225 -2171
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -41
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +378 -2689
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +643 -345
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +262 -182
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -105
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3598 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +65 -48
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +290 -56
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +124 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +415 -43
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1896 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +762 -103
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +166 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +182 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1554 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1184 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/{components → distribution}/Distribution.sol +41 -64
- package/contracts/distribution/DistributionService.sol +297 -0
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
- package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
- package/contracts/instance/BundleManager.sol +5 -5
- package/contracts/instance/IInstance.sol +51 -66
- package/contracts/instance/IInstanceService.sol +51 -22
- package/contracts/instance/Instance.sol +137 -184
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
- package/contracts/instance/InstanceReader.sol +130 -55
- package/contracts/instance/InstanceService.sol +258 -297
- package/contracts/instance/InstanceServiceManager.sol +11 -21
- package/contracts/instance/InstanceStore.sol +269 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +21 -10
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +22 -15
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +33 -23
- package/contracts/{components → pool}/IPoolComponent.sol +16 -17
- package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
- package/contracts/{components → pool}/Pool.sol +52 -55
- package/contracts/pool/PoolService.sol +452 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/product/ClaimService.sol +442 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/product/IPolicyService.sol +78 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +42 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/{components → product}/Product.sol +89 -83
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +44 -21
- package/contracts/registry/IRegistryService.sol +37 -36
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/Registry.sol +192 -83
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +71 -87
- package/contracts/registry/RegistryServiceManager.sol +21 -30
- package/contracts/registry/ReleaseManager.sol +394 -197
- package/contracts/registry/ServiceAuthorization.sol +83 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/AccessAdmin.sol +750 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +617 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +162 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/{components → shared}/IComponent.sol +23 -29
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +29 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +11 -2
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +144 -0
- package/contracts/shared/KeyValueStore.sol +127 -0
- package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +3 -16
- package/contracts/shared/PolicyHolder.sol +40 -19
- package/contracts/shared/ProxyManager.sol +34 -4
- package/contracts/shared/Registerable.sol +13 -12
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +32 -21
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +153 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +513 -0
- package/contracts/staking/StakingManager.sol +54 -0
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +128 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/Fee.sol +24 -22
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +241 -0
- package/contracts/{types → type}/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +201 -0
- package/contracts/{types → type}/Seconds.sol +27 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +27 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +6 -2
- package/contracts/{types → type}/Version.sol +1 -1
- package/package.json +3 -3
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1266
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1511
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -185
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -355
- package/contracts/instance/service/BundleService.sol +0 -436
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -239
- package/contracts/instance/service/DistributionService.sol +0 -431
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IClaimService.sol +0 -92
- package/contracts/instance/service/IPolicyService.sol +0 -137
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -541
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/Amount.sol +0 -65
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -97
- /package/contracts/{types → type}/ClaimId.sol +0 -0
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/PayoutId.sol +0 -0
- /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -0,0 +1,297 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
+
import {IInstance} from "../instance/IInstance.sol";
|
6
|
+
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
7
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
8
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
9
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
10
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
11
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
12
|
+
import {IPolicy} from "../instance/module/IPolicy.sol";
|
13
|
+
|
14
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
15
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
16
|
+
import {Fee, FeeLib} from "../type/Fee.sol";
|
17
|
+
import {PRODUCT_SERVICE_ROLE, DISTRIBUTION_OWNER_ROLE} from "../type/RoleId.sol";
|
18
|
+
import {KEEP_STATE} from "../type/StateId.sol";
|
19
|
+
import {ObjectType, COMPONENT, DISTRIBUTION, INSTANCE, DISTRIBUTION, DISTRIBUTOR, REGISTRY} from "../type/ObjectType.sol";
|
20
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
21
|
+
import {RoleId} from "../type/RoleId.sol";
|
22
|
+
|
23
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
24
|
+
import {Versionable} from "../shared/Versionable.sol";
|
25
|
+
|
26
|
+
import {IService} from "../shared/IService.sol";
|
27
|
+
import {Service} from "../shared/Service.sol";
|
28
|
+
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
29
|
+
import {InstanceService} from "../instance/InstanceService.sol";
|
30
|
+
import {IComponent} from "../shared/IComponent.sol";
|
31
|
+
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
32
|
+
import {IDistributionService} from "./IDistributionService.sol";
|
33
|
+
import {IPricingService} from "../product/IPricingService.sol";
|
34
|
+
|
35
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
36
|
+
import {DistributorType, DistributorTypeLib} from "../type/DistributorType.sol";
|
37
|
+
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
38
|
+
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
39
|
+
import {Key32} from "../type/Key32.sol";
|
40
|
+
import {IDistribution} from "../instance/module/IDistribution.sol";
|
41
|
+
import {InstanceStore} from "../instance/InstanceStore.sol";
|
42
|
+
|
43
|
+
|
44
|
+
contract DistributionService is
|
45
|
+
ComponentVerifyingService,
|
46
|
+
IDistributionService
|
47
|
+
{
|
48
|
+
using NftIdLib for NftId;
|
49
|
+
using TimestampLib for Timestamp;
|
50
|
+
using UFixedLib for UFixed;
|
51
|
+
using FeeLib for Fee;
|
52
|
+
using ReferralLib for ReferralId;
|
53
|
+
|
54
|
+
IComponentService private _componentService;
|
55
|
+
IInstanceService private _instanceService;
|
56
|
+
IRegistryService private _registryService;
|
57
|
+
|
58
|
+
function _initialize(
|
59
|
+
address owner,
|
60
|
+
bytes memory data
|
61
|
+
)
|
62
|
+
internal
|
63
|
+
initializer
|
64
|
+
virtual override
|
65
|
+
{
|
66
|
+
address initialOwner;
|
67
|
+
address registryAddress;
|
68
|
+
(registryAddress, initialOwner) = abi.decode(data, (address, address));
|
69
|
+
// TODO while DistributionService is not deployed in DistributionServiceManager constructor
|
70
|
+
// owner is DistributionServiceManager deployer
|
71
|
+
initializeService(registryAddress, address(0), owner);
|
72
|
+
|
73
|
+
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
74
|
+
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
75
|
+
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
76
|
+
|
77
|
+
registerInterface(type(IDistributionService).interfaceId);
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
function createDistributorType(
|
82
|
+
string memory name,
|
83
|
+
UFixed minDiscountPercentage,
|
84
|
+
UFixed maxDiscountPercentage,
|
85
|
+
UFixed commissionPercentage,
|
86
|
+
uint32 maxReferralCount,
|
87
|
+
uint32 maxReferralLifetime,
|
88
|
+
bool allowSelfReferrals,
|
89
|
+
bool allowRenewals,
|
90
|
+
bytes memory data
|
91
|
+
)
|
92
|
+
external
|
93
|
+
returns (DistributorType distributorType)
|
94
|
+
{
|
95
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
96
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
97
|
+
|
98
|
+
{
|
99
|
+
NftId productNftId = _getProductNftId(instanceReader, distributionNftId);
|
100
|
+
IComponents.ProductInfo memory productInfo = instance.getInstanceReader().getProductInfo(productNftId);
|
101
|
+
UFixed variableFeesPartsTotal = productInfo.minDistributionOwnerFee.fractionalFee.add(commissionPercentage);
|
102
|
+
UFixed maxDiscountPercentageLimit = productInfo.distributionFee.fractionalFee.sub(variableFeesPartsTotal);
|
103
|
+
if (maxDiscountPercentage.gt(maxDiscountPercentageLimit)) {
|
104
|
+
revert ErrorIDistributionServiceMaxDiscountTooHigh(maxDiscountPercentage.toInt(), maxDiscountPercentageLimit.toInt());
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
distributorType = DistributorTypeLib.toDistributorType(distributionNftId, name);
|
109
|
+
IDistribution.DistributorTypeInfo memory info = IDistribution.DistributorTypeInfo(
|
110
|
+
name,
|
111
|
+
minDiscountPercentage,
|
112
|
+
maxDiscountPercentage,
|
113
|
+
commissionPercentage,
|
114
|
+
maxReferralCount,
|
115
|
+
maxReferralLifetime,
|
116
|
+
allowSelfReferrals,
|
117
|
+
allowRenewals,
|
118
|
+
data);
|
119
|
+
|
120
|
+
instance.getInstanceStore().createDistributorType(distributorType, info);
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
function createDistributor(
|
125
|
+
address distributor,
|
126
|
+
DistributorType distributorType,
|
127
|
+
bytes memory data
|
128
|
+
)
|
129
|
+
external
|
130
|
+
virtual
|
131
|
+
returns (NftId distributorNftId)
|
132
|
+
{
|
133
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
134
|
+
|
135
|
+
distributorNftId = _registryService.registerDistributor(
|
136
|
+
IRegistry.ObjectInfo(
|
137
|
+
NftIdLib.zero(),
|
138
|
+
distributionNftId,
|
139
|
+
DISTRIBUTOR(),
|
140
|
+
true, // intercepting property for bundles is defined on pool
|
141
|
+
address(0),
|
142
|
+
distributor,
|
143
|
+
""
|
144
|
+
));
|
145
|
+
|
146
|
+
IDistribution.DistributorInfo memory info = IDistribution.DistributorInfo(
|
147
|
+
distributorType,
|
148
|
+
true, // active
|
149
|
+
data,
|
150
|
+
AmountLib.zero(),
|
151
|
+
0);
|
152
|
+
|
153
|
+
instance.getInstanceStore().createDistributor(distributorNftId, info);
|
154
|
+
}
|
155
|
+
|
156
|
+
// function updateDistributorType(
|
157
|
+
// NftId distributorNftId,
|
158
|
+
// DistributorType distributorType,
|
159
|
+
// bytes memory data
|
160
|
+
// )
|
161
|
+
// external
|
162
|
+
// virtual
|
163
|
+
// {
|
164
|
+
// (, IInstance instance) = _getAndVerifyCallingDistribution();
|
165
|
+
// InstanceReader instanceReader = instance.getInstanceReader();
|
166
|
+
// IDistribution.DistributorInfo memory distributorInfo = instanceReader.getDistributorInfo(distributorNftId);
|
167
|
+
// distributorInfo.distributorType = distributorType;
|
168
|
+
// distributorInfo.data = data;
|
169
|
+
// instance.updateDistributor(distributorNftId, distributorInfo, KEEP_STATE());
|
170
|
+
// }
|
171
|
+
|
172
|
+
|
173
|
+
function createReferral(
|
174
|
+
NftId distributorNftId,
|
175
|
+
string memory code,
|
176
|
+
UFixed discountPercentage,
|
177
|
+
uint32 maxReferrals,
|
178
|
+
Timestamp expiryAt,
|
179
|
+
bytes memory data
|
180
|
+
)
|
181
|
+
external
|
182
|
+
virtual
|
183
|
+
returns (ReferralId referralId)
|
184
|
+
{
|
185
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
186
|
+
|
187
|
+
if (bytes(code).length == 0) {
|
188
|
+
revert ErrorIDistributionServiceInvalidReferral(code);
|
189
|
+
}
|
190
|
+
if (expiryAt.eqz()) {
|
191
|
+
revert ErrorIDistributionServiceExpirationInvalid(expiryAt);
|
192
|
+
}
|
193
|
+
|
194
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
195
|
+
DistributorType distributorType = instanceReader.getDistributorInfo(distributorNftId).distributorType;
|
196
|
+
IDistribution.DistributorTypeInfo memory distributorTypeData = instanceReader.getDistributorTypeInfo(distributorType);
|
197
|
+
|
198
|
+
if (distributorTypeData.maxReferralCount < maxReferrals) {
|
199
|
+
revert ErrorIDistributionServiceMaxReferralsExceeded(distributorTypeData.maxReferralCount);
|
200
|
+
}
|
201
|
+
if (distributorTypeData.minDiscountPercentage > discountPercentage) {
|
202
|
+
revert ErrorIDistributionServiceDiscountTooLow(distributorTypeData.minDiscountPercentage.toInt(), discountPercentage.toInt());
|
203
|
+
}
|
204
|
+
if (distributorTypeData.maxDiscountPercentage < discountPercentage) {
|
205
|
+
revert ErrorIDistributionServiceDiscountTooHigh(distributorTypeData.maxDiscountPercentage.toInt(), discountPercentage.toInt());
|
206
|
+
}
|
207
|
+
if (expiryAt.toInt() - TimestampLib.blockTimestamp().toInt() > distributorTypeData.maxReferralLifetime) {
|
208
|
+
revert ErrorIDistributionServiceExpiryTooLong(distributorTypeData.maxReferralLifetime, expiryAt.toInt());
|
209
|
+
}
|
210
|
+
|
211
|
+
referralId = ReferralLib.toReferralId(distributionNftId, code);
|
212
|
+
IDistribution.ReferralInfo memory info = IDistribution.ReferralInfo(
|
213
|
+
distributorNftId,
|
214
|
+
code,
|
215
|
+
discountPercentage,
|
216
|
+
maxReferrals,
|
217
|
+
0, // used referrals
|
218
|
+
expiryAt,
|
219
|
+
data
|
220
|
+
);
|
221
|
+
|
222
|
+
instance.getInstanceStore().createReferral(referralId, info);
|
223
|
+
return referralId;
|
224
|
+
}
|
225
|
+
|
226
|
+
|
227
|
+
function processSale(
|
228
|
+
NftId distributionNftId, // assume always of distribution type
|
229
|
+
ReferralId referralId,
|
230
|
+
IPolicy.Premium memory premium
|
231
|
+
)
|
232
|
+
external
|
233
|
+
virtual
|
234
|
+
restricted
|
235
|
+
{
|
236
|
+
IInstance instance = _getInstanceForDistribution(distributionNftId);
|
237
|
+
InstanceReader reader = instance.getInstanceReader();
|
238
|
+
InstanceStore store = instance.getInstanceStore();
|
239
|
+
|
240
|
+
// get distribution owner fee amount
|
241
|
+
Amount distributionOwnerFee = AmountLib.toAmount(premium.distributionOwnerFeeFixAmount + premium.distributionOwnerFeeVarAmount);
|
242
|
+
|
243
|
+
// update referral/distributor info if applicable
|
244
|
+
if (referralIsValid(distributionNftId, referralId)) {
|
245
|
+
|
246
|
+
// increase distribution balance by commission amount and distribution owner fee
|
247
|
+
Amount commissionAmount = AmountLib.toAmount(premium.commissionAmount);
|
248
|
+
_componentService.increaseDistributionBalance(store, distributionNftId, commissionAmount, distributionOwnerFee);
|
249
|
+
|
250
|
+
// update book keeping for referral info
|
251
|
+
IDistribution.ReferralInfo memory referralInfo = reader.getReferralInfo(referralId);
|
252
|
+
referralInfo.usedReferrals += 1;
|
253
|
+
store.updateReferral(referralId, referralInfo, KEEP_STATE());
|
254
|
+
|
255
|
+
// update book keeping for distributor info
|
256
|
+
IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
|
257
|
+
// TODO refactor sum of commission amount into a fee balance for distributors
|
258
|
+
distributorInfo.commissionAmount = distributorInfo.commissionAmount + commissionAmount;
|
259
|
+
distributorInfo.numPoliciesSold += 1;
|
260
|
+
store.updateDistributor(referralInfo.distributorNftId, distributorInfo, KEEP_STATE());
|
261
|
+
} else {
|
262
|
+
|
263
|
+
// increase distribution balance by distribution owner fee
|
264
|
+
_componentService.increaseDistributionBalance(store, distributionNftId, AmountLib.zero(), distributionOwnerFee);
|
265
|
+
}
|
266
|
+
}
|
267
|
+
|
268
|
+
function referralIsValid(NftId distributionNftId, ReferralId referralId) public view returns (bool isValid) {
|
269
|
+
if (distributionNftId.eqz() || referralId.eqz()) {
|
270
|
+
return false;
|
271
|
+
}
|
272
|
+
|
273
|
+
IInstance instance = _getInstanceForDistribution(distributionNftId);
|
274
|
+
IDistribution.ReferralInfo memory info = instance.getInstanceReader().getReferralInfo(referralId);
|
275
|
+
|
276
|
+
if (info.distributorNftId.eqz()) {
|
277
|
+
return false;
|
278
|
+
}
|
279
|
+
|
280
|
+
isValid = info.expiryAt.eqz() || (info.expiryAt.gtz() && TimestampLib.blockTimestamp() <= info.expiryAt);
|
281
|
+
isValid = isValid && info.usedReferrals < info.maxReferrals;
|
282
|
+
}
|
283
|
+
|
284
|
+
function _getInstanceForDistribution(NftId distributionNftId)
|
285
|
+
internal
|
286
|
+
view
|
287
|
+
returns(IInstance instance)
|
288
|
+
{
|
289
|
+
NftId instanceNftId = getRegistry().getObjectInfo(distributionNftId).parentNftId;
|
290
|
+
address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
|
291
|
+
return IInstance(instanceAddress);
|
292
|
+
}
|
293
|
+
|
294
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
295
|
+
return DISTRIBUTION();
|
296
|
+
}
|
297
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../shared/ProxyManager.sol";
|
6
|
+
import {DistributionService} from "./DistributionService.sol";
|
7
|
+
import {Registry} from "../registry/Registry.sol";
|
8
|
+
import {RegistryService} from "../registry/RegistryService.sol";
|
9
|
+
import {REGISTRY} from "../type/ObjectType.sol";
|
10
|
+
|
11
|
+
contract DistributionServiceManager is ProxyManager {
|
12
|
+
|
13
|
+
DistributionService private _distributionService;
|
14
|
+
|
15
|
+
/// @dev initializes proxy manager with distribution service implementation and deploys instance
|
16
|
+
constructor(
|
17
|
+
address authority,
|
18
|
+
address registryAddress,
|
19
|
+
bytes32 salt
|
20
|
+
)
|
21
|
+
ProxyManager(registryAddress)
|
22
|
+
{
|
23
|
+
DistributionService distSrv = new DistributionService{salt: salt}();
|
24
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
25
|
+
IVersionable versionable = deployDetermenistic(
|
26
|
+
address(distSrv),
|
27
|
+
data,
|
28
|
+
salt);
|
29
|
+
|
30
|
+
_distributionService = DistributionService(address(versionable));
|
31
|
+
}
|
32
|
+
|
33
|
+
//--- view functions ----------------------------------------------------//
|
34
|
+
function getDistributionService()
|
35
|
+
external
|
36
|
+
view
|
37
|
+
returns (DistributionService distributionService)
|
38
|
+
{
|
39
|
+
return _distributionService;
|
40
|
+
}
|
41
|
+
|
42
|
+
}
|
@@ -1,24 +1,21 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Fee} from "../
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {Timestamp} from "../types/Timestamp.sol";
|
4
|
+
import {Fee} from "../type/Fee.sol";
|
5
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
|
+
import {ReferralId, ReferralStatus} from "../type/Referral.sol";
|
7
|
+
import {NftId} from "../type/NftId.sol";
|
8
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
9
|
+
import {UFixed} from "../type/UFixed.sol";
|
10
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
12
11
|
|
13
|
-
interface IDistributionComponent is
|
12
|
+
interface IDistributionComponent is IInstanceLinkedComponent {
|
14
13
|
|
15
14
|
event LogDistributorUpdated(address to, address caller);
|
16
15
|
|
17
|
-
function getSetupInfo() external view returns (ISetup.DistributionSetupInfo memory setupInfo);
|
18
|
-
|
19
16
|
function setFees(
|
20
|
-
Fee memory
|
21
|
-
Fee memory
|
17
|
+
Fee memory distributionFee,
|
18
|
+
Fee memory minDistributionOwnerFee
|
22
19
|
) external;
|
23
20
|
|
24
21
|
function createDistributorType(
|
@@ -60,8 +57,6 @@ interface IDistributionComponent is IComponent {
|
|
60
57
|
string memory referralCode
|
61
58
|
) external view returns (UFixed discountPercentage, ReferralStatus status);
|
62
59
|
|
63
|
-
function getDistributionFee() external view returns (Fee memory distibutionFee);
|
64
|
-
|
65
60
|
function getReferralId(
|
66
61
|
string memory referralCode
|
67
62
|
) external returns (ReferralId referralId);
|
@@ -1,14 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {
|
4
|
+
import {Amount} from "../type/Amount.sol";
|
5
|
+
import {NftId} from "../type/NftId.sol";
|
6
|
+
import {Fee} from "../type/Fee.sol";
|
7
|
+
import {IPolicy} from "../instance/module/IPolicy.sol";
|
8
|
+
import {IService} from "../shared/IService.sol";
|
9
|
+
import {UFixed} from "../type/UFixed.sol";
|
10
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
11
|
+
import {ReferralId} from "../type/Referral.sol";
|
12
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
12
13
|
|
13
14
|
|
14
15
|
interface IDistributionService is IService {
|
@@ -25,22 +26,9 @@ interface IDistributionService is IService {
|
|
25
26
|
error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
|
26
27
|
error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
|
27
28
|
error ErrorIDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
|
28
|
-
error ErrorIDistributionServiceFeeCalculationMismatch(
|
29
|
-
uint256 distributionFeeFixAmount,
|
30
|
-
uint256 distributionFeeVarAmount,
|
31
|
-
uint256 distributionOwnerFeeFixAmount,
|
32
|
-
uint256 distributionOwnerFeeVarAmount,
|
33
|
-
uint256 commissionAmount,
|
34
|
-
uint256 discountAmount
|
35
|
-
);
|
36
29
|
error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
|
37
|
-
error
|
30
|
+
error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
|
38
31
|
|
39
|
-
function setFees(
|
40
|
-
Fee memory minDistributionOwnerFee,
|
41
|
-
Fee memory distributionFee
|
42
|
-
) external;
|
43
|
-
|
44
32
|
function createDistributorType(
|
45
33
|
string memory name,
|
46
34
|
UFixed minDiscountPercentage,
|
@@ -61,11 +49,12 @@ interface IDistributionService is IService {
|
|
61
49
|
bytes memory data
|
62
50
|
) external returns (NftId distributorNftId);
|
63
51
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
52
|
+
// TODO re-enable and reorganize (service contract too large)
|
53
|
+
// function updateDistributorType(
|
54
|
+
// NftId distributorNftId,
|
55
|
+
// DistributorType distributorType,
|
56
|
+
// bytes memory data
|
57
|
+
// ) external;
|
69
58
|
|
70
59
|
function createReferral(
|
71
60
|
NftId distributorNftId,
|
@@ -80,20 +69,13 @@ interface IDistributionService is IService {
|
|
80
69
|
|
81
70
|
/// @dev callback from product service when selling a policy for a specific referralId
|
82
71
|
function processSale(
|
83
|
-
NftId distributionNftId,
|
84
|
-
ReferralId referralId,
|
85
|
-
IPolicy.Premium memory premium,
|
86
|
-
uint256 transferredDistributionFeeAmount
|
87
|
-
) external;
|
88
|
-
|
89
|
-
function calculateFeeAmount(
|
90
72
|
NftId distributionNftId,
|
91
73
|
ReferralId referralId,
|
92
74
|
IPolicy.Premium memory premium
|
93
|
-
) external
|
75
|
+
) external;
|
94
76
|
|
95
77
|
function referralIsValid(
|
96
78
|
NftId distributorNftId,
|
97
79
|
ReferralId referralId
|
98
80
|
) external view returns (bool isValid);
|
99
|
-
}
|
81
|
+
}
|
@@ -2,15 +2,15 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IInstance} from "./IInstance.sol";
|
5
|
-
import {INSTANCE} from "../
|
5
|
+
import {INSTANCE} from "../type/ObjectType.sol";
|
6
6
|
import {InstanceReader} from "./InstanceReader.sol";
|
7
7
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
8
8
|
import {IRegistry} from "../registry/IRegistry.sol";
|
9
|
-
import {LibNftIdSet} from "../
|
10
|
-
import {NftId} from "../
|
11
|
-
import {TimestampLib} from "../
|
9
|
+
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
10
|
+
import {NftId} from "../type/NftId.sol";
|
11
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
12
12
|
|
13
|
-
import {ObjectManager} from "./ObjectManager.sol";
|
13
|
+
import {ObjectManager} from "./base/ObjectManager.sol";
|
14
14
|
|
15
15
|
contract BundleManager is
|
16
16
|
ObjectManager
|
@@ -3,44 +3,51 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {ClaimId} from "../type/ClaimId.sol";
|
8
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
9
|
+
import {PayoutId} from "../type/PayoutId.sol";
|
10
|
+
import {NftId} from "../type/NftId.sol";
|
11
|
+
import {StateId} from "../type/StateId.sol";
|
12
|
+
import {ReferralId} from "../type/Referral.sol";
|
13
|
+
import {RiskId} from "../type/RiskId.sol";
|
14
|
+
import {VersionPart} from "../type/Version.sol";
|
15
|
+
import {Key32} from "../type/Key32.sol";
|
16
|
+
import {RoleId} from "../type/RoleId.sol";
|
17
|
+
import {Seconds} from "../type/Seconds.sol";
|
18
|
+
import {UFixed} from "../type/UFixed.sol";
|
19
|
+
|
20
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
16
21
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
17
22
|
|
18
23
|
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
19
24
|
|
20
|
-
import {
|
25
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
21
26
|
import {BundleManager} from "./BundleManager.sol";
|
22
27
|
import {InstanceReader} from "./InstanceReader.sol";
|
28
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
29
|
+
|
30
|
+
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
31
|
|
24
|
-
import {
|
25
|
-
import {IBundleService} from "./service/IBundleService.sol";
|
26
|
-
import {IComponents} from "./module/IComponents.sol";
|
27
|
-
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
28
|
-
import {IKeyValueStore} from "./base/IKeyValueStore.sol";
|
29
|
-
import {IPolicy} from "./module/IPolicy.sol";
|
30
|
-
import {IDistribution} from "./module/IDistribution.sol";
|
31
|
-
import {IRisk} from "./module/IRisk.sol";
|
32
|
-
import {ISetup} from "./module/ISetup.sol";
|
32
|
+
import {IAccess} from "./module/IAccess.sol";
|
33
33
|
|
34
|
+
import {IBundleService} from "../pool/IBundleService.sol";
|
35
|
+
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
36
|
+
import {IPolicyService} from "../product/IPolicyService.sol";
|
37
|
+
import {IPoolService} from "../pool/IPoolService.sol";
|
38
|
+
import {IProductService} from "../product/IProductService.sol";
|
39
|
+
import {IPolicyService} from "../product/IPolicyService.sol";
|
40
|
+
import {IBundleService} from "../pool/IBundleService.sol";
|
34
41
|
|
35
42
|
|
36
43
|
interface IInstance is
|
37
44
|
IRegisterable,
|
38
45
|
ITransferInterceptor,
|
39
|
-
IAccessManaged
|
40
|
-
IKeyValueStore
|
46
|
+
IAccessManaged
|
41
47
|
{
|
42
|
-
error
|
43
|
-
error
|
48
|
+
error ErrorInstanceInstanceAdminZero();
|
49
|
+
error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
|
50
|
+
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
44
51
|
|
45
52
|
error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
|
46
53
|
error ErrorInstanceBundleManagerInstanceMismatch(address instance);
|
@@ -48,55 +55,33 @@ interface IInstance is
|
|
48
55
|
|
49
56
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
50
57
|
|
51
|
-
|
52
|
-
|
53
|
-
function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
|
54
|
-
|
55
|
-
function createPoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info) external;
|
56
|
-
function updatePoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info, StateId newState) external;
|
57
|
-
function updatePoolSetupState(NftId poolNftId, StateId newState) external;
|
58
|
-
|
59
|
-
function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
|
60
|
-
function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
|
61
|
-
function updateBundleState(NftId bundleNftId, StateId newState) external;
|
62
|
-
|
63
|
-
function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
|
64
|
-
function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
|
65
|
-
function updateProductSetupState(NftId productNftId, StateId newState) external;
|
66
|
-
|
67
|
-
function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external;
|
68
|
-
function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external;
|
69
|
-
function updateDistributorTypeState(DistributorType distributorType, StateId newState) external;
|
70
|
-
|
71
|
-
function createDistributor(NftId nftId, IDistribution.DistributorInfo memory info) external;
|
72
|
-
function updateDistributor(NftId nftId, IDistribution.DistributorInfo memory info, StateId newState) external;
|
73
|
-
function updateDistributorState(NftId nftId, StateId newState) external;
|
74
|
-
|
75
|
-
function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external;
|
76
|
-
function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external;
|
77
|
-
function updateReferralState(ReferralId referralId, StateId newState) external;
|
58
|
+
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
59
|
+
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
78
60
|
|
79
|
-
|
80
|
-
|
81
|
-
|
61
|
+
struct InstanceInfo {
|
62
|
+
uint64 requestsCount;
|
63
|
+
}
|
82
64
|
|
83
|
-
function
|
84
|
-
function
|
85
|
-
function
|
65
|
+
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
66
|
+
function grantRole(RoleId roleId, address account) external;
|
67
|
+
function revokeRole(RoleId roleId, address account) external;
|
86
68
|
|
87
|
-
function
|
88
|
-
function
|
69
|
+
function createTarget(address target, string memory name) external;
|
70
|
+
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
71
|
+
function setTargetLocked(address target, bool locked) external;
|
89
72
|
|
90
|
-
function
|
91
|
-
function
|
92
|
-
function
|
73
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
74
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
75
|
+
function refillStakingRewardReserves(Amount dipAmount) external;
|
93
76
|
|
94
|
-
|
95
|
-
|
96
|
-
function
|
77
|
+
/// @dev defunds the staking reward reserves for the specified target
|
78
|
+
/// permissioned: only the target owner may call this function
|
79
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
97
80
|
|
98
81
|
function getMajorVersion() external pure returns (VersionPart majorVersion);
|
99
82
|
function getInstanceReader() external view returns (InstanceReader);
|
100
83
|
function getBundleManager() external view returns (BundleManager);
|
101
|
-
function
|
84
|
+
function getInstanceAdmin() external view returns (InstanceAdmin);
|
85
|
+
function getInstanceStore() external view returns (InstanceStore);
|
86
|
+
function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable);
|
102
87
|
}
|