@etherisc/gif-next 0.0.2-b44ae3c-205 → 0.0.2-b4c471d-236
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 +21 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +155 -340
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -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 +152 -252
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +68 -65
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +37 -112
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +71 -72
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +188 -47
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +91 -124
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +518 -352
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +279 -98
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +126 -48
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1191 -388
- 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/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -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/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -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/oracle/Oracle.sol/Oracle.json +1063 -0
- 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/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +207 -137
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -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 +20 -52
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +150 -286
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +137 -136
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
- 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/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +298 -197
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -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 → product}/IApplicationService.sol/IApplicationService.json +21 -2
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IClaimService.sol/IClaimService.json +31 -2
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +95 -26
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPricingService.sol/IPricingService.json +41 -2
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +254 -149
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +14 -56
- 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 +1257 -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 +135 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +317 -52
- 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 +371 -43
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +374 -72
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -41
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +697 -97
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -140
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +106 -83
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -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} +22 -114
- 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/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +77 -82
- 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 +718 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
- 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 +996 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -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 -9
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -22
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -9
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -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/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -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 +2237 -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/type/AddressSet.sol/LibAddressSet.json +10 -0
- 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/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- 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/type/Key32.sol/Key32Lib.json +125 -0
- 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/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- 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/type/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -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/type/UFixed.sol/MathLib.json +10 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +149 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
- package/contracts/{components → distribution}/Distribution.sol +152 -154
- package/contracts/{instance/service → distribution}/DistributionService.sol +92 -138
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/distribution/IDistributionComponent.sol +48 -0
- package/contracts/{instance/service → distribution}/IDistributionService.sol +16 -18
- package/contracts/instance/BundleManager.sol +5 -5
- package/contracts/instance/IInstance.sol +38 -29
- package/contracts/instance/IInstanceService.sol +43 -24
- package/contracts/instance/Instance.sol +124 -99
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
- package/contracts/instance/InstanceReader.sol +95 -58
- package/contracts/instance/InstanceService.sol +264 -129
- package/contracts/instance/InstanceServiceManager.sol +11 -21
- package/contracts/instance/InstanceStore.sol +137 -73
- 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/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +13 -16
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +20 -9
- package/contracts/instance/module/IDistribution.sol +5 -5
- package/contracts/instance/module/IPolicy.sol +19 -12
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +157 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +49 -0
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +14 -26
- package/contracts/pool/IPoolComponent.sol +52 -0
- package/contracts/{instance/service → pool}/IPoolService.sol +57 -21
- package/contracts/pool/Pool.sol +311 -0
- 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/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +40 -0
- package/contracts/{instance/service → product}/ClaimService.sol +70 -65
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +9 -9
- package/contracts/{instance/service → product}/IClaimService.sol +23 -14
- package/contracts/{instance/service → product}/IPolicyService.sol +19 -21
- package/contracts/{instance/service → product}/IPricingService.sol +9 -7
- package/contracts/{components → product}/IProductComponent.sol +15 -17
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/{instance/service → product}/PricingService.sol +99 -74
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/{components → product}/Product.sol +142 -125
- 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 +41 -21
- package/contracts/registry/IRegistryService.sol +37 -34
- package/contracts/registry/Registry.sol +194 -83
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +71 -91
- package/contracts/registry/RegistryServiceManager.sol +21 -30
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseManager.sol +356 -193
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +581 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/{components → shared}/IComponent.sol +17 -37
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +10 -5
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +151 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +3 -14
- package/contracts/shared/PolicyHolder.sol +23 -15
- package/contracts/shared/ProxyManager.sol +34 -4
- package/contracts/shared/Registerable.sol +3 -3
- package/contracts/shared/Service.sol +32 -21
- package/contracts/shared/TokenHandler.sol +25 -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/StakingLifecycle.sol +23 -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 +615 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/{types → type}/Amount.sol +20 -1
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/Fee.sol +17 -16
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +275 -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 +174 -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}/UFixed.sol +6 -0
- package/contracts/{types → type}/Version.sol +1 -1
- package/package.json +6 -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/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 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
- 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 -918
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -648
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1288
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -696
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1384
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -752
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1556
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -780
- 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/IPricingService.sol/IPricingService.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 -1281
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -740
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1622
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -708
- package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +0 -1004
- package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +0 -688
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -864
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -640
- 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/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- 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 -370
- 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 -588
- 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/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -281
- 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/ClaimId.sol/ClaimIdLib.json +0 -179
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -312
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- 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/NftIdSet.sol/LibNftIdSet.json +0 -33
- 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/PayoutId.sol/PayoutIdLib.json +0 -209
- 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/RiskId.sol/RiskIdLib.json +0 -86
- 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/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -272
- package/contracts/components/IDistributionComponent.sol +0 -71
- package/contracts/components/IPoolComponent.sol +0 -114
- package/contracts/components/Pool.sol +0 -302
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -541
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
- package/contracts/instance/base/ComponentService.sol +0 -148
- package/contracts/instance/base/KeyValueStore.sol +0 -149
- package/contracts/instance/base/Lifecycle.sol +0 -120
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -186
- package/contracts/instance/service/BundleService.sol +0 -382
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -376
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -403
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/PricingServiceManager.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/AccessManagerUpgradeableInitializeable.sol +0 -13
- 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/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -161
- 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
@@ -1,45 +1,46 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
3
|
-
|
4
|
-
import {IRegistry} from "
|
5
|
-
import {IInstance} from "
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
|
11
|
-
import {
|
12
|
-
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {
|
18
|
-
import {
|
19
|
-
|
20
|
-
|
21
|
-
import {
|
22
|
-
|
23
|
-
|
24
|
-
import {
|
25
|
-
import {
|
26
|
-
import {
|
27
|
-
import {
|
28
|
-
import {
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
+
import {IInstance} from "../instance/IInstance.sol";
|
6
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
7
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
8
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
9
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
10
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
11
|
+
import {IPolicy} from "../instance/module/IPolicy.sol";
|
12
|
+
|
13
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
14
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
15
|
+
import {Fee, FeeLib} from "../type/Fee.sol";
|
16
|
+
import {KEEP_STATE} from "../type/StateId.sol";
|
17
|
+
import {ObjectType, COMPONENT, DISTRIBUTION, INSTANCE, DISTRIBUTION, DISTRIBUTOR, REGISTRY} from "../type/ObjectType.sol";
|
18
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
19
|
+
import {RoleId} from "../type/RoleId.sol";
|
20
|
+
|
21
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
22
|
+
import {Versionable} from "../shared/Versionable.sol";
|
23
|
+
|
24
|
+
import {IService} from "../shared/IService.sol";
|
25
|
+
import {Service} from "../shared/Service.sol";
|
26
|
+
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
27
|
+
import {InstanceService} from "../instance/InstanceService.sol";
|
28
|
+
import {IComponent} from "../shared/IComponent.sol";
|
29
|
+
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
29
30
|
import {IDistributionService} from "./IDistributionService.sol";
|
30
|
-
import {IPricingService} from "
|
31
|
+
import {IPricingService} from "../product/IPricingService.sol";
|
31
32
|
|
32
|
-
import {UFixed, UFixedLib} from "
|
33
|
-
import {DistributorType, DistributorTypeLib} from "
|
34
|
-
import {ReferralId, ReferralStatus, ReferralLib} from "
|
35
|
-
import {Timestamp, TimestampLib, zeroTimestamp} from "
|
36
|
-
import {Key32} from "
|
37
|
-
import {IDistribution} from "../module/IDistribution.sol";
|
38
|
-
import {InstanceStore} from "../InstanceStore.sol";
|
33
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
34
|
+
import {DistributorType, DistributorTypeLib} from "../type/DistributorType.sol";
|
35
|
+
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
36
|
+
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
37
|
+
import {Key32} from "../type/Key32.sol";
|
38
|
+
import {IDistribution} from "../instance/module/IDistribution.sol";
|
39
|
+
import {InstanceStore} from "../instance/InstanceStore.sol";
|
39
40
|
|
40
41
|
|
41
42
|
contract DistributionService is
|
42
|
-
|
43
|
+
ComponentVerifyingService,
|
43
44
|
IDistributionService
|
44
45
|
{
|
45
46
|
using NftIdLib for NftId;
|
@@ -48,7 +49,9 @@ contract DistributionService is
|
|
48
49
|
using FeeLib for Fee;
|
49
50
|
using ReferralLib for ReferralId;
|
50
51
|
|
51
|
-
|
52
|
+
IComponentService private _componentService;
|
53
|
+
IInstanceService private _instanceService;
|
54
|
+
IRegistryService private _registryService;
|
52
55
|
|
53
56
|
function _initialize(
|
54
57
|
address owner,
|
@@ -64,73 +67,14 @@ contract DistributionService is
|
|
64
67
|
// TODO while DistributionService is not deployed in DistributionServiceManager constructor
|
65
68
|
// owner is DistributionServiceManager deployer
|
66
69
|
initializeService(registryAddress, address(0), owner);
|
67
|
-
registerInterface(type(IDistributionService).interfaceId);
|
68
|
-
}
|
69
70
|
|
70
|
-
|
71
|
-
|
72
|
-
|
71
|
+
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
72
|
+
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
73
|
+
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
73
74
|
|
74
|
-
|
75
|
-
external
|
76
|
-
returns(NftId distributionNftId)
|
77
|
-
{
|
78
|
-
(
|
79
|
-
IComponent component,
|
80
|
-
address owner,
|
81
|
-
IInstance instance,
|
82
|
-
NftId instanceNftId
|
83
|
-
) = _checkComponentForRegistration(
|
84
|
-
distributionAddress,
|
85
|
-
DISTRIBUTION(),
|
86
|
-
DISTRIBUTION_OWNER_ROLE());
|
87
|
-
|
88
|
-
IRegistry.ObjectInfo memory distributionInfo = getRegistryService().registerDistribution(component, owner);
|
89
|
-
IDistributionComponent distribution = IDistributionComponent(distributionAddress);
|
90
|
-
distribution.linkToRegisteredNftId();
|
91
|
-
distributionNftId = distributionInfo.nftId;
|
92
|
-
|
93
|
-
instance.getInstanceStore().createDistributionSetup(distributionNftId, distribution.getSetupInfo());
|
94
|
-
// TODO move to distribution?
|
95
|
-
bytes4[][] memory selectors = new bytes4[][](2);
|
96
|
-
selectors[0] = new bytes4[](1);
|
97
|
-
selectors[1] = new bytes4[](2);
|
98
|
-
|
99
|
-
selectors[0][0] = IDistributionComponent.setFees.selector;
|
100
|
-
selectors[1][0] = IDistributionComponent.processRenewal.selector;
|
101
|
-
|
102
|
-
RoleId[] memory roles = new RoleId[](2);
|
103
|
-
roles[0] = DISTRIBUTION_OWNER_ROLE();
|
104
|
-
roles[1] = PRODUCT_SERVICE_ROLE();
|
105
|
-
|
106
|
-
getInstanceService().createGifTarget(
|
107
|
-
instanceNftId,
|
108
|
-
distributionAddress,
|
109
|
-
distribution.getName(),
|
110
|
-
selectors,
|
111
|
-
roles);
|
75
|
+
registerInterface(type(IDistributionService).interfaceId);
|
112
76
|
}
|
113
77
|
|
114
|
-
function setFees(
|
115
|
-
Fee memory minDistributionOwnerFee,
|
116
|
-
Fee memory distributionFee
|
117
|
-
)
|
118
|
-
external
|
119
|
-
override
|
120
|
-
{
|
121
|
-
if (minDistributionOwnerFee.fractionalFee > distributionFee.fractionalFee) {
|
122
|
-
revert ErrorIDistributionServiceMinFeeTooHigh(minDistributionOwnerFee.fractionalFee.toInt(), distributionFee.fractionalFee.toInt());
|
123
|
-
}
|
124
|
-
|
125
|
-
(NftId distributionNftId,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(DISTRIBUTION());
|
126
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
127
|
-
|
128
|
-
ISetup.DistributionSetupInfo memory distSetupInfo = instanceReader.getDistributionSetupInfo(distributionNftId);
|
129
|
-
distSetupInfo.minDistributionOwnerFee = minDistributionOwnerFee;
|
130
|
-
distSetupInfo.distributionFee = distributionFee;
|
131
|
-
|
132
|
-
instance.getInstanceStore().updateDistributionSetup(distributionNftId, distSetupInfo, KEEP_STATE());
|
133
|
-
}
|
134
78
|
|
135
79
|
function createDistributorType(
|
136
80
|
string memory name,
|
@@ -146,14 +90,23 @@ contract DistributionService is
|
|
146
90
|
external
|
147
91
|
returns (DistributorType distributorType)
|
148
92
|
{
|
149
|
-
(NftId distributionNftId,, IInstance instance) =
|
93
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
94
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
150
95
|
|
151
96
|
{
|
152
|
-
|
153
|
-
|
154
|
-
|
97
|
+
NftId productNftId = _getProductNftId(instanceReader, distributionNftId);
|
98
|
+
IComponents.ProductInfo memory productInfo = instance.getInstanceReader().getProductInfo(productNftId);
|
99
|
+
|
100
|
+
UFixed variableDistributionFees = productInfo.distributionFee.fractionalFee;
|
101
|
+
UFixed variableFeesPartsTotal = productInfo.minDistributionOwnerFee.fractionalFee + commissionPercentage;
|
102
|
+
|
103
|
+
if (variableFeesPartsTotal > variableDistributionFees) {
|
104
|
+
revert ErrorDistributionServiceVariableFeesTooHight(variableDistributionFees.toInt1000(), variableFeesPartsTotal.toInt1000());
|
105
|
+
}
|
106
|
+
UFixed maxDiscountPercentageLimit = variableDistributionFees - variableFeesPartsTotal;
|
107
|
+
|
155
108
|
if (maxDiscountPercentage.gt(maxDiscountPercentageLimit)) {
|
156
|
-
revert
|
109
|
+
revert ErrorDistributionServiceMaxDiscountTooHigh(maxDiscountPercentage.toInt1000(), maxDiscountPercentageLimit.toInt1000());
|
157
110
|
}
|
158
111
|
}
|
159
112
|
|
@@ -182,11 +135,11 @@ contract DistributionService is
|
|
182
135
|
virtual
|
183
136
|
returns (NftId distributorNftId)
|
184
137
|
{
|
185
|
-
(NftId distributionNftId,, IInstance instance) =
|
138
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
186
139
|
|
187
|
-
distributorNftId =
|
140
|
+
distributorNftId = _registryService.registerDistributor(
|
188
141
|
IRegistry.ObjectInfo(
|
189
|
-
|
142
|
+
NftIdLib.zero(),
|
190
143
|
distributionNftId,
|
191
144
|
DISTRIBUTOR(),
|
192
145
|
true, // intercepting property for bundles is defined on pool
|
@@ -234,7 +187,7 @@ contract DistributionService is
|
|
234
187
|
virtual
|
235
188
|
returns (ReferralId referralId)
|
236
189
|
{
|
237
|
-
(NftId distributionNftId,, IInstance instance) =
|
190
|
+
(NftId distributionNftId,, IInstance instance) = _getAndVerifyActiveComponent(DISTRIBUTION());
|
238
191
|
|
239
192
|
if (bytes(code).length == 0) {
|
240
193
|
revert ErrorIDistributionServiceInvalidReferral(code);
|
@@ -275,56 +228,53 @@ contract DistributionService is
|
|
275
228
|
return referralId;
|
276
229
|
}
|
277
230
|
|
231
|
+
|
278
232
|
function processSale(
|
279
233
|
NftId distributionNftId, // assume always of distribution type
|
280
234
|
ReferralId referralId,
|
281
|
-
IPolicy.Premium memory premium
|
282
|
-
Amount transferredDistributionFeeAmount
|
235
|
+
IPolicy.Premium memory premium
|
283
236
|
)
|
284
237
|
external
|
285
238
|
virtual
|
239
|
+
restricted
|
286
240
|
{
|
287
|
-
bool isReferral = ! referralId.eqz();
|
288
|
-
bool referralValid = referralIsValid(distributionNftId, referralId);
|
289
|
-
|
290
|
-
if (isReferral && ! referralValid) {
|
291
|
-
revert ErrorIDistributionServiceReferralInvalid(distributionNftId, referralId);
|
292
|
-
}
|
293
|
-
|
294
241
|
IInstance instance = _getInstanceForDistribution(distributionNftId);
|
295
242
|
InstanceReader reader = instance.getInstanceReader();
|
296
243
|
InstanceStore store = instance.getInstanceStore();
|
297
|
-
IDistribution.ReferralInfo memory referralInfo = reader.getReferralInfo(referralId);
|
298
|
-
IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
|
299
|
-
ISetup.DistributionSetupInfo memory setupInfo = reader.getDistributionSetupInfo(distributionNftId);
|
300
|
-
|
301
|
-
Amount distributionOwnerFee = AmountLib.toAmount(premium.distributionOwnerFeeFixAmount + premium.distributionOwnerFeeVarAmount);
|
302
|
-
Amount commissionAmount = AmountLib.toAmount(premium.commissionAmount);
|
303
244
|
|
304
|
-
|
305
|
-
|
306
|
-
}
|
245
|
+
// get distribution owner fee amount
|
246
|
+
Amount distributionOwnerFee = AmountLib.toAmount(premium.distributionOwnerFeeFixAmount + premium.distributionOwnerFeeVarAmount);
|
307
247
|
|
248
|
+
// update referral/distributor info if applicable
|
249
|
+
if (referralIsValid(distributionNftId, referralId)) {
|
308
250
|
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
}
|
251
|
+
// increase distribution balance by commission amount and distribution owner fee
|
252
|
+
Amount commissionAmount = AmountLib.toAmount(premium.commissionAmount);
|
253
|
+
_componentService.increaseDistributionBalance(store, distributionNftId, commissionAmount, distributionOwnerFee);
|
313
254
|
|
314
|
-
|
255
|
+
// update book keeping for referral info
|
256
|
+
IDistribution.ReferralInfo memory referralInfo = reader.getReferralInfo(referralId);
|
315
257
|
referralInfo.usedReferrals += 1;
|
316
258
|
store.updateReferral(referralId, referralInfo, KEEP_STATE());
|
317
259
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
260
|
+
// update book keeping for distributor info
|
261
|
+
IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
|
262
|
+
// TODO refactor sum of commission amount into a fee balance for distributors
|
263
|
+
distributorInfo.commissionAmount = distributorInfo.commissionAmount + commissionAmount;
|
264
|
+
distributorInfo.numPoliciesSold += 1;
|
265
|
+
store.updateDistributor(referralInfo.distributorNftId, distributorInfo, KEEP_STATE());
|
266
|
+
} else {
|
267
|
+
|
268
|
+
// increase distribution balance by distribution owner fee
|
269
|
+
_componentService.increaseDistributionBalance(store, distributionNftId, AmountLib.zero(), distributionOwnerFee);
|
323
270
|
}
|
324
271
|
}
|
325
272
|
|
326
|
-
// TODO: zero should return false
|
327
273
|
function referralIsValid(NftId distributionNftId, ReferralId referralId) public view returns (bool isValid) {
|
274
|
+
if (distributionNftId.eqz() || referralId.eqz()) {
|
275
|
+
return false;
|
276
|
+
}
|
277
|
+
|
328
278
|
IInstance instance = _getInstanceForDistribution(distributionNftId);
|
329
279
|
IDistribution.ReferralInfo memory info = instance.getInstanceReader().getReferralInfo(referralId);
|
330
280
|
|
@@ -345,4 +295,8 @@ contract DistributionService is
|
|
345
295
|
address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
|
346
296
|
return IInstance(instanceAddress);
|
347
297
|
}
|
298
|
+
|
299
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
300
|
+
return DISTRIBUTION();
|
301
|
+
}
|
348
302
|
}
|
@@ -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
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
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";
|
11
|
+
|
12
|
+
interface IDistributionComponent is IInstanceLinkedComponent {
|
13
|
+
|
14
|
+
error ErrorDistributionNotDistributor(address distributor);
|
15
|
+
error ErrorDistributionAlreadyDistributor(address distributor, NftId distributorNftId);
|
16
|
+
|
17
|
+
event LogDistributorUpdated(address to, address caller);
|
18
|
+
|
19
|
+
/// @dev Returns true iff the provided address is registered as a distributor with this distribution component.
|
20
|
+
function isDistributor(address candidate) external view returns (bool);
|
21
|
+
|
22
|
+
/// @dev Returns the distributor Nft Id for the provided address
|
23
|
+
function getDistributorNftId(address distributor) external view returns (NftId distributorNftId);
|
24
|
+
|
25
|
+
function getDiscountPercentage(
|
26
|
+
string memory referralCode
|
27
|
+
) external view returns (UFixed discountPercentage, ReferralStatus status);
|
28
|
+
|
29
|
+
function getReferralId(
|
30
|
+
string memory referralCode
|
31
|
+
) external returns (ReferralId referralId);
|
32
|
+
|
33
|
+
function calculateRenewalFeeAmount(
|
34
|
+
ReferralId referralId,
|
35
|
+
uint256 netPremiumAmount
|
36
|
+
) external view returns (uint256 feeAmount);
|
37
|
+
|
38
|
+
/// @dev Callback function to process a renewal of a policy.
|
39
|
+
/// The default implementation is empty.
|
40
|
+
/// Overwrite this function to implement a use case specific behaviour.
|
41
|
+
function processRenewal(
|
42
|
+
ReferralId referralId,
|
43
|
+
uint256 feeAmount
|
44
|
+
) external;
|
45
|
+
|
46
|
+
/// @dev Returns true to ensure component is called when transferring distributor Nft Ids.
|
47
|
+
function isVerifying() external view returns (bool verifying);
|
48
|
+
}
|
@@ -1,18 +1,19 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount} from "
|
5
|
-
import {NftId} from "
|
6
|
-
import {Fee} from "
|
7
|
-
import {IPolicy} from "../module/IPolicy.sol";
|
8
|
-
import {IService} from "
|
9
|
-
import {UFixed} from "
|
10
|
-
import {DistributorType} from "
|
11
|
-
import {ReferralId} from "
|
12
|
-
import {Timestamp} from "
|
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";
|
13
13
|
|
14
14
|
|
15
15
|
interface IDistributionService is IService {
|
16
|
+
|
16
17
|
error ErrorDistributionServiceCallerNotRegistered(address caller);
|
17
18
|
error ErrorIDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
|
18
19
|
error ErrorIDistributionServiceCallerNotDistributor(address caller);
|
@@ -25,15 +26,13 @@ interface IDistributionService is IService {
|
|
25
26
|
error ErrorIDistributionServiceExpirationInvalid(Timestamp expiryAt);
|
26
27
|
error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
|
27
28
|
error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
|
28
|
-
|
29
|
+
|
30
|
+
error ErrorDistributionServiceVariableFeesTooHight(uint256 maxDiscountPercentage, uint256 limit);
|
31
|
+
error ErrorDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
|
32
|
+
|
29
33
|
error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
|
30
34
|
error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
|
31
35
|
|
32
|
-
function setFees(
|
33
|
-
Fee memory minDistributionOwnerFee,
|
34
|
-
Fee memory distributionFee
|
35
|
-
) external;
|
36
|
-
|
37
36
|
function createDistributorType(
|
38
37
|
string memory name,
|
39
38
|
UFixed minDiscountPercentage,
|
@@ -76,8 +75,7 @@ interface IDistributionService is IService {
|
|
76
75
|
function processSale(
|
77
76
|
NftId distributionNftId,
|
78
77
|
ReferralId referralId,
|
79
|
-
IPolicy.Premium memory premium
|
80
|
-
Amount transferredDistributionFeeAmount
|
78
|
+
IPolicy.Premium memory premium
|
81
79
|
) external;
|
82
80
|
|
83
81
|
function referralIsValid(
|
@@ -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,38 +3,40 @@ 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
|
-
import {
|
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";
|
16
19
|
|
17
20
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
18
21
|
|
19
22
|
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
20
23
|
|
21
|
-
import {
|
24
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
22
25
|
import {BundleManager} from "./BundleManager.sol";
|
23
26
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
27
|
import {InstanceStore} from "./InstanceStore.sol";
|
25
28
|
|
26
|
-
import {IKeyValueStore} from "
|
29
|
+
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
27
30
|
|
28
31
|
import {IAccess} from "./module/IAccess.sol";
|
29
32
|
|
30
|
-
import {IBundleService} from "
|
31
|
-
import {IDistributionService} from "
|
32
|
-
import {IPolicyService} from "
|
33
|
-
import {IPoolService} from "
|
34
|
-
import {IProductService} from "
|
35
|
-
import {IPolicyService} from "
|
36
|
-
import {IBundleService} from "
|
37
|
-
|
33
|
+
import {IBundleService} from "../pool/IBundleService.sol";
|
34
|
+
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
35
|
+
import {IPolicyService} from "../product/IPolicyService.sol";
|
36
|
+
import {IPoolService} from "../pool/IPoolService.sol";
|
37
|
+
import {IProductService} from "../product/IProductService.sol";
|
38
|
+
import {IPolicyService} from "../product/IPolicyService.sol";
|
39
|
+
import {IBundleService} from "../pool/IBundleService.sol";
|
38
40
|
|
39
41
|
|
40
42
|
interface IInstance is
|
@@ -42,9 +44,9 @@ interface IInstance is
|
|
42
44
|
ITransferInterceptor,
|
43
45
|
IAccessManaged
|
44
46
|
{
|
45
|
-
error
|
46
|
-
error
|
47
|
-
error
|
47
|
+
error ErrorInstanceInstanceAdminZero();
|
48
|
+
error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
|
49
|
+
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
48
50
|
|
49
51
|
error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
|
50
52
|
error ErrorInstanceBundleManagerInstanceMismatch(address instance);
|
@@ -55,6 +57,10 @@ interface IInstance is
|
|
55
57
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
56
58
|
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
57
59
|
|
60
|
+
struct InstanceInfo {
|
61
|
+
uint64 requestsCount;
|
62
|
+
}
|
63
|
+
|
58
64
|
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
59
65
|
function grantRole(RoleId roleId, address account) external;
|
60
66
|
function revokeRole(RoleId roleId, address account) external;
|
@@ -63,15 +69,18 @@ interface IInstance is
|
|
63
69
|
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
64
70
|
function setTargetLocked(address target, bool locked) external;
|
65
71
|
|
66
|
-
function
|
67
|
-
function
|
68
|
-
function
|
69
|
-
|
70
|
-
|
72
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
73
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
74
|
+
function refillStakingRewardReserves(Amount dipAmount) external;
|
75
|
+
|
76
|
+
/// @dev Defunds the staking reward reserves for the specified target.
|
77
|
+
/// Permissioned: only the target owner may call this function.
|
78
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
71
79
|
|
80
|
+
// get instance release and supporting contracts
|
72
81
|
function getMajorVersion() external pure returns (VersionPart majorVersion);
|
73
82
|
function getInstanceReader() external view returns (InstanceReader);
|
74
83
|
function getBundleManager() external view returns (BundleManager);
|
75
|
-
function
|
84
|
+
function getInstanceAdmin() external view returns (InstanceAdmin);
|
76
85
|
function getInstanceStore() external view returns (InstanceStore);
|
77
86
|
}
|