@etherisc/gif-next 3.0.0-cf1abe2-268 → 3.0.0-cf20ffd-765
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 +10 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +119 -117
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +48 -93
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +85 -83
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +109 -246
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +137 -279
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1278 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1391 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2214 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -255
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +108 -240
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +125 -257
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +116 -248
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +47 -99
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +126 -92
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +72 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +225 -247
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +238 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -149
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +183 -133
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +153 -103
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +80 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +21 -21
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- 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 +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +9 -4
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -209
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +63 -166
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +103 -94
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +69 -159
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +168 -163
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +78 -168
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -212
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +73 -107
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +76 -179
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +142 -138
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +78 -168
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +221 -277
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +74 -149
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +59 -149
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -203
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +43 -82
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +59 -92
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +91 -97
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +45 -84
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +58 -161
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +51 -103
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +154 -188
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +132 -126
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +96 -163
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +59 -149
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +78 -174
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +111 -113
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +4 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +70 -163
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- 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 +114 -322
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +217 -156
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +39 -23
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +554 -182
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +457 -97
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +30 -3
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +36 -17
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +182 -283
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -300
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +235 -352
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +84 -357
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -281
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +22 -35
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- 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 +2 -7
- 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/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- 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/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +22 -25
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +34 -55
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +52 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +11 -10
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +44 -43
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +8 -8
- package/contracts/instance/IInstanceService.sol +6 -4
- package/contracts/instance/Instance.sol +12 -8
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +59 -23
- package/contracts/instance/InstanceService.sol +28 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- package/contracts/instance/RiskSet.sol +6 -7
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +3 -3
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +21 -17
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +68 -38
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +22 -28
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +9 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -13
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +35 -11
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +8 -7
- package/contracts/product/IRiskService.sol +4 -5
- package/contracts/product/PolicyService.sol +58 -45
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +42 -10
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +2 -2
- package/contracts/registry/IRegistry.sol +15 -21
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +82 -126
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -6
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +27 -13
- package/contracts/registry/ReleaseRegistry.sol +81 -72
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +18 -9
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +168 -49
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +46 -10
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +130 -39
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +6 -9
- package/contracts/staking/IStaking.sol +35 -33
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +38 -32
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +15 -18
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +11 -11
- package/contracts/staking/TargetHandler.sol +6 -5
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +4 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {ClaimService} from "./ClaimService.sol";
|
7
7
|
|
@@ -11,18 +11,20 @@ contract ClaimServiceManager is ProxyManager {
|
|
11
11
|
|
12
12
|
/// @dev initializes proxy manager with service implementation
|
13
13
|
constructor(
|
14
|
-
address authority,
|
14
|
+
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
ClaimService svc = new ClaimService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_claimService = ClaimService(address(
|
27
|
+
_claimService = ClaimService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -15,24 +15,24 @@ import {Seconds} from "../type/Seconds.sol";
|
|
15
15
|
interface IApplicationService is IService {
|
16
16
|
|
17
17
|
event LogApplicationServiceApplicationCreated(
|
18
|
-
NftId applicationNftId,
|
19
|
-
NftId productNftId,
|
20
|
-
NftId bundleNftId,
|
18
|
+
NftId indexed applicationNftId,
|
19
|
+
NftId indexed productNftId,
|
20
|
+
NftId indexed bundleNftId,
|
21
21
|
RiskId riskId,
|
22
22
|
ReferralId referralId,
|
23
23
|
address applicationOwner,
|
24
24
|
Amount sumInsuredAmount,
|
25
25
|
Amount premiumAmount,
|
26
26
|
Seconds lifetime);
|
27
|
-
event LogApplicationServiceApplicationRenewed(NftId policyNftId, NftId bundleNftId);
|
27
|
+
event LogApplicationServiceApplicationRenewed(NftId indexed policyNftId, NftId indexed bundleNftId);
|
28
28
|
event LogApplicationServiceApplicationAdjusted(
|
29
|
-
NftId applicationNftId,
|
30
|
-
NftId bundleNftId,
|
31
|
-
RiskId riskId,
|
29
|
+
NftId indexed applicationNftId,
|
30
|
+
NftId indexed bundleNftId,
|
31
|
+
RiskId indexed riskId,
|
32
32
|
ReferralId referralId,
|
33
33
|
Amount sumInsuredAmount,
|
34
34
|
Seconds lifetime);
|
35
|
-
event LogApplicationServiceApplicationRevoked(NftId applicationNftId);
|
35
|
+
event LogApplicationServiceApplicationRevoked(NftId indexed applicationNftId);
|
36
36
|
|
37
37
|
// _checkLinkedApplicationParameters
|
38
38
|
error ErrorApplicationServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
|
@@ -19,15 +19,15 @@ import {Fee} from "../type/Fee.sol";
|
|
19
19
|
interface IClaimService is
|
20
20
|
IService
|
21
21
|
{
|
22
|
-
event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
|
23
|
-
event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
|
24
|
-
event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
|
25
|
-
event LogClaimServiceClaimRevoked(NftId policyNftId, ClaimId claimId);
|
26
|
-
event LogClaimServiceClaimCancelled(NftId policyNftId, ClaimId claimId);
|
27
|
-
|
28
|
-
event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary);
|
29
|
-
event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount);
|
30
|
-
event LogClaimServicePayoutCancelled(NftId policyNftId, PayoutId payoutId);
|
22
|
+
event LogClaimServiceClaimSubmitted(NftId indexed policyNftId, ClaimId indexed claimId, Amount indexed claimAmount);
|
23
|
+
event LogClaimServiceClaimConfirmed(NftId indexed policyNftId, ClaimId indexed claimId, Amount indexed confirmedAmount);
|
24
|
+
event LogClaimServiceClaimDeclined(NftId indexed policyNftId, ClaimId indexed claimId);
|
25
|
+
event LogClaimServiceClaimRevoked(NftId indexed policyNftId, ClaimId indexed claimId);
|
26
|
+
event LogClaimServiceClaimCancelled(NftId indexed policyNftId, ClaimId indexed claimId);
|
27
|
+
|
28
|
+
event LogClaimServicePayoutCreated(NftId indexed policyNftId, ClaimId indexed claimId, PayoutId indexed payoutId, Amount amount, address beneficiary);
|
29
|
+
event LogClaimServicePayoutProcessed(NftId indexed policyNftId, PayoutId indexed payoutId, Amount indexed amount);
|
30
|
+
event LogClaimServicePayoutCancelled(NftId indexed policyNftId, PayoutId indexed payoutId);
|
31
31
|
|
32
32
|
error ErrorClaimServiceBeneficiarySet(NftId policyNftId, PayoutId payoutId, address beneficiary);
|
33
33
|
|
@@ -11,15 +11,16 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IPolicyService is IService {
|
13
13
|
|
14
|
-
event LogPolicyServicePolicyCreated(NftId policyNftId, Amount premiumAmount, Timestamp activatedAt);
|
15
|
-
event LogPolicyServicePolicyDeclined(NftId policyNftId);
|
16
|
-
event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, Amount premiumAmount);
|
17
|
-
event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
|
18
|
-
event LogPolicyServicePolicyActivatedUpdated(NftId policyNftId, Timestamp activatedAt);
|
19
|
-
event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
|
20
|
-
event LogPolicyServicePolicyClosed(NftId policyNftId);
|
14
|
+
event LogPolicyServicePolicyCreated(NftId indexed policyNftId, Amount indexed premiumAmount, Timestamp indexed activatedAt);
|
15
|
+
event LogPolicyServicePolicyDeclined(NftId indexed policyNftId);
|
16
|
+
event LogPolicyServicePolicyPremiumCollected(NftId indexed policyNftId, NftId indexed productNftId, Amount indexed premiumAmount, Timestamp activateAt);
|
17
|
+
event LogPolicyServicePolicyActivated(NftId indexed policyNftId, Timestamp indexed activatedAt);
|
18
|
+
event LogPolicyServicePolicyActivatedUpdated(NftId indexed policyNftId, Timestamp indexed activatedAt);
|
19
|
+
event LogPolicyServicePolicyExpirationUpdated(NftId indexed policyNftId, Timestamp indexed expiredAt);
|
20
|
+
event LogPolicyServicePolicyClosed(NftId indexed policyNftId);
|
21
21
|
|
22
22
|
error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
|
23
|
+
error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
|
23
24
|
error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
|
24
25
|
error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
|
25
26
|
error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
|
@@ -9,11 +9,10 @@ import {StateId} from "../type/StateId.sol";
|
|
9
9
|
|
10
10
|
interface IRiskService is IService {
|
11
11
|
|
12
|
-
event LogRiskServiceRiskCreated(NftId productNftId, RiskId riskId);
|
13
|
-
event LogRiskServiceRiskUpdated(NftId productNftId, RiskId riskId);
|
14
|
-
event LogRiskServiceRiskLocked(NftId productNftId, RiskId riskId);
|
15
|
-
event
|
16
|
-
event LogRiskServiceRiskClosed(NftId productNftId, RiskId riskId);
|
12
|
+
event LogRiskServiceRiskCreated(NftId indexed productNftId, RiskId indexed riskId);
|
13
|
+
event LogRiskServiceRiskUpdated(NftId indexed productNftId, RiskId indexed riskId);
|
14
|
+
event LogRiskServiceRiskLocked(NftId indexed productNftId, RiskId indexed riskId, bool indexed locked);
|
15
|
+
event LogRiskServiceRiskClosed(NftId indexed productNftId, RiskId indexed riskId);
|
17
16
|
|
18
17
|
error ErrorRiskServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
|
19
18
|
error ErrorRiskServiceRiskNotActive(NftId productNftId, RiskId riskId);
|
@@ -45,20 +45,21 @@ contract PolicyService is
|
|
45
45
|
)
|
46
46
|
internal
|
47
47
|
virtual override
|
48
|
-
|
48
|
+
initializer
|
49
49
|
{
|
50
50
|
(
|
51
|
-
address authority
|
52
|
-
|
51
|
+
address authority,
|
52
|
+
address registry
|
53
|
+
) = abi.decode(data, (address, address));
|
53
54
|
|
54
|
-
__Service_init(authority, owner);
|
55
|
+
__Service_init(authority, registry, owner);
|
55
56
|
|
56
57
|
VersionPart majorVersion = getVersion().toMajorPart();
|
57
|
-
_accountingService = IAccountingService(
|
58
|
-
_componentService = IComponentService(
|
59
|
-
_poolService = IPoolService(
|
60
|
-
_distributionService = IDistributionService(
|
61
|
-
_pricingService = IPricingService(
|
58
|
+
_accountingService = IAccountingService(getRegistry().getServiceAddress(ACCOUNTING(), majorVersion));
|
59
|
+
_componentService = IComponentService(getRegistry().getServiceAddress(COMPONENT(), majorVersion));
|
60
|
+
_poolService = IPoolService(getRegistry().getServiceAddress(POOL(), majorVersion));
|
61
|
+
_distributionService = IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), majorVersion));
|
62
|
+
_pricingService = IPricingService(getRegistry().getServiceAddress(PRICE(), majorVersion));
|
62
63
|
|
63
64
|
_registerInterface(type(IPolicyService).interfaceId);
|
64
65
|
}
|
@@ -73,8 +74,7 @@ contract PolicyService is
|
|
73
74
|
nonReentrant()
|
74
75
|
{
|
75
76
|
// checks
|
76
|
-
(
|
77
|
-
applicationNftId, getRelease());
|
77
|
+
(IInstance instance,,) = _getAndVerifyCallerForPolicy(applicationNftId);
|
78
78
|
|
79
79
|
// check policy is in state applied
|
80
80
|
if (instance.getInstanceReader().getPolicyState(applicationNftId) != APPLIED()) {
|
@@ -105,10 +105,10 @@ contract PolicyService is
|
|
105
105
|
{
|
106
106
|
// checks
|
107
107
|
(
|
108
|
+
IInstance instance,
|
108
109
|
NftId productNftId,
|
109
|
-
IPolicy.PolicyInfo memory applicationInfo
|
110
|
-
|
111
|
-
) = _getAndVerifyCallerAndInfoForPolicy(applicationNftId);
|
110
|
+
IPolicy.PolicyInfo memory applicationInfo
|
111
|
+
) = _getAndVerifyCallerForPolicy(applicationNftId);
|
112
112
|
|
113
113
|
// check policy is in state applied
|
114
114
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -173,7 +173,7 @@ contract PolicyService is
|
|
173
173
|
}
|
174
174
|
|
175
175
|
// link policy to risk and bundle
|
176
|
-
NftId poolNftId =
|
176
|
+
NftId poolNftId = getRegistry().getParentNftId(bundleNftId);
|
177
177
|
instance.getRiskSet().linkPolicy(productNftId, riskId, applicationNftId);
|
178
178
|
instance.getBundleSet().linkPolicy(poolNftId, bundleNftId, applicationNftId);
|
179
179
|
|
@@ -198,10 +198,10 @@ contract PolicyService is
|
|
198
198
|
{
|
199
199
|
// checks
|
200
200
|
(
|
201
|
+
IInstance instance,
|
201
202
|
NftId productNftId,
|
202
|
-
IPolicy.PolicyInfo memory policyInfo
|
203
|
-
|
204
|
-
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
203
|
+
IPolicy.PolicyInfo memory policyInfo
|
204
|
+
) = _getAndVerifyCallerForPolicy(policyNftId);
|
205
205
|
|
206
206
|
// check policy is in state collateralized
|
207
207
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -218,7 +218,7 @@ contract PolicyService is
|
|
218
218
|
IPolicy.PremiumInfo memory premium = instanceReader.getPremiumInfo(policyNftId);
|
219
219
|
instanceReader.getTokenHandler(
|
220
220
|
productNftId).checkBalanceAndAllowance(
|
221
|
-
|
221
|
+
getRegistry().ownerOf(policyNftId),
|
222
222
|
premium.premiumAmount,
|
223
223
|
false);
|
224
224
|
|
@@ -226,7 +226,7 @@ contract PolicyService is
|
|
226
226
|
// _checkPremiumBalanceAndAllowance(
|
227
227
|
// tokenHandler.TOKEN(),
|
228
228
|
// address(tokenHandler),
|
229
|
-
//
|
229
|
+
// getRegistry().ownerOf(policyNftId),
|
230
230
|
// premium.premiumAmount);
|
231
231
|
|
232
232
|
// effects
|
@@ -247,7 +247,7 @@ contract PolicyService is
|
|
247
247
|
instance.getProductStore().updatePremiumState(policyNftId, PAID());
|
248
248
|
|
249
249
|
// log premium collection before interactions with token
|
250
|
-
emit LogPolicyServicePolicyPremiumCollected(policyNftId, premium.premiumAmount);
|
250
|
+
emit LogPolicyServicePolicyPremiumCollected(policyNftId, policyInfo.productNftId, premium.premiumAmount, activateAt);
|
251
251
|
|
252
252
|
// interactions
|
253
253
|
_transferPremiumAmounts(instanceReader, policyNftId, policyInfo.productNftId, premium);
|
@@ -263,10 +263,9 @@ contract PolicyService is
|
|
263
263
|
{
|
264
264
|
// checks
|
265
265
|
(
|
266
|
-
|
267
|
-
IPolicy.PolicyInfo memory policyInfo
|
268
|
-
|
269
|
-
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
266
|
+
IInstance instance,,
|
267
|
+
IPolicy.PolicyInfo memory policyInfo
|
268
|
+
) = _getAndVerifyCallerForPolicy(policyNftId);
|
270
269
|
|
271
270
|
// effects
|
272
271
|
policyInfo = PolicyServiceLib.activate(policyNftId, policyInfo, activateAt);
|
@@ -292,10 +291,9 @@ contract PolicyService is
|
|
292
291
|
{
|
293
292
|
// checks
|
294
293
|
(
|
295
|
-
|
296
|
-
IPolicy.PolicyInfo memory policyInfo
|
297
|
-
|
298
|
-
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
294
|
+
IInstance instance,,
|
295
|
+
IPolicy.PolicyInfo memory policyInfo
|
296
|
+
) = _getAndVerifyCallerForPolicy(policyNftId);
|
299
297
|
|
300
298
|
if (policyInfo.activatedAt.eqz()) {
|
301
299
|
revert ErrorPolicyServicePolicyNotActivated(policyNftId);
|
@@ -335,10 +333,9 @@ contract PolicyService is
|
|
335
333
|
{
|
336
334
|
// checks
|
337
335
|
(
|
338
|
-
|
339
|
-
IPolicy.PolicyInfo memory policyInfo
|
340
|
-
|
341
|
-
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
336
|
+
IInstance instance,,
|
337
|
+
IPolicy.PolicyInfo memory policyInfo
|
338
|
+
) = _getAndVerifyCallerForPolicy(policyNftId);
|
342
339
|
|
343
340
|
// more checks, effects + interactions
|
344
341
|
return _expire(
|
@@ -388,10 +385,10 @@ contract PolicyService is
|
|
388
385
|
{
|
389
386
|
// checks
|
390
387
|
(
|
388
|
+
IInstance instance,
|
391
389
|
NftId productNftId,
|
392
|
-
IPolicy.PolicyInfo memory policyInfo
|
393
|
-
|
394
|
-
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
390
|
+
IPolicy.PolicyInfo memory policyInfo
|
391
|
+
) = _getAndVerifyCallerForPolicy(policyNftId);
|
395
392
|
InstanceReader instanceReader = instance.getInstanceReader();
|
396
393
|
|
397
394
|
// check policy is in a closeable state
|
@@ -421,7 +418,7 @@ contract PolicyService is
|
|
421
418
|
instance.getProductStore().updatePolicy(policyNftId, policyInfo, CLOSED());
|
422
419
|
|
423
420
|
// unlink policy from risk and bundle
|
424
|
-
NftId poolNftId =
|
421
|
+
NftId poolNftId = getRegistry().getParentNftId(bundleNftId);
|
425
422
|
instance.getRiskSet().unlinkPolicy(productNftId, riskId, policyNftId);
|
426
423
|
instance.getBundleSet().unlinkPolicy(poolNftId, bundleNftId, policyNftId);
|
427
424
|
|
@@ -503,7 +500,7 @@ contract PolicyService is
|
|
503
500
|
internal
|
504
501
|
virtual
|
505
502
|
{
|
506
|
-
address policyHolder =
|
503
|
+
address policyHolder = getRegistry().ownerOf(policyNftId);
|
507
504
|
|
508
505
|
(
|
509
506
|
,
|
@@ -577,7 +574,7 @@ contract PolicyService is
|
|
577
574
|
view
|
578
575
|
returns (IPolicyHolder policyHolder)
|
579
576
|
{
|
580
|
-
address policyHolderAddress =
|
577
|
+
address policyHolderAddress = getRegistry().ownerOf(policyNftId);
|
581
578
|
policyHolder = IPolicyHolder(policyHolderAddress);
|
582
579
|
|
583
580
|
if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
|
@@ -609,20 +606,36 @@ contract PolicyService is
|
|
609
606
|
}
|
610
607
|
}
|
611
608
|
|
612
|
-
|
609
|
+
|
610
|
+
function _getAndVerifyCallerForPolicy(NftId policyNftId)
|
613
611
|
internal
|
614
612
|
virtual
|
615
613
|
view
|
616
614
|
returns (
|
615
|
+
IInstance instance,
|
617
616
|
NftId productNftId,
|
618
|
-
IPolicy.PolicyInfo memory policyInfo
|
619
|
-
IInstance instance
|
617
|
+
IPolicy.PolicyInfo memory policyInfo
|
620
618
|
)
|
621
619
|
{
|
622
|
-
(
|
623
|
-
|
624
|
-
|
620
|
+
(
|
621
|
+
IRegistry.ObjectInfo memory productInfo,
|
622
|
+
address instanceAddress
|
623
|
+
) = ContractLib.getAndVerifyComponent(
|
624
|
+
getRegistry(),
|
625
|
+
msg.sender, // caller contract
|
626
|
+
PRODUCT(), // caller must be product
|
627
|
+
true); // only active caller
|
628
|
+
|
629
|
+
productNftId = productInfo.nftId; // calling product nft id
|
630
|
+
instance = IInstance(instanceAddress);
|
625
631
|
policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
|
632
|
+
|
633
|
+
if (policyInfo.productNftId != productNftId) {
|
634
|
+
revert ErrorPolicyServicePolicyProductMismatch(
|
635
|
+
policyNftId,
|
636
|
+
productNftId,
|
637
|
+
policyInfo.productNftId);
|
638
|
+
}
|
626
639
|
}
|
627
640
|
|
628
641
|
|
@@ -95,13 +95,14 @@ library PolicyServiceLib {
|
|
95
95
|
{
|
96
96
|
if (policyState != COLLATERALIZED()) {
|
97
97
|
revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
98
|
-
}
|
99
|
-
|
98
|
+
}
|
99
|
+
|
100
|
+
if (policyInfo.activatedAt.eqz() || TimestampLib.current() < policyInfo.activatedAt) {
|
100
101
|
revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
101
102
|
}
|
102
103
|
|
103
104
|
// check expiredAt represents a valid expiry time
|
104
|
-
if (newExpiredAt
|
105
|
+
if (newExpiredAt > policyInfo.expiredAt) {
|
105
106
|
revert IPolicyService.ErrorPolicyServicePolicyExpirationTooLate(policyNftId, policyInfo.expiredAt, newExpiredAt);
|
106
107
|
}
|
107
108
|
|
@@ -110,6 +111,7 @@ library PolicyServiceLib {
|
|
110
111
|
}
|
111
112
|
}
|
112
113
|
|
114
|
+
|
113
115
|
function policyIsCloseable(InstanceReader instanceReader, NftId policyNftId)
|
114
116
|
external
|
115
117
|
view
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PolicyService} from "./PolicyService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract PolicyServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with product service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
PolicyService svc = new PolicyService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_policyService = PolicyService(address(
|
27
|
+
_policyService = PolicyService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -36,13 +36,14 @@ contract PricingService is
|
|
36
36
|
)
|
37
37
|
internal
|
38
38
|
virtual override
|
39
|
-
|
39
|
+
initializer()
|
40
40
|
{
|
41
41
|
(
|
42
|
-
address authority
|
43
|
-
|
42
|
+
address authority,
|
43
|
+
address registry
|
44
|
+
) = abi.decode(data, (address, address));
|
44
45
|
|
45
|
-
__Service_init(authority, owner);
|
46
|
+
__Service_init(authority, registry, owner);
|
46
47
|
|
47
48
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
48
49
|
|
@@ -77,11 +78,11 @@ contract PricingService is
|
|
77
78
|
// verify product
|
78
79
|
(
|
79
80
|
IRegistry.ObjectInfo memory registryInfo,
|
80
|
-
|
81
|
-
) = ContractLib.getInfoAndInstance(
|
81
|
+
address instanceAddress
|
82
|
+
) = ContractLib.getInfoAndInstance(getRegistry(), productNftId, false);
|
82
83
|
|
83
84
|
// get instance reader from local instance variable
|
84
|
-
reader =
|
85
|
+
reader = IInstance(instanceAddress).getInstanceReader();
|
85
86
|
|
86
87
|
NftId riskProductNftId = reader.getRiskInfo(riskId).productNftId;
|
87
88
|
if (productNftId != riskProductNftId) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PricingService} from "./PricingService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract PricingServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with pricing service implementation and deploys instance
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
PricingService pricingSrv = new PricingService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(pricingSrv),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_pricingService = PricingService(address(
|
27
|
+
_pricingService = PricingService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -134,6 +134,7 @@ abstract contract Product is
|
|
134
134
|
|
135
135
|
|
136
136
|
function __Product_init(
|
137
|
+
address registry,
|
137
138
|
NftId instanceNftId,
|
138
139
|
string memory name,
|
139
140
|
IComponents.ProductInfo memory productInfo,
|
@@ -146,6 +147,7 @@ abstract contract Product is
|
|
146
147
|
onlyInitializing()
|
147
148
|
{
|
148
149
|
__InstanceLinkedComponent_init(
|
150
|
+
registry,
|
149
151
|
instanceNftId,
|
150
152
|
name,
|
151
153
|
PRODUCT(),
|
@@ -26,14 +26,15 @@ contract RiskService is
|
|
26
26
|
bytes memory data
|
27
27
|
)
|
28
28
|
internal
|
29
|
+
initializer
|
29
30
|
virtual override
|
30
|
-
onlyInitializing()
|
31
31
|
{
|
32
32
|
(
|
33
|
-
address authority
|
34
|
-
|
33
|
+
address authority,
|
34
|
+
address registry
|
35
|
+
) = abi.decode(data, (address, address));
|
35
36
|
|
36
|
-
__Service_init(authority, owner);
|
37
|
+
__Service_init(authority, registry, owner);
|
37
38
|
_registerInterface(type(IRiskService).interfaceId);
|
38
39
|
}
|
39
40
|
|
@@ -48,7 +49,7 @@ contract RiskService is
|
|
48
49
|
returns (RiskId riskId)
|
49
50
|
{
|
50
51
|
// checks
|
51
|
-
(NftId productNftId, IInstance instance) =
|
52
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
52
53
|
|
53
54
|
// effects
|
54
55
|
riskId = RiskIdLib.toRiskId(productNftId, id);
|
@@ -79,7 +80,7 @@ contract RiskService is
|
|
79
80
|
restricted()
|
80
81
|
{
|
81
82
|
// checks
|
82
|
-
(NftId productNftId, IInstance instance) =
|
83
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
83
84
|
|
84
85
|
// effects
|
85
86
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -106,7 +107,7 @@ contract RiskService is
|
|
106
107
|
restricted()
|
107
108
|
{
|
108
109
|
// checks
|
109
|
-
(NftId productNftId, IInstance instance) =
|
110
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
110
111
|
|
111
112
|
if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
|
112
113
|
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
@@ -118,10 +119,10 @@ contract RiskService is
|
|
118
119
|
|
119
120
|
if (locked) {
|
120
121
|
instance.getRiskSet().deactivate(riskId);
|
121
|
-
emit LogRiskServiceRiskLocked(productNftId, riskId);
|
122
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId, true);
|
122
123
|
} else {
|
123
124
|
instance.getRiskSet().activate(riskId);
|
124
|
-
emit
|
125
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId, false);
|
125
126
|
}
|
126
127
|
}
|
127
128
|
|
@@ -134,7 +135,7 @@ contract RiskService is
|
|
134
135
|
restricted()
|
135
136
|
{
|
136
137
|
// checks
|
137
|
-
(NftId productNftId, IInstance instance) =
|
138
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
138
139
|
(bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
|
139
140
|
|
140
141
|
if (!exists) {
|
@@ -151,6 +152,37 @@ contract RiskService is
|
|
151
152
|
emit LogRiskServiceRiskClosed(productNftId, riskId);
|
152
153
|
}
|
153
154
|
|
155
|
+
function _getAndVerifyActiveComponent(ObjectType expectedType)
|
156
|
+
internal
|
157
|
+
view
|
158
|
+
returns (
|
159
|
+
NftId componentNftId,
|
160
|
+
IInstance instance
|
161
|
+
)
|
162
|
+
{
|
163
|
+
IRegistry.ObjectInfo memory info;
|
164
|
+
address instanceAddress;
|
165
|
+
bool isActive = true;
|
166
|
+
|
167
|
+
if (expectedType != COMPONENT()) {
|
168
|
+
(info, instanceAddress) = ContractLib.getAndVerifyComponent(
|
169
|
+
getRegistry(),
|
170
|
+
msg.sender, // caller
|
171
|
+
expectedType,
|
172
|
+
isActive);
|
173
|
+
} else {
|
174
|
+
(info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
|
175
|
+
getRegistry(),
|
176
|
+
msg.sender,
|
177
|
+
isActive);
|
178
|
+
}
|
179
|
+
|
180
|
+
// get component nft id and instance
|
181
|
+
componentNftId = info.nftId;
|
182
|
+
instance = IInstance(instanceAddress);
|
183
|
+
}
|
184
|
+
|
185
|
+
|
154
186
|
function _getDomain() internal pure override returns(ObjectType) {
|
155
187
|
return RISK();
|
156
188
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {RiskService} from "./RiskService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract RiskServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with product service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
RiskService svc = new RiskService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_riskService = RiskService(address(
|
27
|
+
_riskService = RiskService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -8,10 +8,10 @@ import {ITransferInterceptor} from "./ITransferInterceptor.sol";
|
|
8
8
|
|
9
9
|
contract ChainNft is ERC721Enumerable {
|
10
10
|
|
11
|
-
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
11
|
+
event LogTokenInterceptorAddress(uint256 indexed tokenId, address indexed interceptor);
|
12
12
|
|
13
13
|
// constants
|
14
|
-
string public constant NAME = "
|
14
|
+
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
15
15
|
string public constant SYMBOL = "DIPNFT";
|
16
16
|
|
17
17
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|