@etherisc/gif-next 3.0.0-2c4b8cb-070 → 3.0.0-2e16ebd-614
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 +0 -1
- 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 +78 -26
- 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 +145 -51
- 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 +77 -179
- 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 +25 -22
- 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 +4 -23
- 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/Seconds.sol/SecondsLib.json +2 -21
- 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 +2 -21
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
- 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/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +8 -12
- package/contracts/instance/InstanceAdmin.sol +10 -17
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +18 -40
- 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 +12 -16
- 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 +7 -7
- 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 +38 -128
- 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/ObjectType.sol +31 -2
- package/contracts/type/Referral.sol +0 -6
- package/contracts/type/Seconds.sol +0 -4
- package/contracts/type/String.sol +0 -30
- package/contracts/type/Timestamp.sol +1 -10
- 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 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -635
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2514
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
- 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/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/examples/flight/FlightLib.sol +0 -322
- package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
- package/contracts/examples/flight/FlightOracle.sol +0 -167
- package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
- package/contracts/examples/flight/FlightPool.sol +0 -89
- package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
- package/contracts/examples/flight/FlightProduct.sol +0 -651
- package/contracts/examples/flight/FlightProductAuthorization.sol +0 -45
- package/contracts/examples/flight/FlightUSD.sol +0 -28
- package/contracts/examples/flight/originalV1.sol +0 -396
- package/contracts/shared/EcdsaChecker.sol +0 -5
- package/contracts/type/RequestIdSet.sol +0 -62
@@ -18,6 +18,7 @@ import {ObjectType, BUNDLE, POOL} from "../type/ObjectType.sol";
|
|
18
18
|
import {PayoutId} from "../type/PayoutId.sol";
|
19
19
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
20
20
|
import {UFixed} from "../type/UFixed.sol";
|
21
|
+
import {VersionPart} from "../type/Version.sol";
|
21
22
|
|
22
23
|
library PoolLib {
|
23
24
|
|
@@ -76,7 +77,6 @@ library PoolLib {
|
|
76
77
|
|
77
78
|
|
78
79
|
function calculateStakingAmounts(
|
79
|
-
IRegistry registry,
|
80
80
|
InstanceReader instanceReader,
|
81
81
|
NftId poolNftId,
|
82
82
|
Amount stakingAmount
|
@@ -88,7 +88,7 @@ library PoolLib {
|
|
88
88
|
Amount netStakingAmount
|
89
89
|
)
|
90
90
|
{
|
91
|
-
NftId productNftId =
|
91
|
+
NftId productNftId = ContractLib.getRegistry().getParentNftId(poolNftId);
|
92
92
|
Fee memory stakingFee = instanceReader.getFeeInfo(productNftId).stakingFee;
|
93
93
|
(
|
94
94
|
feeAmount,
|
@@ -100,7 +100,6 @@ library PoolLib {
|
|
100
100
|
|
101
101
|
|
102
102
|
function calculatePayoutAmounts(
|
103
|
-
IRegistry registry,
|
104
103
|
InstanceReader instanceReader,
|
105
104
|
NftId productNftId,
|
106
105
|
NftId policyNftId,
|
@@ -121,7 +120,7 @@ library PoolLib {
|
|
121
120
|
netPayoutAmount = payoutAmount;
|
122
121
|
|
123
122
|
if (payoutBeneficiary == address(0)) {
|
124
|
-
beneficiary =
|
123
|
+
beneficiary = ContractLib.getRegistry().ownerOf(policyNftId);
|
125
124
|
} else {
|
126
125
|
beneficiary = payoutBeneficiary;
|
127
126
|
}
|
@@ -136,14 +135,13 @@ library PoolLib {
|
|
136
135
|
|
137
136
|
|
138
137
|
function getPolicyHolder(
|
139
|
-
IRegistry registry,
|
140
138
|
NftId policyNftId
|
141
139
|
)
|
142
140
|
internal
|
143
141
|
view
|
144
142
|
returns (IPolicyHolder policyHolder)
|
145
143
|
{
|
146
|
-
address policyHolderAddress =
|
144
|
+
address policyHolderAddress = ContractLib.getRegistry().ownerOf(policyNftId);
|
147
145
|
policyHolder = IPolicyHolder(policyHolderAddress);
|
148
146
|
|
149
147
|
if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
|
@@ -151,99 +149,7 @@ library PoolLib {
|
|
151
149
|
}
|
152
150
|
}
|
153
151
|
|
154
|
-
|
155
|
-
function checkAndGetPoolInfo(
|
156
|
-
IRegistry registry,
|
157
|
-
address sender,
|
158
|
-
NftId bundleNftId
|
159
|
-
)
|
160
|
-
public
|
161
|
-
view
|
162
|
-
returns (
|
163
|
-
InstanceReader instanceReader,
|
164
|
-
InstanceStore instanceStore,
|
165
|
-
NftId instanceNftId,
|
166
|
-
NftId poolNftId,
|
167
|
-
IComponents.PoolInfo memory poolInfo
|
168
|
-
)
|
169
|
-
{
|
170
|
-
checkNftType(registry, bundleNftId, BUNDLE());
|
171
|
-
|
172
|
-
IInstance instance;
|
173
|
-
(poolNftId, instance) = getAndVerifyActivePool(registry, sender);
|
174
|
-
instanceReader = instance.getInstanceReader();
|
175
|
-
instanceStore = instance.getInstanceStore();
|
176
|
-
instanceNftId = instance.getNftId();
|
177
|
-
poolInfo = instanceReader.getPoolInfo(poolNftId);
|
178
|
-
|
179
|
-
if (registry.getParentNftId(bundleNftId) != poolNftId) {
|
180
|
-
revert IPoolService.ErrorPoolServiceBundlePoolMismatch(bundleNftId, poolNftId);
|
181
|
-
}
|
182
|
-
}
|
183
|
-
|
184
|
-
|
185
|
-
function getAndVerifyActivePool(
|
186
|
-
IRegistry registry,
|
187
|
-
address sender
|
188
|
-
)
|
189
|
-
public
|
190
|
-
view
|
191
|
-
returns (
|
192
|
-
NftId poolNftId,
|
193
|
-
IInstance instance
|
194
|
-
)
|
195
|
-
{
|
196
|
-
(
|
197
|
-
IRegistry.ObjectInfo memory info,
|
198
|
-
address instanceAddress
|
199
|
-
) = ContractLib.getAndVerifyComponent(
|
200
|
-
registry,
|
201
|
-
sender,
|
202
|
-
POOL(),
|
203
|
-
true); // only active pools
|
204
|
-
|
205
|
-
poolNftId = info.nftId;
|
206
|
-
instance = IInstance(instanceAddress);
|
207
|
-
}
|
208
|
-
|
209
|
-
|
210
|
-
function getAndVerifyActiveComponent(
|
211
|
-
IRegistry registry,
|
212
|
-
address sender,
|
213
|
-
ObjectType expectedComponentType
|
214
|
-
)
|
215
|
-
public
|
216
|
-
view
|
217
|
-
returns (
|
218
|
-
NftId componentNftId,
|
219
|
-
IInstance instance
|
220
|
-
)
|
221
|
-
{
|
222
|
-
(
|
223
|
-
IRegistry.ObjectInfo memory info,
|
224
|
-
address instanceAddress
|
225
|
-
) = ContractLib.getAndVerifyComponent(
|
226
|
-
registry,
|
227
|
-
sender,
|
228
|
-
expectedComponentType,
|
229
|
-
true); // only active components
|
230
|
-
|
231
|
-
componentNftId = info.nftId;
|
232
|
-
instance = IInstance(instanceAddress);
|
233
|
-
}
|
234
|
-
|
235
|
-
function checkNftType(
|
236
|
-
IRegistry registry,
|
237
|
-
NftId nftId,
|
238
|
-
ObjectType expectedObjectType
|
239
|
-
) internal view {
|
240
|
-
if(!registry.isObjectType(nftId, expectedObjectType)) {
|
241
|
-
revert INftOwnable.ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
242
|
-
}
|
243
|
-
}
|
244
|
-
|
245
152
|
function transferTokenAndNotifyPolicyHolder(
|
246
|
-
IRegistry registry,
|
247
153
|
InstanceReader instanceReader,
|
248
154
|
TokenHandler poolTokenHandler,
|
249
155
|
NftId productNftId,
|
@@ -265,7 +171,6 @@ library PoolLib {
|
|
265
171
|
processingFeeAmount,
|
266
172
|
beneficiary
|
267
173
|
) = calculatePayoutAmounts(
|
268
|
-
registry,
|
269
174
|
instanceReader,
|
270
175
|
productNftId,
|
271
176
|
policyNftId,
|
@@ -287,7 +192,6 @@ library PoolLib {
|
|
287
192
|
|
288
193
|
// callback to policy holder if applicable
|
289
194
|
policyHolderPayoutExecuted(
|
290
|
-
registry,
|
291
195
|
policyNftId,
|
292
196
|
payoutId,
|
293
197
|
beneficiary,
|
@@ -295,7 +199,6 @@ library PoolLib {
|
|
295
199
|
}
|
296
200
|
|
297
201
|
function policyHolderPayoutExecuted(
|
298
|
-
IRegistry registry,
|
299
202
|
NftId policyNftId,
|
300
203
|
PayoutId payoutId,
|
301
204
|
address beneficiary,
|
@@ -303,7 +206,7 @@ library PoolLib {
|
|
303
206
|
)
|
304
207
|
private
|
305
208
|
{
|
306
|
-
IPolicyHolder policyHolder = getPolicyHolder(
|
209
|
+
IPolicyHolder policyHolder = getPolicyHolder(policyNftId);
|
307
210
|
if(address(policyHolder) != address(0)) {
|
308
211
|
policyHolder.payoutExecuted(policyNftId, payoutId, payoutAmount, beneficiary);
|
309
212
|
}
|
@@ -42,19 +42,18 @@ contract PoolService is
|
|
42
42
|
)
|
43
43
|
internal
|
44
44
|
virtual override
|
45
|
-
|
45
|
+
onlyInitializing()
|
46
46
|
{
|
47
47
|
(
|
48
|
-
address authority
|
49
|
-
|
50
|
-
) = abi.decode(data, (address, address));
|
48
|
+
address authority
|
49
|
+
) = abi.decode(data, (address));
|
51
50
|
|
52
|
-
__Service_init(authority,
|
51
|
+
__Service_init(authority, owner);
|
53
52
|
|
54
53
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
55
54
|
_bundleService = IBundleService(_getServiceAddress(BUNDLE()));
|
56
55
|
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
57
|
-
_staking = IStaking(
|
56
|
+
_staking = IStaking(_getRegistry().getStakingAddress());
|
58
57
|
|
59
58
|
_registerInterface(type(IPoolService).interfaceId);
|
60
59
|
}
|
@@ -66,7 +65,11 @@ contract PoolService is
|
|
66
65
|
virtual
|
67
66
|
restricted()
|
68
67
|
{
|
69
|
-
(
|
68
|
+
(
|
69
|
+
NftId poolNftId,
|
70
|
+
IInstance instance
|
71
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
72
|
+
|
70
73
|
InstanceReader instanceReader = instance.getInstanceReader();
|
71
74
|
IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
|
72
75
|
|
@@ -78,15 +81,20 @@ contract PoolService is
|
|
78
81
|
}
|
79
82
|
|
80
83
|
|
84
|
+
// TODO closing bundle here but creating in bundle service
|
81
85
|
function closeBundle(NftId bundleNftId)
|
82
86
|
external
|
83
87
|
restricted()
|
84
88
|
virtual
|
85
89
|
{
|
86
|
-
|
87
|
-
|
88
|
-
|
90
|
+
// checks
|
91
|
+
(
|
92
|
+
NftId poolNftId,
|
93
|
+
IInstance instance
|
94
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
95
|
+
bundleNftId, getRelease());
|
89
96
|
|
97
|
+
// effects
|
90
98
|
// TODO get performance fee for pool (#477)
|
91
99
|
|
92
100
|
// releasing collateral in bundle
|
@@ -95,15 +103,15 @@ contract PoolService is
|
|
95
103
|
_accountingService.decreasePoolBalance(
|
96
104
|
instance.getInstanceStore(),
|
97
105
|
poolNftId,
|
98
|
-
unstakedAmount +
|
106
|
+
unstakedAmount + feeAmount,
|
99
107
|
AmountLib.zero());
|
100
108
|
|
101
|
-
emit LogPoolServiceBundleClosed(
|
109
|
+
emit LogPoolServiceBundleClosed(poolNftId, bundleNftId);
|
102
110
|
|
103
|
-
if ((unstakedAmount + feeAmount).gtz()){
|
104
|
-
|
105
|
-
|
106
|
-
|
111
|
+
if ((unstakedAmount + feeAmount).gtz()) {
|
112
|
+
TokenHandler tokenHandler = instance.getInstanceReader().getTokenHandler(poolNftId);
|
113
|
+
tokenHandler.pushToken(
|
114
|
+
_getRegistry().ownerOf(bundleNftId),
|
107
115
|
unstakedAmount + feeAmount);
|
108
116
|
}
|
109
117
|
}
|
@@ -119,56 +127,25 @@ contract PoolService is
|
|
119
127
|
restricted()
|
120
128
|
virtual
|
121
129
|
{
|
122
|
-
|
130
|
+
(
|
131
|
+
NftId poolNftId,
|
132
|
+
IInstance instance
|
133
|
+
) = ContractLib.getAndVerifyPoolForPolicy(
|
134
|
+
policyNftId, getRelease());
|
123
135
|
|
124
|
-
(NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
125
136
|
InstanceReader instanceReader = instance.getInstanceReader();
|
126
|
-
NftId productNftId =
|
127
|
-
|
128
|
-
// check policy matches with calling pool
|
129
|
-
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
130
|
-
if(policyInfo.productNftId != productNftId) {
|
131
|
-
revert ErrorPoolServicePolicyPoolMismatch(
|
132
|
-
policyNftId,
|
133
|
-
policyInfo.productNftId,
|
134
|
-
productNftId);
|
135
|
-
}
|
137
|
+
NftId productNftId = _getRegistry().getParentNftId(poolNftId);
|
136
138
|
|
137
|
-
emit LogPoolServiceProcessFundedClaim(policyNftId, claimId, availableAmount);
|
139
|
+
emit LogPoolServiceProcessFundedClaim(poolNftId, policyNftId, claimId, availableAmount);
|
138
140
|
|
141
|
+
// TODO reading the whole struct for just 1 check
|
139
142
|
// callback to product component if applicable
|
140
143
|
if (instanceReader.getProductInfo(productNftId).isProcessingFundedClaims) {
|
141
|
-
address productAddress =
|
144
|
+
address productAddress = _getRegistry().getObjectAddress(productNftId);
|
142
145
|
IProductComponent(productAddress).processFundedClaim(policyNftId, claimId, availableAmount);
|
143
146
|
}
|
144
147
|
}
|
145
148
|
|
146
|
-
|
147
|
-
// function _checkAndGetPoolInfo(NftId bundleNftId)
|
148
|
-
// internal
|
149
|
-
// view
|
150
|
-
// returns (
|
151
|
-
// InstanceReader instanceReader,
|
152
|
-
// InstanceStore instanceStore,
|
153
|
-
// NftId instanceNftId,
|
154
|
-
// NftId poolNftId,
|
155
|
-
// IComponents.PoolInfo memory poolInfo
|
156
|
-
// )
|
157
|
-
// {
|
158
|
-
// _checkNftType(bundleNftId, BUNDLE());
|
159
|
-
|
160
|
-
// (NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
161
|
-
// instanceReader = instance.getInstanceReader();
|
162
|
-
// instanceStore = instance.getInstanceStore();
|
163
|
-
// instanceNftId = instance.getNftId();
|
164
|
-
// poolInfo = instanceReader.getPoolInfo(poolNftId);
|
165
|
-
|
166
|
-
// if (getRegistry().getParentNftId(bundleNftId) != poolNftId) {
|
167
|
-
// revert ErrorPoolServiceBundlePoolMismatch(bundleNftId, poolNftId);
|
168
|
-
// }
|
169
|
-
// }
|
170
|
-
|
171
|
-
|
172
149
|
/// @inheritdoc IPoolService
|
173
150
|
function stake(NftId bundleNftId, Amount amount)
|
174
151
|
external
|
@@ -179,12 +156,14 @@ contract PoolService is
|
|
179
156
|
)
|
180
157
|
{
|
181
158
|
(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
159
|
+
NftId poolNftId,
|
160
|
+
IInstance instance
|
161
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
162
|
+
bundleNftId, getRelease());
|
163
|
+
|
164
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
165
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
166
|
+
IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
|
188
167
|
|
189
168
|
{
|
190
169
|
Amount currentPoolBalance = instanceReader.getBalanceAmount(poolNftId);
|
@@ -199,7 +178,6 @@ contract PoolService is
|
|
199
178
|
feeAmount,
|
200
179
|
netAmount
|
201
180
|
) = PoolLib.calculateStakingAmounts(
|
202
|
-
getRegistry(),
|
203
181
|
instanceReader,
|
204
182
|
poolNftId,
|
205
183
|
amount);
|
@@ -213,13 +191,13 @@ contract PoolService is
|
|
213
191
|
|
214
192
|
_bundleService.stake(instanceReader, instanceStore, bundleNftId, netAmount);
|
215
193
|
|
216
|
-
emit LogPoolServiceBundleStaked(
|
194
|
+
emit LogPoolServiceBundleStaked(poolNftId, bundleNftId, amount, netAmount);
|
217
195
|
|
218
196
|
// only collect staking amount when pool is not externally managed
|
219
197
|
if (!poolInfo.isExternallyManaged) {
|
220
198
|
|
221
199
|
// collect tokens from bundle owner
|
222
|
-
address bundleOwner =
|
200
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
223
201
|
PoolLib.pullStakingAmount(
|
224
202
|
instanceReader,
|
225
203
|
poolNftId,
|
@@ -237,11 +215,13 @@ contract PoolService is
|
|
237
215
|
returns(Amount netAmount)
|
238
216
|
{
|
239
217
|
(
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
218
|
+
NftId poolNftId,
|
219
|
+
IInstance instance
|
220
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
221
|
+
bundleNftId, getRelease());
|
222
|
+
|
223
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
224
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
245
225
|
|
246
226
|
// call bundle service for bookkeeping and additional checks
|
247
227
|
Amount unstakedAmount = _bundleService.unstake(instanceStore, bundleNftId, amount);
|
@@ -260,13 +240,13 @@ contract PoolService is
|
|
260
240
|
AmountLib.zero());
|
261
241
|
|
262
242
|
|
263
|
-
emit LogPoolServiceBundleUnstaked(
|
243
|
+
emit LogPoolServiceBundleUnstaked(poolNftId, bundleNftId, unstakedAmount, netAmount);
|
264
244
|
|
265
245
|
// only distribute staking amount when pool is not externally managed
|
266
246
|
if (!instanceReader.getPoolInfo(poolNftId).isExternallyManaged) {
|
267
247
|
|
268
248
|
// transfer amount to bundle owner
|
269
|
-
address bundleOwner =
|
249
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
270
250
|
PoolLib.pushUnstakingAmount(
|
271
251
|
instanceReader,
|
272
252
|
poolNftId,
|
@@ -284,7 +264,7 @@ contract PoolService is
|
|
284
264
|
(
|
285
265
|
NftId poolNftId,
|
286
266
|
IInstance instance
|
287
|
-
) =
|
267
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
288
268
|
|
289
269
|
// check that pool is externally managed
|
290
270
|
InstanceReader reader = instance.getInstanceReader();
|
@@ -292,7 +272,7 @@ contract PoolService is
|
|
292
272
|
revert ErrorPoolServicePoolNotExternallyManaged(poolNftId);
|
293
273
|
}
|
294
274
|
|
295
|
-
address poolOwner =
|
275
|
+
address poolOwner = _getRegistry().ownerOf(poolNftId);
|
296
276
|
emit LogPoolServiceWalletFunded(poolNftId, poolOwner, amount);
|
297
277
|
|
298
278
|
PoolLib.pullStakingAmount(
|
@@ -311,7 +291,7 @@ contract PoolService is
|
|
311
291
|
(
|
312
292
|
NftId poolNftId,
|
313
293
|
IInstance instance
|
314
|
-
) =
|
294
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
315
295
|
|
316
296
|
// check that pool is externally managed
|
317
297
|
InstanceReader reader = instance.getInstanceReader();
|
@@ -319,7 +299,7 @@ contract PoolService is
|
|
319
299
|
revert ErrorPoolServicePoolNotExternallyManaged(poolNftId);
|
320
300
|
}
|
321
301
|
|
322
|
-
address poolOwner =
|
302
|
+
address poolOwner = _getRegistry().ownerOf(poolNftId);
|
323
303
|
emit LogPoolServiceWalletDefunded(poolNftId, poolOwner, amount);
|
324
304
|
|
325
305
|
PoolLib.pushUnstakingAmount(
|
@@ -340,10 +320,8 @@ contract PoolService is
|
|
340
320
|
{
|
341
321
|
_checkNftType(bundleNftId, BUNDLE());
|
342
322
|
|
343
|
-
|
344
|
-
|
345
|
-
(, address instanceAddress) = ContractLib.getInfoAndInstance(registry, poolNftId, true);
|
346
|
-
IInstance instance = IInstance(instanceAddress);
|
323
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
324
|
+
(, IInstance instance) = ContractLib.getInfoAndInstance(poolNftId, getRelease(), true);
|
347
325
|
|
348
326
|
Amount poolFeeAmount = premium.poolFeeFixAmount + premium.poolFeeVarAmount;
|
349
327
|
Amount bundleFeeAmount = premium.bundleFeeFixAmount + premium.bundleFeeVarAmount;
|
@@ -414,7 +392,7 @@ contract PoolService is
|
|
414
392
|
// pool callback when required
|
415
393
|
if (poolIsVerifyingApplications) {
|
416
394
|
IPoolComponent pool = IPoolComponent(
|
417
|
-
|
395
|
+
_getRegistry().getObjectAddress(poolNftId));
|
418
396
|
|
419
397
|
pool.verifyApplication(
|
420
398
|
applicationNftId,
|
@@ -454,7 +432,7 @@ contract PoolService is
|
|
454
432
|
_checkNftType(policyNftId, POLICY());
|
455
433
|
|
456
434
|
// effects
|
457
|
-
NftId poolNftId =
|
435
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
458
436
|
|
459
437
|
_accountingService.decreasePoolBalance(
|
460
438
|
instanceStore,
|
@@ -484,7 +462,6 @@ contract PoolService is
|
|
484
462
|
|
485
463
|
// interactions
|
486
464
|
(netPayoutAmount, processingFeeAmount) = PoolLib.transferTokenAndNotifyPolicyHolder(
|
487
|
-
getRegistry(),
|
488
465
|
instanceReader,
|
489
466
|
poolTokenHandler,
|
490
467
|
productNftId,
|
@@ -522,9 +499,12 @@ contract PoolService is
|
|
522
499
|
returns (Amount withdrawnAmount)
|
523
500
|
{
|
524
501
|
// checks
|
525
|
-
|
502
|
+
(
|
503
|
+
NftId poolNftId,
|
504
|
+
IInstance instance
|
505
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
506
|
+
bundleNftId, getRelease());
|
526
507
|
|
527
|
-
(NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
528
508
|
InstanceReader reader = instance.getInstanceReader();
|
529
509
|
|
530
510
|
// determine withdrawn amount
|
@@ -550,10 +530,10 @@ contract PoolService is
|
|
550
530
|
// interactions
|
551
531
|
// transfer amount to bundle owner
|
552
532
|
{
|
553
|
-
address bundleOwner =
|
533
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
554
534
|
TokenHandler tokenHandler = reader.getTokenHandler(poolNftId);
|
555
535
|
address token = address(tokenHandler.TOKEN());
|
556
|
-
emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner, token, withdrawnAmount);
|
536
|
+
emit LogPoolServiceFeesWithdrawn(poolNftId, bundleNftId, bundleOwner, token, withdrawnAmount);
|
557
537
|
|
558
538
|
tokenHandler.pushToken(bundleOwner, withdrawnAmount);
|
559
539
|
}
|
@@ -594,20 +574,6 @@ contract PoolService is
|
|
594
574
|
remainingCollateralAmount);
|
595
575
|
}
|
596
576
|
|
597
|
-
|
598
|
-
function _getAndVerifyActivePool()
|
599
|
-
internal
|
600
|
-
virtual
|
601
|
-
view
|
602
|
-
returns (
|
603
|
-
NftId poolNftId,
|
604
|
-
IInstance instance
|
605
|
-
)
|
606
|
-
{
|
607
|
-
return PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
608
|
-
}
|
609
|
-
|
610
|
-
|
611
577
|
function _getDomain() internal pure override returns(ObjectType) {
|
612
578
|
return POOL();
|
613
579
|
}
|
@@ -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 {PoolService} from "./PoolService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract PoolServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with pool service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
PoolService poolSrv = new PoolService{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(poolSrv),
|
24
22
|
data,
|
25
23
|
salt);
|
26
24
|
|
27
|
-
_poolService = PoolService(address(
|
25
|
+
_poolService = PoolService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|
@@ -38,14 +38,13 @@ contract ApplicationService is
|
|
38
38
|
)
|
39
39
|
internal
|
40
40
|
virtual override
|
41
|
-
|
41
|
+
onlyInitializing()
|
42
42
|
{
|
43
43
|
(
|
44
|
-
address authority
|
45
|
-
|
46
|
-
) = abi.decode(data, (address, address));
|
44
|
+
address authority
|
45
|
+
) = abi.decode(data, (address));
|
47
46
|
|
48
|
-
__Service_init(authority,
|
47
|
+
__Service_init(authority, owner);
|
49
48
|
|
50
49
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
51
50
|
_pricingService = IPricingService(_getServiceAddress(PRICE()));
|
@@ -54,7 +53,9 @@ contract ApplicationService is
|
|
54
53
|
_registerInterface(type(IApplicationService).interfaceId);
|
55
54
|
}
|
56
55
|
|
57
|
-
|
56
|
+
// TODO product - bundle - risk - refferal - distribution
|
57
|
+
// checkBundle() is faster then checking with registry but first need to know poolNftId
|
58
|
+
// check pool, get its nftIdf and instance -> instacne.getBundleSet.checkBundle(bundsleNftId) ????
|
58
59
|
function _checkLinkedApplicationParameters(
|
59
60
|
InstanceReader instanceReader,
|
60
61
|
NftId productNftId,
|
@@ -108,12 +109,11 @@ contract ApplicationService is
|
|
108
109
|
NftIdLib.zero(),
|
109
110
|
productNftId,
|
110
111
|
POLICY(),
|
112
|
+
getRelease(),
|
111
113
|
false, // intercepting property for policies is defined on product
|
112
|
-
address(0)
|
113
|
-
applicationOwner,
|
114
|
-
"");
|
114
|
+
address(0));
|
115
115
|
|
116
|
-
applicationNftId = _registryService.registerPolicy(objectInfo);
|
116
|
+
applicationNftId = _registryService.registerPolicy(objectInfo, applicationOwner, "");
|
117
117
|
}
|
118
118
|
|
119
119
|
|
@@ -155,7 +155,7 @@ contract ApplicationService is
|
|
155
155
|
{
|
156
156
|
_checkNftType(bundleNftId, BUNDLE());
|
157
157
|
|
158
|
-
(NftId productNftId, IInstance instance) =
|
158
|
+
(NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
|
159
159
|
|
160
160
|
// check if provided references are valid and linked to calling product contract
|
161
161
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -290,36 +290,15 @@ contract ApplicationService is
|
|
290
290
|
restricted()
|
291
291
|
nonReentrant()
|
292
292
|
{
|
293
|
-
|
293
|
+
(, IInstance instance) = ContractLib.getAndVerifyProductForPolicy(
|
294
|
+
applicationNftId, getRelease());
|
294
295
|
|
295
|
-
(, IInstance instance) = _getAndVerifyActiveProduct();
|
296
296
|
instance.getProductStore().updateApplicationState(applicationNftId, REVOKED());
|
297
297
|
emit LogApplicationServiceApplicationRevoked(applicationNftId);
|
298
298
|
}
|
299
299
|
|
300
300
|
// internal functions
|
301
301
|
|
302
|
-
function _getAndVerifyActiveProduct()
|
303
|
-
internal
|
304
|
-
view
|
305
|
-
returns (
|
306
|
-
NftId productNftId,
|
307
|
-
IInstance instance
|
308
|
-
)
|
309
|
-
{
|
310
|
-
(
|
311
|
-
IRegistry.ObjectInfo memory info,
|
312
|
-
address instanceAddress
|
313
|
-
) = ContractLib.getAndVerifyComponent(
|
314
|
-
getRegistry(),
|
315
|
-
msg.sender,
|
316
|
-
PRODUCT(),
|
317
|
-
true); // only active pools
|
318
|
-
|
319
|
-
productNftId = info.nftId;
|
320
|
-
instance = IInstance(instanceAddress);
|
321
|
-
}
|
322
|
-
|
323
302
|
|
324
303
|
function _getDomain() internal pure override returns(ObjectType) {
|
325
304
|
return APPLICATION();
|
@@ -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 {ApplicationService} from "./ApplicationService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract ApplicationServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
ApplicationService svc = new ApplicationService{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
|
-
_applicationService = ApplicationService(address(
|
25
|
+
_applicationService = ApplicationService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|