@etherisc/gif-next 0.0.2-8985927-403 → 0.0.2-89ff2e2-420
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 +82 -8
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1046 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +387 -112
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- 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 +549 -209
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +171 -446
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +90 -330
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +627 -326
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +195 -125
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -172
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +424 -100
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2026 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2452 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +540 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +290 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +549 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1645 -830
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +303 -227
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +910 -838
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- 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/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 +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +123 -322
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- 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 +98 -121
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +99 -274
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +139 -314
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +308 -357
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +138 -128
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +201 -96
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +129 -163
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +499 -287
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +127 -313
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +691 -502
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +181 -111
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +328 -173
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +128 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +258 -372
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +435 -243
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +267 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +304 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +271 -59
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +156 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +252 -214
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +398 -278
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +159 -117
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +223 -337
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +128 -138
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +250 -364
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +430 -623
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- 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 +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- 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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -121
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- 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 +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +98 -273
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +313 -108
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +420 -336
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +143 -100
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- 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 +94 -38
- 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 +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -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 +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- 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/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -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 +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +456 -267
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -202
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +87 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +42 -90
- package/contracts/distribution/DistributionService.sol +227 -115
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +38 -24
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +101 -42
- package/contracts/instance/IInstanceService.sol +52 -31
- package/contracts/instance/Instance.sol +189 -97
- package/contracts/instance/InstanceAdmin.sol +276 -178
- package/contracts/instance/InstanceAuthorizationV3.sol +119 -56
- package/contracts/instance/InstanceReader.sol +474 -264
- package/contracts/instance/InstanceService.sol +284 -239
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +13 -6
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -3
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +48 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +33 -9
- package/contracts/pool/BundleService.sol +113 -145
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +24 -37
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +77 -67
- package/contracts/pool/Pool.sol +137 -120
- package/contracts/pool/PoolLib.sol +359 -0
- package/contracts/pool/PoolService.sol +360 -255
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +111 -34
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +32 -12
- package/contracts/product/ClaimService.sol +382 -157
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +28 -3
- package/contracts/product/IClaimService.sol +43 -8
- package/contracts/product/IPolicyService.sol +43 -14
- package/contracts/product/IPricingService.sol +10 -9
- package/contracts/product/IProductComponent.sol +27 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -9
- package/contracts/product/PolicyService.sol +355 -286
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +77 -75
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +149 -83
- package/contracts/product/RiskService.sol +157 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +64 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +110 -296
- package/contracts/registry/RegistryAuthorization.sol +284 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +275 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +201 -55
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +66 -124
- package/contracts/shared/ComponentService.sol +412 -375
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ContractLib.sol +311 -0
- package/contracts/shared/IComponent.sol +6 -18
- package/contracts/shared/IComponentService.sol +42 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -50
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +18 -54
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +48 -20
- package/contracts/staking/IStakingService.sol +21 -11
- package/contracts/staking/Staking.sol +196 -88
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +40 -24
- package/contracts/staking/StakingService.sol +88 -27
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +3 -2
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +70 -38
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +12 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +81 -45
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/ComponentVerifyingService.sol +0 -117
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -3,30 +3,28 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
5
|
import {ClaimId} from "../type/ClaimId.sol";
|
6
|
-
import {
|
7
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
8
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
6
|
+
import {Fee} from "../type/Fee.sol";
|
9
7
|
import {IApplicationService} from "./IApplicationService.sol";
|
10
8
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
11
9
|
import {IComponentService} from "../shared/IComponentService.sol";
|
10
|
+
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
12
11
|
import {IPolicyService} from "./IPolicyService.sol";
|
13
|
-
import {
|
12
|
+
import {IRiskService} from "./IRiskService.sol";
|
14
13
|
import {IClaimService} from "./IClaimService.sol";
|
15
14
|
import {IPricingService} from "./IPricingService.sol";
|
16
15
|
import {IProductComponent} from "./IProductComponent.sol";
|
17
16
|
import {NftId} from "../type/NftId.sol";
|
17
|
+
import {COMPONENT, PRODUCT, BUNDLE, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
|
18
18
|
import {PayoutId} from "../type/PayoutId.sol";
|
19
|
-
import {COMPONENT, PRODUCT, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
|
19
|
+
import {COMPONENT, PRODUCT, APPLICATION, POLICY, CLAIM, PRICE, BUNDLE, RISK } from "../type/ObjectType.sol";
|
20
20
|
import {ReferralId} from "../type/Referral.sol";
|
21
|
-
import {RiskId
|
21
|
+
import {RiskId} from "../type/RiskId.sol";
|
22
22
|
import {Seconds} from "../type/Seconds.sol";
|
23
23
|
import {StateId} from "../type/StateId.sol";
|
24
24
|
import {Timestamp} from "../type/Timestamp.sol";
|
25
25
|
|
26
26
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
27
27
|
import {IComponents} from "../instance/module/IComponents.sol";
|
28
|
-
import {Pool} from "../pool/Pool.sol";
|
29
|
-
import {Distribution} from "../distribution/Distribution.sol";
|
30
28
|
|
31
29
|
abstract contract Product is
|
32
30
|
InstanceLinkedComponent,
|
@@ -36,16 +34,39 @@ abstract contract Product is
|
|
36
34
|
bytes32 public constant PRODUCT_STORAGE_LOCATION_V1 = 0x0bb7aafdb8e380f81267337bc5b5dfdf76e6d3a380ecadb51ec665246d9d6800;
|
37
35
|
|
38
36
|
struct ProductStorage {
|
39
|
-
|
37
|
+
IComponents.ProductInfo _productInfo;
|
38
|
+
IComponents.FeeInfo _feeInfo;
|
39
|
+
IComponentService _componentService;
|
40
|
+
IRiskService _riskService;
|
40
41
|
IApplicationService _applicationService;
|
41
42
|
IPolicyService _policyService;
|
42
43
|
IClaimService _claimService;
|
43
44
|
IPricingService _pricingService;
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
}
|
46
|
+
|
47
|
+
|
48
|
+
function registerComponent(address component)
|
49
|
+
external
|
50
|
+
virtual
|
51
|
+
restricted()
|
52
|
+
onlyOwner()
|
53
|
+
returns (NftId componentNftId)
|
54
|
+
{
|
55
|
+
return _getProductStorage()._componentService.registerComponent(component);
|
56
|
+
}
|
57
|
+
|
58
|
+
|
59
|
+
function processFundedClaim(
|
60
|
+
NftId policyNftId,
|
61
|
+
ClaimId claimId,
|
62
|
+
Amount availableAmount
|
63
|
+
)
|
64
|
+
external
|
65
|
+
virtual
|
66
|
+
restricted() // pool service role
|
67
|
+
onlyNftOfType(policyNftId, POLICY())
|
68
|
+
{
|
69
|
+
// default implementation does nothing
|
49
70
|
}
|
50
71
|
|
51
72
|
|
@@ -59,7 +80,9 @@ abstract contract Product is
|
|
59
80
|
)
|
60
81
|
public
|
61
82
|
view
|
83
|
+
virtual
|
62
84
|
override
|
85
|
+
onlyNftOfType(bundleNftId, BUNDLE())
|
63
86
|
returns (Amount premiumAmount)
|
64
87
|
{
|
65
88
|
IPolicy.PremiumInfo memory premium = _getProductStorage()._pricingService.calculatePremium(
|
@@ -72,7 +95,7 @@ abstract contract Product is
|
|
72
95
|
referralId
|
73
96
|
);
|
74
97
|
|
75
|
-
return
|
98
|
+
return premium.premiumAmount;
|
76
99
|
}
|
77
100
|
|
78
101
|
function calculateNetPremium(
|
@@ -91,56 +114,33 @@ abstract contract Product is
|
|
91
114
|
}
|
92
115
|
|
93
116
|
|
94
|
-
function register()
|
95
|
-
external
|
96
|
-
virtual
|
97
|
-
onlyOwner()
|
98
|
-
{
|
99
|
-
_getProductStorage()._componentService.registerProduct();
|
100
|
-
_approveTokenHandler(type(uint256).max);
|
101
|
-
}
|
102
|
-
|
103
|
-
|
104
117
|
function getInitialProductInfo()
|
105
118
|
public
|
106
119
|
virtual
|
107
120
|
view
|
108
121
|
returns (IComponents.ProductInfo memory poolInfo)
|
109
122
|
{
|
110
|
-
|
111
|
-
|
112
|
-
return IComponents.ProductInfo({
|
113
|
-
distributionNftId: $._distributionNftId,
|
114
|
-
poolNftId: $._poolNftId,
|
115
|
-
productFee: FeeLib.zero(),
|
116
|
-
processingFee: FeeLib.zero(),
|
117
|
-
distributionFee: FeeLib.zero(),
|
118
|
-
minDistributionOwnerFee: FeeLib.zero(),
|
119
|
-
poolFee: FeeLib.zero(),
|
120
|
-
stakingFee: FeeLib.zero(),
|
121
|
-
performanceFee: FeeLib.zero()
|
122
|
-
});
|
123
|
+
return _getProductStorage()._productInfo;
|
123
124
|
}
|
124
125
|
|
125
|
-
function
|
126
|
-
|
126
|
+
function getInitialFeeInfo()
|
127
|
+
public
|
128
|
+
virtual
|
129
|
+
view
|
130
|
+
returns (IComponents.FeeInfo memory feeInfo)
|
131
|
+
{
|
132
|
+
return _getProductStorage()._feeInfo;
|
127
133
|
}
|
128
134
|
|
129
|
-
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
130
|
-
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
131
|
-
}
|
132
135
|
|
133
136
|
function _initializeProduct(
|
134
137
|
address registry,
|
135
138
|
NftId instanceNftId,
|
139
|
+
string memory name,
|
140
|
+
IComponents.ProductInfo memory productInfo,
|
141
|
+
IComponents.FeeInfo memory feeInfo,
|
136
142
|
IAuthorization authorization,
|
137
143
|
address initialOwner,
|
138
|
-
string memory name,
|
139
|
-
address token,
|
140
|
-
bool isInterceptor,
|
141
|
-
address pool,
|
142
|
-
address distribution,
|
143
|
-
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
144
144
|
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
145
145
|
)
|
146
146
|
internal
|
@@ -151,29 +151,23 @@ abstract contract Product is
|
|
151
151
|
registry,
|
152
152
|
instanceNftId,
|
153
153
|
name,
|
154
|
-
token,
|
155
154
|
PRODUCT(),
|
156
155
|
authorization,
|
157
|
-
|
156
|
+
productInfo.isInterceptingPolicyTransfers,
|
158
157
|
initialOwner,
|
159
|
-
registryData,
|
160
158
|
componentData);
|
161
159
|
|
162
160
|
ProductStorage storage $ = _getProductStorage();
|
163
|
-
|
164
|
-
|
165
|
-
$.
|
161
|
+
$._productInfo = productInfo;
|
162
|
+
$._feeInfo = feeInfo;
|
163
|
+
$._riskService = IRiskService(_getServiceAddress(RISK()));
|
166
164
|
$._applicationService = IApplicationService(_getServiceAddress(APPLICATION()));
|
167
165
|
$._policyService = IPolicyService(_getServiceAddress(POLICY()));
|
168
166
|
$._claimService = IClaimService(_getServiceAddress(CLAIM()));
|
169
167
|
$._pricingService = IPricingService(_getServiceAddress(PRICE()));
|
170
168
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
171
|
-
$._pool = Pool(pool);
|
172
|
-
$._distribution = Distribution(distribution);
|
173
|
-
$._poolNftId = getRegistry().getNftId(pool);
|
174
|
-
$._distributionNftId = getRegistry().getNftId(distribution);
|
175
169
|
|
176
|
-
|
170
|
+
_registerInterface(type(IProductComponent).interfaceId);
|
177
171
|
}
|
178
172
|
|
179
173
|
|
@@ -189,10 +183,14 @@ abstract contract Product is
|
|
189
183
|
|
190
184
|
|
191
185
|
function _createRisk(
|
192
|
-
|
186
|
+
bytes32 id,
|
193
187
|
bytes memory data
|
194
|
-
)
|
195
|
-
|
188
|
+
)
|
189
|
+
internal
|
190
|
+
virtual
|
191
|
+
returns (RiskId riskId)
|
192
|
+
{
|
193
|
+
return _getProductStorage()._riskService.createRisk(
|
196
194
|
id,
|
197
195
|
data
|
198
196
|
);
|
@@ -201,8 +199,11 @@ abstract contract Product is
|
|
201
199
|
function _updateRisk(
|
202
200
|
RiskId id,
|
203
201
|
bytes memory data
|
204
|
-
)
|
205
|
-
|
202
|
+
)
|
203
|
+
internal
|
204
|
+
virtual
|
205
|
+
{
|
206
|
+
_getProductStorage()._riskService.updateRisk(
|
206
207
|
id,
|
207
208
|
data
|
208
209
|
);
|
@@ -211,19 +212,17 @@ abstract contract Product is
|
|
211
212
|
function _updateRiskState(
|
212
213
|
RiskId id,
|
213
214
|
StateId state
|
214
|
-
)
|
215
|
-
|
215
|
+
)
|
216
|
+
internal
|
217
|
+
virtual
|
218
|
+
{
|
219
|
+
_getProductStorage()._riskService.updateRiskState(
|
216
220
|
id,
|
217
221
|
state
|
218
222
|
);
|
219
223
|
}
|
220
224
|
|
221
225
|
|
222
|
-
function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
|
223
|
-
return getInstance().getInstanceReader().getRiskInfo(id);
|
224
|
-
}
|
225
|
-
|
226
|
-
|
227
226
|
function _createApplication(
|
228
227
|
address applicationOwner,
|
229
228
|
RiskId riskId,
|
@@ -235,6 +234,7 @@ abstract contract Product is
|
|
235
234
|
bytes memory applicationData
|
236
235
|
)
|
237
236
|
internal
|
237
|
+
virtual
|
238
238
|
returns (NftId applicationNftId)
|
239
239
|
{
|
240
240
|
return _getProductStorage()._applicationService.create(
|
@@ -251,19 +251,24 @@ abstract contract Product is
|
|
251
251
|
|
252
252
|
function _createPolicy(
|
253
253
|
NftId applicationNftId,
|
254
|
-
Timestamp activateAt
|
254
|
+
Timestamp activateAt,
|
255
|
+
Amount maxPremiumAmount
|
255
256
|
)
|
256
257
|
internal
|
258
|
+
virtual
|
259
|
+
returns (Amount premiumAmount)
|
257
260
|
{
|
258
|
-
_getProductStorage()._policyService.createPolicy(
|
261
|
+
premiumAmount = _getProductStorage()._policyService.createPolicy(
|
259
262
|
applicationNftId,
|
260
|
-
activateAt
|
263
|
+
activateAt,
|
264
|
+
maxPremiumAmount);
|
261
265
|
}
|
262
266
|
|
263
267
|
function _decline(
|
264
268
|
NftId policyNftId
|
265
269
|
)
|
266
270
|
internal
|
271
|
+
virtual
|
267
272
|
{
|
268
273
|
_getProductStorage()._policyService.decline(
|
269
274
|
policyNftId);
|
@@ -274,16 +279,33 @@ abstract contract Product is
|
|
274
279
|
Timestamp expireAt
|
275
280
|
)
|
276
281
|
internal
|
282
|
+
virtual
|
277
283
|
returns (Timestamp expiredAt)
|
278
284
|
{
|
279
285
|
expiredAt = _getProductStorage()._policyService.expire(policyNftId, expireAt);
|
280
286
|
}
|
281
287
|
|
288
|
+
/// @dev adjust the activation date of the policy.
|
289
|
+
/// The policy must already have an activation date set.
|
290
|
+
/// Allowed values are from the current blocktime to the expiration date of the policy.
|
291
|
+
function _adjustActivation(
|
292
|
+
NftId policyNftId,
|
293
|
+
Timestamp activateAt
|
294
|
+
)
|
295
|
+
internal
|
296
|
+
virtual
|
297
|
+
{
|
298
|
+
_getProductStorage()._policyService.adjustActivation(
|
299
|
+
policyNftId,
|
300
|
+
activateAt);
|
301
|
+
}
|
302
|
+
|
282
303
|
function _collectPremium(
|
283
304
|
NftId policyNftId,
|
284
305
|
Timestamp activateAt
|
285
306
|
)
|
286
307
|
internal
|
308
|
+
virtual
|
287
309
|
{
|
288
310
|
_getProductStorage()._policyService.collectPremium(
|
289
311
|
policyNftId,
|
@@ -295,6 +317,7 @@ abstract contract Product is
|
|
295
317
|
Timestamp activateAt
|
296
318
|
)
|
297
319
|
internal
|
320
|
+
virtual
|
298
321
|
{
|
299
322
|
_getProductStorage()._policyService.activate(
|
300
323
|
policyNftId,
|
@@ -305,6 +328,7 @@ abstract contract Product is
|
|
305
328
|
NftId policyNftId
|
306
329
|
)
|
307
330
|
internal
|
331
|
+
virtual
|
308
332
|
{
|
309
333
|
_getProductStorage()._policyService.close(
|
310
334
|
policyNftId);
|
@@ -316,6 +340,7 @@ abstract contract Product is
|
|
316
340
|
bytes memory claimData
|
317
341
|
)
|
318
342
|
internal
|
343
|
+
virtual
|
319
344
|
returns(ClaimId)
|
320
345
|
{
|
321
346
|
return _getProductStorage()._claimService.submit(
|
@@ -324,6 +349,18 @@ abstract contract Product is
|
|
324
349
|
claimData);
|
325
350
|
}
|
326
351
|
|
352
|
+
function _revokeClaim(
|
353
|
+
NftId policyNftId,
|
354
|
+
ClaimId claimId
|
355
|
+
)
|
356
|
+
internal
|
357
|
+
virtual
|
358
|
+
{
|
359
|
+
_getProductStorage()._claimService.revoke(
|
360
|
+
policyNftId,
|
361
|
+
claimId);
|
362
|
+
}
|
363
|
+
|
327
364
|
function _confirmClaim(
|
328
365
|
NftId policyNftId,
|
329
366
|
ClaimId claimId,
|
@@ -331,6 +368,7 @@ abstract contract Product is
|
|
331
368
|
bytes memory data
|
332
369
|
)
|
333
370
|
internal
|
371
|
+
virtual
|
334
372
|
{
|
335
373
|
_getProductStorage()._claimService.confirm(
|
336
374
|
policyNftId,
|
@@ -345,6 +383,7 @@ abstract contract Product is
|
|
345
383
|
bytes memory data
|
346
384
|
)
|
347
385
|
internal
|
386
|
+
virtual
|
348
387
|
{
|
349
388
|
_getProductStorage()._claimService.decline(
|
350
389
|
policyNftId,
|
@@ -357,6 +396,7 @@ abstract contract Product is
|
|
357
396
|
ClaimId claimId
|
358
397
|
)
|
359
398
|
internal
|
399
|
+
virtual
|
360
400
|
{
|
361
401
|
_getProductStorage()._claimService.close(
|
362
402
|
policyNftId,
|
@@ -370,6 +410,7 @@ abstract contract Product is
|
|
370
410
|
bytes memory data
|
371
411
|
)
|
372
412
|
internal
|
413
|
+
virtual
|
373
414
|
returns (PayoutId)
|
374
415
|
{
|
375
416
|
return _getProductStorage()._claimService.createPayout(
|
@@ -379,28 +420,53 @@ abstract contract Product is
|
|
379
420
|
data);
|
380
421
|
}
|
381
422
|
|
423
|
+
function _createPayoutForBeneficiary(
|
424
|
+
NftId policyNftId,
|
425
|
+
ClaimId claimId,
|
426
|
+
Amount amount,
|
427
|
+
address beneficiary,
|
428
|
+
bytes memory data
|
429
|
+
)
|
430
|
+
internal
|
431
|
+
virtual
|
432
|
+
returns (PayoutId)
|
433
|
+
{
|
434
|
+
return _getProductStorage()._claimService.createPayoutForBeneficiary(
|
435
|
+
policyNftId,
|
436
|
+
claimId,
|
437
|
+
amount,
|
438
|
+
beneficiary,
|
439
|
+
data);
|
440
|
+
}
|
441
|
+
|
382
442
|
function _processPayout(
|
383
443
|
NftId policyNftId,
|
384
444
|
PayoutId payoutId
|
385
445
|
)
|
386
446
|
internal
|
447
|
+
virtual
|
448
|
+
returns (Amount netPayoutAmount, Amount processingFeeAmount)
|
387
449
|
{
|
388
|
-
_getProductStorage()._claimService.processPayout(
|
450
|
+
(netPayoutAmount, processingFeeAmount) = _getProductStorage()._claimService.processPayout(
|
389
451
|
policyNftId,
|
390
452
|
payoutId);
|
391
453
|
}
|
392
454
|
|
393
|
-
function
|
394
|
-
|
455
|
+
function _cancelPayout(
|
456
|
+
NftId policyNftId,
|
457
|
+
PayoutId payoutId
|
458
|
+
)
|
459
|
+
internal
|
460
|
+
virtual
|
461
|
+
{
|
462
|
+
_getProductStorage()._claimService.cancelPayout(
|
463
|
+
policyNftId,
|
464
|
+
payoutId);
|
395
465
|
}
|
396
466
|
|
397
|
-
function _getProductStorage()
|
467
|
+
function _getProductStorage() internal virtual pure returns (ProductStorage storage $) {
|
398
468
|
assembly {
|
399
469
|
$.slot := PRODUCT_STORAGE_LOCATION_V1
|
400
470
|
}
|
401
471
|
}
|
402
|
-
|
403
|
-
function _getProductService() internal view returns (IProductService) {
|
404
|
-
return _getProductStorage()._productService;
|
405
|
-
}
|
406
472
|
}
|
@@ -0,0 +1,157 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IInstance} from "../instance/IInstance.sol";
|
5
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
6
|
+
import {IRisk} from "../instance/module/IRisk.sol";
|
7
|
+
import {IRiskService} from "./IRiskService.sol";
|
8
|
+
|
9
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
10
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
11
|
+
import {ObjectType, COMPONENT, PRODUCT, RISK} from "../type/ObjectType.sol";
|
12
|
+
import {ACTIVE, PAUSED, KEEP_STATE} from "../type/StateId.sol";
|
13
|
+
import {NftId} from "../type/NftId.sol";
|
14
|
+
import {RiskId, RiskIdLib} from "../type/RiskId.sol";
|
15
|
+
import {StateId} from "../type/StateId.sol";
|
16
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
17
|
+
import {Service} from "../shared/Service.sol";
|
18
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
19
|
+
|
20
|
+
contract RiskService is
|
21
|
+
Service,
|
22
|
+
IRiskService
|
23
|
+
{
|
24
|
+
|
25
|
+
function _initialize(
|
26
|
+
address owner,
|
27
|
+
bytes memory data
|
28
|
+
)
|
29
|
+
internal
|
30
|
+
initializer
|
31
|
+
virtual override
|
32
|
+
{
|
33
|
+
(
|
34
|
+
address authority,
|
35
|
+
address registry
|
36
|
+
) = abi.decode(data, (address, address));
|
37
|
+
|
38
|
+
__Service_init(authority, registry, owner);
|
39
|
+
_registerInterface(type(IRiskService).interfaceId);
|
40
|
+
}
|
41
|
+
|
42
|
+
/// @inheritdoc IRiskService
|
43
|
+
function createRisk(
|
44
|
+
bytes32 id,
|
45
|
+
bytes memory data
|
46
|
+
)
|
47
|
+
external
|
48
|
+
virtual
|
49
|
+
restricted()
|
50
|
+
returns (RiskId riskId)
|
51
|
+
{
|
52
|
+
// checks
|
53
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
54
|
+
|
55
|
+
// effects
|
56
|
+
riskId = RiskIdLib.toRiskId(productNftId, id);
|
57
|
+
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
|
58
|
+
productNftId: productNftId,
|
59
|
+
createdAt: TimestampLib.blockTimestamp(),
|
60
|
+
data: data});
|
61
|
+
|
62
|
+
instance.getInstanceStore().createRisk(
|
63
|
+
riskId,
|
64
|
+
riskInfo
|
65
|
+
);
|
66
|
+
|
67
|
+
// add risk to RiskSet
|
68
|
+
RiskSet riskSet = instance.getRiskSet();
|
69
|
+
riskSet.add(riskId);
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
function updateRisk(
|
74
|
+
RiskId riskId,
|
75
|
+
bytes memory data
|
76
|
+
)
|
77
|
+
external
|
78
|
+
virtual
|
79
|
+
restricted()
|
80
|
+
{
|
81
|
+
// checks
|
82
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
83
|
+
|
84
|
+
// effects
|
85
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
86
|
+
IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
|
87
|
+
|
88
|
+
if (riskInfo.productNftId != productNftId) {
|
89
|
+
revert ErrorRiskServiceRiskProductMismatch(riskId, riskInfo.productNftId, productNftId);
|
90
|
+
}
|
91
|
+
|
92
|
+
riskInfo.data = data;
|
93
|
+
instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
94
|
+
}
|
95
|
+
|
96
|
+
|
97
|
+
function updateRiskState(
|
98
|
+
RiskId riskId,
|
99
|
+
StateId state
|
100
|
+
)
|
101
|
+
external
|
102
|
+
virtual
|
103
|
+
restricted()
|
104
|
+
{
|
105
|
+
// checks
|
106
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
107
|
+
|
108
|
+
NftId riskProductNftId = instance.getInstanceReader().getRiskInfo(riskId).productNftId;
|
109
|
+
if (riskProductNftId != productNftId) {
|
110
|
+
revert ErrorRiskServiceRiskProductMismatch(riskId, riskProductNftId, productNftId);
|
111
|
+
}
|
112
|
+
|
113
|
+
// effects
|
114
|
+
instance.getInstanceStore().updateRiskState(riskId, state);
|
115
|
+
|
116
|
+
if (state == ACTIVE()) {
|
117
|
+
instance.getRiskSet().activate(riskId);
|
118
|
+
} else if (state == PAUSED()) {
|
119
|
+
instance.getRiskSet().pause(riskId);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
function _getAndVerifyActiveComponent(ObjectType expectedType)
|
124
|
+
internal
|
125
|
+
view
|
126
|
+
returns (
|
127
|
+
NftId componentNftId,
|
128
|
+
IInstance instance
|
129
|
+
)
|
130
|
+
{
|
131
|
+
IRegistry.ObjectInfo memory info;
|
132
|
+
address instanceAddress;
|
133
|
+
bool isActive = true;
|
134
|
+
|
135
|
+
if (expectedType != COMPONENT()) {
|
136
|
+
(info, instanceAddress) = ContractLib.getAndVerifyComponent(
|
137
|
+
getRegistry(),
|
138
|
+
msg.sender, // caller
|
139
|
+
expectedType,
|
140
|
+
isActive);
|
141
|
+
} else {
|
142
|
+
(info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
|
143
|
+
getRegistry(),
|
144
|
+
msg.sender,
|
145
|
+
isActive);
|
146
|
+
}
|
147
|
+
|
148
|
+
// get component nft id and instance
|
149
|
+
componentNftId = info.nftId;
|
150
|
+
instance = IInstance(instanceAddress);
|
151
|
+
}
|
152
|
+
|
153
|
+
|
154
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
155
|
+
return RISK();
|
156
|
+
}
|
157
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
|
+
import {RiskService} from "./RiskService.sol";
|
7
|
+
|
8
|
+
contract RiskServiceManager is ProxyManager {
|
9
|
+
|
10
|
+
RiskService private _riskService;
|
11
|
+
|
12
|
+
/// @dev initializes proxy manager with product service implementation
|
13
|
+
constructor(
|
14
|
+
address authority,
|
15
|
+
address registry,
|
16
|
+
bytes32 salt
|
17
|
+
)
|
18
|
+
{
|
19
|
+
RiskService svc = new RiskService{salt: salt}();
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
23
|
+
address(svc),
|
24
|
+
data,
|
25
|
+
salt);
|
26
|
+
|
27
|
+
_riskService = RiskService(address(versionable));
|
28
|
+
}
|
29
|
+
|
30
|
+
//--- view functions ----------------------------------------------------//
|
31
|
+
function getRiskService()
|
32
|
+
external
|
33
|
+
view
|
34
|
+
returns (RiskService riskService)
|
35
|
+
{
|
36
|
+
return _riskService;
|
37
|
+
}
|
38
|
+
|
39
|
+
}
|