@etherisc/gif-next 0.0.2-ec436bf-674 → 0.0.2-ecbd488-936

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  2. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  3. package/artifacts/contracts/components/Distribution.sol/Distribution.json +9 -9
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  5. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  6. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  8. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  9. package/artifacts/contracts/components/Pool.sol/Pool.json +7 -7
  10. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  11. package/artifacts/contracts/components/Product.sol/Product.json +8 -64
  12. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  32. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +1 -1
  33. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +1 -1
  34. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +1 -1
  35. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  36. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +261 -0
  37. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  38. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/Instance.sol/Instance.json +94 -81
  40. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  41. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +2 -2
  42. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  43. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
  44. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +48 -8
  46. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  47. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +48 -32
  48. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  61. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +16 -16
  63. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  64. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +22 -22
  65. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  66. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +17 -21
  67. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  68. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +19 -31
  72. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +24 -40
  74. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +18 -30
  76. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  77. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +1046 -0
  78. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  79. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +448 -0
  80. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  81. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  82. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +0 -127
  83. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  84. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +94 -0
  85. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  86. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  87. package/artifacts/contracts/registry/Registry.sol/Registry.json +31 -169
  88. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  89. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +76 -20
  90. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  91. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +25 -37
  92. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  93. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +12 -12
  94. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  95. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  96. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  97. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  98. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  99. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  100. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  101. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  102. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  103. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  104. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  105. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  106. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +1 -1
  107. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  108. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  109. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  110. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  111. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  112. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  113. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +4 -4
  114. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  115. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  116. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  117. package/artifacts/contracts/test/TestService.sol/TestService.json +9 -9
  118. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  119. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  120. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  121. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  122. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  123. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  124. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  126. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  128. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  129. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  130. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  131. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  132. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  133. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  134. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  135. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  136. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  137. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  138. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  139. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  140. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  142. package/contracts/components/Distribution.sol +1 -2
  143. package/contracts/components/Pool.sol +1 -2
  144. package/contracts/components/Product.sol +28 -41
  145. package/contracts/instance/IInstance.sol +12 -3
  146. package/contracts/instance/Instance.sol +4 -4
  147. package/contracts/instance/InstanceService.sol +16 -3
  148. package/contracts/instance/InstanceServiceManager.sol +6 -5
  149. package/contracts/instance/base/ComponentServiceBase.sol +7 -1
  150. package/contracts/instance/service/DistributionService.sol +3 -2
  151. package/contracts/instance/service/DistributionServiceManager.sol +6 -5
  152. package/contracts/instance/service/IProductService.sol +3 -3
  153. package/contracts/instance/service/PoolService.sol +4 -3
  154. package/contracts/instance/service/PoolServiceManager.sol +6 -5
  155. package/contracts/instance/service/ProductService.sol +543 -0
  156. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  157. package/contracts/registry/IRegistry.sol +4 -19
  158. package/contracts/registry/IRegistryService.sol +28 -11
  159. package/contracts/registry/Registry.sol +2 -47
  160. package/contracts/registry/RegistryService.sol +30 -71
  161. package/contracts/shared/NftOwnable.sol +2 -4
  162. package/contracts/types/RoleId.sol +1 -0
  163. package/package.json +1 -1
@@ -27,6 +27,7 @@ import {ComponentOwnerService} from "./service/ComponentOwnerService.sol";
27
27
  import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
28
28
  import {IDistributionService} from "./service/IDistributionService.sol";
29
29
  import {IPoolService} from "./service/IPoolService.sol";
30
+ import {IProductService} from "./service/IProductService.sol";
30
31
  import {VersionPart} from "../types/Version.sol";
31
32
 
32
33
  contract Instance is
@@ -423,10 +424,9 @@ contract Instance is
423
424
  return IDistributionService(_registry.getServiceAddress("DistributionService", VersionPart.wrap(3)));
424
425
  }
425
426
 
426
- // TODO reactivate when services are available
427
- // function getProductService() external view returns (IProductService) {
428
- // return ProductService(_registry.getServiceAddress("ProductService", VersionPart.wrap(3)));
429
- // }
427
+ function getProductService() external view returns (IProductService) {
428
+ return IProductService(_registry.getServiceAddress("ProductService", VersionPart.wrap(3)));
429
+ }
430
430
 
431
431
  function getPoolService() external view returns (IPoolService) {
432
432
  return IPoolService(_registry.getServiceAddress("PoolService", VersionPart.wrap(3)));
@@ -17,7 +17,7 @@ import {ContractDeployerLib} from "../shared/ContractDeployerLib.sol";
17
17
  import {NftId, NftIdLib, zeroNftId} from "../../contracts/types/NftId.sol";
18
18
  import {RoleId} from "../types/RoleId.sol";
19
19
  import {VersionLib} from "../types/Version.sol";
20
- import {ADMIN_ROLE, INSTANCE_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE} from "../types/RoleId.sol";
20
+ import {ADMIN_ROLE, INSTANCE_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE} from "../types/RoleId.sol";
21
21
 
22
22
  contract InstanceService is Service, IInstanceService {
23
23
 
@@ -94,6 +94,18 @@ contract InstanceService is Service, IInstanceService {
94
94
  instancePoolServiceSelectors,
95
95
  POOL_SERVICE_ROLE().toInt());
96
96
 
97
+ address productServiceAddress = _registry.getServiceAddress("ProductService", VersionLib.toVersion(3, 0, 0).toMajorPart());
98
+ clonedAccessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), address(productServiceAddress), 0);
99
+ bytes4[] memory instanceProductServiceSelectors = new bytes4[](5);
100
+ instanceProductServiceSelectors[0] = clonedInstance.createProductSetup.selector;
101
+ instanceProductServiceSelectors[1] = clonedInstance.updateProductSetup.selector;
102
+ instanceProductServiceSelectors[2] = clonedInstance.createRisk.selector;
103
+ instanceProductServiceSelectors[3] = clonedInstance.updateRisk.selector;
104
+ instanceProductServiceSelectors[4] = clonedInstance.updateRiskState.selector;
105
+ clonedAccessManager.setTargetFunctionRole(
106
+ address(clonedInstance),
107
+ instanceProductServiceSelectors,
108
+ PRODUCT_SERVICE_ROLE().toInt());
97
109
  }
98
110
 
99
111
  function setAccessManagerMaster(address accessManagerMaster) external {
@@ -160,8 +172,9 @@ contract InstanceService is Service, IInstanceService {
160
172
 
161
173
  address initialOwner = address(0);
162
174
  (_registryAddress, initialOwner) = abi.decode(data, (address, address));
163
-
164
- _initializeService(_registryAddress, initialOwner);
175
+ // TODO while InstanceService is not deployed in InstanceServiceManager constructor
176
+ // owner is InstanceServiceManager deployer
177
+ _initializeService(_registryAddress, owner);
165
178
 
166
179
  _registerInterface(type(IService).interfaceId);
167
180
  _registerInterface(type(IInstanceService).interfaceId);
@@ -31,14 +31,15 @@ contract InstanceServiceManager is ProxyManager {
31
31
  Registry registry = Registry(registryAddress);
32
32
  address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
33
33
  RegistryService registryService = RegistryService(registryServiceAddress);
34
-
35
- registryService.registerService(_instanceService);
34
+ // TODO this must have a role or own nft to register service
35
+ //registryService.registerService(_instanceService);
36
36
  // RegistryService registryService = _instanceService.getRegistryService();
37
37
 
38
+ // TODO no nft to link yet
38
39
  // link ownership of instance service manager ot nft owner of instance service
39
- _linkToNftOwnable(
40
- address(registryAddress),
41
- address(_instanceService));
40
+ //_linkToNftOwnable(
41
+ // address(registryAddress),
42
+ // address(_instanceService));
42
43
 
43
44
  // implies that after this constructor call only upgrade functionality is available
44
45
  _isDeployed = true;
@@ -60,7 +60,6 @@ abstract contract ComponentServiceBase is Service {
60
60
  {
61
61
  address componentOwner = msg.sender;
62
62
  BaseComponent component = BaseComponent(componentAddress);
63
- IInstance instance = component.getInstance();
64
63
  ObjectType objectType = _getObjectType(component);
65
64
  IRegistryService registryService = getRegistryService();
66
65
 
@@ -81,6 +80,7 @@ abstract contract ComponentServiceBase is Service {
81
80
  }
82
81
 
83
82
  componentNftId = objInfo.nftId;
83
+ IInstance instance = _getInstance(objInfo);
84
84
  _finalizeComponentRegistration(componentNftId, initialObjData, instance);
85
85
  }
86
86
 
@@ -90,6 +90,12 @@ abstract contract ComponentServiceBase is Service {
90
90
  (IRegistry.ObjectInfo memory compInitialInfo, ) = component.getInitialInfo();
91
91
  return compInitialInfo.objectType;
92
92
  }
93
+
94
+ function _getInstance(IRegistry.ObjectInfo memory compObjInfo) internal view returns (IInstance) {
95
+ IRegistry registry = getRegistry();
96
+ IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(compObjInfo.parentNftId);
97
+ return IInstance(instanceInfo.objectAddress);
98
+ }
93
99
 
94
100
  function _getAndVerifyComponentInfoAndInstance(
95
101
  ObjectType objectType
@@ -49,8 +49,9 @@ contract DistributionService is
49
49
  {
50
50
  address initialOwner = address(0);
51
51
  (_registryAddress, initialOwner) = abi.decode(data, (address, address));
52
-
53
- _initializeService(_registryAddress, initialOwner);
52
+ // TODO while DistributionService is not deployed in DistributionServiceManager constructor
53
+ // owner is DistributionServiceManager deployer
54
+ _initializeService(_registryAddress, owner);
54
55
 
55
56
  _registerInterface(type(IService).interfaceId);
56
57
  _registerInterface(type(IDistributionService).interfaceId);
@@ -29,13 +29,14 @@ contract DistributionServiceManager is ProxyManager {
29
29
  Registry registry = Registry(registryAddress);
30
30
  address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
31
  RegistryService registryService = RegistryService(registryServiceAddress);
32
+ // TODO this must have a role or own nft to register service
33
+ //registryService.registerService(_distributionService);
32
34
 
33
- registryService.registerService(_distributionService);
34
-
35
+ // TODO no nft to link yet
35
36
  // link ownership of instance service manager ot nft owner of instance service
36
- _linkToNftOwnable(
37
- address(registryAddress),
38
- address(_distributionService));
37
+ //_linkToNftOwnable(
38
+ // address(registryAddress),
39
+ // address(_distributionService));
39
40
 
40
41
  // implies that after this constructor call only upgrade functionality is available
41
42
  _isDeployed = true;
@@ -24,15 +24,15 @@ interface IProductService is IService {
24
24
  ) external;
25
25
 
26
26
 
27
- function setRiskInfo(
27
+ function updateRisk(
28
28
  RiskId riskId,
29
- IRisk.RiskInfo memory data
29
+ bytes memory data
30
30
  ) external;
31
31
 
32
32
 
33
33
  function updateRiskState(
34
34
  RiskId riskId,
35
- StateId state
35
+ StateId newState
36
36
  ) external;
37
37
 
38
38
 
@@ -51,8 +51,9 @@ contract PoolService is
51
51
  {
52
52
  address initialOwner = address(0);
53
53
  (_registryAddress, initialOwner) = abi.decode(data, (address, address));
54
-
55
- _initializeService(_registryAddress, initialOwner);
54
+ // TODO while PoolService is not deployed in PoolServiceManager constructor
55
+ // owner is PoolServiceManager deployer
56
+ _initializeService(_registryAddress, owner);
56
57
 
57
58
  _registerInterface(type(IService).interfaceId);
58
59
  _registerInterface(type(IPoolService).interfaceId);
@@ -107,7 +108,7 @@ contract PoolService is
107
108
 
108
109
  IBundle.BundleInfo memory bundleInfo = IBundle.BundleInfo(
109
110
  poolNftId,
110
- FeeLib.zeroFee(),
111
+ fee,
111
112
  filter,
112
113
  stakingAmount,
113
114
  0,
@@ -29,13 +29,14 @@ contract PoolServiceManager is ProxyManager {
29
29
  Registry registry = Registry(registryAddress);
30
30
  address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
31
  RegistryService registryService = RegistryService(registryServiceAddress);
32
+ // TODO this must have a role or own nft to register service
33
+ //registryService.registerService(_poolService);
32
34
 
33
- registryService.registerService(_poolService);
34
-
35
+ // TODO no nft to link yet
35
36
  // link ownership of instance service manager ot nft owner of instance service
36
- _linkToNftOwnable(
37
- address(registryAddress),
38
- address(_poolService));
37
+ //_linkToNftOwnable(
38
+ // address(registryAddress),
39
+ // address(_poolService));
39
40
 
40
41
  // implies that after this constructor call only upgrade functionality is available
41
42
  _isDeployed = true;