@etherisc/gif-next 0.0.2-bc11089-132 → 0.0.2-bca28f1-935
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 +73 -1
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/components/Component.sol/Component.json +897 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +896 -235
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/components/{BaseComponent.sol/BaseComponent.json → IComponent.sol/IComponent.json} +137 -86
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +798 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +662 -43
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +661 -5
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +603 -204
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +529 -122
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +38 -62
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +706 -56
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -19
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +560 -272
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +103 -176
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +61 -97
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +460 -191
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +187 -85
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +8 -32
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → instance/base/ComponentService.sol/ComponentService.json} +321 -9
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +24 -13
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.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/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +1117 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +495 -100
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +172 -26
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +554 -62
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +197 -23
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/ComponentServiceBase.sol/ComponentServiceBase.json → service/IApplicationService.sol/IApplicationService.json} +221 -104
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +181 -52
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +229 -19
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +152 -32
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +32 -19
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +32 -19
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +481 -87
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +203 -25
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +301 -62
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +169 -23
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +301 -62
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +169 -15
- 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 +225 -133
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -77
- 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 +238 -235
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +243 -129
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +181 -97
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +150 -29
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +37 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +18 -5
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +69 -0
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -19
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +156 -11
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +269 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +156 -6
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -11
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +105 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +178 -19
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -2
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +152 -11
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +196 -37
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -8
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/contracts/components/Component.sol +236 -0
- package/contracts/components/Distribution.sol +209 -64
- package/contracts/components/IComponent.sol +50 -0
- package/contracts/components/IDistributionComponent.sol +59 -3
- package/contracts/components/IPoolComponent.sol +50 -29
- package/contracts/components/IProductComponent.sol +7 -3
- package/contracts/components/Pool.sol +135 -152
- package/contracts/components/Product.sol +103 -117
- package/contracts/instance/BundleManager.sol +7 -11
- package/contracts/instance/IInstance.sol +35 -11
- package/contracts/instance/IInstanceService.sol +23 -2
- package/contracts/instance/Instance.sol +67 -62
- package/contracts/instance/InstanceAccessManager.sol +31 -38
- package/contracts/instance/InstanceReader.sol +3 -25
- package/contracts/instance/InstanceService.sol +198 -56
- package/contracts/instance/InstanceServiceManager.sol +5 -8
- package/contracts/instance/ObjectManager.sol +7 -24
- package/contracts/instance/base/ComponentService.sol +134 -0
- package/contracts/instance/module/IAccess.sol +4 -5
- package/contracts/instance/module/ISetup.sol +5 -4
- package/contracts/instance/service/ApplicationService.sol +268 -0
- package/contracts/instance/service/BundleService.sol +52 -14
- package/contracts/instance/service/BundleServiceManager.sol +5 -8
- package/contracts/instance/service/DistributionService.sol +208 -49
- package/contracts/instance/service/DistributionServiceManager.sol +6 -9
- package/contracts/instance/service/IApplicationService.sol +82 -0
- package/contracts/instance/service/IBundleService.sol +12 -3
- package/contracts/instance/service/IDistributionService.sol +53 -0
- package/contracts/instance/service/IPolicyService.sol +17 -16
- package/contracts/instance/service/PolicyService.sol +148 -132
- package/contracts/instance/service/PoolService.sol +27 -42
- package/contracts/instance/service/PoolServiceManager.sol +5 -8
- package/contracts/instance/service/ProductService.sol +100 -40
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +37 -19
- package/contracts/registry/IRegistryService.sol +30 -13
- package/contracts/registry/Registry.sol +233 -217
- package/contracts/registry/RegistryAccessManager.sol +216 -0
- package/contracts/registry/RegistryService.sol +81 -162
- package/contracts/registry/RegistryServiceManager.sol +18 -36
- package/contracts/registry/ReleaseManager.sol +331 -0
- package/contracts/registry/TokenRegistry.sol +11 -9
- package/contracts/shared/ERC165.sol +12 -11
- package/contracts/shared/INftOwnable.sol +12 -6
- package/contracts/shared/IPolicyHolder.sol +26 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +15 -0
- package/contracts/shared/IService.sol +2 -1
- package/contracts/shared/IVersionable.sol +2 -2
- package/contracts/shared/NftOwnable.sol +113 -57
- package/contracts/shared/PolicyHolder.sol +81 -0
- package/contracts/shared/ProxyManager.sol +6 -5
- package/contracts/shared/Registerable.sol +15 -24
- package/contracts/shared/RegistryLinked.sol +64 -0
- package/contracts/shared/Service.sol +18 -13
- package/contracts/shared/Versionable.sol +3 -2
- package/contracts/test/TestRegisterable.sol +1 -1
- package/contracts/test/TestService.sol +4 -3
- package/contracts/types/DistributorType.sol +2 -2
- package/contracts/types/ObjectType.sol +6 -2
- package/contracts/types/RoleId.sol +4 -5
- package/package.json +3 -3
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -384
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +0 -448
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/contracts/components/BaseComponent.sol +0 -148
- package/contracts/components/IBaseComponent.sol +0 -32
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
- package/contracts/instance/IInstanceBase.sol +0 -26
- package/contracts/instance/InstanceBase.sol +0 -41
- package/contracts/instance/base/ComponentServiceBase.sol +0 -72
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -1,7 +1,6 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
|
5
4
|
import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
|
6
5
|
|
7
6
|
import {RoleId} from "../../types/RoleId.sol";
|
@@ -34,15 +33,15 @@ interface IAccess {
|
|
34
33
|
error ErrorIAccessRoleNameNotUnique(RoleId roleId, ShortString name);
|
35
34
|
error ErrorIAccessRoleInvalidUpdate(RoleId roleId, bool isCustom);
|
36
35
|
error ErrorIAccessRoleIsCustomIsImmutable(RoleId roleId, bool isCustom, bool isCustomExisting);
|
37
|
-
error ErrorIAccessSetLockedForNonexstentRole(RoleId roleId);
|
38
36
|
error ErrorIAccessGrantNonexstentRole(RoleId roleId);
|
39
37
|
error ErrorIAccessRevokeNonexstentRole(RoleId roleId);
|
40
38
|
error ErrorIAccessRenounceNonexstentRole(RoleId roleId);
|
41
39
|
|
42
40
|
error ErrorIAccessTargetAddressZero();
|
43
|
-
error
|
41
|
+
error ErrorIAccessTargetDoesNotExist(ShortString name);
|
42
|
+
error ErrorIAccessTargetAddressDoesNotExist(address target);
|
43
|
+
error ErrorIAccessTargetExists(address target, ShortString name);
|
44
44
|
error ErrorIAccessTargetNameEmpty(address target);
|
45
45
|
error ErrorIAccessTargetNameExists(address target, address existingTarget, ShortString name);
|
46
|
-
error
|
47
|
-
|
46
|
+
error ErrorIAccessTargetLocked(address target);
|
48
47
|
}
|
@@ -28,19 +28,20 @@ interface ISetup {
|
|
28
28
|
NftId productNftId;
|
29
29
|
TokenHandler tokenHandler;
|
30
30
|
Fee distributionFee; // default distribution fee (no referral id)
|
31
|
-
bool isIntercepting; // intercepts nft transfers (for distributors)
|
32
31
|
address wallet;
|
33
32
|
}
|
34
33
|
|
35
34
|
struct PoolSetupInfo {
|
36
35
|
NftId productNftId;
|
37
36
|
TokenHandler tokenHandler;
|
38
|
-
|
37
|
+
bool isInterceptingBundleTransfers; // intercepts nft transfers for bundles
|
38
|
+
bool isExternallyManaged; // funding bundles is restricted to book keeping, actual funds may be provided as needed to support payouts
|
39
|
+
bool isVerifyingApplications; // underwriting requires the pool component checks/confirms the applications
|
40
|
+
UFixed collateralizationLevel; // factor to calculate collateral for sum insurance (default 100%)
|
41
|
+
UFixed retentionLevel; // amount of collateral held in pool (default 100%)
|
39
42
|
Fee poolFee; // pool fee on net premium
|
40
43
|
Fee stakingFee; // pool fee on staked capital from investor
|
41
44
|
Fee performanceFee; // pool fee on profits from capital investors
|
42
|
-
bool isIntercepting; // intercepts nft transfers (for bundles)
|
43
|
-
bool isConfirmingApplication; // confirms applications before they are underwritten
|
44
45
|
address wallet;
|
45
46
|
}
|
46
47
|
}
|
@@ -0,0 +1,268 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.19;
|
3
|
+
|
4
|
+
import {IRisk} from "../module/IRisk.sol";
|
5
|
+
import {IService} from "./IApplicationService.sol";
|
6
|
+
|
7
|
+
import {IRegistry} from "../../registry/IRegistry.sol";
|
8
|
+
import {IProductComponent} from "../../components/IProductComponent.sol";
|
9
|
+
import {Product} from "../../components/Product.sol";
|
10
|
+
import {IPoolComponent} from "../../components/IPoolComponent.sol";
|
11
|
+
import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
|
12
|
+
import {IInstance} from "../IInstance.sol";
|
13
|
+
import {IPolicy} from "../module/IPolicy.sol";
|
14
|
+
import {IRisk} from "../module/IRisk.sol";
|
15
|
+
import {IBundle} from "../module/IBundle.sol";
|
16
|
+
import {IProductService} from "./IProductService.sol";
|
17
|
+
import {ITreasury} from "../module/ITreasury.sol";
|
18
|
+
import {ISetup} from "../module/ISetup.sol";
|
19
|
+
|
20
|
+
import {TokenHandler} from "../../shared/TokenHandler.sol";
|
21
|
+
|
22
|
+
import {IVersionable} from "../../shared/IVersionable.sol";
|
23
|
+
import {Versionable} from "../../shared/Versionable.sol";
|
24
|
+
|
25
|
+
import {Timestamp, TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
|
26
|
+
import {UFixed, UFixedLib} from "../../types/UFixed.sol";
|
27
|
+
import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
|
28
|
+
import {ObjectType, INSTANCE, PRODUCT, POOL, APPLICATION, POLICY, BUNDLE} from "../../types/ObjectType.sol";
|
29
|
+
import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE, CLOSED} from "../../types/StateId.sol";
|
30
|
+
import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
|
31
|
+
import {Fee, FeeLib} from "../../types/Fee.sol";
|
32
|
+
import {ReferralId} from "../../types/Referral.sol";
|
33
|
+
import {RiskId} from "../../types/RiskId.sol";
|
34
|
+
import {StateId} from "../../types/StateId.sol";
|
35
|
+
import {Version, VersionLib} from "../../types/Version.sol";
|
36
|
+
|
37
|
+
import {ComponentService} from "../base/ComponentService.sol";
|
38
|
+
import {InstanceReader} from "../InstanceReader.sol";
|
39
|
+
import {IApplicationService} from "./IApplicationService.sol";
|
40
|
+
import {IBundleService} from "./IBundleService.sol";
|
41
|
+
import {IPoolService} from "./IPoolService.sol";
|
42
|
+
import {IService} from "../../shared/IService.sol";
|
43
|
+
import {Service} from "../../shared/Service.sol";
|
44
|
+
|
45
|
+
|
46
|
+
contract ApplicationService is
|
47
|
+
ComponentService,
|
48
|
+
IApplicationService
|
49
|
+
{
|
50
|
+
|
51
|
+
|
52
|
+
function initialize(
|
53
|
+
address owner,
|
54
|
+
bytes memory data
|
55
|
+
)
|
56
|
+
public
|
57
|
+
virtual
|
58
|
+
initializer()
|
59
|
+
{
|
60
|
+
// TODO check this, might no longer be the way, refactor if necessary
|
61
|
+
address registryAddress;
|
62
|
+
address initialOwner;
|
63
|
+
(registryAddress, initialOwner) = abi.decode(data, (address, address));
|
64
|
+
|
65
|
+
initializeService(registryAddress, owner);
|
66
|
+
registerInterface(type(IApplicationService).interfaceId);
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
function create(
|
71
|
+
address applicationOwner,
|
72
|
+
RiskId riskId,
|
73
|
+
NftId bundleNftId,
|
74
|
+
ReferralId referralId,
|
75
|
+
uint256 sumInsuredAmount,
|
76
|
+
uint256 lifetime,
|
77
|
+
bytes memory applicationData
|
78
|
+
)
|
79
|
+
external
|
80
|
+
virtual override
|
81
|
+
returns (NftId applicationNftId)
|
82
|
+
{
|
83
|
+
(IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
|
84
|
+
// TODO: add validations (see create bundle in pool service)
|
85
|
+
|
86
|
+
applicationNftId = getRegistryService().registerPolicy(
|
87
|
+
IRegistry.ObjectInfo(
|
88
|
+
zeroNftId(),
|
89
|
+
productInfo.nftId,
|
90
|
+
POLICY(),
|
91
|
+
false, // intercepting property for policies is defined on product
|
92
|
+
address(0),
|
93
|
+
applicationOwner,
|
94
|
+
""
|
95
|
+
)
|
96
|
+
);
|
97
|
+
|
98
|
+
(uint256 premiumAmount,,,,) = calculatePremium(
|
99
|
+
riskId,
|
100
|
+
sumInsuredAmount,
|
101
|
+
lifetime,
|
102
|
+
applicationData,
|
103
|
+
bundleNftId,
|
104
|
+
referralId
|
105
|
+
);
|
106
|
+
|
107
|
+
IPolicy.PolicyInfo memory policyInfo = IPolicy.PolicyInfo(
|
108
|
+
productInfo.nftId,
|
109
|
+
bundleNftId,
|
110
|
+
referralId,
|
111
|
+
riskId,
|
112
|
+
sumInsuredAmount,
|
113
|
+
premiumAmount,
|
114
|
+
0,
|
115
|
+
lifetime,
|
116
|
+
applicationData,
|
117
|
+
"",
|
118
|
+
0,
|
119
|
+
0,
|
120
|
+
0,
|
121
|
+
zeroTimestamp(),
|
122
|
+
zeroTimestamp(),
|
123
|
+
zeroTimestamp()
|
124
|
+
);
|
125
|
+
|
126
|
+
instance.createPolicy(applicationNftId, policyInfo);
|
127
|
+
instance.updatePolicyState(applicationNftId, APPLIED());
|
128
|
+
|
129
|
+
// TODO: add logging
|
130
|
+
}
|
131
|
+
|
132
|
+
|
133
|
+
function renew(
|
134
|
+
NftId policyNftId, // policy to be renewd (renewal inherits policy attributes)
|
135
|
+
NftId bundleNftId // will likely need a newer bundle for underwriting
|
136
|
+
)
|
137
|
+
external
|
138
|
+
virtual override
|
139
|
+
returns (NftId applicationNftId)
|
140
|
+
{
|
141
|
+
|
142
|
+
}
|
143
|
+
|
144
|
+
|
145
|
+
function ajust(
|
146
|
+
NftId applicationNftId,
|
147
|
+
RiskId riskId,
|
148
|
+
NftId bundleNftId,
|
149
|
+
ReferralId referralId,
|
150
|
+
uint256 sumInsuredAmount,
|
151
|
+
uint256 lifetime,
|
152
|
+
bytes memory applicationData
|
153
|
+
)
|
154
|
+
external
|
155
|
+
virtual override
|
156
|
+
{
|
157
|
+
|
158
|
+
}
|
159
|
+
|
160
|
+
function revoke(NftId policyNftId)
|
161
|
+
external
|
162
|
+
virtual override
|
163
|
+
{
|
164
|
+
|
165
|
+
}
|
166
|
+
|
167
|
+
|
168
|
+
function calculatePremium(
|
169
|
+
RiskId riskId,
|
170
|
+
uint256 sumInsuredAmount,
|
171
|
+
uint256 lifetime,
|
172
|
+
bytes memory applicationData,
|
173
|
+
NftId bundleNftId,
|
174
|
+
ReferralId referralId
|
175
|
+
)
|
176
|
+
public
|
177
|
+
view
|
178
|
+
virtual override
|
179
|
+
returns (
|
180
|
+
uint256 premiumAmount,
|
181
|
+
uint256 distributionFeeAmount,
|
182
|
+
uint256 productFeeAmount,
|
183
|
+
uint256 poolFeeAmount,
|
184
|
+
uint256 bundleFeeAmount
|
185
|
+
)
|
186
|
+
{
|
187
|
+
Product product = _getAndVerifyInstanceAndProduct();
|
188
|
+
uint256 netPremiumAmount = product.calculateNetPremium(
|
189
|
+
sumInsuredAmount,
|
190
|
+
riskId,
|
191
|
+
lifetime,
|
192
|
+
applicationData
|
193
|
+
);
|
194
|
+
|
195
|
+
(
|
196
|
+
productFeeAmount,
|
197
|
+
poolFeeAmount,
|
198
|
+
bundleFeeAmount,
|
199
|
+
distributionFeeAmount
|
200
|
+
) = _calculateFeeAmounts(
|
201
|
+
netPremiumAmount,
|
202
|
+
product,
|
203
|
+
bundleNftId,
|
204
|
+
referralId
|
205
|
+
);
|
206
|
+
|
207
|
+
premiumAmount = netPremiumAmount + productFeeAmount;
|
208
|
+
premiumAmount += poolFeeAmount + bundleFeeAmount;
|
209
|
+
premiumAmount += distributionFeeAmount;
|
210
|
+
}
|
211
|
+
|
212
|
+
|
213
|
+
function getDomain() public pure override(IService, Service) returns(ObjectType) {
|
214
|
+
return APPLICATION();
|
215
|
+
}
|
216
|
+
|
217
|
+
|
218
|
+
// internal functions
|
219
|
+
|
220
|
+
function _calculateFeeAmounts(
|
221
|
+
uint256 netPremiumAmount,
|
222
|
+
Product product,
|
223
|
+
NftId bundleNftId,
|
224
|
+
ReferralId referralId
|
225
|
+
)
|
226
|
+
internal
|
227
|
+
view
|
228
|
+
returns (
|
229
|
+
uint256 productFeeAmount,
|
230
|
+
uint256 poolFeeAmount,
|
231
|
+
uint256 bundleFeeAmount,
|
232
|
+
uint256 distributionFeeAmount
|
233
|
+
)
|
234
|
+
{
|
235
|
+
InstanceReader instanceReader;
|
236
|
+
{
|
237
|
+
IInstance instance = product.getInstance();
|
238
|
+
instanceReader = instance.getInstanceReader();
|
239
|
+
}
|
240
|
+
|
241
|
+
NftId poolNftId = product.getPoolNftId();
|
242
|
+
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
243
|
+
require(bundleInfo.poolNftId == poolNftId,"ERROR:PRS-035:BUNDLE_POOL_MISMATCH");
|
244
|
+
|
245
|
+
{
|
246
|
+
ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(product.getProductNftId());
|
247
|
+
(productFeeAmount,) = FeeLib.calculateFee(productSetupInfo.productFee, netPremiumAmount);
|
248
|
+
}
|
249
|
+
{
|
250
|
+
ISetup.PoolSetupInfo memory poolSetupInfo = instanceReader.getPoolSetupInfo(poolNftId);
|
251
|
+
(poolFeeAmount,) = FeeLib.calculateFee(poolSetupInfo.poolFee, netPremiumAmount);
|
252
|
+
}
|
253
|
+
{
|
254
|
+
NftId distributionNftId = product.getDistributionNftId();
|
255
|
+
ISetup.DistributionSetupInfo memory distributionSetupInfo = instanceReader.getDistributionSetupInfo(distributionNftId);
|
256
|
+
(distributionFeeAmount,) = FeeLib.calculateFee(distributionSetupInfo.distributionFee, netPremiumAmount);
|
257
|
+
}
|
258
|
+
|
259
|
+
(bundleFeeAmount,) = FeeLib.calculateFee(bundleInfo.fee, netPremiumAmount);
|
260
|
+
}
|
261
|
+
|
262
|
+
|
263
|
+
function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
|
264
|
+
IRegistry.ObjectInfo memory productInfo;
|
265
|
+
(productInfo,) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
|
266
|
+
product = Product(productInfo.objectAddress);
|
267
|
+
}
|
268
|
+
}
|
@@ -14,7 +14,7 @@ import {Versionable} from "../../shared/Versionable.sol";
|
|
14
14
|
import {INftOwnable} from "../../shared/INftOwnable.sol";
|
15
15
|
|
16
16
|
import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
|
17
|
-
import {POOL, BUNDLE} from "../../types/ObjectType.sol";
|
17
|
+
import {ObjectType, POOL, BUNDLE} from "../../types/ObjectType.sol";
|
18
18
|
import {POOL_OWNER_ROLE, RoleId} from "../../types/RoleId.sol";
|
19
19
|
import {Fee, FeeLib} from "../../types/Fee.sol";
|
20
20
|
import {Version, VersionLib} from "../../types/Version.sol";
|
@@ -24,17 +24,16 @@ import {TimestampLib, zeroTimestamp} from "../../types/Timestamp.sol";
|
|
24
24
|
import {IService} from "../../shared/IService.sol";
|
25
25
|
import {Service} from "../../shared/Service.sol";
|
26
26
|
import {BundleManager} from "../BundleManager.sol";
|
27
|
-
import {
|
27
|
+
import {ComponentService} from "../base/ComponentService.sol";
|
28
28
|
import {IBundleService} from "./IBundleService.sol";
|
29
29
|
import {IRegistryService} from "../../registry/IRegistryService.sol";
|
30
30
|
import {InstanceService} from "../InstanceService.sol";
|
31
31
|
import {InstanceReader} from "../InstanceReader.sol";
|
32
|
-
import {IBaseComponent} from "../../components/IBaseComponent.sol";
|
33
32
|
|
34
33
|
string constant BUNDLE_SERVICE_NAME = "BundleService";
|
35
34
|
|
36
35
|
contract BundleService is
|
37
|
-
|
36
|
+
ComponentService,
|
38
37
|
IBundleService
|
39
38
|
{
|
40
39
|
using NftIdLib for NftId;
|
@@ -56,13 +55,12 @@ contract BundleService is
|
|
56
55
|
(registryAddress, initialOwner) = abi.decode(data, (address, address));
|
57
56
|
// TODO while PoolService is not deployed in PoolServiceManager constructor
|
58
57
|
// owner is PoolServiceManager deployer
|
59
|
-
|
60
|
-
|
61
|
-
_registerInterface(type(IBundleService).interfaceId);
|
58
|
+
initializeService(registryAddress, owner);
|
59
|
+
registerInterface(type(IBundleService).interfaceId);
|
62
60
|
}
|
63
61
|
|
64
|
-
function
|
65
|
-
return
|
62
|
+
function getDomain() public pure override(Service, IService) returns(ObjectType) {
|
63
|
+
return BUNDLE();
|
66
64
|
}
|
67
65
|
|
68
66
|
function createBundle(
|
@@ -165,17 +163,23 @@ contract BundleService is
|
|
165
163
|
bundleManager.unlock(bundleNftId);
|
166
164
|
}
|
167
165
|
|
168
|
-
function
|
166
|
+
function lockCollateral(
|
167
|
+
IInstance instance,
|
169
168
|
NftId policyNftId,
|
170
169
|
NftId bundleNftId,
|
171
170
|
uint256 collateralAmount,
|
172
171
|
uint256 netPremiumAmount
|
173
172
|
)
|
174
173
|
external
|
175
|
-
onlyService
|
174
|
+
onlyService
|
175
|
+
returns (
|
176
|
+
IBundle.BundleInfo memory bundleInfo
|
177
|
+
)
|
176
178
|
{
|
177
179
|
InstanceReader instanceReader = instance.getInstanceReader();
|
178
|
-
|
180
|
+
bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
181
|
+
|
182
|
+
// TODO add validation
|
179
183
|
|
180
184
|
// lock collateral
|
181
185
|
bundleInfo.lockedAmount += collateralAmount;
|
@@ -186,6 +190,40 @@ contract BundleService is
|
|
186
190
|
linkPolicy(instance, policyNftId);
|
187
191
|
}
|
188
192
|
|
193
|
+
function increaseBalance(IInstance instance,
|
194
|
+
NftId bundleNftId,
|
195
|
+
uint256 amount
|
196
|
+
)
|
197
|
+
external
|
198
|
+
onlyService
|
199
|
+
{
|
200
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
201
|
+
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
202
|
+
|
203
|
+
bundleInfo.balanceAmount += amount;
|
204
|
+
|
205
|
+
instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
206
|
+
}
|
207
|
+
|
208
|
+
function closePolicy(IInstance instance,
|
209
|
+
NftId policyNftId,
|
210
|
+
NftId bundleNftId,
|
211
|
+
uint256 collateralAmount
|
212
|
+
)
|
213
|
+
external
|
214
|
+
onlyService
|
215
|
+
{
|
216
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
217
|
+
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
218
|
+
|
219
|
+
// lock collateral
|
220
|
+
bundleInfo.lockedAmount -= collateralAmount;
|
221
|
+
|
222
|
+
instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
223
|
+
|
224
|
+
unlinkPolicy(instance, policyNftId);
|
225
|
+
}
|
226
|
+
|
189
227
|
/// @dev links policy to bundle
|
190
228
|
function linkPolicy(IInstance instance, NftId policyNftId)
|
191
229
|
internal
|
@@ -219,8 +257,8 @@ contract BundleService is
|
|
219
257
|
}
|
220
258
|
|
221
259
|
// ensure policy is closeable
|
222
|
-
if (
|
223
|
-
|
260
|
+
if ( TimestampLib.blockTimestamp() < policyInfo.expiredAt
|
261
|
+
&& policyInfo.payoutAmount < policyInfo.sumInsuredAmount)
|
224
262
|
{
|
225
263
|
revert BundleManager.ErrorBundleManagerPolicyNotCloseable(policyNftId);
|
226
264
|
}
|
@@ -6,7 +6,7 @@ import {ProxyManager} from "../../shared/ProxyManager.sol";
|
|
6
6
|
import {BundleService} from "./BundleService.sol";
|
7
7
|
import {Registry} from "../../registry/Registry.sol";
|
8
8
|
import {RegistryService} from "../../registry/RegistryService.sol";
|
9
|
-
import {
|
9
|
+
import {ObjectType, REGISTRY} from "../../types/ObjectType.sol";
|
10
10
|
|
11
11
|
contract BundleServiceManager is ProxyManager {
|
12
12
|
|
@@ -26,10 +26,10 @@ contract BundleServiceManager is ProxyManager {
|
|
26
26
|
|
27
27
|
_bundleService = BundleService(address(versionable));
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
//
|
29
|
+
// TODO `this` must have a role or own nft to register service
|
30
|
+
//Registry registry = Registry(registryAddress);
|
31
|
+
//address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _bundleService.getMajorVersion());
|
32
|
+
//RegistryService registryService = RegistryService(registryServiceAddress);
|
33
33
|
//registryService.registerService(_poolService);
|
34
34
|
|
35
35
|
// TODO no nft to link yet
|
@@ -37,9 +37,6 @@ contract BundleServiceManager is ProxyManager {
|
|
37
37
|
//_linkToNftOwnable(
|
38
38
|
// address(registryAddress),
|
39
39
|
// address(_poolService));
|
40
|
-
|
41
|
-
// implies that after this constructor call only upgrade functionality is available
|
42
|
-
_isDeployed = true;
|
43
40
|
}
|
44
41
|
|
45
42
|
//--- view functions ----------------------------------------------------//
|