@etherisc/gif-next 3.0.0-d6cf78d-199 → 3.0.0-f90c901-018
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 +2 -2
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
- 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 +20 -10
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
- 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 +166 -104
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
- 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 +159 -102
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +77 -25
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +144 -50
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +34 -34
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +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 +3 -8
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
- 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 +94 -66
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +72 -57
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
- 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 +155 -56
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
- 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 +314 -96
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
- 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 +127 -185
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
- 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 +1 -28
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
- 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 +15 -34
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- 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/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/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 +4 -4
- 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 +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- 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/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
- package/contracts/accounting/AccountingService.sol +5 -6
- package/contracts/accounting/AccountingServiceManager.sol +4 -6
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +22 -18
- package/contracts/authorization/AccessAdminLib.sol +12 -9
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +24 -20
- package/contracts/distribution/DistributionServiceManager.sol +4 -6
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/Instance.sol +7 -11
- package/contracts/instance/InstanceAdmin.sol +10 -17
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +15 -15
- package/contracts/instance/InstanceService.sol +18 -20
- package/contracts/instance/InstanceServiceManager.sol +4 -6
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/IOracleService.sol +0 -4
- package/contracts/oracle/Oracle.sol +3 -4
- package/contracts/oracle/OracleService.sol +37 -67
- package/contracts/oracle/OracleServiceManager.sol +4 -6
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +25 -19
- package/contracts/pool/BundleServiceManager.sol +5 -7
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +5 -102
- package/contracts/pool/PoolService.sol +67 -101
- package/contracts/pool/PoolServiceManager.sol +4 -6
- package/contracts/product/ApplicationService.sol +13 -34
- package/contracts/product/ApplicationServiceManager.sol +4 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +5 -4
- package/contracts/product/ClaimService.sol +10 -34
- package/contracts/product/ClaimServiceManager.sol +5 -7
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +44 -57
- package/contracts/product/PolicyServiceManager.sol +4 -6
- package/contracts/product/PricingService.sol +7 -8
- package/contracts/product/PricingServiceManager.sol +4 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +8 -40
- package/contracts/product/RiskServiceManager.sol +4 -6
- package/contracts/registry/IRegistry.sol +20 -14
- package/contracts/registry/IRegistryService.sol +10 -14
- package/contracts/registry/IRelease.sol +0 -3
- package/contracts/registry/Registry.sol +124 -78
- package/contracts/registry/RegistryAdmin.sol +11 -22
- package/contracts/registry/RegistryAuthorization.sol +4 -3
- package/contracts/registry/RegistryService.sol +99 -82
- package/contracts/registry/RegistryServiceManager.sol +4 -11
- package/contracts/registry/ReleaseAdmin.sol +9 -16
- package/contracts/registry/ReleaseRegistry.sol +64 -74
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +27 -22
- package/contracts/shared/ComponentService.sol +45 -130
- package/contracts/shared/ComponentServiceManager.sol +5 -7
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +14 -3
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +32 -82
- package/contracts/shared/NftOwnable.sol +9 -22
- package/contracts/shared/PolicyHolder.sol +2 -4
- package/contracts/shared/Registerable.sol +37 -20
- package/contracts/shared/RegistryLinked.sol +4 -23
- package/contracts/shared/Service.sol +8 -9
- package/contracts/shared/TokenHandler.sol +4 -1
- package/contracts/shared/Versionable.sol +47 -0
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +28 -33
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +3 -6
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +16 -13
- package/contracts/staking/StakingServiceManager.sol +4 -8
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +4 -5
- package/contracts/type/Version.sol +15 -16
- package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
- package/contracts/upgradeability/ProxyManager.sol +46 -54
- package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
- package/package.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -20,7 +20,6 @@ interface IPolicyService is IService {
|
|
20
20
|
event LogPolicyServicePolicyClosed(NftId policyNftId);
|
21
21
|
|
22
22
|
error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
|
23
|
-
error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
|
24
23
|
error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
|
25
24
|
error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
|
26
25
|
error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
|
@@ -45,21 +45,20 @@ contract PolicyService is
|
|
45
45
|
)
|
46
46
|
internal
|
47
47
|
virtual override
|
48
|
-
|
48
|
+
onlyInitializing()
|
49
49
|
{
|
50
50
|
(
|
51
|
-
address authority
|
52
|
-
|
53
|
-
) = abi.decode(data, (address, address));
|
51
|
+
address authority
|
52
|
+
) = abi.decode(data, (address));
|
54
53
|
|
55
|
-
__Service_init(authority,
|
54
|
+
__Service_init(authority, owner);
|
56
55
|
|
57
56
|
VersionPart majorVersion = getVersion().toMajorPart();
|
58
|
-
_accountingService = IAccountingService(
|
59
|
-
_componentService = IComponentService(
|
60
|
-
_poolService = IPoolService(
|
61
|
-
_distributionService = IDistributionService(
|
62
|
-
_pricingService = IPricingService(
|
57
|
+
_accountingService = IAccountingService(_getRegistry().getServiceAddress(ACCOUNTING(), majorVersion));
|
58
|
+
_componentService = IComponentService(_getRegistry().getServiceAddress(COMPONENT(), majorVersion));
|
59
|
+
_poolService = IPoolService(_getRegistry().getServiceAddress(POOL(), majorVersion));
|
60
|
+
_distributionService = IDistributionService(_getRegistry().getServiceAddress(DISTRIBUTION(), majorVersion));
|
61
|
+
_pricingService = IPricingService(_getRegistry().getServiceAddress(PRICE(), majorVersion));
|
63
62
|
|
64
63
|
_registerInterface(type(IPolicyService).interfaceId);
|
65
64
|
}
|
@@ -74,7 +73,8 @@ contract PolicyService is
|
|
74
73
|
nonReentrant()
|
75
74
|
{
|
76
75
|
// checks
|
77
|
-
(IInstance instance
|
76
|
+
(, IInstance instance) = ContractLib.getAndVerifyProductForPolicy(
|
77
|
+
applicationNftId, getRelease());
|
78
78
|
|
79
79
|
// check policy is in state applied
|
80
80
|
if (instance.getInstanceReader().getPolicyState(applicationNftId) != APPLIED()) {
|
@@ -105,10 +105,10 @@ contract PolicyService is
|
|
105
105
|
{
|
106
106
|
// checks
|
107
107
|
(
|
108
|
-
IInstance instance,
|
109
108
|
NftId productNftId,
|
110
|
-
IPolicy.PolicyInfo memory applicationInfo
|
111
|
-
|
109
|
+
IPolicy.PolicyInfo memory applicationInfo,
|
110
|
+
IInstance instance
|
111
|
+
) = _getAndVerifyCallerAndInfoForPolicy(applicationNftId);
|
112
112
|
|
113
113
|
// check policy is in state applied
|
114
114
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -173,7 +173,7 @@ contract PolicyService is
|
|
173
173
|
}
|
174
174
|
|
175
175
|
// link policy to risk and bundle
|
176
|
-
NftId poolNftId =
|
176
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
177
177
|
instance.getRiskSet().linkPolicy(productNftId, riskId, applicationNftId);
|
178
178
|
instance.getBundleSet().linkPolicy(poolNftId, bundleNftId, applicationNftId);
|
179
179
|
|
@@ -198,10 +198,10 @@ contract PolicyService is
|
|
198
198
|
{
|
199
199
|
// checks
|
200
200
|
(
|
201
|
-
IInstance instance,
|
202
201
|
NftId productNftId,
|
203
|
-
IPolicy.PolicyInfo memory policyInfo
|
204
|
-
|
202
|
+
IPolicy.PolicyInfo memory policyInfo,
|
203
|
+
IInstance instance
|
204
|
+
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
205
205
|
|
206
206
|
// check policy is in state collateralized
|
207
207
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -218,7 +218,7 @@ contract PolicyService is
|
|
218
218
|
IPolicy.PremiumInfo memory premium = instanceReader.getPremiumInfo(policyNftId);
|
219
219
|
instanceReader.getTokenHandler(
|
220
220
|
productNftId).checkBalanceAndAllowance(
|
221
|
-
|
221
|
+
_getRegistry().ownerOf(policyNftId),
|
222
222
|
premium.premiumAmount,
|
223
223
|
false);
|
224
224
|
|
@@ -226,7 +226,7 @@ contract PolicyService is
|
|
226
226
|
// _checkPremiumBalanceAndAllowance(
|
227
227
|
// tokenHandler.TOKEN(),
|
228
228
|
// address(tokenHandler),
|
229
|
-
//
|
229
|
+
// _getRegistry().ownerOf(policyNftId),
|
230
230
|
// premium.premiumAmount);
|
231
231
|
|
232
232
|
// effects
|
@@ -263,9 +263,10 @@ contract PolicyService is
|
|
263
263
|
{
|
264
264
|
// checks
|
265
265
|
(
|
266
|
-
|
267
|
-
IPolicy.PolicyInfo memory policyInfo
|
268
|
-
|
266
|
+
, // NftId productNftId,
|
267
|
+
IPolicy.PolicyInfo memory policyInfo,
|
268
|
+
IInstance instance
|
269
|
+
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
269
270
|
|
270
271
|
// effects
|
271
272
|
policyInfo = PolicyServiceLib.activate(policyNftId, policyInfo, activateAt);
|
@@ -291,9 +292,10 @@ contract PolicyService is
|
|
291
292
|
{
|
292
293
|
// checks
|
293
294
|
(
|
294
|
-
|
295
|
-
IPolicy.PolicyInfo memory policyInfo
|
296
|
-
|
295
|
+
, // NftId productNftId,
|
296
|
+
IPolicy.PolicyInfo memory policyInfo,
|
297
|
+
IInstance instance
|
298
|
+
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
297
299
|
|
298
300
|
if (policyInfo.activatedAt.eqz()) {
|
299
301
|
revert ErrorPolicyServicePolicyNotActivated(policyNftId);
|
@@ -333,9 +335,10 @@ contract PolicyService is
|
|
333
335
|
{
|
334
336
|
// checks
|
335
337
|
(
|
336
|
-
|
337
|
-
IPolicy.PolicyInfo memory policyInfo
|
338
|
-
|
338
|
+
, // NftId productNftId,
|
339
|
+
IPolicy.PolicyInfo memory policyInfo,
|
340
|
+
IInstance instance
|
341
|
+
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
339
342
|
|
340
343
|
// more checks, effects + interactions
|
341
344
|
return _expire(
|
@@ -385,10 +388,10 @@ contract PolicyService is
|
|
385
388
|
{
|
386
389
|
// checks
|
387
390
|
(
|
388
|
-
IInstance instance,
|
389
391
|
NftId productNftId,
|
390
|
-
IPolicy.PolicyInfo memory policyInfo
|
391
|
-
|
392
|
+
IPolicy.PolicyInfo memory policyInfo,
|
393
|
+
IInstance instance
|
394
|
+
) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
|
392
395
|
InstanceReader instanceReader = instance.getInstanceReader();
|
393
396
|
|
394
397
|
// check policy is in a closeable state
|
@@ -418,7 +421,7 @@ contract PolicyService is
|
|
418
421
|
instance.getProductStore().updatePolicy(policyNftId, policyInfo, CLOSED());
|
419
422
|
|
420
423
|
// unlink policy from risk and bundle
|
421
|
-
NftId poolNftId =
|
424
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
422
425
|
instance.getRiskSet().unlinkPolicy(productNftId, riskId, policyNftId);
|
423
426
|
instance.getBundleSet().unlinkPolicy(poolNftId, bundleNftId, policyNftId);
|
424
427
|
|
@@ -500,7 +503,7 @@ contract PolicyService is
|
|
500
503
|
internal
|
501
504
|
virtual
|
502
505
|
{
|
503
|
-
address policyHolder =
|
506
|
+
address policyHolder = _getRegistry().ownerOf(policyNftId);
|
504
507
|
|
505
508
|
(
|
506
509
|
,
|
@@ -574,7 +577,7 @@ contract PolicyService is
|
|
574
577
|
view
|
575
578
|
returns (IPolicyHolder policyHolder)
|
576
579
|
{
|
577
|
-
address policyHolderAddress =
|
580
|
+
address policyHolderAddress = _getRegistry().ownerOf(policyNftId);
|
578
581
|
policyHolder = IPolicyHolder(policyHolderAddress);
|
579
582
|
|
580
583
|
if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
|
@@ -606,36 +609,20 @@ contract PolicyService is
|
|
606
609
|
}
|
607
610
|
}
|
608
611
|
|
609
|
-
|
610
|
-
function _getAndVerifyCallerForPolicy(NftId policyNftId)
|
612
|
+
function _getAndVerifyCallerAndInfoForPolicy(NftId policyNftId)
|
611
613
|
internal
|
612
614
|
virtual
|
613
615
|
view
|
614
616
|
returns (
|
615
|
-
IInstance instance,
|
616
617
|
NftId productNftId,
|
617
|
-
IPolicy.PolicyInfo memory policyInfo
|
618
|
+
IPolicy.PolicyInfo memory policyInfo,
|
619
|
+
IInstance instance
|
618
620
|
)
|
619
621
|
{
|
620
|
-
(
|
621
|
-
|
622
|
-
address instanceAddress
|
623
|
-
) = ContractLib.getAndVerifyComponent(
|
624
|
-
getRegistry(),
|
625
|
-
msg.sender, // caller contract
|
626
|
-
PRODUCT(), // caller must be product
|
627
|
-
true); // only active caller
|
628
|
-
|
629
|
-
productNftId = productInfo.nftId; // calling product nft id
|
630
|
-
instance = IInstance(instanceAddress);
|
631
|
-
policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
|
622
|
+
(productNftId, instance) = ContractLib.getAndVerifyProductForPolicy(
|
623
|
+
policyNftId, getRelease());
|
632
624
|
|
633
|
-
|
634
|
-
revert ErrorPolicyServicePolicyProductMismatch(
|
635
|
-
policyNftId,
|
636
|
-
productNftId,
|
637
|
-
policyInfo.productNftId);
|
638
|
-
}
|
625
|
+
policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
|
639
626
|
}
|
640
627
|
|
641
628
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PolicyService} from "./PolicyService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract PolicyServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with product service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
PolicyService svc = new PolicyService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
21
|
-
|
22
|
-
registry,
|
19
|
+
bytes memory data = abi.encode(authority);
|
20
|
+
IUpgradeable upgradeable = initialize(
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
26
24
|
|
27
|
-
_policyService = PolicyService(address(
|
25
|
+
_policyService = PolicyService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|
@@ -36,14 +36,13 @@ contract PricingService is
|
|
36
36
|
)
|
37
37
|
internal
|
38
38
|
virtual override
|
39
|
-
|
39
|
+
onlyInitializing()
|
40
40
|
{
|
41
41
|
(
|
42
|
-
address authority
|
43
|
-
|
44
|
-
) = abi.decode(data, (address, address));
|
42
|
+
address authority
|
43
|
+
) = abi.decode(data, (address));
|
45
44
|
|
46
|
-
__Service_init(authority,
|
45
|
+
__Service_init(authority, owner);
|
47
46
|
|
48
47
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
49
48
|
|
@@ -78,11 +77,11 @@ contract PricingService is
|
|
78
77
|
// verify product
|
79
78
|
(
|
80
79
|
IRegistry.ObjectInfo memory registryInfo,
|
81
|
-
|
82
|
-
) = ContractLib.getInfoAndInstance(
|
80
|
+
IInstance instance
|
81
|
+
) = ContractLib.getInfoAndInstance(productNftId, getRelease(), false);
|
83
82
|
|
84
83
|
// get instance reader from local instance variable
|
85
|
-
reader =
|
84
|
+
reader = instance.getInstanceReader();
|
86
85
|
|
87
86
|
NftId riskProductNftId = reader.getRiskInfo(riskId).productNftId;
|
88
87
|
if (productNftId != riskProductNftId) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PricingService} from "./PricingService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract PricingServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with pricing service implementation and deploys instance
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
PricingService pricingSrv = new PricingService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
21
|
-
|
22
|
-
registry,
|
19
|
+
bytes memory data = abi.encode(authority);
|
20
|
+
IUpgradeable upgradeable = initialize(
|
23
21
|
address(pricingSrv),
|
24
22
|
data,
|
25
23
|
salt);
|
26
24
|
|
27
|
-
_pricingService = PricingService(address(
|
25
|
+
_pricingService = PricingService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|
@@ -134,7 +134,6 @@ abstract contract Product is
|
|
134
134
|
|
135
135
|
|
136
136
|
function __Product_init(
|
137
|
-
address registry,
|
138
137
|
NftId instanceNftId,
|
139
138
|
string memory name,
|
140
139
|
IComponents.ProductInfo memory productInfo,
|
@@ -147,7 +146,6 @@ abstract contract Product is
|
|
147
146
|
onlyInitializing()
|
148
147
|
{
|
149
148
|
__InstanceLinkedComponent_init(
|
150
|
-
registry,
|
151
149
|
instanceNftId,
|
152
150
|
name,
|
153
151
|
PRODUCT(),
|
@@ -26,15 +26,14 @@ contract RiskService is
|
|
26
26
|
bytes memory data
|
27
27
|
)
|
28
28
|
internal
|
29
|
-
initializer
|
30
29
|
virtual override
|
30
|
+
onlyInitializing()
|
31
31
|
{
|
32
32
|
(
|
33
|
-
address authority
|
34
|
-
|
35
|
-
) = abi.decode(data, (address, address));
|
33
|
+
address authority
|
34
|
+
) = abi.decode(data, (address));
|
36
35
|
|
37
|
-
__Service_init(authority,
|
36
|
+
__Service_init(authority, owner);
|
38
37
|
_registerInterface(type(IRiskService).interfaceId);
|
39
38
|
}
|
40
39
|
|
@@ -49,7 +48,7 @@ contract RiskService is
|
|
49
48
|
returns (RiskId riskId)
|
50
49
|
{
|
51
50
|
// checks
|
52
|
-
(NftId productNftId, IInstance instance) =
|
51
|
+
(NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
|
53
52
|
|
54
53
|
// effects
|
55
54
|
riskId = RiskIdLib.toRiskId(productNftId, id);
|
@@ -80,7 +79,7 @@ contract RiskService is
|
|
80
79
|
restricted()
|
81
80
|
{
|
82
81
|
// checks
|
83
|
-
(NftId productNftId, IInstance instance) =
|
82
|
+
(NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
|
84
83
|
|
85
84
|
// effects
|
86
85
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -107,7 +106,7 @@ contract RiskService is
|
|
107
106
|
restricted()
|
108
107
|
{
|
109
108
|
// checks
|
110
|
-
(NftId productNftId, IInstance instance) =
|
109
|
+
(NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
|
111
110
|
|
112
111
|
if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
|
113
112
|
revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
|
@@ -135,7 +134,7 @@ contract RiskService is
|
|
135
134
|
restricted()
|
136
135
|
{
|
137
136
|
// checks
|
138
|
-
(NftId productNftId, IInstance instance) =
|
137
|
+
(NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
|
139
138
|
(bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
|
140
139
|
|
141
140
|
if (!exists) {
|
@@ -152,37 +151,6 @@ contract RiskService is
|
|
152
151
|
emit LogRiskServiceRiskClosed(productNftId, riskId);
|
153
152
|
}
|
154
153
|
|
155
|
-
function _getAndVerifyActiveComponent(ObjectType expectedType)
|
156
|
-
internal
|
157
|
-
view
|
158
|
-
returns (
|
159
|
-
NftId componentNftId,
|
160
|
-
IInstance instance
|
161
|
-
)
|
162
|
-
{
|
163
|
-
IRegistry.ObjectInfo memory info;
|
164
|
-
address instanceAddress;
|
165
|
-
bool isActive = true;
|
166
|
-
|
167
|
-
if (expectedType != COMPONENT()) {
|
168
|
-
(info, instanceAddress) = ContractLib.getAndVerifyComponent(
|
169
|
-
getRegistry(),
|
170
|
-
msg.sender, // caller
|
171
|
-
expectedType,
|
172
|
-
isActive);
|
173
|
-
} else {
|
174
|
-
(info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
|
175
|
-
getRegistry(),
|
176
|
-
msg.sender,
|
177
|
-
isActive);
|
178
|
-
}
|
179
|
-
|
180
|
-
// get component nft id and instance
|
181
|
-
componentNftId = info.nftId;
|
182
|
-
instance = IInstance(instanceAddress);
|
183
|
-
}
|
184
|
-
|
185
|
-
|
186
154
|
function _getDomain() internal pure override returns(ObjectType) {
|
187
155
|
return RISK();
|
188
156
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {RiskService} from "./RiskService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract RiskServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with product service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
RiskService svc = new RiskService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
21
|
-
|
22
|
-
registry,
|
19
|
+
bytes memory data = abi.encode(authority);
|
20
|
+
IUpgradeable upgradeable = initialize(
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
26
24
|
|
27
|
-
_riskService = RiskService(address(
|
25
|
+
_riskService = RiskService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|
@@ -19,8 +19,8 @@ interface IRegistry is
|
|
19
19
|
IERC165
|
20
20
|
{
|
21
21
|
|
22
|
-
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
-
event LogRegistryServiceRegistered(VersionPart
|
22
|
+
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, VersionPart objectVersion, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
+
event LogRegistryServiceRegistered(VersionPart release, ObjectType domain);
|
24
24
|
event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
|
25
25
|
|
26
26
|
// initialize
|
@@ -49,6 +49,7 @@ interface IRegistry is
|
|
49
49
|
error ErrorRegistryCoreTypeRegistration();
|
50
50
|
|
51
51
|
// _register()
|
52
|
+
error ErrorRegistryReleaseMismatch(VersionPart objectrelease, VersionPart parentRelease, VersionPart senderRelease);
|
52
53
|
error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
|
53
54
|
error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
|
54
55
|
error ErrorRegistryContractAlreadyRegistered(address objectAddress);
|
@@ -58,13 +59,10 @@ interface IRegistry is
|
|
58
59
|
NftId nftId;
|
59
60
|
NftId parentNftId;
|
60
61
|
ObjectType objectType;
|
62
|
+
VersionPart release;
|
61
63
|
bool isInterceptor;
|
62
64
|
// slot 1
|
63
65
|
address objectAddress;
|
64
|
-
// slot 2
|
65
|
-
address initialOwner;
|
66
|
-
// slot 3
|
67
|
-
bytes data;
|
68
66
|
}
|
69
67
|
|
70
68
|
/// @dev Registers a registry contract for a specified chain.
|
@@ -72,28 +70,30 @@ interface IRegistry is
|
|
72
70
|
function registerRegistry(
|
73
71
|
NftId nftId,
|
74
72
|
uint256 chainId,
|
75
|
-
address chainRegistryAddress
|
73
|
+
address chainRegistryAddress,
|
74
|
+
VersionPart release
|
76
75
|
) external;
|
77
76
|
|
78
77
|
/// @dev Register a service with using the provided domain and version.
|
79
78
|
/// The function returns a newly minted service NFT ID.
|
80
79
|
/// May only be used to register services.
|
81
80
|
function registerService(
|
82
|
-
ObjectInfo memory
|
83
|
-
|
84
|
-
ObjectType
|
81
|
+
ObjectInfo memory info,
|
82
|
+
address initialOwner,
|
83
|
+
ObjectType domain,
|
84
|
+
bytes memory data
|
85
85
|
) external returns(NftId nftId);
|
86
86
|
|
87
87
|
/// @dev Register an object with a known core type.
|
88
88
|
/// The function returns a newly minted object NFT ID.
|
89
89
|
/// May not be used to register services.
|
90
|
-
function register(ObjectInfo memory info) external returns (NftId nftId);
|
90
|
+
function register(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
|
91
91
|
|
92
92
|
/// @dev Register an object with a custom type.
|
93
93
|
/// The function returns a newly minted object NFT ID.
|
94
94
|
/// This function is reserved for GIF releases > 3.
|
95
95
|
/// May not be used to register known core types.
|
96
|
-
function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
|
96
|
+
function registerWithCustomType(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
|
97
97
|
|
98
98
|
function getInitialRelease() external view returns (VersionPart);
|
99
99
|
|
@@ -126,9 +126,15 @@ interface IRegistry is
|
|
126
126
|
|
127
127
|
function getParentNftId(NftId nftId) external view returns (NftId parentNftId);
|
128
128
|
|
129
|
-
function
|
129
|
+
function getObjectData(NftId nftId) external view returns (bytes memory data);
|
130
130
|
|
131
|
-
function
|
131
|
+
function getObjectData(address objectAddress) external view returns (bytes memory data);
|
132
|
+
|
133
|
+
function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
|
134
|
+
|
135
|
+
function isObjectType(address contractAddress, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
|
136
|
+
|
137
|
+
function getObjectRelease(NftId nftId) external view returns (VersionPart release);
|
132
138
|
|
133
139
|
function getObjectAddress(NftId nftId) external view returns (address objectAddress);
|
134
140
|
|
@@ -19,13 +19,12 @@ interface IRegistryService is
|
|
19
19
|
{
|
20
20
|
error ErrorRegistryServiceNotRegistryOwner();
|
21
21
|
|
22
|
-
|
23
|
-
error
|
24
|
-
error
|
25
|
-
error ErrorRegistryServiceNotComponent(address notComponent);
|
26
|
-
error ErrorRegistryServiceNotProductLinkedComponent(address notProductLinkedComponent);
|
22
|
+
// _checkInterface()
|
23
|
+
error ErrorRegistryServiceNotContract(address notContract);
|
24
|
+
error ErrorRegistryServiceInterfaceNotSupported(address registerable, bytes4 interfaceId);
|
27
25
|
|
28
26
|
error ErrorRegistryServiceRegisterableAddressInvalid(IRegisterable registerable, address found);
|
27
|
+
error ErrorRegistryServiceRegisterableParentInvalid(IRegisterable registerable, NftId expected, NftId found);
|
29
28
|
error ErrorRegistryServiceRegisterableTypeInvalid(IRegisterable registerable, ObjectType expected, ObjectType found);
|
30
29
|
error ErrorRegistryServiceRegisterableOwnerInvalid(IRegisterable registerable, address expected, address found);
|
31
30
|
error ErrorRegistryServiceRegisterableOwnerZero(IRegisterable registerable);
|
@@ -40,23 +39,20 @@ interface IRegistryService is
|
|
40
39
|
error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
|
41
40
|
error ErrorRegistryServiceInvalidAddress(address registerableAddress);
|
42
41
|
|
43
|
-
function registerStake(IRegistry.ObjectInfo memory info)
|
42
|
+
function registerStake(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data)
|
44
43
|
external returns(NftId nftId);
|
45
44
|
|
46
|
-
function registerInstance(IRegisterable instance, address
|
45
|
+
function registerInstance(IRegisterable instance, address initialOwner)
|
47
46
|
external returns(IRegistry.ObjectInfo memory info);
|
48
47
|
|
49
|
-
function
|
48
|
+
function registerComponent(IRegisterable component, NftId parenNftId, ObjectType componentType, address initialOwner)
|
50
49
|
external returns(IRegistry.ObjectInfo memory info);
|
51
50
|
|
52
|
-
function
|
53
|
-
external returns(IRegistry.ObjectInfo memory info);
|
54
|
-
|
55
|
-
function registerDistributor(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
51
|
+
function registerDistributor(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
|
56
52
|
|
57
|
-
function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
53
|
+
function registerPolicy(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
|
58
54
|
|
59
|
-
function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
55
|
+
function registerBundle(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
|
60
56
|
|
61
57
|
}
|
62
58
|
|