@etherisc/gif-next 0.0.2-e802d97-251 → 0.0.2-e81f152-917
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 +49 -4
- 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/authorization/IAccess.sol/IAccess.json +10 -0
- 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 +1500 -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 +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -292
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +248 -95
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +81 -57
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +91 -149
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +116 -16
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +64 -84
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -45
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +78 -146
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1208 -290
- 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 +132 -140
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +215 -108
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +49 -49
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +90 -263
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- 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/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- 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 +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1137 -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 +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +43 -26
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +40 -157
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +66 -29
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +44 -32
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1406 -0
- 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 +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +424 -63
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +115 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +218 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -278
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +171 -54
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -417
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +252 -95
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +58 -38
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +67 -49
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +42 -42
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1254 -0
- 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 +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +122 -69
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +64 -52
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +18 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +29 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +201 -108
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +32 -68
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +294 -164
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +69 -41
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +97 -63
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +57 -49
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +32 -217
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +54 -25
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +38 -30
- 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 +50 -46
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -183
- 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 +101 -73
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1506 -167
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +50 -13
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -25
- 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/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- 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 +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -64
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +347 -85
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +108 -60
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +13 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -26
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +166 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +32 -26
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -5
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -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 +13 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +32 -117
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -89
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
- 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 +13 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -26
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +49 -7
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +52 -109
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +114 -146
- 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 +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +78 -58
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +92 -73
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +39 -47
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +201 -148
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +27 -22
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +136 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- 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 +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -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 +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +144 -110
- package/contracts/distribution/DistributionService.sol +60 -36
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +15 -1
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +16 -12
- package/contracts/instance/IInstanceService.sol +34 -23
- package/contracts/instance/Instance.sol +106 -88
- package/contracts/instance/InstanceAdmin.sol +221 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +34 -16
- package/contracts/instance/InstanceService.sol +189 -84
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +16 -20
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectLifecycle.sol +105 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/Oracle.sol +72 -51
- package/contracts/oracle/OracleService.sol +5 -4
- package/contracts/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +199 -59
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +33 -5
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +14 -17
- package/contracts/pool/Pool.sol +166 -137
- package/contracts/pool/PoolService.sol +158 -93
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +54 -58
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +18 -44
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +1 -0
- package/contracts/product/IPolicyService.sol +23 -17
- package/contracts/product/IProductComponent.sol +7 -9
- package/contracts/product/IProductService.sol +1 -0
- package/contracts/product/PolicyService.sol +247 -136
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +9 -6
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +128 -92
- package/contracts/product/ProductService.sol +12 -37
- package/contracts/product/ProductServiceManager.sol +2 -5
- package/contracts/registry/IRegistry.sol +26 -16
- package/contracts/registry/IRegistryService.sol +6 -6
- package/contracts/registry/Registry.sol +85 -85
- package/contracts/registry/RegistryAdmin.sol +292 -155
- package/contracts/registry/RegistryService.sol +9 -23
- package/contracts/registry/RegistryServiceManager.sol +2 -7
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +24 -37
- package/contracts/shared/ComponentService.sol +99 -76
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IComponent.sol +4 -4
- package/contracts/shared/IComponentService.sol +15 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -0
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +47 -19
- package/contracts/shared/KeyValueStore.sol +6 -2
- package/contracts/shared/Lifecycle.sol +16 -69
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +2 -2
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/Service.sol +27 -22
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/staking/IStaking.sol +1 -2
- package/contracts/staking/IStakingService.sol +22 -11
- package/contracts/staking/StakeManagerLib.sol +52 -25
- package/contracts/staking/Staking.sol +77 -132
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +12 -16
- package/contracts/staking/StakingService.sol +66 -65
- package/contracts/staking/StakingServiceManager.sol +2 -3
- package/contracts/staking/StakingStore.sol +93 -60
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ObjectType.sol +167 -64
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RoleId.sol +103 -75
- package/contracts/type/Seconds.sol +13 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +6 -3
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/registry/ReleaseManager.sol +0 -600
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -470
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,26 +1,21 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
7
|
import {Product} from "./Product.sol";
|
6
8
|
import {IComponents} from "../instance/module/IComponents.sol";
|
7
|
-
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
8
9
|
import {IInstance} from "../instance/IInstance.sol";
|
9
10
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
10
|
-
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
11
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
12
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
13
11
|
|
14
12
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
15
13
|
|
16
14
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
17
|
-
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
18
15
|
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
19
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
20
16
|
import {ObjectType, APPLICATION, COMPONENT, DISTRIBUTION, PRODUCT, POOL, POLICY, BUNDLE, CLAIM, PRICE} from "../type/ObjectType.sol";
|
21
|
-
import {APPLIED, COLLATERALIZED,
|
17
|
+
import {APPLIED, COLLATERALIZED, KEEP_STATE, CLOSED, DECLINED} from "../type/StateId.sol";
|
22
18
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
23
|
-
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
24
19
|
import {ReferralId} from "../type/Referral.sol";
|
25
20
|
import {StateId} from "../type/StateId.sol";
|
26
21
|
import {VersionPart} from "../type/Version.sol";
|
@@ -36,8 +31,6 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
36
31
|
import {IPolicyService} from "./IPolicyService.sol";
|
37
32
|
import {IPoolService} from "../pool/IPoolService.sol";
|
38
33
|
import {IPricingService} from "./IPricingService.sol";
|
39
|
-
import {IService} from "../shared/IService.sol";
|
40
|
-
import {Service} from "../shared/Service.sol";
|
41
34
|
|
42
35
|
contract PolicyService is
|
43
36
|
ComponentVerifyingService,
|
@@ -85,31 +78,41 @@ contract PolicyService is
|
|
85
78
|
}
|
86
79
|
|
87
80
|
|
88
|
-
function getDomain() public pure override returns(ObjectType) {
|
89
|
-
return POLICY();
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
|
-
function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
|
94
|
-
IRegistry.ObjectInfo memory productInfo;
|
95
|
-
(, productInfo,) = _getAndVerifyActiveComponent(PRODUCT());
|
96
|
-
product = Product(productInfo.objectAddress);
|
97
|
-
}
|
98
|
-
|
99
|
-
|
100
81
|
function decline(
|
101
|
-
NftId policyNftId
|
82
|
+
NftId applicationNftId // = policyNftId
|
102
83
|
)
|
103
84
|
external
|
104
|
-
override
|
85
|
+
virtual override
|
105
86
|
{
|
106
|
-
|
87
|
+
(NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
88
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
89
|
+
|
90
|
+
// check policy is in state applied
|
91
|
+
if (instanceReader.getPolicyState(applicationNftId) != APPLIED()) {
|
92
|
+
revert ErrorPolicyServicePolicyStateNotApplied(applicationNftId);
|
93
|
+
}
|
94
|
+
|
95
|
+
// check policy matches with calling product
|
96
|
+
IPolicy.PolicyInfo memory applicationInfo = instanceReader.getPolicyInfo(applicationNftId);
|
97
|
+
if(applicationInfo.productNftId != productNftId) {
|
98
|
+
revert ErrorPolicyServicePolicyProductMismatch(
|
99
|
+
applicationNftId,
|
100
|
+
applicationInfo.productNftId,
|
101
|
+
productNftId);
|
102
|
+
}
|
103
|
+
|
104
|
+
|
105
|
+
// store updated policy info
|
106
|
+
instance.getInstanceStore().updatePolicyState(
|
107
|
+
applicationNftId,
|
108
|
+
DECLINED());
|
109
|
+
|
110
|
+
emit LogPolicyServicePolicyDeclined(applicationNftId);
|
107
111
|
}
|
108
112
|
|
109
|
-
event LogDebug(uint idx, string message);
|
110
113
|
|
111
|
-
/// @
|
112
|
-
function
|
114
|
+
/// @inheritdoc IPolicyService
|
115
|
+
function createPolicy(
|
113
116
|
NftId applicationNftId, // = policyNftId
|
114
117
|
bool requirePremiumPayment,
|
115
118
|
Timestamp activateAt
|
@@ -151,19 +154,20 @@ contract PolicyService is
|
|
151
154
|
|
152
155
|
// optional activation of policy
|
153
156
|
if(activateAt > zeroTimestamp()) {
|
154
|
-
newPolicyState = ACTIVE();
|
155
157
|
applicationInfo.activatedAt = activateAt;
|
156
158
|
applicationInfo.expiredAt = activateAt.addSeconds(applicationInfo.lifetime);
|
157
159
|
}
|
158
160
|
|
159
|
-
|
161
|
+
IPolicy.Premium memory premium;
|
162
|
+
|
163
|
+
// optional: calculate the premium and update counters for collection at the end of this function
|
160
164
|
if(requirePremiumPayment) {
|
161
|
-
|
165
|
+
premium = _calculateAndProcessPremium(
|
162
166
|
instance,
|
163
167
|
applicationNftId,
|
164
168
|
applicationInfo);
|
165
169
|
|
166
|
-
applicationInfo.premiumPaidAmount =
|
170
|
+
applicationInfo.premiumPaidAmount = AmountLib.toAmount(premium.premiumAmount);
|
167
171
|
}
|
168
172
|
|
169
173
|
// store updated policy info
|
@@ -175,9 +179,17 @@ contract PolicyService is
|
|
175
179
|
// TODO add calling pool contract if it needs to validate application
|
176
180
|
|
177
181
|
// TODO: add logging
|
182
|
+
|
183
|
+
// optional: transfer funds for premium
|
184
|
+
if(requirePremiumPayment) {
|
185
|
+
_transferFunds(instanceReader, applicationNftId, applicationInfo.productNftId, premium);
|
186
|
+
}
|
187
|
+
|
188
|
+
// TODO: add callback IPolicyHolder.policyActivated() if applicable
|
178
189
|
}
|
179
190
|
|
180
191
|
|
192
|
+
/// @inheritdoc IPolicyService
|
181
193
|
function collectPremium(
|
182
194
|
NftId policyNftId,
|
183
195
|
Timestamp activateAt
|
@@ -191,8 +203,8 @@ contract PolicyService is
|
|
191
203
|
StateId stateId = instanceReader.getPolicyState(policyNftId);
|
192
204
|
|
193
205
|
// check policy is in state collateralized or active
|
194
|
-
if (!(stateId == COLLATERALIZED()
|
195
|
-
revert
|
206
|
+
if (!(stateId == COLLATERALIZED())) {
|
207
|
+
revert ErrorPolicyServicePolicyStateNotCollateralized(policyNftId);
|
196
208
|
}
|
197
209
|
|
198
210
|
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
@@ -202,50 +214,99 @@ contract PolicyService is
|
|
202
214
|
revert ErrorPolicyServicePremiumAlreadyPaid(policyNftId, policyInfo.premiumPaidAmount);
|
203
215
|
}
|
204
216
|
|
205
|
-
|
217
|
+
// calculate premium
|
218
|
+
IPolicy.Premium memory premium = _calculateAndProcessPremium(
|
206
219
|
instance,
|
207
220
|
policyNftId,
|
208
221
|
policyInfo);
|
209
222
|
|
210
|
-
|
223
|
+
policyInfo.premiumPaidAmount = AmountLib.toAmount(premium.premiumAmount);
|
211
224
|
|
212
|
-
|
213
|
-
|
225
|
+
// optionally activate policy
|
226
|
+
if(activateAt.gtz()) {
|
227
|
+
policyInfo = _activate(policyNftId, policyInfo, activateAt);
|
214
228
|
}
|
215
229
|
|
230
|
+
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
231
|
+
|
216
232
|
// TODO: add logging
|
233
|
+
|
234
|
+
_transferFunds(instanceReader, policyNftId, policyInfo.productNftId, premium);
|
235
|
+
|
236
|
+
// TODO: add callback IPolicyHolder.policyActivated() if applicable
|
217
237
|
}
|
218
238
|
|
239
|
+
/// @inheritdoc IPolicyService
|
219
240
|
function activate(NftId policyNftId, Timestamp activateAt) public override {
|
220
241
|
// check caller is registered product
|
221
242
|
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
222
243
|
InstanceReader instanceReader = instance.getInstanceReader();
|
223
244
|
|
224
245
|
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
246
|
+
policyInfo = _activate(policyNftId, policyInfo, activateAt);
|
225
247
|
|
226
|
-
|
227
|
-
policyInfo.activatedAt.eqz(),
|
228
|
-
"ERROR:PRS-020:ALREADY_ACTIVATED");
|
229
|
-
|
230
|
-
policyInfo.activatedAt = activateAt;
|
231
|
-
policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
|
232
|
-
|
233
|
-
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, ACTIVE());
|
248
|
+
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
234
249
|
|
235
250
|
// TODO: add logging
|
251
|
+
|
252
|
+
// TODO: add callback IPolicyHolder.policyActivated() if applicable
|
236
253
|
}
|
237
254
|
|
238
255
|
|
256
|
+
/// @inheritdoc IPolicyService
|
239
257
|
function expire(
|
240
|
-
NftId policyNftId
|
258
|
+
NftId policyNftId,
|
259
|
+
Timestamp expireAt
|
241
260
|
)
|
242
261
|
external
|
243
262
|
override
|
244
|
-
|
263
|
+
virtual
|
264
|
+
returns (Timestamp expiredAt)
|
245
265
|
{
|
246
|
-
|
266
|
+
(NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
267
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
268
|
+
|
269
|
+
// check policy matches with calling product
|
270
|
+
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
271
|
+
if(policyInfo.productNftId != productNftId) {
|
272
|
+
revert ErrorPolicyServicePolicyProductMismatch(
|
273
|
+
policyNftId,
|
274
|
+
policyInfo.productNftId,
|
275
|
+
productNftId);
|
276
|
+
}
|
277
|
+
|
278
|
+
// check policy is active
|
279
|
+
StateId policyState = instanceReader.getPolicyState(policyNftId);
|
280
|
+
if (!_policyHasBeenActivated(policyState, policyInfo)) {
|
281
|
+
revert ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
282
|
+
}
|
283
|
+
|
284
|
+
// set return value to provided timestamp
|
285
|
+
expiredAt = expireAt;
|
286
|
+
|
287
|
+
// update expiredAt to current block timestamp if not set
|
288
|
+
if (expiredAt.eqz()) {
|
289
|
+
expiredAt = TimestampLib.blockTimestamp();
|
290
|
+
}
|
291
|
+
|
292
|
+
// check expiredAt represents a valid expiry time
|
293
|
+
if (expiredAt >= policyInfo.expiredAt) {
|
294
|
+
revert ErrorPolicyServicePolicyExpirationTooLate(policyNftId, policyInfo.expiredAt, expireAt);
|
295
|
+
}
|
296
|
+
if (expiredAt < TimestampLib.blockTimestamp()) {
|
297
|
+
revert ErrorPolicyServicePolicyExpirationTooEarly(policyNftId, TimestampLib.blockTimestamp(), expireAt);
|
298
|
+
}
|
299
|
+
|
300
|
+
// update policyInfo with new expiredAt timestamp
|
301
|
+
policyInfo.expiredAt = expiredAt;
|
302
|
+
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
303
|
+
|
304
|
+
emit LogPolicyServicePolicyExpirationUpdated(policyNftId, expiredAt);
|
305
|
+
|
306
|
+
// TODO: add callback IPolicyHolder.policyExpired() if applicable
|
247
307
|
}
|
248
308
|
|
309
|
+
|
249
310
|
function close(
|
250
311
|
NftId policyNftId
|
251
312
|
)
|
@@ -255,43 +316,48 @@ contract PolicyService is
|
|
255
316
|
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
256
317
|
InstanceReader instanceReader = instance.getInstanceReader();
|
257
318
|
|
319
|
+
// check that policy has been activated
|
258
320
|
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
259
|
-
|
260
|
-
if (policyInfo
|
261
|
-
revert
|
321
|
+
StateId policyState = instanceReader.getPolicyState(policyNftId);
|
322
|
+
if (!_policyHasBeenActivated(policyState, policyInfo)) {
|
323
|
+
revert ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
262
324
|
}
|
263
325
|
|
264
|
-
|
265
|
-
if (
|
266
|
-
revert
|
326
|
+
// check that policy has not already been closed
|
327
|
+
if (policyInfo.closedAt.gtz()) {
|
328
|
+
revert ErrorPolicyServicePolicyAlreadyClosed(policyNftId);
|
267
329
|
}
|
268
330
|
|
269
|
-
|
270
|
-
|
331
|
+
// check that policy does not have any open claims
|
332
|
+
if (policyInfo.openClaimsCount > 0) {
|
333
|
+
revert ErrorPolicyServiceOpenClaims(policyNftId, policyInfo.openClaimsCount);
|
271
334
|
}
|
272
335
|
|
273
336
|
// TODO consider to allow for underpaid premiums (with the effects of reducing max payouts accordingly)
|
337
|
+
// TODO consider to remove requirement for fully paid premiums altogether
|
274
338
|
if (!(policyInfo.premiumAmount == policyInfo.premiumPaidAmount)) {
|
275
339
|
revert ErrorPolicyServicePremiumNotFullyPaid(policyNftId, policyInfo.premiumAmount, policyInfo.premiumPaidAmount);
|
276
340
|
}
|
277
341
|
|
278
|
-
|
279
|
-
revert ErrorIPolicyServiceOpenClaims(policyNftId, policyInfo.openClaimsCount);
|
280
|
-
}
|
281
|
-
|
282
|
-
policyInfo.closedAt = TimestampLib.blockTimestamp();
|
283
|
-
|
342
|
+
// release (remaining) collateral that was blocked by policy
|
284
343
|
_poolService.releaseCollateral(
|
285
344
|
instance,
|
286
345
|
address(instanceReader.getComponentInfo(policyInfo.productNftId).token),
|
287
346
|
policyNftId,
|
288
347
|
policyInfo);
|
289
348
|
|
349
|
+
// TODO consider to also set expiredAt to current block timestamp if that timestamp is still in the futue
|
350
|
+
|
351
|
+
// update policy state to closed
|
352
|
+
policyInfo.closedAt = TimestampLib.blockTimestamp();
|
290
353
|
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, CLOSED());
|
354
|
+
|
355
|
+
// TODO add logging
|
291
356
|
}
|
292
357
|
|
293
358
|
|
294
|
-
|
359
|
+
/// @dev calculates the premium and updates all counters in the other services
|
360
|
+
function _calculateAndProcessPremium(
|
295
361
|
IInstance instance,
|
296
362
|
NftId applicationNftId,
|
297
363
|
IPolicy.PolicyInfo memory applicationInfo
|
@@ -299,13 +365,14 @@ contract PolicyService is
|
|
299
365
|
internal
|
300
366
|
virtual
|
301
367
|
returns (
|
302
|
-
|
368
|
+
IPolicy.Premium memory premium
|
303
369
|
)
|
304
370
|
{
|
305
371
|
NftId productNftId = applicationInfo.productNftId;
|
372
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
306
373
|
|
307
374
|
// calculate premium details
|
308
|
-
|
375
|
+
premium = _pricingService.calculatePremium(
|
309
376
|
productNftId,
|
310
377
|
applicationInfo.riskId,
|
311
378
|
applicationInfo.sumInsuredAmount,
|
@@ -314,90 +381,53 @@ contract PolicyService is
|
|
314
381
|
applicationInfo.bundleNftId,
|
315
382
|
applicationInfo.referralId);
|
316
383
|
|
384
|
+
// check if premium balance and allowance of policy holder is sufficient
|
385
|
+
{
|
386
|
+
TokenHandler tokenHandler = _getTokenHandler(instanceReader, productNftId);
|
387
|
+
address policyHolder = getRegistry().ownerOf(applicationNftId);
|
388
|
+
|
389
|
+
_checkPremiumBalanceAndAllowance(
|
390
|
+
tokenHandler.getToken(),
|
391
|
+
address(tokenHandler),
|
392
|
+
policyHolder,
|
393
|
+
AmountLib.toAmount(premium.premiumAmount));
|
394
|
+
}
|
317
395
|
|
318
|
-
// update
|
319
|
-
|
320
|
-
instance,
|
321
|
-
productNftId,
|
322
|
-
applicationNftId,
|
323
|
-
applicationInfo.premiumAmount,
|
324
|
-
applicationInfo.bundleNftId,
|
325
|
-
applicationInfo.referralId,
|
326
|
-
premium);
|
327
|
-
}
|
328
|
-
|
329
|
-
|
330
|
-
function _processAndCollect(
|
331
|
-
IInstance instance,
|
332
|
-
NftId productNftId,
|
333
|
-
NftId policyNftId,
|
334
|
-
Amount premiumExpectedAmount,
|
335
|
-
NftId bundleNftId,
|
336
|
-
ReferralId referralId,
|
337
|
-
IPolicy.Premium memory premium
|
338
|
-
)
|
339
|
-
internal
|
340
|
-
virtual
|
341
|
-
returns (Amount premiumPaidAmount)
|
342
|
-
{
|
343
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
344
|
-
TokenHandler tokenHandler = instanceReader.getComponentInfo(productNftId).tokenHandler;
|
345
|
-
address policyHolder = getRegistry().ownerOf(policyNftId);
|
346
|
-
premiumPaidAmount = AmountLib.toAmount(premium.premiumAmount);
|
347
|
-
|
348
|
-
_checkPremiumBalanceAndAllowance(
|
349
|
-
tokenHandler,
|
350
|
-
policyHolder,
|
351
|
-
premiumExpectedAmount,
|
352
|
-
premiumPaidAmount);
|
353
|
-
|
354
|
-
_processSaleAndTransferFunds(
|
396
|
+
// update the counters
|
397
|
+
_processSale(
|
355
398
|
instanceReader,
|
356
399
|
instance.getInstanceStore(),
|
357
|
-
tokenHandler,
|
358
|
-
policyHolder,
|
359
400
|
productNftId,
|
360
|
-
bundleNftId,
|
361
|
-
referralId,
|
401
|
+
applicationInfo.bundleNftId,
|
402
|
+
applicationInfo.referralId,
|
362
403
|
premium);
|
363
404
|
}
|
364
405
|
|
365
406
|
|
366
|
-
function
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
Amount premiumPaidAmount
|
407
|
+
function _activate(
|
408
|
+
NftId policyNftId,
|
409
|
+
IPolicy.PolicyInfo memory policyInfo,
|
410
|
+
Timestamp activateAt
|
371
411
|
)
|
372
412
|
internal
|
373
413
|
virtual
|
374
|
-
view
|
414
|
+
view
|
415
|
+
returns (IPolicy.PolicyInfo memory)
|
375
416
|
{
|
376
|
-
|
377
|
-
|
378
|
-
if (premiumExpectedAmount < premiumPaidAmount) {
|
379
|
-
revert ErrorPolicyServicePremiumHigherThanExpected(premiumExpectedAmount, premiumPaidAmount);
|
417
|
+
if(! policyInfo.activatedAt.eqz()) {
|
418
|
+
revert ErrorPolicyServicePolicyAlreadyActivated(policyNftId);
|
380
419
|
}
|
381
420
|
|
382
|
-
|
383
|
-
|
384
|
-
uint256 allowance = tokenHandler.getToken().allowance(policyHolder, address(tokenHandler));
|
385
|
-
|
386
|
-
if (balance < premiumAmount) {
|
387
|
-
revert ErrorPolicyServiceBalanceInsufficient(policyHolder, premiumAmount, balance);
|
388
|
-
}
|
421
|
+
policyInfo.activatedAt = activateAt;
|
422
|
+
policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
|
389
423
|
|
390
|
-
|
391
|
-
revert ErrorPolicyServiceAllowanceInsufficient(policyHolder, address(tokenHandler), premiumAmount, allowance);
|
392
|
-
}
|
424
|
+
return policyInfo;
|
393
425
|
}
|
394
426
|
|
395
|
-
|
396
|
-
function
|
427
|
+
/// @dev update counters by calling the involved services
|
428
|
+
function _processSale(
|
397
429
|
InstanceReader instanceReader,
|
398
430
|
InstanceStore instanceStore,
|
399
|
-
TokenHandler tokenHandler,
|
400
|
-
address policyHolder,
|
401
431
|
NftId productNftId,
|
402
432
|
NftId bundleNftId,
|
403
433
|
ReferralId referralId,
|
@@ -431,15 +461,84 @@ contract PolicyService is
|
|
431
461
|
_poolService.processSale(
|
432
462
|
bundleNftId,
|
433
463
|
premium);
|
464
|
+
}
|
465
|
+
|
466
|
+
|
467
|
+
/// @dev transfer the premium to the wallets the premium is distributed to
|
468
|
+
function _transferFunds(
|
469
|
+
InstanceReader instanceReader,
|
470
|
+
NftId policyNftId,
|
471
|
+
NftId productNftId,
|
472
|
+
IPolicy.Premium memory premium
|
473
|
+
)
|
474
|
+
internal
|
475
|
+
virtual
|
476
|
+
{
|
477
|
+
TokenHandler tokenHandler = _getTokenHandler(instanceReader, productNftId);
|
478
|
+
address policyHolder = getRegistry().ownerOf(policyNftId);
|
434
479
|
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
480
|
+
(
|
481
|
+
,
|
482
|
+
address distributionWallet,
|
483
|
+
address poolWallet,
|
484
|
+
address productWallet
|
485
|
+
) = _getDistributionNftAndWallets(
|
486
|
+
instanceReader,
|
487
|
+
productNftId);
|
488
|
+
|
489
|
+
tokenHandler.collectTokensToThreeRecipients(
|
490
|
+
policyHolder,
|
491
|
+
productWallet,
|
492
|
+
premium.productFeeAmount,
|
493
|
+
distributionWallet,
|
494
|
+
premium.distributionFeeAndCommissionAmount,
|
495
|
+
poolWallet,
|
496
|
+
premium.poolPremiumAndFeeAmount);
|
439
497
|
}
|
440
498
|
|
441
499
|
|
442
|
-
|
500
|
+
/// @dev checks that policy has been collateralized and has been activated.
|
501
|
+
/// does not check if policy has been expired or closed.
|
502
|
+
function _policyHasBeenActivated(
|
503
|
+
StateId policyState,
|
504
|
+
IPolicy.PolicyInfo memory policyInfo
|
505
|
+
)
|
506
|
+
internal
|
507
|
+
view
|
508
|
+
returns (bool)
|
509
|
+
{
|
510
|
+
if (policyState != COLLATERALIZED()) { return false; }
|
511
|
+
if (TimestampLib.blockTimestamp() < policyInfo.activatedAt) { return false; }
|
512
|
+
return true;
|
513
|
+
}
|
514
|
+
|
515
|
+
|
516
|
+
/// @dev checks the balance and allowance of the policy holder
|
517
|
+
function _checkPremiumBalanceAndAllowance(
|
518
|
+
IERC20Metadata token,
|
519
|
+
address tokenHandlerAddress,
|
520
|
+
address policyHolder,
|
521
|
+
Amount premiumAmount
|
522
|
+
)
|
523
|
+
internal
|
524
|
+
virtual
|
525
|
+
view
|
526
|
+
{
|
527
|
+
uint256 premium = premiumAmount.toInt();
|
528
|
+
uint256 balance = token.balanceOf(policyHolder);
|
529
|
+
uint256 allowance = token.allowance(policyHolder, tokenHandlerAddress);
|
530
|
+
|
531
|
+
if (balance < premium) {
|
532
|
+
revert ErrorPolicyServiceBalanceInsufficient(policyHolder, premium, balance);
|
533
|
+
}
|
534
|
+
|
535
|
+
if (allowance < premium) {
|
536
|
+
revert ErrorPolicyServiceAllowanceInsufficient(policyHolder, tokenHandlerAddress, premium, allowance);
|
537
|
+
}
|
538
|
+
}
|
539
|
+
|
540
|
+
|
541
|
+
function _getTokenHandler(
|
443
542
|
InstanceReader instanceReader,
|
444
543
|
NftId productNftId
|
445
544
|
)
|
@@ -472,4 +571,16 @@ contract PolicyService is
|
|
472
571
|
poolWallet = instanceReader.getComponentInfo(productInfo.poolNftId).wallet;
|
473
572
|
productWallet = instanceReader.getComponentInfo(productNftId).wallet;
|
474
573
|
}
|
574
|
+
|
575
|
+
|
576
|
+
function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
|
577
|
+
IRegistry.ObjectInfo memory productInfo;
|
578
|
+
(, productInfo,) = _getAndVerifyActiveComponent(PRODUCT());
|
579
|
+
product = Product(productInfo.objectAddress);
|
580
|
+
}
|
581
|
+
|
582
|
+
|
583
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
584
|
+
return POLICY();
|
585
|
+
}
|
475
586
|
}
|
@@ -1,12 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PolicyService} from "./PolicyService.sol";
|
7
|
-
import {Registry} from "../registry/Registry.sol";
|
8
|
-
import {RegistryService} from "../registry/RegistryService.sol";
|
9
|
-
import {VersionLib} from "../type/Version.sol";
|
10
7
|
|
11
8
|
contract PolicyServiceManager is ProxyManager {
|
12
9
|
|
@@ -56,11 +56,6 @@ contract PricingService is
|
|
56
56
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
57
57
|
}
|
58
58
|
|
59
|
-
|
60
|
-
function getDomain() public pure override returns(ObjectType) {
|
61
|
-
return PRICE();
|
62
|
-
}
|
63
|
-
|
64
59
|
/// @dev calculates the premium amount for the specified attributes
|
65
60
|
/// also returns the various fee components involved with creating a policy
|
66
61
|
function calculatePremium(
|
@@ -89,6 +84,7 @@ contract PricingService is
|
|
89
84
|
IInstance instance
|
90
85
|
) = _getAndVerifyComponentInfo(productNftId, PRODUCT(), false);
|
91
86
|
|
87
|
+
// get instance reader from local instance variable
|
92
88
|
reader = instance.getInstanceReader();
|
93
89
|
|
94
90
|
// calculate net premium
|
@@ -109,19 +105,21 @@ contract PricingService is
|
|
109
105
|
revert ErrorIPricingServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, productInfo.poolNftId);
|
110
106
|
}
|
111
107
|
|
112
|
-
// calculate
|
108
|
+
// calculate fixed fees for product, pool, bundle
|
113
109
|
premium = _getFixedFeeAmounts(
|
114
110
|
netPremiumAmount,
|
115
111
|
productInfo,
|
116
112
|
bundleInfo
|
117
113
|
);
|
118
114
|
|
115
|
+
// calculate variable fees for product, pool, bundle
|
119
116
|
premium = _calculateVariableFeeAmounts(
|
120
117
|
premium,
|
121
118
|
productInfo,
|
122
119
|
bundleInfo
|
123
120
|
);
|
124
121
|
|
122
|
+
// calculate distribution fee and (if applicable) commission
|
125
123
|
premium = _calculateDistributionOwnerFeeAmount(
|
126
124
|
premium,
|
127
125
|
productInfo,
|
@@ -129,6 +127,7 @@ contract PricingService is
|
|
129
127
|
reader
|
130
128
|
);
|
131
129
|
|
130
|
+
// calculate resulting amounts for product, pool, and distribution wallets
|
132
131
|
premium = _calculateTargetWalletAmounts(premium);
|
133
132
|
|
134
133
|
// sanity check to validate the fee calculation
|
@@ -298,4 +297,8 @@ contract PricingService is
|
|
298
297
|
premiumWithTargetWalletAmounts = premium;
|
299
298
|
}
|
300
299
|
|
300
|
+
|
301
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
302
|
+
return PRICE();
|
303
|
+
}
|
301
304
|
}
|
@@ -1,12 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PricingService} from "./PricingService.sol";
|
7
|
-
import {Registry} from "../registry/Registry.sol";
|
8
|
-
import {RegistryService} from "../registry/RegistryService.sol";
|
9
|
-
import {REGISTRY} from "../type/ObjectType.sol";
|
10
7
|
|
11
8
|
contract PricingServiceManager is ProxyManager {
|
12
9
|
|