@etherisc/gif-next 0.0.2-8b116c2-371 → 0.0.2-8ce6c0b-352
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 +30 -2
- 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 +1548 -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 -228
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +317 -95
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +97 -57
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +100 -132
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +158 -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 +110 -76
- 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 +84 -135
- 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 +1185 -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 -0
- 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 +43 -96
- 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 +1496 -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 +89 -60
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +50 -42
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +26 -202
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +13 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +26 -303
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +62 -41
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +42 -38
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +66 -37
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +44 -36
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -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 +106 -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 +13 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -0
- 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 -42
- 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 +84 -47
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +53 -41
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +92 -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 -153
- 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 -78
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1494 -161
- 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/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +235 -85
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +80 -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/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 +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +110 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +32 -0
- 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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +32 -53
- 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 +6 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- 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 +44 -28
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -84
- 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 +40 -56
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
- 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 +200 -152
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -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 +8 -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 +12 -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 +2 -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 +4 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -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 +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 +47 -0
- package/contracts/distribution/Distribution.sol +142 -102
- package/contracts/distribution/DistributionService.sol +80 -26
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +18 -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 +202 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +24 -9
- package/contracts/instance/InstanceService.sol +159 -78
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +15 -20
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IComponents.sol +0 -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 -47
- package/contracts/oracle/OracleService.sol +5 -4
- package/contracts/oracle/OracleServiceManager.sol +2 -5
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +52 -0
- package/contracts/pool/BundleService.sol +32 -44
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IPoolComponent.sol +0 -61
- package/contracts/pool/Pool.sol +143 -131
- package/contracts/pool/PoolService.sol +17 -34
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +17 -41
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +10 -36
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IProductComponent.sol +7 -9
- package/contracts/product/PolicyService.sol +5 -5
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +4 -5
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +103 -88
- 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 +87 -87
- package/contracts/registry/RegistryAdmin.sol +283 -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 +487 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +13 -14
- package/contracts/shared/ComponentService.sol +76 -72
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/IComponentService.sol +10 -0
- 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/InitializableCustom.sol +2 -2
- 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/Service.sol +27 -22
- package/contracts/staking/IStaking.sol +1 -2
- package/contracts/staking/IStakingService.sol +22 -11
- package/contracts/staking/StakeManagerLib.sol +52 -0
- package/contracts/staking/Staking.sol +75 -112
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +13 -17
- package/contracts/staking/StakingService.sol +61 -56
- package/contracts/staking/StakingServiceManager.sol +2 -3
- package/contracts/staking/StakingStore.sol +93 -60
- package/contracts/type/ObjectType.sol +167 -64
- package/contracts/type/RoleId.sol +103 -75
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/UFixed.sol +6 -0
- 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 -4
- 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/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
@@ -0,0 +1,43 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
5
|
+
import {BasicProduct} from "./BasicProduct.sol";
|
6
|
+
import {PRODUCT} from "../type/ObjectType.sol";
|
7
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
8
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
9
|
+
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
10
|
+
import {RoleId} from "../type/RoleId.sol";
|
11
|
+
|
12
|
+
|
13
|
+
contract BasicProductAuthorization
|
14
|
+
is Authorization
|
15
|
+
{
|
16
|
+
|
17
|
+
constructor(string memory componentName)
|
18
|
+
Authorization(componentName)
|
19
|
+
{}
|
20
|
+
|
21
|
+
function _setupTargets()
|
22
|
+
internal
|
23
|
+
virtual override
|
24
|
+
{
|
25
|
+
// basic component target
|
26
|
+
_addComponentTargetWithRole(PRODUCT());
|
27
|
+
}
|
28
|
+
|
29
|
+
|
30
|
+
function _setupTargetAuthorizations()
|
31
|
+
internal
|
32
|
+
virtual override
|
33
|
+
{
|
34
|
+
IAccess.FunctionInfo[] storage functions;
|
35
|
+
|
36
|
+
// authorize public role (open access to any account, only allows to lock target)
|
37
|
+
functions = _authorizeForTarget(getTargetName(), PUBLIC_ROLE());
|
38
|
+
_authorize(functions, BasicProduct.setFees.selector, "setFees");
|
39
|
+
|
40
|
+
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
@@ -1,48 +1,22 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
5
|
-
import {IService} from "./IApplicationService.sol";
|
6
|
-
|
7
4
|
import {IComponents} from "../instance/module/IComponents.sol";
|
8
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
9
|
-
import {IProductComponent} from "./IProductComponent.sol";
|
10
|
-
import {Product} from "./Product.sol";
|
11
|
-
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
12
|
-
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
13
5
|
import {IInstance} from "../instance/IInstance.sol";
|
14
6
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
15
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
16
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
17
|
-
import {IProductService} from "./IProductService.sol";
|
18
|
-
|
19
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
20
|
-
|
21
|
-
import {IVersionable} from "../shared/IVersionable.sol";
|
22
|
-
import {Versionable} from "../shared/Versionable.sol";
|
23
|
-
|
24
7
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
25
|
-
import {
|
26
|
-
import {
|
27
|
-
import {
|
28
|
-
import {
|
29
|
-
import {
|
30
|
-
import {NftId, NftIdLib} from "../type/NftId.sol";
|
31
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
32
|
-
import {ReferralId} from "../type/Referral.sol";
|
33
|
-
import {RiskId} from "../type/RiskId.sol";
|
8
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
9
|
+
import {ObjectType, CLAIM, PRODUCT, POOL} from "../type/ObjectType.sol";
|
10
|
+
import {SUBMITTED, KEEP_STATE, DECLINED, CONFIRMED, CLOSED, PAID} from "../type/StateId.sol";
|
11
|
+
import {NftId} from "../type/NftId.sol";
|
12
|
+
import {FeeLib} from "../type/Fee.sol";
|
34
13
|
import {StateId} from "../type/StateId.sol";
|
35
14
|
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
36
15
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
37
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
38
|
-
|
39
16
|
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
40
17
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
41
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
42
18
|
import {IClaimService} from "./IClaimService.sol";
|
43
19
|
import {IPoolService} from "../pool/IPoolService.sol";
|
44
|
-
import {IService} from "../shared/IService.sol";
|
45
|
-
import {Service} from "../shared/Service.sol";
|
46
20
|
|
47
21
|
|
48
22
|
contract ClaimService is
|
@@ -73,11 +47,6 @@ contract ClaimService is
|
|
73
47
|
registerInterface(type(IClaimService).interfaceId);
|
74
48
|
}
|
75
49
|
|
76
|
-
|
77
|
-
function getDomain() public pure override returns(ObjectType) {
|
78
|
-
return CLAIM();
|
79
|
-
}
|
80
|
-
|
81
50
|
function submit(
|
82
51
|
NftId policyNftId,
|
83
52
|
Amount claimAmount,
|
@@ -439,4 +408,9 @@ contract ClaimService is
|
|
439
408
|
// get claim info
|
440
409
|
claimInfo = instanceReader.getClaimInfo(policyNftId, claimId);
|
441
410
|
}
|
411
|
+
|
412
|
+
|
413
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
414
|
+
return CLAIM();
|
415
|
+
}
|
442
416
|
}
|
@@ -1,8 +1,8 @@
|
|
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 {ClaimService} from "./ClaimService.sol";
|
7
7
|
|
8
8
|
contract ClaimServiceManager is ProxyManager {
|
@@ -10,12 +10,9 @@ import {ReferralId} from "../type/Referral.sol";
|
|
10
10
|
import {RiskId} from "../type/RiskId.sol";
|
11
11
|
import {Seconds} from "../type/Seconds.sol";
|
12
12
|
|
13
|
-
interface IProductComponent is
|
14
|
-
|
15
|
-
|
16
|
-
Fee memory productFee,
|
17
|
-
Fee memory processingFee
|
18
|
-
) external;
|
13
|
+
interface IProductComponent is
|
14
|
+
IInstanceLinkedComponent
|
15
|
+
{
|
19
16
|
|
20
17
|
function calculatePremium(
|
21
18
|
Amount sumInsuredAmount,
|
@@ -33,10 +30,11 @@ interface IProductComponent is IInstanceLinkedComponent {
|
|
33
30
|
bytes memory applicationData
|
34
31
|
) external view returns (Amount netPremiumAmount);
|
35
32
|
|
33
|
+
function getPoolNftId() external view returns (NftId poolNftId);
|
34
|
+
function getDistributionNftId() external view returns (NftId distributionNftId);
|
35
|
+
|
36
36
|
|
37
37
|
/// @dev returns initial pool specific infos for this pool
|
38
38
|
function getInitialProductInfo() external view returns (IComponents.ProductInfo memory info);
|
39
|
-
|
40
|
-
function getPoolNftId() external view returns (NftId poolNftId);
|
41
|
-
function getDistributionNftId() external view returns (NftId distributionNftId);
|
39
|
+
|
42
40
|
}
|
@@ -85,11 +85,6 @@ contract PolicyService is
|
|
85
85
|
}
|
86
86
|
|
87
87
|
|
88
|
-
function getDomain() public pure override returns(ObjectType) {
|
89
|
-
return POLICY();
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
88
|
function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
|
94
89
|
IRegistry.ObjectInfo memory productInfo;
|
95
90
|
(, productInfo,) = _getAndVerifyActiveComponent(PRODUCT());
|
@@ -472,4 +467,9 @@ contract PolicyService is
|
|
472
467
|
poolWallet = instanceReader.getComponentInfo(productInfo.poolNftId).wallet;
|
473
468
|
productWallet = instanceReader.getComponentInfo(productNftId).wallet;
|
474
469
|
}
|
470
|
+
|
471
|
+
|
472
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
473
|
+
return POLICY();
|
474
|
+
}
|
475
475
|
}
|
@@ -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(
|
@@ -298,4 +293,8 @@ contract PricingService is
|
|
298
293
|
premiumWithTargetWalletAmounts = premium;
|
299
294
|
}
|
300
295
|
|
296
|
+
|
297
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
298
|
+
return PRICE();
|
299
|
+
}
|
301
300
|
}
|
@@ -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
|
|
@@ -9,6 +9,7 @@ import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
|
9
9
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
10
10
|
import {IRisk} from "../instance/module/IRisk.sol";
|
11
11
|
import {IApplicationService} from "./IApplicationService.sol";
|
12
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
12
13
|
import {IComponentService} from "../shared/IComponentService.sol";
|
13
14
|
import {IPolicyService} from "./IPolicyService.sol";
|
14
15
|
import {IProductService} from "./IProductService.sol";
|
@@ -52,9 +53,92 @@ abstract contract Product is
|
|
52
53
|
Distribution _distribution;
|
53
54
|
}
|
54
55
|
|
55
|
-
|
56
|
+
|
57
|
+
function calculatePremium(
|
58
|
+
Amount sumInsuredAmount,
|
59
|
+
RiskId riskId,
|
60
|
+
Seconds lifetime,
|
61
|
+
bytes memory applicationData,
|
62
|
+
NftId bundleNftId,
|
63
|
+
ReferralId referralId
|
64
|
+
)
|
65
|
+
external
|
66
|
+
view
|
67
|
+
override
|
68
|
+
returns (Amount premiumAmount)
|
69
|
+
{
|
70
|
+
IPolicy.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
71
|
+
getNftId(),
|
72
|
+
riskId,
|
73
|
+
sumInsuredAmount,
|
74
|
+
lifetime,
|
75
|
+
applicationData,
|
76
|
+
bundleNftId,
|
77
|
+
referralId
|
78
|
+
);
|
79
|
+
|
80
|
+
return AmountLib.toAmount(premium.premiumAmount);
|
81
|
+
}
|
82
|
+
|
83
|
+
function calculateNetPremium(
|
84
|
+
Amount sumInsuredAmount,
|
85
|
+
RiskId riskId,
|
86
|
+
Seconds lifetime,
|
87
|
+
bytes memory applicationData
|
88
|
+
)
|
89
|
+
external
|
90
|
+
view
|
91
|
+
virtual override
|
92
|
+
returns (Amount netPremiumAmount)
|
93
|
+
{
|
94
|
+
// default 10% of sum insured
|
95
|
+
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
96
|
+
}
|
97
|
+
|
98
|
+
|
99
|
+
function register()
|
100
|
+
external
|
101
|
+
virtual
|
102
|
+
onlyOwner()
|
103
|
+
{
|
104
|
+
_getProductStorage()._componentService.registerProduct();
|
105
|
+
_approveTokenHandler(type(uint256).max);
|
106
|
+
}
|
107
|
+
|
108
|
+
|
109
|
+
function getInitialProductInfo()
|
110
|
+
public
|
111
|
+
virtual
|
112
|
+
view
|
113
|
+
returns (IComponents.ProductInfo memory poolInfo)
|
114
|
+
{
|
115
|
+
ProductStorage storage $ = _getProductStorage();
|
116
|
+
|
117
|
+
return IComponents.ProductInfo({
|
118
|
+
distributionNftId: $._distributionNftId,
|
119
|
+
poolNftId: $._poolNftId,
|
120
|
+
productFee: FeeLib.zero(),
|
121
|
+
processingFee: FeeLib.zero(),
|
122
|
+
distributionFee: FeeLib.zero(),
|
123
|
+
minDistributionOwnerFee: FeeLib.zero(),
|
124
|
+
poolFee: FeeLib.zero(),
|
125
|
+
stakingFee: FeeLib.zero(),
|
126
|
+
performanceFee: FeeLib.zero()
|
127
|
+
});
|
128
|
+
}
|
129
|
+
|
130
|
+
function getPoolNftId() external view override returns (NftId poolNftId) {
|
131
|
+
return getRegistry().getNftId(address(_getProductStorage()._pool));
|
132
|
+
}
|
133
|
+
|
134
|
+
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
135
|
+
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
136
|
+
}
|
137
|
+
|
138
|
+
function _initializeProduct(
|
56
139
|
address registry,
|
57
140
|
NftId instanceNftId,
|
141
|
+
IAuthorization authorization,
|
58
142
|
address initialOwner,
|
59
143
|
string memory name,
|
60
144
|
address token,
|
@@ -64,11 +148,21 @@ abstract contract Product is
|
|
64
148
|
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
65
149
|
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
66
150
|
)
|
67
|
-
|
151
|
+
internal
|
68
152
|
virtual
|
69
153
|
onlyInitializing()
|
70
154
|
{
|
71
|
-
|
155
|
+
_initializeInstanceLinkedComponent(
|
156
|
+
registry,
|
157
|
+
instanceNftId,
|
158
|
+
name,
|
159
|
+
token,
|
160
|
+
PRODUCT(),
|
161
|
+
authorization,
|
162
|
+
isInterceptor,
|
163
|
+
initialOwner,
|
164
|
+
registryData,
|
165
|
+
componentData);
|
72
166
|
|
73
167
|
ProductStorage storage $ = _getProductStorage();
|
74
168
|
// TODO add validation
|
@@ -88,27 +182,17 @@ abstract contract Product is
|
|
88
182
|
}
|
89
183
|
|
90
184
|
|
91
|
-
function
|
92
|
-
external
|
93
|
-
virtual
|
94
|
-
onlyOwner()
|
95
|
-
{
|
96
|
-
_getProductStorage()._componentService.registerProduct();
|
97
|
-
}
|
98
|
-
|
99
|
-
|
100
|
-
function setFees(
|
185
|
+
function _setFees(
|
101
186
|
Fee memory productFee,
|
102
187
|
Fee memory processingFee
|
103
188
|
)
|
104
|
-
|
105
|
-
|
106
|
-
restricted()
|
107
|
-
override
|
189
|
+
internal
|
190
|
+
virtual
|
108
191
|
{
|
109
192
|
_getProductStorage()._componentService.setProductFees(productFee, processingFee);
|
110
193
|
}
|
111
194
|
|
195
|
+
|
112
196
|
function _createRisk(
|
113
197
|
RiskId id,
|
114
198
|
bytes memory data
|
@@ -139,10 +223,12 @@ abstract contract Product is
|
|
139
223
|
);
|
140
224
|
}
|
141
225
|
|
226
|
+
|
142
227
|
function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
|
143
228
|
return getInstance().getInstanceReader().getRiskInfo(id);
|
144
229
|
}
|
145
230
|
|
231
|
+
|
146
232
|
function _createApplication(
|
147
233
|
address applicationOwner,
|
148
234
|
RiskId riskId,
|
@@ -290,77 +376,6 @@ abstract contract Product is
|
|
290
376
|
payoutId);
|
291
377
|
}
|
292
378
|
|
293
|
-
function calculatePremium(
|
294
|
-
Amount sumInsuredAmount,
|
295
|
-
RiskId riskId,
|
296
|
-
Seconds lifetime,
|
297
|
-
bytes memory applicationData,
|
298
|
-
NftId bundleNftId,
|
299
|
-
ReferralId referralId
|
300
|
-
)
|
301
|
-
external
|
302
|
-
view
|
303
|
-
override
|
304
|
-
returns (Amount premiumAmount)
|
305
|
-
{
|
306
|
-
IPolicy.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
307
|
-
getNftId(),
|
308
|
-
riskId,
|
309
|
-
sumInsuredAmount,
|
310
|
-
lifetime,
|
311
|
-
applicationData,
|
312
|
-
bundleNftId,
|
313
|
-
referralId
|
314
|
-
);
|
315
|
-
|
316
|
-
return AmountLib.toAmount(premium.premiumAmount);
|
317
|
-
}
|
318
|
-
|
319
|
-
function calculateNetPremium(
|
320
|
-
Amount sumInsuredAmount,
|
321
|
-
RiskId riskId,
|
322
|
-
Seconds lifetime,
|
323
|
-
bytes memory applicationData
|
324
|
-
)
|
325
|
-
external
|
326
|
-
view
|
327
|
-
virtual override
|
328
|
-
returns (Amount netPremiumAmount)
|
329
|
-
{
|
330
|
-
// default 10% of sum insured
|
331
|
-
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
332
|
-
}
|
333
|
-
|
334
|
-
|
335
|
-
function getInitialProductInfo()
|
336
|
-
public
|
337
|
-
virtual
|
338
|
-
view
|
339
|
-
returns (IComponents.ProductInfo memory poolInfo)
|
340
|
-
{
|
341
|
-
ProductStorage storage $ = _getProductStorage();
|
342
|
-
|
343
|
-
return IComponents.ProductInfo({
|
344
|
-
distributionNftId: $._distributionNftId,
|
345
|
-
poolNftId: $._poolNftId,
|
346
|
-
productFee: FeeLib.zero(),
|
347
|
-
processingFee: FeeLib.zero(),
|
348
|
-
distributionFee: FeeLib.zero(),
|
349
|
-
minDistributionOwnerFee: FeeLib.zero(),
|
350
|
-
poolFee: FeeLib.zero(),
|
351
|
-
stakingFee: FeeLib.zero(),
|
352
|
-
performanceFee: FeeLib.zero()
|
353
|
-
});
|
354
|
-
}
|
355
|
-
|
356
|
-
function getPoolNftId() external view override returns (NftId poolNftId) {
|
357
|
-
return getRegistry().getNftId(address(_getProductStorage()._pool));
|
358
|
-
}
|
359
|
-
|
360
|
-
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
361
|
-
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
362
|
-
}
|
363
|
-
|
364
379
|
function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
|
365
380
|
return RiskIdLib.toRiskId(riskName);
|
366
381
|
}
|
@@ -1,45 +1,20 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
-
import {IProductComponent} from "./IProductComponent.sol";
|
6
|
-
import {Product} from "./Product.sol";
|
7
|
-
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
8
|
-
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
9
|
-
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
10
4
|
import {IInstance} from "../instance/IInstance.sol";
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
5
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
6
|
+
import {IPoolService} from "../pool/PoolService.sol";
|
14
7
|
import {IProductService} from "./IProductService.sol";
|
15
|
-
import {
|
16
|
-
|
17
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
18
|
-
|
19
|
-
import {IVersionable} from "../shared/IVersionable.sol";
|
20
|
-
import {Versionable} from "../shared/Versionable.sol";
|
8
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
9
|
+
import {IRisk} from "../instance/module/IRisk.sol";
|
21
10
|
|
22
|
-
import {
|
23
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
24
|
-
import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
|
11
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
25
12
|
import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
26
|
-
import {
|
27
|
-
import {NftId
|
28
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
29
|
-
import {ReferralId} from "../type/Referral.sol";
|
13
|
+
import {KEEP_STATE} from "../type/StateId.sol";
|
14
|
+
import {NftId} from "../type/NftId.sol";
|
30
15
|
import {RiskId} from "../type/RiskId.sol";
|
31
16
|
import {StateId} from "../type/StateId.sol";
|
32
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
33
|
-
import {RoleId, PRODUCT_OWNER_ROLE} from "../type/RoleId.sol";
|
34
|
-
|
35
|
-
import {IService} from "../shared/IService.sol";
|
36
|
-
import {Service} from "../shared/Service.sol";
|
37
17
|
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
38
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
39
|
-
import {IProductService} from "./IProductService.sol";
|
40
|
-
import {IRegistryService} from "../registry/IRegistryService.sol";
|
41
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
42
|
-
import {IPoolService} from "../pool/PoolService.sol";
|
43
18
|
|
44
19
|
contract ProductService is
|
45
20
|
ComponentVerifyingService,
|
@@ -75,11 +50,6 @@ contract ProductService is
|
|
75
50
|
}
|
76
51
|
|
77
52
|
|
78
|
-
function getDomain() public pure override returns(ObjectType) {
|
79
|
-
return PRODUCT();
|
80
|
-
}
|
81
|
-
|
82
|
-
|
83
53
|
function createRisk(
|
84
54
|
RiskId riskId,
|
85
55
|
bytes memory data
|
@@ -121,4 +91,9 @@ contract ProductService is
|
|
121
91
|
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
122
92
|
instance.getInstanceStore().updateRiskState(riskId, state);
|
123
93
|
}
|
94
|
+
|
95
|
+
|
96
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
97
|
+
return PRODUCT();
|
98
|
+
}
|
124
99
|
}
|
@@ -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 {ProductService} from "./ProductService.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 ProductServiceManager is ProxyManager {
|
12
9
|
|
@@ -7,21 +7,29 @@ import {NftId} from "../type/NftId.sol";
|
|
7
7
|
import {ObjectType} from "../type/ObjectType.sol";
|
8
8
|
import {VersionPart} from "../type/Version.sol";
|
9
9
|
import {Timestamp} from "../type/Timestamp.sol";
|
10
|
-
import {RoleId} from "../type/RoleId.sol";
|
11
10
|
|
11
|
+
/// @title Chain Registry interface.
|
12
|
+
/// A chain registry holds all protocol relevant objects with basic metadata.
|
13
|
+
/// Registered objects include services, instances, products, pools, policies, bundles, stakes and more.
|
14
|
+
/// Registered objects are represented by NFTs.
|
12
15
|
interface IRegistry is IERC165 {
|
13
16
|
|
14
17
|
event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
15
18
|
event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
|
16
19
|
|
20
|
+
// register()
|
21
|
+
error ErrorRegistryCallerNotRegistryService();
|
22
|
+
error ErrorRegistryService(address service);
|
23
|
+
|
17
24
|
// registerService()
|
18
|
-
error
|
25
|
+
error ErrorRegistryCallerNotReleaseRegistry();
|
26
|
+
error ErrorRegistryServiceAddressZero();
|
27
|
+
error ErrorRegistryServiceVersionZero();
|
28
|
+
error ErrorRegistryNotService(address service, ObjectType objectType);
|
29
|
+
error ErrorRegistryServiceParentNotRegistry(NftId parentNftId);
|
19
30
|
error ErrorRegistryDomainZero(address service);
|
20
31
|
error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
|
21
32
|
|
22
|
-
// register()
|
23
|
-
error ErrorRegistryCallerNotRegistryService();
|
24
|
-
|
25
33
|
// registerWithCustomTypes()
|
26
34
|
error ErrorRegistryCoreTypeRegistration();
|
27
35
|
|
@@ -40,30 +48,34 @@ interface IRegistry is IERC165 {
|
|
40
48
|
bytes data;
|
41
49
|
}
|
42
50
|
|
43
|
-
|
44
51
|
struct ReleaseInfo {
|
45
52
|
VersionPart version;
|
46
53
|
bytes32 salt;
|
47
54
|
address[] addresses;
|
48
55
|
string[] names;
|
49
|
-
RoleId[][] serviceRoles;
|
50
|
-
string[][] serviceRoleNames;
|
51
|
-
RoleId[][] functionRoles;
|
52
|
-
string[][] functionRoleNames;
|
53
|
-
bytes4[][][] selectors;
|
54
56
|
ObjectType[] domains;
|
55
57
|
Timestamp activatedAt;
|
56
58
|
Timestamp disabledAt;
|
57
59
|
}
|
58
60
|
|
61
|
+
/// @dev Register an object with a known core type.
|
62
|
+
/// The function returns a newly minted object NFT ID.
|
63
|
+
/// May not be used to register services.
|
64
|
+
function register(ObjectInfo memory info) external returns (NftId nftId);
|
65
|
+
|
66
|
+
/// @dev Register a service with using the provided domain and version.
|
67
|
+
/// The function returns a newly minted service NFT ID.
|
68
|
+
/// May only be used to register services.
|
59
69
|
function registerService(
|
60
70
|
ObjectInfo memory serviceInfo,
|
61
71
|
VersionPart serviceVersion,
|
62
72
|
ObjectType serviceDomain
|
63
73
|
) external returns(NftId nftId);
|
64
74
|
|
65
|
-
|
66
|
-
|
75
|
+
/// @dev Register an object with a custom type.
|
76
|
+
/// The function returns a newly minted object NFT ID.
|
77
|
+
/// This function is reserved for GIF releases > 3.
|
78
|
+
/// May not be used to register known core types.
|
67
79
|
function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
|
68
80
|
|
69
81
|
function getInitialVersion() external view returns (VersionPart);
|
@@ -110,9 +122,7 @@ interface IRegistry is IERC165 {
|
|
110
122
|
// TODO refactor the address getters below to contract getters
|
111
123
|
function getChainNftAddress() external view returns (address);
|
112
124
|
|
113
|
-
function
|
114
|
-
|
115
|
-
function getReleaseAccessManagerAddress(VersionPart version) external view returns (address);
|
125
|
+
function getReleaseRegistryAddress() external view returns (address);
|
116
126
|
|
117
127
|
function getStakingAddress() external view returns (address);
|
118
128
|
|