@etherisc/gif-next 0.0.2-a105567-464 → 0.0.2-a221fa7-461
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 +30 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -239
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +317 -95
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +97 -57
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +104 -136
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +158 -16
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +64 -84
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -45
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +78 -146
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1214 -280
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +227 -62
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +221 -106
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +52 -48
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +260 -137
- 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 +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1093 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1496 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +95 -58
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +53 -41
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +30 -206
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +28 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +37 -314
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +77 -41
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +42 -38
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +72 -35
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +47 -35
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +112 -67
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +67 -51
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +36 -46
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +90 -45
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +56 -40
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +98 -61
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +60 -48
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +43 -164
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +54 -25
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +38 -30
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -59
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -183
- 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 +101 -104
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1506 -167
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +50 -13
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -25
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +22 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +11 -11
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +242 -77
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +80 -56
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +13 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +4 -4
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +117 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +36 -4
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -15
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +13 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +43 -64
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -99
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -6
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -8
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +13 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +114 -117
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +215 -70
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +102 -44
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +179 -182
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +43 -43
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +223 -21
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +264 -134
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +41 -45
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +771 -216
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +95 -18
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
- 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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +144 -110
- package/contracts/distribution/DistributionService.sol +80 -26
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +25 -39
- package/contracts/distribution/IDistributionService.sol +18 -1
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +20 -13
- package/contracts/instance/IInstanceService.sol +34 -23
- package/contracts/instance/Instance.sol +108 -89
- package/contracts/instance/InstanceAdmin.sol +202 -267
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +49 -9
- package/contracts/instance/InstanceService.sol +159 -78
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +38 -22
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IComponents.sol +0 -1
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +166 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +52 -0
- package/contracts/pool/BundleService.sol +32 -44
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IPoolComponent.sol +0 -61
- package/contracts/pool/IPoolService.sol +3 -0
- package/contracts/pool/Pool.sol +143 -131
- package/contracts/pool/PoolService.sol +45 -33
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +17 -41
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +16 -37
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IClaimService.sol +6 -0
- package/contracts/product/IProductComponent.sol +7 -9
- package/contracts/product/PolicyService.sol +7 -5
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +5 -6
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +103 -88
- package/contracts/product/ProductService.sol +12 -37
- package/contracts/product/ProductServiceManager.sol +2 -5
- package/contracts/registry/ChainNft.sol +1 -0
- package/contracts/registry/IRegistry.sol +26 -18
- package/contracts/registry/IRegistryService.sol +6 -6
- package/contracts/registry/Registry.sol +86 -95
- package/contracts/registry/RegistryAdmin.sol +283 -155
- package/contracts/registry/RegistryService.sol +9 -23
- package/contracts/registry/RegistryServiceManager.sol +2 -7
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +487 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +9 -52
- package/contracts/shared/Component.sol +19 -25
- package/contracts/shared/ComponentService.sol +94 -68
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +13 -7
- package/contracts/shared/IComponent.sol +3 -7
- package/contracts/shared/IComponentService.sol +21 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -0
- package/contracts/shared/IKeyValueStore.sol +2 -1
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/InstanceLinkedComponent.sol +47 -19
- package/contracts/shared/KeyValueStore.sol +7 -6
- package/contracts/shared/Lifecycle.sol +16 -60
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/Service.sol +27 -22
- package/contracts/staking/IStaking.sol +41 -26
- package/contracts/staking/IStakingService.sol +42 -44
- package/contracts/staking/StakeManagerLib.sol +101 -26
- package/contracts/staking/Staking.sol +144 -126
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +2 -6
- package/contracts/staking/StakingReader.sol +73 -36
- package/contracts/staking/StakingService.sol +121 -86
- package/contracts/staking/StakingServiceManager.sol +2 -3
- package/contracts/staking/StakingStore.sol +401 -127
- package/contracts/staking/TargetManagerLib.sol +28 -0
- package/contracts/type/Amount.sol +15 -1
- package/contracts/type/NftId.sol +8 -8
- package/contracts/type/ObjectType.sol +171 -69
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RoleId.sol +103 -72
- package/contracts/type/Seconds.sol +10 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +12 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +6 -2
- package/contracts/type/UFixed.sol +6 -0
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +3 -4
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +8 -5
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -204
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.json +0 -37
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +0 -357
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -349
- package/contracts/registry/ReleaseManager.sol +0 -599
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -470
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- package/contracts/staking/IStakingManager.sol +0 -15
- package/contracts/staking/IStakingStore.sol +0 -130
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -16,70 +16,10 @@ interface IPoolComponent is IInstanceLinkedComponent {
|
|
16
16
|
|
17
17
|
error ErrorPoolNotBundleOwner(NftId bundleNftId, address caller);
|
18
18
|
error ErrorPoolNotPoolService(address caller);
|
19
|
-
|
20
19
|
error ErrorPoolApplicationBundleMismatch(NftId applicationNftId);
|
21
20
|
|
22
21
|
event LogPoolVerifiedByPool(address pool, NftId applicationNftId, Amount collateralizationAmount);
|
23
22
|
|
24
|
-
/// @dev increases the staked tokens by the specified amount
|
25
|
-
/// only the bundle owner may stake tokens
|
26
|
-
/// bundle MUST be in active or locked state
|
27
|
-
function stake(NftId bundleNftId, Amount amount) external;
|
28
|
-
|
29
|
-
/// @dev decreases the staked tokens by the specified amount
|
30
|
-
/// only the bundle owner may unstake tokens from the bundle
|
31
|
-
/// bundle MUST be in active, locked or closed state
|
32
|
-
function unstake(NftId bundleNftId, Amount amount) external;
|
33
|
-
|
34
|
-
/// @dev extends the bundle lifetime of the bundle by the specified time
|
35
|
-
/// only the bundle owner may extend the bundle's lifetime
|
36
|
-
/// bundle MUST be in active or locked state
|
37
|
-
function extend(NftId bundleNftId, Seconds lifetimeExtension) external;
|
38
|
-
|
39
|
-
/// @dev locks the specified bundle
|
40
|
-
/// a bundle to be locked MUST be in active state
|
41
|
-
/// locked bundles may not be used to collateralize any new policy
|
42
|
-
function lockBundle(NftId bundleNftId) external;
|
43
|
-
|
44
|
-
/// @dev unlocks the specified bundle
|
45
|
-
/// a bundle to be unlocked MUST be in locked state
|
46
|
-
function unlockBundle(NftId bundleNftId) external;
|
47
|
-
|
48
|
-
/// @dev close the specified bundle
|
49
|
-
/// a bundle to be closed MUST be in active or locked state
|
50
|
-
/// to close a bundle all all linked policies MUST be in closed state as well
|
51
|
-
/// closing a bundle finalizes the bundle bookkeeping including overall profit calculation
|
52
|
-
/// once a bundle is closed this action cannot be reversed
|
53
|
-
function close(NftId bundleNftId) external;
|
54
|
-
|
55
|
-
/// @dev sets the fee for the specified bundle
|
56
|
-
/// the fee is added on top of the poolFee and deducted from the premium amounts
|
57
|
-
/// via these fees individual bundler owner may earn income per policy in the context of peer to peer pools
|
58
|
-
function setBundleFee(
|
59
|
-
NftId bundleNftId,
|
60
|
-
Fee memory fee
|
61
|
-
) external;
|
62
|
-
|
63
|
-
/// @dev sets the maximum overall capital amound held by this pool
|
64
|
-
/// function may only be called by pool owner
|
65
|
-
function setMaxCapitalAmount(Amount maxCapitalAmount) external;
|
66
|
-
|
67
|
-
/// @dev sets the required role to create/own bundles
|
68
|
-
/// may only be called once after setting up a pool
|
69
|
-
/// may only be called by pool owner
|
70
|
-
function setBundleOwnerRole(RoleId bundleOwnerRole) external;
|
71
|
-
|
72
|
-
/// @dev update pool fees to the specified values
|
73
|
-
/// pool fees: are deducted from the premium amount and goes to the pool owner
|
74
|
-
/// staking fees: are deducted from the staked tokens by a bundle owner and goes to the pool owner
|
75
|
-
/// performance fees: when a bundle is closed a bundle specific profit is calculated
|
76
|
-
/// the performance fee is deducted from this profit and goes to the pool owner
|
77
|
-
function setFees(
|
78
|
-
Fee memory poolFee,
|
79
|
-
Fee memory stakingFee,
|
80
|
-
Fee memory performanceFee
|
81
|
-
) external;
|
82
|
-
|
83
23
|
/// @dev this is a callback function that is called by the product service when underwriting a policy.
|
84
24
|
/// the pool has the option to check the details and object to underwriting by reverting.
|
85
25
|
/// the function is only called for "active" pools that ask to be involved/notified
|
@@ -108,5 +48,4 @@ interface IPoolComponent is IInstanceLinkedComponent {
|
|
108
48
|
|
109
49
|
/// @dev returns initial pool specific infos for this pool
|
110
50
|
function getInitialPoolInfo() external view returns (IComponents.PoolInfo memory info);
|
111
|
-
|
112
51
|
}
|
@@ -48,6 +48,7 @@ interface IPoolService is IService {
|
|
48
48
|
/// may only be called by the policy service for unlocked pool components
|
49
49
|
function lockCollateral(
|
50
50
|
IInstance instance,
|
51
|
+
address token,
|
51
52
|
NftId productNftId,
|
52
53
|
NftId applicationNftId,
|
53
54
|
NftId bundleNftId,
|
@@ -64,6 +65,7 @@ interface IPoolService is IService {
|
|
64
65
|
/// may only be called by the policy service for unlocked pool components
|
65
66
|
function releaseCollateral(
|
66
67
|
IInstance instance,
|
68
|
+
address token,
|
67
69
|
NftId policyNftId,
|
68
70
|
IPolicy.PolicyInfo memory policyInfo
|
69
71
|
) external;
|
@@ -74,6 +76,7 @@ interface IPoolService is IService {
|
|
74
76
|
/// may only be called by the claim service for unlocked pool components
|
75
77
|
function reduceCollateral(
|
76
78
|
IInstance instance,
|
79
|
+
address token,
|
77
80
|
NftId policyNftId,
|
78
81
|
IPolicy.PolicyInfo memory policyInfo,
|
79
82
|
Amount payoutAmount
|
package/contracts/pool/Pool.sol
CHANGED
@@ -2,15 +2,16 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
|
-
import {
|
6
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
5
|
+
import {BUNDLE, COMPONENT, POOL} from "../type/ObjectType.sol";
|
7
6
|
import {IBundleService} from "./IBundleService.sol";
|
7
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
8
8
|
import {IPoolComponent} from "./IPoolComponent.sol";
|
9
9
|
import {IPoolService} from "./IPoolService.sol";
|
10
10
|
import {IComponents} from "../instance/module/IComponents.sol";
|
11
11
|
import {IComponentService} from "../shared/IComponentService.sol";
|
12
|
+
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
13
|
+
import {Fee, FeeLib} from "../type/Fee.sol";
|
12
14
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
13
|
-
import {BUNDLE, COMPONENT, POOL} from "../type/ObjectType.sol";
|
14
15
|
import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
|
15
16
|
import {Seconds} from "../type/Seconds.sol";
|
16
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
@@ -38,29 +39,111 @@ abstract contract Pool is
|
|
38
39
|
}
|
39
40
|
|
40
41
|
|
41
|
-
|
42
|
-
|
43
|
-
|
42
|
+
/// @dev see {IPoolComponent.verifyApplication}
|
43
|
+
function verifyApplication(
|
44
|
+
NftId applicationNftId,
|
45
|
+
bytes memory applicationData,
|
46
|
+
NftId bundleNftId,
|
47
|
+
bytes memory bundleFilter,
|
48
|
+
Amount collateralizationAmount
|
49
|
+
)
|
50
|
+
public
|
51
|
+
virtual
|
52
|
+
restricted()
|
53
|
+
{
|
54
|
+
if(!applicationMatchesBundle(
|
55
|
+
applicationNftId,
|
56
|
+
applicationData,
|
57
|
+
bundleNftId,
|
58
|
+
bundleFilter,
|
59
|
+
collateralizationAmount)
|
60
|
+
)
|
61
|
+
{
|
62
|
+
revert ErrorPoolApplicationBundleMismatch(applicationNftId);
|
44
63
|
}
|
45
|
-
|
64
|
+
|
65
|
+
emit LogPoolVerifiedByPool(address(this), applicationNftId, collateralizationAmount);
|
66
|
+
}
|
67
|
+
|
68
|
+
|
69
|
+
/// @dev see {IPoolComponent.applicationMatchesBundle}
|
70
|
+
/// Override this function to implement any custom application verification
|
71
|
+
/// Default implementation always returns true
|
72
|
+
function applicationMatchesBundle(
|
73
|
+
NftId applicationNftId,
|
74
|
+
bytes memory applicationData,
|
75
|
+
NftId bundleNftId,
|
76
|
+
bytes memory bundleFilter,
|
77
|
+
Amount collateralizationAmount
|
78
|
+
)
|
79
|
+
public
|
80
|
+
virtual
|
81
|
+
view
|
82
|
+
returns (bool isMatching)
|
83
|
+
{
|
84
|
+
return true;
|
46
85
|
}
|
47
86
|
|
48
87
|
|
49
|
-
function
|
88
|
+
function register()
|
89
|
+
external
|
90
|
+
virtual
|
91
|
+
onlyOwner()
|
92
|
+
{
|
93
|
+
_getPoolStorage()._componentService.registerPool();
|
94
|
+
_approveTokenHandler(type(uint256).max);
|
95
|
+
}
|
96
|
+
|
97
|
+
|
98
|
+
function getInitialPoolInfo()
|
99
|
+
public
|
100
|
+
virtual
|
101
|
+
view
|
102
|
+
returns (IComponents.PoolInfo memory poolInfo)
|
103
|
+
{
|
104
|
+
return IComponents.PoolInfo(
|
105
|
+
NftIdLib.zero(), // will be set when GIF registers the related product
|
106
|
+
PUBLIC_ROLE(), // bundleOwnerRole
|
107
|
+
AmountLib.max(), // maxCapitalAmount,
|
108
|
+
isNftInterceptor(), // isInterceptingBundleTransfers
|
109
|
+
false, // isExternallyManaged,
|
110
|
+
false, // isVerifyingApplications,
|
111
|
+
UFixedLib.toUFixed(1), // collateralizationLevel,
|
112
|
+
UFixedLib.toUFixed(1), // retentionLevel,
|
113
|
+
FeeLib.zero(), // initialPoolFee,
|
114
|
+
FeeLib.zero(), // initialStakingFee,
|
115
|
+
FeeLib.zero() // initialPerformanceFee,
|
116
|
+
);
|
117
|
+
}
|
118
|
+
|
119
|
+
// Internals
|
120
|
+
|
121
|
+
function _initializePool(
|
50
122
|
address registry,
|
51
123
|
NftId instanceNftId,
|
52
124
|
string memory name,
|
53
125
|
address token,
|
126
|
+
IAuthorization authorization,
|
54
127
|
bool isInterceptingNftTransfers,
|
55
128
|
address initialOwner,
|
56
129
|
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
57
130
|
bytes memory componentData // component specifidc data
|
58
131
|
)
|
59
|
-
|
132
|
+
internal
|
60
133
|
virtual
|
61
134
|
onlyInitializing()
|
62
135
|
{
|
63
|
-
|
136
|
+
_initializeInstanceLinkedComponent(
|
137
|
+
registry,
|
138
|
+
instanceNftId,
|
139
|
+
name,
|
140
|
+
token,
|
141
|
+
POOL(),
|
142
|
+
authorization,
|
143
|
+
isInterceptingNftTransfers,
|
144
|
+
initialOwner,
|
145
|
+
registryData,
|
146
|
+
componentData);
|
64
147
|
|
65
148
|
PoolStorage storage $ = _getPoolStorage();
|
66
149
|
$._poolService = IPoolService(_getServiceAddress(POOL()));
|
@@ -70,201 +153,130 @@ abstract contract Pool is
|
|
70
153
|
registerInterface(type(IPoolComponent).interfaceId);
|
71
154
|
}
|
72
155
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
virtual
|
77
|
-
onlyOwner()
|
78
|
-
{
|
79
|
-
_getPoolStorage()._componentService.registerPool();
|
80
|
-
}
|
81
|
-
|
82
|
-
|
83
|
-
function stake(
|
156
|
+
/// @dev increases the staked tokens by the specified amount
|
157
|
+
/// bundle MUST be in active or locked state
|
158
|
+
function _stake(
|
84
159
|
NftId bundleNftId,
|
85
160
|
Amount amount
|
86
161
|
)
|
87
|
-
|
162
|
+
internal
|
88
163
|
virtual
|
89
|
-
restricted()
|
90
|
-
onlyBundleOwner(bundleNftId)
|
91
164
|
{
|
92
165
|
// TODO add implementation
|
93
166
|
}
|
94
167
|
|
95
168
|
|
96
|
-
|
169
|
+
/// @dev decreases the staked tokens by the specified amount
|
170
|
+
/// bundle MUST be in active, locked or closed state
|
171
|
+
function _unstake(
|
97
172
|
NftId bundleNftId,
|
98
173
|
Amount amount
|
99
174
|
)
|
100
|
-
|
175
|
+
internal
|
101
176
|
virtual
|
102
|
-
restricted()
|
103
|
-
onlyBundleOwner(bundleNftId)
|
104
177
|
{
|
105
178
|
// TODO add implementation
|
106
179
|
}
|
107
180
|
|
108
181
|
|
109
|
-
|
182
|
+
/// @dev extends the bundle lifetime of the bundle by the specified time
|
183
|
+
/// bundle MUST be in active or locked state
|
184
|
+
function _extend(
|
110
185
|
NftId bundleNftId,
|
111
186
|
Seconds lifetimeExtension
|
112
187
|
)
|
113
|
-
|
188
|
+
internal
|
114
189
|
virtual
|
115
|
-
restricted()
|
116
|
-
onlyBundleOwner(bundleNftId)
|
117
190
|
{
|
118
191
|
// TODO add implementation
|
119
192
|
}
|
120
193
|
|
121
194
|
|
122
|
-
|
123
|
-
|
195
|
+
/// @dev Locks the specified bundle.
|
196
|
+
/// A bundle to be locked MUST be in active state.
|
197
|
+
/// Locked bundles may not be used to collateralize any new policy.
|
198
|
+
function _lockBundle(NftId bundleNftId)
|
199
|
+
internal
|
124
200
|
virtual
|
125
|
-
//restricted() // TODO consider adding this back
|
126
|
-
onlyBundleOwner(bundleNftId)
|
127
201
|
{
|
128
202
|
_getPoolStorage()._bundleService.lock(bundleNftId);
|
129
203
|
}
|
130
204
|
|
131
205
|
|
132
|
-
|
133
|
-
|
206
|
+
/// @dev Unlocks the specified bundle.
|
207
|
+
/// A bundle to be unlocked MUST be in locked state.
|
208
|
+
function _unlockBundle(NftId bundleNftId)
|
209
|
+
internal
|
134
210
|
virtual
|
135
|
-
//restricted()
|
136
|
-
onlyBundleOwner(bundleNftId)
|
137
211
|
{
|
138
212
|
_getPoolStorage()._bundleService.unlock(bundleNftId);
|
139
213
|
}
|
140
214
|
|
141
215
|
|
142
|
-
|
143
|
-
|
216
|
+
/// @dev Close the specified bundle.
|
217
|
+
/// A bundle to be closed MUST be in active or locked state.
|
218
|
+
/// To close a bundle all all linked policies MUST be in closed state as well.
|
219
|
+
/// Closing a bundle finalizes the bundle bookkeeping including overall profit calculation.
|
220
|
+
/// Once a bundle is closed this action cannot be reversed.
|
221
|
+
function _close(NftId bundleNftId)
|
222
|
+
internal
|
144
223
|
virtual
|
145
|
-
//restricted()
|
146
|
-
onlyBundleOwner(bundleNftId)
|
147
224
|
{
|
148
225
|
_getPoolStorage()._poolService.closeBundle(bundleNftId);
|
149
226
|
}
|
150
227
|
|
151
228
|
|
152
|
-
|
229
|
+
/// @dev Sets the fee for the specified bundle.
|
230
|
+
/// The fee is added on top of the poolFee and deducted from the premium amounts
|
231
|
+
/// Via these fees individual bundler owner may earn income per policy in the context of peer to peer pools.
|
232
|
+
function _setBundleFee(
|
153
233
|
NftId bundleNftId,
|
154
234
|
Fee memory fee
|
155
235
|
)
|
156
|
-
|
236
|
+
internal
|
157
237
|
virtual
|
158
|
-
//restricted()
|
159
|
-
onlyBundleOwner(bundleNftId)
|
160
238
|
{
|
161
239
|
_getPoolStorage()._bundleService.setFee(bundleNftId, fee);
|
162
240
|
}
|
163
241
|
|
164
242
|
|
165
|
-
|
166
|
-
|
243
|
+
/// @dev Sets the maximum overall capital amound held by this pool.
|
244
|
+
/// Function may only be called by pool owner.
|
245
|
+
function _setMaxCapitalAmount(Amount maxCapitalAmount)
|
246
|
+
internal
|
167
247
|
virtual
|
168
|
-
restricted()
|
169
|
-
onlyOwner()
|
170
248
|
{
|
171
249
|
_getPoolStorage()._poolService.setMaxCapitalAmount(maxCapitalAmount);
|
172
250
|
}
|
173
251
|
|
174
|
-
|
175
|
-
|
176
|
-
|
252
|
+
/// @dev Sets the required role to create/own bundles.
|
253
|
+
/// May only be called once after setting up a pool.
|
254
|
+
/// May only be called by pool owner.
|
255
|
+
function _setBundleOwnerRole(RoleId bundleOwnerRole)
|
256
|
+
internal
|
177
257
|
virtual
|
178
|
-
restricted()
|
179
|
-
onlyOwner()
|
180
258
|
{
|
181
259
|
_getPoolStorage()._poolService.setBundleOwnerRole(bundleOwnerRole);
|
182
260
|
}
|
183
261
|
|
184
262
|
|
185
|
-
|
263
|
+
/// @dev Update pool fees to the specified values.
|
264
|
+
/// Pool fee: are deducted from the premium amount and goes to the pool owner.
|
265
|
+
/// Staking fee: are deducted from the staked tokens by a bundle owner and goes to the pool owner.
|
266
|
+
/// Performance fee: when a bundle is closed a bundle specific profit is calculated.
|
267
|
+
/// The performance fee is deducted from this profit and goes to the pool owner.
|
268
|
+
function _setPoolFees(
|
186
269
|
Fee memory poolFee,
|
187
270
|
Fee memory stakingFee,
|
188
271
|
Fee memory performanceFee
|
189
272
|
)
|
190
|
-
|
273
|
+
internal
|
191
274
|
virtual
|
192
|
-
restricted()
|
193
|
-
onlyOwner()
|
194
275
|
{
|
195
276
|
_getPoolStorage()._componentService.setPoolFees(poolFee, stakingFee, performanceFee);
|
196
277
|
}
|
197
278
|
|
198
|
-
|
199
|
-
/// @dev see {IPool.verifyApplication}
|
200
|
-
function verifyApplication(
|
201
|
-
NftId applicationNftId,
|
202
|
-
bytes memory applicationData,
|
203
|
-
NftId bundleNftId,
|
204
|
-
bytes memory bundleFilter,
|
205
|
-
Amount collateralizationAmount
|
206
|
-
)
|
207
|
-
public
|
208
|
-
virtual
|
209
|
-
restricted()
|
210
|
-
{
|
211
|
-
if(!applicationMatchesBundle(
|
212
|
-
applicationNftId,
|
213
|
-
applicationData,
|
214
|
-
bundleNftId,
|
215
|
-
bundleFilter,
|
216
|
-
collateralizationAmount)
|
217
|
-
)
|
218
|
-
{
|
219
|
-
revert ErrorPoolApplicationBundleMismatch(applicationNftId);
|
220
|
-
}
|
221
|
-
|
222
|
-
emit LogPoolVerifiedByPool(address(this), applicationNftId, collateralizationAmount);
|
223
|
-
}
|
224
|
-
|
225
|
-
|
226
|
-
/// @dev see {IPoolComponent.applicationMatchesBundle}
|
227
|
-
/// Override this function to implement any custom application verification
|
228
|
-
/// Default implementation always returns true
|
229
|
-
function applicationMatchesBundle(
|
230
|
-
NftId applicationNftId,
|
231
|
-
bytes memory applicationData,
|
232
|
-
NftId bundleNftId,
|
233
|
-
bytes memory bundleFilter,
|
234
|
-
Amount collateralizationAmount
|
235
|
-
)
|
236
|
-
public
|
237
|
-
view
|
238
|
-
virtual override
|
239
|
-
returns (bool isMatching)
|
240
|
-
{
|
241
|
-
return true;
|
242
|
-
}
|
243
|
-
|
244
|
-
|
245
|
-
function getInitialPoolInfo()
|
246
|
-
public
|
247
|
-
virtual
|
248
|
-
view
|
249
|
-
returns (IComponents.PoolInfo memory poolInfo)
|
250
|
-
{
|
251
|
-
return IComponents.PoolInfo(
|
252
|
-
NftIdLib.zero(), // will be set when GIF registers the related product
|
253
|
-
PUBLIC_ROLE(), // bundleOwnerRole
|
254
|
-
AmountLib.max(), // maxCapitalAmount,
|
255
|
-
isNftInterceptor(), // isInterceptingBundleTransfers
|
256
|
-
false, // isExternallyManaged,
|
257
|
-
false, // isVerifyingApplications,
|
258
|
-
UFixedLib.toUFixed(1), // collateralizationLevel,
|
259
|
-
UFixedLib.toUFixed(1), // retentionLevel,
|
260
|
-
FeeLib.zero(), // initialPoolFee,
|
261
|
-
FeeLib.zero(), // initialStakingFee,
|
262
|
-
FeeLib.zero() // initialPerformanceFee,
|
263
|
-
);
|
264
|
-
}
|
265
|
-
|
266
|
-
// Internals
|
267
|
-
|
279
|
+
/// @dev Creates a new bundle using the provided parameter values.
|
268
280
|
function _createBundle(
|
269
281
|
address bundleOwner,
|
270
282
|
Fee memory fee,
|
@@ -1,45 +1,30 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
6
|
-
import {IInstance} from "../instance/IInstance.sol";
|
7
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
4
|
+
import {IBundleService} from "./IBundleService.sol";
|
8
5
|
import {IComponents} from "../instance/module/IComponents.sol";
|
6
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
7
|
+
import {IInstance} from "../instance/IInstance.sol";
|
8
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
9
9
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
10
|
-
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {
|
10
|
+
import {IPoolService} from "./IPoolService.sol";
|
11
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
12
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
13
|
+
import {IStaking} from "../staking/IStaking.sol";
|
14
14
|
|
15
15
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
16
16
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
17
17
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
18
18
|
import {ObjectType, POOL, BUNDLE, COMPONENT, INSTANCE, REGISTRY} from "../type/ObjectType.sol";
|
19
|
-
import {
|
19
|
+
import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
|
20
20
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
21
|
-
import {
|
22
|
-
import {KEEP_STATE, StateId} from "../type/StateId.sol";
|
21
|
+
import {KEEP_STATE} from "../type/StateId.sol";
|
23
22
|
import {Seconds} from "../type/Seconds.sol";
|
24
|
-
import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
25
23
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
26
24
|
import {UFixed} from "../type/UFixed.sol";
|
27
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
28
|
-
|
29
|
-
import {IService} from "../shared/IService.sol";
|
30
|
-
import {Service} from "../shared/Service.sol";
|
31
|
-
import {BundleManager} from "../instance/BundleManager.sol";
|
32
25
|
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
33
|
-
import {IBundleService} from "./IBundleService.sol";
|
34
|
-
import {IComponentService} from "../shared/IComponentService.sol";
|
35
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
36
|
-
import {IPoolService} from "./IPoolService.sol";
|
37
|
-
import {IRegistryService} from "../registry/IRegistryService.sol";
|
38
|
-
import {InstanceService} from "../instance/InstanceService.sol";
|
39
26
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
40
27
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
41
|
-
import {IComponent} from "../shared/IComponent.sol";
|
42
|
-
import {IPoolComponent} from "./IPoolComponent.sol";
|
43
28
|
|
44
29
|
string constant POOL_SERVICE_NAME = "PoolService";
|
45
30
|
|
@@ -55,6 +40,8 @@ contract PoolService is
|
|
55
40
|
IInstanceService private _instanceService;
|
56
41
|
IRegistryService private _registryService;
|
57
42
|
|
43
|
+
IStaking private _staking;
|
44
|
+
|
58
45
|
function _initialize(
|
59
46
|
address owner,
|
60
47
|
bytes memory data
|
@@ -76,11 +63,9 @@ contract PoolService is
|
|
76
63
|
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
77
64
|
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
78
65
|
|
79
|
-
|
80
|
-
}
|
66
|
+
_staking = IStaking(getRegistry().getStakingAddress());
|
81
67
|
|
82
|
-
|
83
|
-
return POOL();
|
68
|
+
registerInterface(type(IPoolService).interfaceId);
|
84
69
|
}
|
85
70
|
|
86
71
|
|
@@ -218,13 +203,14 @@ contract PoolService is
|
|
218
203
|
emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
|
219
204
|
}
|
220
205
|
|
206
|
+
|
221
207
|
function processSale(
|
222
208
|
NftId bundleNftId,
|
223
209
|
IPolicy.Premium memory premium
|
224
210
|
)
|
225
211
|
external
|
226
212
|
virtual
|
227
|
-
restricted
|
213
|
+
restricted()
|
228
214
|
{
|
229
215
|
IRegistry registry = getRegistry();
|
230
216
|
IRegistry.ObjectInfo memory bundleObjectInfo = registry.getObjectInfo(bundleNftId);
|
@@ -253,6 +239,7 @@ contract PoolService is
|
|
253
239
|
|
254
240
|
function lockCollateral(
|
255
241
|
IInstance instance,
|
242
|
+
address token,
|
256
243
|
NftId productNftId,
|
257
244
|
NftId applicationNftId,
|
258
245
|
NftId bundleNftId,
|
@@ -281,6 +268,12 @@ contract PoolService is
|
|
281
268
|
bundleNftId,
|
282
269
|
localCollateralAmount);
|
283
270
|
|
271
|
+
// update value locked with staking service
|
272
|
+
_staking.increaseTotalValueLocked(
|
273
|
+
instance.getNftId(),
|
274
|
+
token,
|
275
|
+
totalCollateralAmount);
|
276
|
+
|
284
277
|
// hierarhical riskpool setup
|
285
278
|
// TODO loop in with pool component to guarantee availability of external capital
|
286
279
|
if(totalCollateralAmount > localCollateralAmount) {
|
@@ -291,19 +284,26 @@ contract PoolService is
|
|
291
284
|
|
292
285
|
function reduceCollateral(
|
293
286
|
IInstance instance,
|
287
|
+
address token,
|
294
288
|
NftId policyNftId,
|
295
289
|
IPolicy.PolicyInfo memory policyInfo,
|
296
290
|
Amount payoutAmount
|
297
291
|
)
|
298
292
|
external
|
299
293
|
virtual
|
300
|
-
restricted
|
294
|
+
restricted()
|
301
295
|
{
|
302
296
|
_bundleService.releaseCollateral(
|
303
297
|
instance,
|
304
298
|
policyNftId,
|
305
299
|
policyInfo.bundleNftId,
|
306
300
|
payoutAmount);
|
301
|
+
|
302
|
+
// update value locked with staking service
|
303
|
+
_staking.decreaseTotalValueLocked(
|
304
|
+
instance.getNftId(),
|
305
|
+
token,
|
306
|
+
payoutAmount);
|
307
307
|
}
|
308
308
|
|
309
309
|
|
@@ -311,22 +311,31 @@ contract PoolService is
|
|
311
311
|
/// may only be called by the policy service for unlocked pool components
|
312
312
|
function releaseCollateral(
|
313
313
|
IInstance instance,
|
314
|
+
address token,
|
314
315
|
NftId policyNftId,
|
315
316
|
IPolicy.PolicyInfo memory policyInfo
|
316
317
|
)
|
317
318
|
external
|
318
319
|
virtual
|
319
|
-
restricted
|
320
|
+
restricted()
|
320
321
|
{
|
322
|
+
Amount remainingCollateralAmount = policyInfo.sumInsuredAmount - policyInfo.claimAmount;
|
323
|
+
|
321
324
|
_bundleService.releaseCollateral(
|
322
325
|
instance,
|
323
326
|
policyNftId,
|
324
327
|
policyInfo.bundleNftId,
|
325
|
-
|
328
|
+
remainingCollateralAmount);
|
326
329
|
|
327
330
|
_bundleService.unlinkPolicy(
|
328
331
|
instance,
|
329
332
|
policyNftId);
|
333
|
+
|
334
|
+
// update value locked with staking service
|
335
|
+
_staking.decreaseTotalValueLocked(
|
336
|
+
instance.getNftId(),
|
337
|
+
token,
|
338
|
+
remainingCollateralAmount);
|
330
339
|
}
|
331
340
|
|
332
341
|
|
@@ -421,4 +430,7 @@ contract PoolService is
|
|
421
430
|
}
|
422
431
|
}
|
423
432
|
|
433
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
434
|
+
return POOL();
|
435
|
+
}
|
424
436
|
}
|
@@ -1,12 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {PoolService} from "./PoolService.sol";
|
7
|
-
import {Registry} from "../registry/Registry.sol";
|
8
|
-
import {RegistryService} from "../registry/RegistryService.sol";
|
9
|
-
import {REGISTRY} from "../type/ObjectType.sol";
|
10
7
|
|
11
8
|
contract PoolServiceManager is ProxyManager {
|
12
9
|
|