@etherisc/gif-next 0.0.2-72dc555-736 → 0.0.2-72ddf14-012

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 (139) 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 +2 -2
  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 +2 -2
  10. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  11. package/artifacts/contracts/components/Product.sol/Product.json +5 -5
  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 +83 -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 +2 -2
  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 +25 -5
  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 +2 -2
  63. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  64. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +2 -2
  65. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  66. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
  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 +2 -2
  74. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  76. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +48 -60
  78. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  79. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +16 -16
  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/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  83. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  84. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  85. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  86. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  87. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  88. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  89. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  90. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  91. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  92. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  93. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  94. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  95. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  96. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  97. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  98. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  99. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +1 -1
  100. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  101. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  102. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  103. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  104. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  105. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  106. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  107. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  108. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  109. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  110. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  111. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  112. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  113. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  114. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  115. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  116. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  117. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  118. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  119. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  120. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  121. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  122. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  123. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  124. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  126. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  127. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  128. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  129. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  130. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  131. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  132. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  133. package/contracts/components/Product.sol +7 -8
  134. package/contracts/instance/IInstance.sol +7 -0
  135. package/contracts/instance/InstanceService.sol +13 -1
  136. package/contracts/instance/service/IProductService.sol +3 -3
  137. package/contracts/instance/service/ProductService.sol +24 -30
  138. package/contracts/types/RoleId.sol +1 -0
  139. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -75,8 +75,8 @@
75
75
  "type": "function"
76
76
  }
77
77
  ],
78
- "bytecode": "0x608060405234801561001057600080fd5b5061032e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220c4e0b89e238c0b5ffaee28b3e926c6c02a61cb9b8019d795524fe3d63668b97064736f6c63430008140033",
79
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220c4e0b89e238c0b5ffaee28b3e926c6c02a61cb9b8019d795524fe3d63668b97064736f6c63430008140033",
78
+ "bytecode": "0x608060405234801561001057600080fd5b5061032e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220308d06bbb0c6c17f712077ac84c746bc81cd5d38078f030582d0f9dcd549708d64736f6c63430008140033",
79
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220308d06bbb0c6c17f712077ac84c746bc81cd5d38078f030582d0f9dcd549708d64736f6c63430008140033",
80
80
  "linkReferences": {
81
81
  "contracts/types/RoleId.sol": {
82
82
  "RoleIdLib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -131,8 +131,8 @@
131
131
  "type": "function"
132
132
  }
133
133
  ],
134
- "bytecode": "0x6102a461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea2646970667358221220fc6a35bb293dd84eb5ac7cbc5613951d9b8b18b87ff3cf51dcc60822256afeaa64736f6c63430008140033",
135
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea2646970667358221220fc6a35bb293dd84eb5ac7cbc5613951d9b8b18b87ff3cf51dcc60822256afeaa64736f6c63430008140033",
134
+ "bytecode": "0x6102a461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea26469706673582212201bbe398c7ebcc3086285b26f4788921744a5d1e91626675009c8c003c20257c664736f6c63430008140033",
135
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea26469706673582212201bbe398c7ebcc3086285b26f4788921744a5d1e91626675009c8c003c20257c664736f6c63430008140033",
136
136
  "linkReferences": {
137
137
  "contracts/types/Key32.sol": {
138
138
  "Key32Lib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e1f135e491c0fe8f84fe08815500a5f7.json"
3
+ "buildInfo": "../../../build-info/1d7b7c5171b66f27efa0563c3b6815a3.json"
4
4
  }
@@ -52,8 +52,7 @@ contract Product is BaseComponent, IProductComponent {
52
52
  address initialOwner
53
53
  ) BaseComponent(registry, instanceNftid, token, PRODUCT(), isInterceptor, initialOwner) {
54
54
  // TODO add validation
55
- // TODO: reactivate when services are available again
56
- // _productService = _instance.getProductService();
55
+ _productService = _instance.getProductService();
57
56
  _pool = Pool(pool);
58
57
  _distribution = Distribution(distribution);
59
58
  _initialProductFee = productFee;
@@ -119,13 +118,13 @@ contract Product is BaseComponent, IProductComponent {
119
118
  );
120
119
  }
121
120
 
122
- function _setRiskInfo(
121
+ function _updateRisk(
123
122
  RiskId id,
124
- IRisk.RiskInfo memory info
123
+ bytes memory data
125
124
  ) internal {
126
- _productService.setRiskInfo(
125
+ _productService.updateRisk(
127
126
  id,
128
- info
127
+ data
129
128
  );
130
129
  }
131
130
 
@@ -236,7 +235,7 @@ contract Product is BaseComponent, IProductComponent {
236
235
  IRegistry.ObjectInfo memory productInfo,
237
236
  bytes memory data
238
237
  ) = super.getInitialInfo();
239
-
238
+
240
239
  // TODO read pool & distribution fees
241
240
  // 1) from pool -> the only option -> pool must be registered first?
242
241
  // 2) from instance -> all fees are set into instance at product registration which is ongoing here
@@ -249,7 +248,7 @@ contract Product is BaseComponent, IProductComponent {
249
248
  ,
250
249
  bytes memory poolData
251
250
  ) = _pool.getInitialInfo();
252
-
251
+
253
252
  (
254
253
  ISetup.PoolSetupInfo memory poolSetupInfo
255
254
  ) = abi.decode(poolData, (ISetup.PoolSetupInfo));
@@ -13,6 +13,9 @@ import {IBundle} from "./module/IBundle.sol";
13
13
  import {ISetup} from "./module/ISetup.sol";
14
14
  import {NftId} from "../types/NftId.sol";
15
15
  import {StateId} from "../types/StateId.sol";
16
+ import {RiskId} from "../types/RiskId.sol";
17
+ import {IRisk} from "./module/IRisk.sol";
18
+
16
19
 
17
20
  interface IInstance is IERC165 {
18
21
 
@@ -37,5 +40,9 @@ interface IInstance is IERC165 {
37
40
  function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
38
41
  function updateProductSetupState(NftId productNftId, StateId newState) external;
39
42
 
43
+ function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
44
+ function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
45
+ function updateRiskState(RiskId riskId, StateId newState) external;
46
+
40
47
  function getInstanceReader() external view returns (InstanceReader);
41
48
  }
@@ -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 {
@@ -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
 
@@ -97,42 +97,36 @@ contract ProductService is ComponentServiceBase, IProductService {
97
97
  instance.updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
98
98
  }
99
99
 
100
- // FIXME this
101
100
  function createRisk(
102
101
  RiskId riskId,
103
102
  bytes memory data
104
103
  ) external override {
105
- // (IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
106
- // NftId productNftId = productInfo.nftId;
107
- // instance.createRisk(
108
- // riskId,
109
- // productNftId,
110
- // data
111
- // );
104
+ (IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
105
+ NftId productNftId = productInfo.nftId;
106
+ IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
107
+ instance.createRisk(
108
+ riskId,
109
+ riskInfo
110
+ );
112
111
  }
113
112
 
114
- // FIXME this
115
- function setRiskInfo(
113
+ function updateRisk(
116
114
  RiskId riskId,
117
- IRisk.RiskInfo memory info
115
+ bytes memory data
118
116
  ) external {
119
- // (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
120
- // instance.setRiskInfo(
121
- // riskId,
122
- // info
123
- // );
117
+ (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
118
+ InstanceReader instanceReader = instance.getInstanceReader();
119
+ IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
120
+ riskInfo.data = data;
121
+ instance.updateRisk(riskId, riskInfo, KEEP_STATE());
124
122
  }
125
123
 
126
- // FIXME this
127
124
  function updateRiskState(
128
125
  RiskId riskId,
129
126
  StateId state
130
127
  ) external {
131
- // (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
132
- // instance.updateRiskState(
133
- // riskId,
134
- // state
135
- // );
128
+ (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
129
+ instance.updateRiskState(riskId, state);
136
130
  }
137
131
 
138
132
  function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
@@ -201,7 +195,7 @@ contract ProductService is ComponentServiceBase, IProductService {
201
195
  )
202
196
  {
203
197
  IInstance instance = product.getInstance();
204
- // FIXME this
198
+ // FIXME: this
205
199
  // ITreasury.TreasuryInfo memory treasuryInfo = instance.getTreasuryInfo(product.getNftId());
206
200
  // IBundle.BundleInfo memory bundleInfo = instance.getBundleInfo(bundleNftId);
207
201
  // require(bundleInfo.poolNftId == treasuryInfo.poolNftId,"ERROR:PRS-035:BUNDLE_POOL_MISMATCH");
@@ -277,7 +271,7 @@ contract ProductService is ComponentServiceBase, IProductService {
277
271
  uint256 collateralAmount
278
272
  )
279
273
  {
280
- // FIXME this
274
+ // FIXME: this
281
275
  // check match between policy and bundle (via pool)
282
276
  // treasuryInfo = instance.getTreasuryInfo(policyInfo.productNftId);
283
277
  // bundleNftId = policyInfo.bundleNftId;
@@ -303,7 +297,7 @@ contract ProductService is ComponentServiceBase, IProductService {
303
297
  returns (IBundle.BundleInfo memory)
304
298
  {
305
299
  bundleInfo.lockedAmount += collateralAmount;
306
- // FIXME this
300
+ // FIXME: this
307
301
  // instance.collateralizePolicy(bundleNftId, policyNftId, collateralAmount);
308
302
  return bundleInfo;
309
303
  }
@@ -353,7 +347,7 @@ contract ProductService is ComponentServiceBase, IProductService {
353
347
 
354
348
  // check match between policy and calling product
355
349
  NftId productNftId = productInfo.nftId;
356
- // FIXME this
350
+ // FIXME: this
357
351
  // IPolicy.PolicyInfo memory policyInfo = instance.getPolicyInfo(policyNftId);
358
352
  // require(policyInfo.productNftId == productNftId, "POLICY_PRODUCT_MISMATCH");
359
353
  // require(instance.getState(policyNftId.toKey32(POLICY())) == APPLIED(), "ERROR:PRS-021:STATE_NOT_APPLIED");
@@ -438,7 +432,7 @@ contract ProductService is ComponentServiceBase, IProductService {
438
432
  (IRegistry.ObjectInfo memory productInfo, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
439
433
 
440
434
  // perform actual token transfers
441
- // FIXME this
435
+ // FIXME: this
442
436
  // IPolicy.PolicyInfo memory policyInfo = instance.getPolicyInfo(policyNftId);
443
437
  // ITreasury.TreasuryInfo memory treasuryInfo = instance.getTreasuryInfo(productInfo.nftId);
444
438
 
@@ -465,7 +459,7 @@ contract ProductService is ComponentServiceBase, IProductService {
465
459
  // TODO add logging
466
460
  }
467
461
 
468
- // FIXME this
462
+ // FIXME: this
469
463
  function activate(NftId policyNftId, Timestamp activateAt) external override {
470
464
  // check caller is registered product
471
465
  (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
@@ -500,7 +494,7 @@ contract ProductService is ComponentServiceBase, IProductService {
500
494
  view
501
495
  returns (NftId poolNftid)
502
496
  {
503
- // FIXME this
497
+ // FIXME: this
504
498
  // return instance.getTreasuryInfo(productNftId).poolNftId;
505
499
  }
506
500
 
@@ -517,7 +511,7 @@ contract ProductService is ComponentServiceBase, IProductService {
517
511
  {
518
512
  // process token transfer(s)
519
513
  if(premiumAmount > 0) {
520
- // FIXME this
514
+ // FIXME: this
521
515
  // TokenHandler tokenHandler = instance.getTokenHandler(productNftId);
522
516
  // address policyOwner = getRegistry().ownerOf(policyNftId);
523
517
  // address poolWallet = instance.getComponentWallet(treasuryInfo.poolNftId);
@@ -38,6 +38,7 @@ function PRODUCT_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRol
38
38
 
39
39
  function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(10000); }
40
40
  function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(10100); }
41
+ function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(10200); }
41
42
 
42
43
  function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11000); }
43
44
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-72dc555-736",
3
+ "version": "0.0.2-72ddf14-012",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {