@etherisc/gif-next 0.0.2-b2e620f-736 → 0.0.2-b37fa8b-169
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 +63 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +91 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +573 -288
- 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 +8 -39
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +295 -47
- 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 +452 -210
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +119 -14
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +66 -144
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +275 -59
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -88
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +512 -204
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +147 -77
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -87
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +358 -82
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +109 -100
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +145 -132
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +274 -58
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +128 -168
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +39 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -138
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +342 -183
- 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/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +429 -35
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +345 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +473 -98
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +805 -448
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +246 -70
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +656 -418
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +377 -64
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -55
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +524 -1520
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2835 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- 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 +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- 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 +33 -35
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +294 -53
- 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 +19 -21
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -21
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +87 -42
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +96 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -69
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +274 -58
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -31
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +346 -87
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +121 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +273 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +103 -41
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -48
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +274 -58
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +113 -75
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +208 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +50 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +231 -19
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +511 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +118 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +116 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +100 -70
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -42
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +279 -43
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +91 -41
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +33 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -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 +71 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +704 -472
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +47 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +76 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +710 -407
- 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 +184 -128
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +224 -210
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +113 -63
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +130 -39
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +131 -141
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -21
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +43 -6
- 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 +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -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 +29 -0
- 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 +19 -21
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +43 -6
- 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 +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1450 -140
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +161 -110
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1565 -229
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +129 -70
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +200 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +86 -52
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1633 -819
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +159 -87
- 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 +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- 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 +93 -37
- 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 +33 -31
- 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 +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 +9 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- 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/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- 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 +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +56 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +65 -27
- 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/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +15 -3
- package/contracts/accounting/IAccountingService.sol +4 -2
- package/contracts/authorization/AccessAdmin.sol +389 -298
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +60 -228
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +81 -80
- package/contracts/authorization/IAuthorization.sol +3 -51
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +13 -11
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +20 -60
- package/contracts/distribution/DistributionService.sol +165 -74
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +34 -19
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +7 -12
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +87 -27
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +99 -14
- package/contracts/instance/IInstanceService.sol +54 -7
- package/contracts/instance/Instance.sol +166 -70
- package/contracts/instance/InstanceAdmin.sol +227 -296
- package/contracts/instance/InstanceAuthorizationV3.sol +121 -60
- package/contracts/instance/InstanceReader.sol +378 -373
- package/contracts/instance/InstanceService.sol +283 -173
- package/contracts/instance/InstanceStore.sol +9 -82
- package/contracts/instance/ProductStore.sol +235 -0
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +2 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +2 -4
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +3 -16
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +4 -16
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -184
- package/contracts/product/ApplicationService.sol +85 -17
- package/contracts/product/BasicProduct.sol +1 -3
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +24 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +25 -10
- package/contracts/product/PolicyService.sol +41 -103
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +33 -31
- package/contracts/product/Product.sol +44 -29
- package/contracts/product/RiskService.sol +63 -18
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +100 -263
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +62 -112
- package/contracts/registry/ReleaseRegistry.sol +57 -43
- package/contracts/registry/ServiceAuthorizationV3.sol +48 -32
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +17 -29
- package/contracts/shared/ComponentService.sol +249 -238
- package/contracts/shared/ContractLib.sol +134 -75
- package/contracts/shared/IComponent.sol +1 -4
- package/contracts/shared/IComponentService.sol +21 -19
- package/contracts/shared/IKeyValueStore.sol +9 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -7
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +4 -2
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Registerable.sol +1 -4
- package/contracts/shared/Service.sol +6 -4
- package/contracts/shared/TokenHandler.sol +5 -4
- package/contracts/staking/IStaking.sol +266 -64
- package/contracts/staking/IStakingService.sol +44 -82
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +474 -202
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +49 -158
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -330
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +21 -17
- package/contracts/type/RiskId.sol +4 -3
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +19 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +4 -2
- package/contracts/type/UFixed.sol +28 -10
- package/contracts/type/Version.sol +39 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +25 -11
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -3,34 +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";
|
12
10
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
13
|
-
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
14
11
|
import {IPolicyService} from "./IPolicyService.sol";
|
15
12
|
import {IRiskService} from "./IRiskService.sol";
|
16
13
|
import {IClaimService} from "./IClaimService.sol";
|
17
14
|
import {IPricingService} from "./IPricingService.sol";
|
18
15
|
import {IProductComponent} from "./IProductComponent.sol";
|
19
|
-
import {NftId
|
20
|
-
import {
|
16
|
+
import {NftId} from "../type/NftId.sol";
|
17
|
+
import {COMPONENT, PRODUCT, BUNDLE, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
|
21
18
|
import {PayoutId} from "../type/PayoutId.sol";
|
22
19
|
import {COMPONENT, PRODUCT, APPLICATION, POLICY, CLAIM, PRICE, BUNDLE, RISK } from "../type/ObjectType.sol";
|
23
20
|
import {ReferralId} from "../type/Referral.sol";
|
24
|
-
import {RiskId
|
21
|
+
import {RiskId} from "../type/RiskId.sol";
|
25
22
|
import {Seconds} from "../type/Seconds.sol";
|
26
23
|
import {StateId} from "../type/StateId.sol";
|
27
24
|
import {Timestamp} from "../type/Timestamp.sol";
|
28
25
|
|
29
26
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
30
27
|
import {IComponents} from "../instance/module/IComponents.sol";
|
31
|
-
import {IDistributionComponent} from "../distribution/IDistributionComponent.sol";
|
32
|
-
import {IOracleComponent} from "../oracle/IOracleComponent.sol";
|
33
|
-
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
34
28
|
|
35
29
|
abstract contract Product is
|
36
30
|
InstanceLinkedComponent,
|
@@ -54,6 +48,7 @@ abstract contract Product is
|
|
54
48
|
function registerComponent(address component)
|
55
49
|
external
|
56
50
|
virtual
|
51
|
+
restricted()
|
57
52
|
onlyOwner()
|
58
53
|
returns (NftId componentNftId)
|
59
54
|
{
|
@@ -85,6 +80,7 @@ abstract contract Product is
|
|
85
80
|
)
|
86
81
|
public
|
87
82
|
view
|
83
|
+
virtual
|
88
84
|
override
|
89
85
|
onlyNftOfType(bundleNftId, BUNDLE())
|
90
86
|
returns (Amount premiumAmount)
|
@@ -137,11 +133,10 @@ abstract contract Product is
|
|
137
133
|
}
|
138
134
|
|
139
135
|
|
140
|
-
function
|
136
|
+
function __Product_init(
|
141
137
|
address registry,
|
142
138
|
NftId instanceNftId,
|
143
139
|
string memory name,
|
144
|
-
address token,
|
145
140
|
IComponents.ProductInfo memory productInfo,
|
146
141
|
IComponents.FeeInfo memory feeInfo,
|
147
142
|
IAuthorization authorization,
|
@@ -152,11 +147,10 @@ abstract contract Product is
|
|
152
147
|
virtual
|
153
148
|
onlyInitializing()
|
154
149
|
{
|
155
|
-
|
150
|
+
__InstanceLinkedComponent_init(
|
156
151
|
registry,
|
157
152
|
instanceNftId,
|
158
153
|
name,
|
159
|
-
token,
|
160
154
|
PRODUCT(),
|
161
155
|
authorization,
|
162
156
|
productInfo.isInterceptingPolicyTransfers,
|
@@ -189,13 +183,14 @@ abstract contract Product is
|
|
189
183
|
|
190
184
|
|
191
185
|
function _createRisk(
|
192
|
-
|
186
|
+
bytes32 id,
|
193
187
|
bytes memory data
|
194
188
|
)
|
195
189
|
internal
|
196
190
|
virtual
|
191
|
+
returns (RiskId riskId)
|
197
192
|
{
|
198
|
-
_getProductStorage()._riskService.createRisk(
|
193
|
+
return _getProductStorage()._riskService.createRisk(
|
199
194
|
id,
|
200
195
|
data
|
201
196
|
);
|
@@ -214,16 +209,27 @@ abstract contract Product is
|
|
214
209
|
);
|
215
210
|
}
|
216
211
|
|
217
|
-
function
|
212
|
+
function _setRiskLocked(
|
218
213
|
RiskId id,
|
219
|
-
|
214
|
+
bool locked
|
220
215
|
)
|
221
216
|
internal
|
222
217
|
virtual
|
223
218
|
{
|
224
|
-
_getProductStorage()._riskService.
|
219
|
+
_getProductStorage()._riskService.setRiskLocked(
|
225
220
|
id,
|
226
|
-
|
221
|
+
locked
|
222
|
+
);
|
223
|
+
}
|
224
|
+
|
225
|
+
function _closeRisk(
|
226
|
+
RiskId id
|
227
|
+
)
|
228
|
+
internal
|
229
|
+
virtual
|
230
|
+
{
|
231
|
+
_getProductStorage()._riskService.closeRisk(
|
232
|
+
id
|
227
233
|
);
|
228
234
|
}
|
229
235
|
|
@@ -254,9 +260,20 @@ abstract contract Product is
|
|
254
260
|
);
|
255
261
|
}
|
256
262
|
|
263
|
+
function _revoke(
|
264
|
+
NftId applicationNftId
|
265
|
+
)
|
266
|
+
internal
|
267
|
+
virtual
|
268
|
+
{
|
269
|
+
_getProductStorage()._applicationService.revoke(
|
270
|
+
applicationNftId);
|
271
|
+
}
|
272
|
+
|
257
273
|
function _createPolicy(
|
258
274
|
NftId applicationNftId,
|
259
|
-
Timestamp activateAt
|
275
|
+
Timestamp activateAt,
|
276
|
+
Amount maxPremiumAmount
|
260
277
|
)
|
261
278
|
internal
|
262
279
|
virtual
|
@@ -264,7 +281,8 @@ abstract contract Product is
|
|
264
281
|
{
|
265
282
|
premiumAmount = _getProductStorage()._policyService.createPolicy(
|
266
283
|
applicationNftId,
|
267
|
-
activateAt
|
284
|
+
activateAt,
|
285
|
+
maxPremiumAmount);
|
268
286
|
}
|
269
287
|
|
270
288
|
function _decline(
|
@@ -394,14 +412,14 @@ abstract contract Product is
|
|
394
412
|
data);
|
395
413
|
}
|
396
414
|
|
397
|
-
function
|
415
|
+
function _cancelConfirmedClaim(
|
398
416
|
NftId policyNftId,
|
399
417
|
ClaimId claimId
|
400
418
|
)
|
401
419
|
internal
|
402
420
|
virtual
|
403
421
|
{
|
404
|
-
_getProductStorage()._claimService.
|
422
|
+
_getProductStorage()._claimService.cancelConfirmedClaim(
|
405
423
|
policyNftId,
|
406
424
|
claimId);
|
407
425
|
}
|
@@ -448,8 +466,9 @@ abstract contract Product is
|
|
448
466
|
)
|
449
467
|
internal
|
450
468
|
virtual
|
469
|
+
returns (Amount netPayoutAmount, Amount processingFeeAmount)
|
451
470
|
{
|
452
|
-
_getProductStorage()._claimService.processPayout(
|
471
|
+
(netPayoutAmount, processingFeeAmount) = _getProductStorage()._claimService.processPayout(
|
453
472
|
policyNftId,
|
454
473
|
payoutId);
|
455
474
|
}
|
@@ -466,10 +485,6 @@ abstract contract Product is
|
|
466
485
|
payoutId);
|
467
486
|
}
|
468
487
|
|
469
|
-
function _toRiskId(string memory riskName) internal virtual pure returns (RiskId riskId) {
|
470
|
-
return RiskIdLib.toRiskId(riskName);
|
471
|
-
}
|
472
|
-
|
473
488
|
function _getProductStorage() internal virtual pure returns (ProductStorage storage $) {
|
474
489
|
assembly {
|
475
490
|
$.slot := PRODUCT_STORAGE_LOCATION_V1
|
@@ -2,19 +2,16 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IInstance} from "../instance/IInstance.sol";
|
5
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
6
|
-
import {IPoolService} from "../pool/PoolService.sol";
|
7
5
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
|
-
import {IRegistryService} from "../registry/IRegistryService.sol";
|
9
6
|
import {IRisk} from "../instance/module/IRisk.sol";
|
10
7
|
import {IRiskService} from "./IRiskService.sol";
|
11
8
|
|
12
9
|
import {ContractLib} from "../shared/ContractLib.sol";
|
13
10
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
14
|
-
import {ObjectType, COMPONENT,
|
15
|
-
import {ACTIVE,
|
11
|
+
import {ObjectType, COMPONENT, PRODUCT, RISK} from "../type/ObjectType.sol";
|
12
|
+
import {ACTIVE, KEEP_STATE, CLOSED} from "../type/StateId.sol";
|
16
13
|
import {NftId} from "../type/NftId.sol";
|
17
|
-
import {RiskId} from "../type/RiskId.sol";
|
14
|
+
import {RiskId, RiskIdLib} from "../type/RiskId.sol";
|
18
15
|
import {StateId} from "../type/StateId.sol";
|
19
16
|
import {RiskSet} from "../instance/RiskSet.sol";
|
20
17
|
import {Service} from "../shared/Service.sol";
|
@@ -42,24 +39,27 @@ contract RiskService is
|
|
42
39
|
_registerInterface(type(IRiskService).interfaceId);
|
43
40
|
}
|
44
41
|
|
45
|
-
|
42
|
+
/// @inheritdoc IRiskService
|
46
43
|
function createRisk(
|
47
|
-
|
44
|
+
bytes32 id,
|
48
45
|
bytes memory data
|
49
46
|
)
|
50
47
|
external
|
48
|
+
virtual
|
51
49
|
restricted()
|
50
|
+
returns (RiskId riskId)
|
52
51
|
{
|
53
52
|
// checks
|
54
53
|
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
55
54
|
|
56
55
|
// effects
|
56
|
+
riskId = RiskIdLib.toRiskId(productNftId, id);
|
57
57
|
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
|
58
58
|
productNftId: productNftId,
|
59
|
-
createdAt: TimestampLib.
|
59
|
+
createdAt: TimestampLib.current(),
|
60
60
|
data: data});
|
61
61
|
|
62
|
-
instance.
|
62
|
+
instance.getProductStore().createRisk(
|
63
63
|
riskId,
|
64
64
|
riskInfo
|
65
65
|
);
|
@@ -67,6 +67,8 @@ contract RiskService is
|
|
67
67
|
// add risk to RiskSet
|
68
68
|
RiskSet riskSet = instance.getRiskSet();
|
69
69
|
riskSet.add(riskId);
|
70
|
+
|
71
|
+
emit LogRiskServiceRiskCreated(productNftId, riskId);
|
70
72
|
}
|
71
73
|
|
72
74
|
|
@@ -75,6 +77,7 @@ contract RiskService is
|
|
75
77
|
bytes memory data
|
76
78
|
)
|
77
79
|
external
|
80
|
+
virtual
|
78
81
|
restricted()
|
79
82
|
{
|
80
83
|
// checks
|
@@ -83,31 +86,73 @@ contract RiskService is
|
|
83
86
|
// effects
|
84
87
|
InstanceReader instanceReader = instance.getInstanceReader();
|
85
88
|
IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
|
89
|
+
|
90
|
+
if (riskInfo.productNftId != productNftId) {
|
91
|
+
revert ErrorRiskServiceRiskProductMismatch(riskId, riskInfo.productNftId, productNftId);
|
92
|
+
}
|
93
|
+
|
86
94
|
riskInfo.data = data;
|
87
|
-
instance.
|
95
|
+
instance.getProductStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
96
|
+
|
97
|
+
emit LogRiskServiceRiskUpdated(productNftId, riskId);
|
88
98
|
}
|
89
99
|
|
90
100
|
|
91
|
-
|
101
|
+
/// @inheritdoc IRiskService
|
102
|
+
function setRiskLocked(
|
92
103
|
RiskId riskId,
|
93
|
-
|
104
|
+
bool locked
|
94
105
|
)
|
95
106
|
external
|
107
|
+
virtual
|
96
108
|
restricted()
|
97
109
|
{
|
98
110
|
// checks
|
99
111
|
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
100
112
|
|
101
|
-
|
102
|
-
|
113
|
+
if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
|
114
|
+
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
115
|
+
}
|
116
|
+
|
117
|
+
if (instance.getInstanceReader().getRiskState(riskId) != ACTIVE()) {
|
118
|
+
revert ErrorRiskServiceRiskNotActive(productNftId, riskId);
|
119
|
+
}
|
103
120
|
|
104
|
-
if (
|
121
|
+
if (locked) {
|
122
|
+
instance.getRiskSet().deactivate(riskId);
|
123
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId);
|
124
|
+
} else {
|
105
125
|
instance.getRiskSet().activate(riskId);
|
106
|
-
|
107
|
-
instance.getRiskSet().pause(riskId);
|
126
|
+
emit LogRiskServiceRiskUnlocked(productNftId, riskId);
|
108
127
|
}
|
109
128
|
}
|
110
129
|
|
130
|
+
/// @inheritdoc IRiskService
|
131
|
+
function closeRisk(
|
132
|
+
RiskId riskId
|
133
|
+
)
|
134
|
+
external
|
135
|
+
virtual
|
136
|
+
restricted()
|
137
|
+
{
|
138
|
+
// checks
|
139
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
140
|
+
(bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
|
141
|
+
|
142
|
+
if (!exists) {
|
143
|
+
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
144
|
+
}
|
145
|
+
|
146
|
+
if (active) {
|
147
|
+
revert ErrorRiskServiceRiskNotLocked(productNftId, riskId);
|
148
|
+
}
|
149
|
+
|
150
|
+
// effects
|
151
|
+
instance.getProductStore().updateRiskState(riskId, CLOSED());
|
152
|
+
|
153
|
+
emit LogRiskServiceRiskClosed(productNftId, riskId);
|
154
|
+
}
|
155
|
+
|
111
156
|
function _getAndVerifyActiveComponent(ObjectType expectedType)
|
112
157
|
internal
|
113
158
|
view
|
@@ -19,13 +19,16 @@ interface IRegistry is
|
|
19
19
|
IERC165
|
20
20
|
{
|
21
21
|
|
22
|
-
event
|
23
|
-
event
|
24
|
-
event
|
22
|
+
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
+
event LogRegistryServiceRegistered(VersionPart majorVersion, ObjectType domain);
|
24
|
+
event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
|
25
25
|
|
26
26
|
// initialize
|
27
27
|
error ErrorRegistryCallerNotDeployer();
|
28
28
|
|
29
|
+
// register()
|
30
|
+
error ErrorRegistryObjectTypeNotSupported(ObjectType objectType);
|
31
|
+
|
29
32
|
// registerRegistry()
|
30
33
|
error ErrorRegistryNotOnMainnet(uint256 chainId);
|
31
34
|
error ErrorRegistryChainRegistryChainIdZero(NftId nftId);
|
@@ -36,8 +39,7 @@ interface IRegistry is
|
|
36
39
|
// registerService()
|
37
40
|
error ErrorRegistryServiceAddressZero();
|
38
41
|
error ErrorRegistryServiceVersionZero(address service);
|
39
|
-
|
40
|
-
//error ErrorRegistryServiceVersionNotDeploying(address service, VersionPart version);
|
42
|
+
|
41
43
|
error ErrorRegistryServiceDomainZero(address service, VersionPart version);
|
42
44
|
error ErrorRegistryNotService(address service, ObjectType objectType);
|
43
45
|
error ErrorRegistryServiceParentNotRegistry(address service, VersionPart version, NftId parentNftId);
|
@@ -48,16 +50,20 @@ interface IRegistry is
|
|
48
50
|
|
49
51
|
// _register()
|
50
52
|
error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
|
51
|
-
error
|
53
|
+
error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
|
52
54
|
error ErrorRegistryContractAlreadyRegistered(address objectAddress);
|
53
55
|
|
54
56
|
struct ObjectInfo {
|
57
|
+
// slot 0
|
55
58
|
NftId nftId;
|
56
59
|
NftId parentNftId;
|
57
60
|
ObjectType objectType;
|
58
61
|
bool isInterceptor;
|
62
|
+
// slot 1
|
59
63
|
address objectAddress;
|
64
|
+
// slot 2
|
60
65
|
address initialOwner;
|
66
|
+
// slot 3
|
61
67
|
bytes data;
|
62
68
|
}
|
63
69
|
|
@@ -89,11 +95,11 @@ interface IRegistry is
|
|
89
95
|
/// May not be used to register known core types.
|
90
96
|
function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
|
91
97
|
|
92
|
-
function
|
98
|
+
function getInitialRelease() external view returns (VersionPart);
|
93
99
|
|
94
|
-
function
|
100
|
+
function getNextRelease() external view returns (VersionPart);
|
95
101
|
|
96
|
-
function
|
102
|
+
function getLatestRelease() external view returns (VersionPart);
|
97
103
|
|
98
104
|
function getReleaseInfo(VersionPart release) external view returns (IRelease.ReleaseInfo memory);
|
99
105
|
|
@@ -11,13 +11,16 @@ import {VersionPart} from "../type/Version.sol";
|
|
11
11
|
interface IRelease {
|
12
12
|
|
13
13
|
struct ReleaseInfo {
|
14
|
+
// slot 0
|
15
|
+
address releaseAdmin;
|
14
16
|
StateId state;
|
15
17
|
VersionPart version;
|
16
|
-
bytes32 salt;
|
17
|
-
IServiceAuthorization auth;
|
18
|
-
address releaseAdmin;
|
19
18
|
Timestamp activatedAt;
|
20
19
|
Timestamp disabledAt;
|
20
|
+
// slot 1
|
21
|
+
IServiceAuthorization auth;
|
22
|
+
// slot 2
|
23
|
+
bytes32 salt;
|
21
24
|
}
|
22
25
|
|
23
26
|
/// @dev Registers a registry contract for a specified chain.
|
@@ -172,7 +172,7 @@ contract Registry is
|
|
172
172
|
revert ErrorRegistryChainRegistryNftIdInvalid(nftId, chainId);
|
173
173
|
}
|
174
174
|
|
175
|
-
emit
|
175
|
+
emit LogRegistryChainRegistryRegistered(nftId, chainId, registryAddress);
|
176
176
|
|
177
177
|
_registerRegistryForNft(
|
178
178
|
chainId,
|
@@ -231,7 +231,7 @@ contract Registry is
|
|
231
231
|
|
232
232
|
_service[version][domain] = service;
|
233
233
|
|
234
|
-
emit
|
234
|
+
emit LogRegistryServiceRegistered(version, domain);
|
235
235
|
|
236
236
|
nftId = _register(info);
|
237
237
|
}
|
@@ -246,6 +246,11 @@ contract Registry is
|
|
246
246
|
address objectAddress = info.objectAddress;
|
247
247
|
ObjectType objectType = info.objectType;
|
248
248
|
|
249
|
+
// specialized functions have to be used to register registries and services
|
250
|
+
if(objectType == REGISTRY() || objectType == STAKING() || objectType == SERVICE()) {
|
251
|
+
revert ErrorRegistryObjectTypeNotSupported(objectType);
|
252
|
+
}
|
253
|
+
|
249
254
|
// this indidirectly enforces that the parent is registered
|
250
255
|
// parentType would be zero for a non-registered parent which is never a valid type combination
|
251
256
|
ObjectType parentType = _info[info.parentNftId].objectType;
|
@@ -253,13 +258,13 @@ contract Registry is
|
|
253
258
|
// check type combinations for core objects
|
254
259
|
if(objectAddress == address(0)) {
|
255
260
|
if(_coreObjectCombinations[objectType][parentType] == false) {
|
256
|
-
revert
|
261
|
+
revert ErrorRegistryTypeCombinationInvalid(objectAddress, objectType, parentType);
|
257
262
|
}
|
258
263
|
}
|
259
264
|
// check type combinations for contract objects
|
260
265
|
else {
|
261
266
|
if(_coreContractCombinations[objectType][parentType] == false) {
|
262
|
-
revert
|
267
|
+
revert ErrorRegistryTypeCombinationInvalid(objectAddress, objectType, parentType);
|
263
268
|
}
|
264
269
|
}
|
265
270
|
|
@@ -284,9 +289,10 @@ contract Registry is
|
|
284
289
|
objectType == ObjectTypeLib.zero() ||
|
285
290
|
parentType == ObjectTypeLib.zero() ||
|
286
291
|
parentType == PROTOCOL() ||
|
292
|
+
parentType == STAKING() ||
|
287
293
|
parentType == SERVICE()
|
288
294
|
) {
|
289
|
-
revert
|
295
|
+
revert ErrorRegistryTypeCombinationInvalid(info.objectAddress, objectType, parentType);
|
290
296
|
}
|
291
297
|
|
292
298
|
nftId = _register(info);
|
@@ -294,17 +300,17 @@ contract Registry is
|
|
294
300
|
|
295
301
|
|
296
302
|
/// @dev earliest GIF major version
|
297
|
-
function
|
303
|
+
function getInitialRelease() external view returns (VersionPart) {
|
298
304
|
return VersionPartLib.toVersionPart(_releaseRegistry.INITIAL_GIF_VERSION());
|
299
305
|
}
|
300
306
|
|
301
307
|
/// @dev next GIF release version to be released
|
302
|
-
function
|
308
|
+
function getNextRelease() external view returns (VersionPart) {
|
303
309
|
return _releaseRegistry.getNextVersion();
|
304
310
|
}
|
305
311
|
|
306
312
|
/// @dev latest active GIF release version
|
307
|
-
function
|
313
|
+
function getLatestRelease() external view returns (VersionPart) {
|
308
314
|
return _releaseRegistry.getLatestVersion();
|
309
315
|
}
|
310
316
|
|
@@ -495,7 +501,7 @@ contract Registry is
|
|
495
501
|
_info[nftId] = info;
|
496
502
|
_setAddressForNftId(nftId, objectAddress);
|
497
503
|
|
498
|
-
emit
|
504
|
+
emit LogRegistryObjectRegistered(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
|
499
505
|
|
500
506
|
// calls nft receiver(1) and interceptor(2)
|
501
507
|
uint256 mintedTokenId = CHAIN_NFT.mint(
|