@etherisc/gif-next 0.0.2-f78c672-338 → 0.0.2-f78f882-351
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 -312
- 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 +111 -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 +655 -299
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -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 +331 -56
- 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 +501 -231
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +131 -16
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -59
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +322 -67
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -33
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +379 -150
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -32
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +233 -20
- 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 -110
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +321 -66
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +145 -134
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +321 -66
- 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 +82 -84
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +321 -66
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +39 -73
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -148
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +321 -66
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -190
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +321 -66
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- 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 +450 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +355 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +488 -85
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +942 -471
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +289 -78
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +595 -532
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +387 -64
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -52
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1316 -2015
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -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 -45
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +340 -60
- 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 -31
- 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 -31
- 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 +116 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -79
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +321 -66
- 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 +144 -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 -41
- 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 -41
- 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 +141 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +218 -61
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -58
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +321 -66
- 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 +128 -70
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -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 +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -52
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- 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 +138 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +91 -118
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +113 -67
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -52
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
- 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 +799 -472
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -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 +96 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +841 -419
- 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 +197 -129
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -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 -31
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +212 -232
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +133 -71
- 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 -31
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +119 -147
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -31
- 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 -31
- 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 +1453 -153
- 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 -239
- 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 +146 -67
- 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 +98 -44
- 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 +64 -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 +2 -2
- 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 +81 -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 +361 -371
- package/contracts/authorization/AccessAdminLib.sol +678 -0
- package/contracts/authorization/AccessManagerCloneable.sol +23 -32
- package/contracts/authorization/Authorization.sol +82 -229
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +83 -84
- package/contracts/authorization/IAuthorization.sol +3 -51
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +5 -7
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +12 -17
- package/contracts/distribution/DistributionService.sol +129 -66
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +21 -9
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +6 -10
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -23
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +98 -12
- package/contracts/instance/IInstanceService.sol +54 -7
- package/contracts/instance/Instance.sol +165 -61
- package/contracts/instance/InstanceAdmin.sol +183 -313
- package/contracts/instance/InstanceAuthorizationV3.sol +123 -61
- package/contracts/instance/InstanceReader.sol +350 -394
- package/contracts/instance/InstanceService.sol +283 -173
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -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 +15 -6
- package/contracts/instance/module/IDistribution.sol +17 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +3 -6
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +4 -8
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -18
- 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 +6 -20
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -184
- package/contracts/product/ApplicationService.sol +65 -12
- package/contracts/product/BasicProduct.sol +2 -5
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +40 -77
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +29 -32
- package/contracts/product/Product.sol +40 -18
- package/contracts/product/RiskService.sol +50 -15
- 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 +85 -266
- package/contracts/registry/RegistryAuthorization.sol +337 -0
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +70 -116
- package/contracts/registry/ReleaseRegistry.sol +57 -43
- package/contracts/registry/ServiceAuthorizationV3.sol +128 -33
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +20 -37
- package/contracts/shared/ComponentService.sol +249 -250
- package/contracts/shared/ContractLib.sol +134 -75
- package/contracts/shared/IComponent.sol +1 -4
- package/contracts/shared/IComponentService.sol +21 -22
- 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 +6 -11
- 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 +265 -64
- package/contracts/staking/IStakingService.sol +44 -82
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +475 -204
- 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 +17 -22
- 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/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 +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +1 -1
- 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/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- 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/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -18,7 +18,7 @@ import {COMPONENT, PRODUCT, BUNDLE, APPLICATION, POLICY, CLAIM, PRICE } from "..
|
|
18
18
|
import {PayoutId} from "../type/PayoutId.sol";
|
19
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";
|
@@ -48,6 +48,7 @@ abstract contract Product is
|
|
48
48
|
function registerComponent(address component)
|
49
49
|
external
|
50
50
|
virtual
|
51
|
+
restricted()
|
51
52
|
onlyOwner()
|
52
53
|
returns (NftId componentNftId)
|
53
54
|
{
|
@@ -79,6 +80,7 @@ abstract contract Product is
|
|
79
80
|
)
|
80
81
|
public
|
81
82
|
view
|
83
|
+
virtual
|
82
84
|
override
|
83
85
|
onlyNftOfType(bundleNftId, BUNDLE())
|
84
86
|
returns (Amount premiumAmount)
|
@@ -131,31 +133,27 @@ abstract contract Product is
|
|
131
133
|
}
|
132
134
|
|
133
135
|
|
134
|
-
function
|
136
|
+
function __Product_init(
|
135
137
|
address registry,
|
136
138
|
NftId instanceNftId,
|
137
139
|
string memory name,
|
138
|
-
address token,
|
139
140
|
IComponents.ProductInfo memory productInfo,
|
140
141
|
IComponents.FeeInfo memory feeInfo,
|
141
142
|
IAuthorization authorization,
|
142
|
-
address initialOwner
|
143
|
-
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
143
|
+
address initialOwner
|
144
144
|
)
|
145
145
|
internal
|
146
146
|
virtual
|
147
147
|
onlyInitializing()
|
148
148
|
{
|
149
|
-
|
149
|
+
__InstanceLinkedComponent_init(
|
150
150
|
registry,
|
151
151
|
instanceNftId,
|
152
152
|
name,
|
153
|
-
token,
|
154
153
|
PRODUCT(),
|
155
154
|
authorization,
|
156
155
|
productInfo.isInterceptingPolicyTransfers,
|
157
|
-
initialOwner
|
158
|
-
componentData);
|
156
|
+
initialOwner);
|
159
157
|
|
160
158
|
ProductStorage storage $ = _getProductStorage();
|
161
159
|
$._productInfo = productInfo;
|
@@ -209,16 +207,27 @@ abstract contract Product is
|
|
209
207
|
);
|
210
208
|
}
|
211
209
|
|
212
|
-
function
|
210
|
+
function _setRiskLocked(
|
213
211
|
RiskId id,
|
214
|
-
|
212
|
+
bool locked
|
215
213
|
)
|
216
214
|
internal
|
217
215
|
virtual
|
218
216
|
{
|
219
|
-
_getProductStorage()._riskService.
|
217
|
+
_getProductStorage()._riskService.setRiskLocked(
|
220
218
|
id,
|
221
|
-
|
219
|
+
locked
|
220
|
+
);
|
221
|
+
}
|
222
|
+
|
223
|
+
function _closeRisk(
|
224
|
+
RiskId id
|
225
|
+
)
|
226
|
+
internal
|
227
|
+
virtual
|
228
|
+
{
|
229
|
+
_getProductStorage()._riskService.closeRisk(
|
230
|
+
id
|
222
231
|
);
|
223
232
|
}
|
224
233
|
|
@@ -249,9 +258,20 @@ abstract contract Product is
|
|
249
258
|
);
|
250
259
|
}
|
251
260
|
|
261
|
+
function _revoke(
|
262
|
+
NftId applicationNftId
|
263
|
+
)
|
264
|
+
internal
|
265
|
+
virtual
|
266
|
+
{
|
267
|
+
_getProductStorage()._applicationService.revoke(
|
268
|
+
applicationNftId);
|
269
|
+
}
|
270
|
+
|
252
271
|
function _createPolicy(
|
253
272
|
NftId applicationNftId,
|
254
|
-
Timestamp activateAt
|
273
|
+
Timestamp activateAt,
|
274
|
+
Amount maxPremiumAmount
|
255
275
|
)
|
256
276
|
internal
|
257
277
|
virtual
|
@@ -259,7 +279,8 @@ abstract contract Product is
|
|
259
279
|
{
|
260
280
|
premiumAmount = _getProductStorage()._policyService.createPolicy(
|
261
281
|
applicationNftId,
|
262
|
-
activateAt
|
282
|
+
activateAt,
|
283
|
+
maxPremiumAmount);
|
263
284
|
}
|
264
285
|
|
265
286
|
function _decline(
|
@@ -389,14 +410,14 @@ abstract contract Product is
|
|
389
410
|
data);
|
390
411
|
}
|
391
412
|
|
392
|
-
function
|
413
|
+
function _cancelConfirmedClaim(
|
393
414
|
NftId policyNftId,
|
394
415
|
ClaimId claimId
|
395
416
|
)
|
396
417
|
internal
|
397
418
|
virtual
|
398
419
|
{
|
399
|
-
_getProductStorage()._claimService.
|
420
|
+
_getProductStorage()._claimService.cancelConfirmedClaim(
|
400
421
|
policyNftId,
|
401
422
|
claimId);
|
402
423
|
}
|
@@ -443,8 +464,9 @@ abstract contract Product is
|
|
443
464
|
)
|
444
465
|
internal
|
445
466
|
virtual
|
467
|
+
returns (Amount netPayoutAmount, Amount processingFeeAmount)
|
446
468
|
{
|
447
|
-
_getProductStorage()._claimService.processPayout(
|
469
|
+
(netPayoutAmount, processingFeeAmount) = _getProductStorage()._claimService.processPayout(
|
448
470
|
policyNftId,
|
449
471
|
payoutId);
|
450
472
|
}
|
@@ -9,10 +9,9 @@ import {IRiskService} from "./IRiskService.sol";
|
|
9
9
|
import {ContractLib} from "../shared/ContractLib.sol";
|
10
10
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
11
11
|
import {ObjectType, COMPONENT, PRODUCT, RISK} from "../type/ObjectType.sol";
|
12
|
-
import {ACTIVE,
|
12
|
+
import {ACTIVE, KEEP_STATE, CLOSED} from "../type/StateId.sol";
|
13
13
|
import {NftId} from "../type/NftId.sol";
|
14
14
|
import {RiskId, RiskIdLib} from "../type/RiskId.sol";
|
15
|
-
import {StateId} from "../type/StateId.sol";
|
16
15
|
import {RiskSet} from "../instance/RiskSet.sol";
|
17
16
|
import {Service} from "../shared/Service.sol";
|
18
17
|
import {TimestampLib} from "../type/Timestamp.sol";
|
@@ -45,6 +44,7 @@ contract RiskService is
|
|
45
44
|
bytes memory data
|
46
45
|
)
|
47
46
|
external
|
47
|
+
virtual
|
48
48
|
restricted()
|
49
49
|
returns (RiskId riskId)
|
50
50
|
{
|
@@ -55,10 +55,10 @@ contract RiskService is
|
|
55
55
|
riskId = RiskIdLib.toRiskId(productNftId, id);
|
56
56
|
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
|
57
57
|
productNftId: productNftId,
|
58
|
-
createdAt: TimestampLib.
|
58
|
+
createdAt: TimestampLib.current(),
|
59
59
|
data: data});
|
60
60
|
|
61
|
-
instance.
|
61
|
+
instance.getProductStore().createRisk(
|
62
62
|
riskId,
|
63
63
|
riskInfo
|
64
64
|
);
|
@@ -66,6 +66,8 @@ contract RiskService is
|
|
66
66
|
// add risk to RiskSet
|
67
67
|
RiskSet riskSet = instance.getRiskSet();
|
68
68
|
riskSet.add(riskId);
|
69
|
+
|
70
|
+
emit LogRiskServiceRiskCreated(productNftId, riskId);
|
69
71
|
}
|
70
72
|
|
71
73
|
|
@@ -74,6 +76,7 @@ contract RiskService is
|
|
74
76
|
bytes memory data
|
75
77
|
)
|
76
78
|
external
|
79
|
+
virtual
|
77
80
|
restricted()
|
78
81
|
{
|
79
82
|
// checks
|
@@ -88,33 +91,65 @@ contract RiskService is
|
|
88
91
|
}
|
89
92
|
|
90
93
|
riskInfo.data = data;
|
91
|
-
instance.
|
94
|
+
instance.getProductStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
95
|
+
|
96
|
+
emit LogRiskServiceRiskUpdated(productNftId, riskId);
|
92
97
|
}
|
93
98
|
|
94
99
|
|
95
|
-
|
100
|
+
/// @inheritdoc IRiskService
|
101
|
+
function setRiskLocked(
|
96
102
|
RiskId riskId,
|
97
|
-
|
103
|
+
bool locked
|
98
104
|
)
|
99
105
|
external
|
106
|
+
virtual
|
100
107
|
restricted()
|
101
108
|
{
|
102
109
|
// checks
|
103
110
|
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
104
111
|
|
105
|
-
|
106
|
-
|
107
|
-
revert ErrorRiskServiceRiskProductMismatch(riskId, riskProductNftId, productNftId);
|
112
|
+
if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
|
113
|
+
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
108
114
|
}
|
109
115
|
|
110
|
-
|
111
|
-
|
116
|
+
if (instance.getInstanceReader().getRiskState(riskId) != ACTIVE()) {
|
117
|
+
revert ErrorRiskServiceRiskNotActive(productNftId, riskId);
|
118
|
+
}
|
112
119
|
|
113
|
-
if (
|
120
|
+
if (locked) {
|
121
|
+
instance.getRiskSet().deactivate(riskId);
|
122
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId);
|
123
|
+
} else {
|
114
124
|
instance.getRiskSet().activate(riskId);
|
115
|
-
|
116
|
-
|
125
|
+
emit LogRiskServiceRiskUnlocked(productNftId, riskId);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
/// @inheritdoc IRiskService
|
130
|
+
function closeRisk(
|
131
|
+
RiskId riskId
|
132
|
+
)
|
133
|
+
external
|
134
|
+
virtual
|
135
|
+
restricted()
|
136
|
+
{
|
137
|
+
// checks
|
138
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
139
|
+
(bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
|
140
|
+
|
141
|
+
if (!exists) {
|
142
|
+
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
117
143
|
}
|
144
|
+
|
145
|
+
if (active) {
|
146
|
+
revert ErrorRiskServiceRiskNotLocked(productNftId, riskId);
|
147
|
+
}
|
148
|
+
|
149
|
+
// effects
|
150
|
+
instance.getProductStore().updateRiskState(riskId, CLOSED());
|
151
|
+
|
152
|
+
emit LogRiskServiceRiskClosed(productNftId, riskId);
|
118
153
|
}
|
119
154
|
|
120
155
|
function _getAndVerifyActiveComponent(ObjectType expectedType)
|
@@ -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(
|