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

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.
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;