@etherisc/gif-next 0.0.2-f2b0fa2-473 → 0.0.2-f4f92b3-338

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 (267) hide show
  1. package/README.md +67 -1
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +656 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +329 -90
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → components/IComponent.sol/IComponent.json} +171 -158
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +496 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +568 -2
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +596 -5
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +360 -118
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +342 -147
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  33. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  37. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  39. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  40. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  41. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  42. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +764 -0
  43. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  44. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +86 -2
  45. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1657 -28
  47. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +162 -18
  49. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  50. package/artifacts/contracts/instance/Instance.sol/Instance.json +232 -632
  51. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  52. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +231 -114
  53. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  54. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +182 -58
  55. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  56. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +328 -67
  57. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  58. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +72 -23
  59. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  60. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +261 -0
  61. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  62. package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +138 -16
  63. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  64. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  66. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
  67. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  68. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  69. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +59 -16
  71. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  78. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1102 -0
  79. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  80. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +449 -0
  81. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  82. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +772 -0
  83. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  84. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +437 -0
  85. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  86. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IBundleService.sol/IBundleService.json} +295 -46
  87. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +13 -18
  89. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +766 -0
  91. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +15 -82
  93. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +25 -245
  95. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  96. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1227 -0
  97. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  98. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +505 -0
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  100. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +806 -0
  101. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +437 -0
  103. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  104. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +856 -0
  105. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  106. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +437 -0
  107. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  108. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  109. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  110. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +339 -59
  111. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  112. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +220 -111
  113. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  114. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  115. package/artifacts/contracts/registry/Registry.sol/Registry.json +301 -188
  116. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  117. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  118. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  119. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -130
  120. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  121. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +51 -91
  122. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  123. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
  124. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  125. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +394 -0
  126. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  127. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  128. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  129. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  130. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  131. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +0 -5
  132. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  133. package/artifacts/contracts/shared/IService.sol/IService.json +13 -18
  134. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  135. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  136. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +19 -6
  137. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  138. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +19 -6
  139. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  140. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -11
  141. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  142. package/artifacts/contracts/shared/Service.sol/Service.json +26 -18
  143. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  144. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  145. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  146. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  147. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  148. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  149. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +19 -11
  150. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  151. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  152. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  153. package/artifacts/contracts/test/TestService.sol/TestService.json +44 -36
  154. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  156. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  157. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  158. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +2 -2
  159. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  160. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  161. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  162. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  163. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  164. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  165. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  166. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  167. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  168. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  169. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  171. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  175. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  176. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  177. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  179. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  181. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  182. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  184. package/contracts/components/Component.sol +222 -0
  185. package/contracts/components/Distribution.sol +33 -55
  186. package/contracts/components/IComponent.sol +43 -0
  187. package/contracts/components/IDistributionComponent.sol +5 -1
  188. package/contracts/components/IPoolComponent.sol +11 -3
  189. package/contracts/components/IProductComponent.sol +7 -3
  190. package/contracts/components/Pool.sol +65 -83
  191. package/contracts/components/Product.sol +70 -109
  192. package/contracts/instance/BundleManager.sol +125 -0
  193. package/contracts/instance/Cloneable.sol +46 -0
  194. package/contracts/instance/IInstance.sol +54 -10
  195. package/contracts/instance/IInstanceService.sol +24 -1
  196. package/contracts/instance/Instance.sol +76 -243
  197. package/contracts/instance/InstanceAccessManager.sol +88 -78
  198. package/contracts/instance/InstanceReader.sol +34 -21
  199. package/contracts/instance/InstanceService.sol +311 -51
  200. package/contracts/instance/InstanceServiceManager.sol +10 -12
  201. package/contracts/instance/ObjectManager.sol +84 -0
  202. package/contracts/instance/base/ComponentService.sol +134 -0
  203. package/contracts/instance/module/IAccess.sol +27 -17
  204. package/contracts/instance/module/IBundle.sol +1 -0
  205. package/contracts/instance/module/ISetup.sol +3 -0
  206. package/contracts/instance/service/BundleService.sol +293 -0
  207. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  208. package/contracts/instance/service/DistributionService.sol +106 -0
  209. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  210. package/contracts/instance/service/IBundleService.sol +44 -0
  211. package/contracts/instance/service/IPolicyService.sol +94 -0
  212. package/contracts/instance/service/IPoolService.sol +6 -23
  213. package/contracts/instance/service/IProductService.sol +6 -73
  214. package/contracts/instance/service/PolicyService.sol +538 -0
  215. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  216. package/contracts/instance/service/PoolService.sol +109 -0
  217. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  218. package/contracts/instance/service/ProductService.sol +232 -0
  219. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  220. package/contracts/registry/ChainNft.sol +1 -1
  221. package/contracts/registry/IRegistry.sol +47 -6
  222. package/contracts/registry/IRegistryService.sol +44 -14
  223. package/contracts/registry/Registry.sol +243 -214
  224. package/contracts/registry/RegistryAccessManager.sol +216 -0
  225. package/contracts/registry/RegistryService.sol +81 -258
  226. package/contracts/registry/RegistryServiceManager.sol +20 -22
  227. package/contracts/registry/ReleaseManager.sol +332 -0
  228. package/contracts/registry/TokenRegistry.sol +112 -0
  229. package/contracts/shared/ERC165.sol +6 -2
  230. package/contracts/shared/IRegisterable.sol +1 -3
  231. package/contracts/shared/IService.sol +2 -1
  232. package/contracts/shared/NftOwnable.sol +7 -4
  233. package/contracts/shared/ProxyManager.sol +1 -1
  234. package/contracts/shared/Registerable.sol +11 -14
  235. package/contracts/shared/Service.sol +14 -8
  236. package/contracts/test/TestService.sol +3 -2
  237. package/contracts/types/NftIdSet.sol +26 -24
  238. package/contracts/types/RoleId.sol +14 -6
  239. package/contracts/types/StateId.sol +4 -0
  240. package/contracts/types/Version.sol +4 -1
  241. package/package.json +1 -1
  242. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  243. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -314
  244. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  245. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
  246. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  247. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  248. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1119
  249. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  250. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  251. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  252. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  253. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  254. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  255. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  256. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  257. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  258. package/contracts/components/BaseComponent.sol +0 -86
  259. package/contracts/components/IBaseComponent.sol +0 -24
  260. package/contracts/instance/AccessManagedSimple.sol +0 -114
  261. package/contracts/instance/AccessManagerSimple.sol +0 -682
  262. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  263. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  264. package/contracts/instance/base/IInstanceBase.sol +0 -23
  265. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  266. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  267. package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -11,35 +11,37 @@ library LibNftIdSet {
11
11
  mapping(NftId nftid => uint256 index) at;
12
12
  }
13
13
 
14
- function add(Set storage set, NftId nftId) external returns(bool added) {
15
- if (set.at[nftId] == 0) {
16
- set.ids.push(nftId);
17
- set.at[nftId] = set.ids.length;
18
- return true;
19
- } else {
20
- return false;
14
+ error ErrorNftIdSetAlreadyAdded(NftId nftId);
15
+ error ErrorNftIdSetNotInSet(NftId nftId);
16
+
17
+
18
+ function add(Set storage set, NftId nftId) external {
19
+ if (set.at[nftId] > 0) {
20
+ revert ErrorNftIdSetAlreadyAdded(nftId);
21
21
  }
22
+
23
+ set.ids.push(nftId);
24
+ set.at[nftId] = set.ids.length;
22
25
  }
23
26
 
24
- function remove(Set storage set, NftId nftId) external returns(bool removed) {
27
+ function remove(Set storage set, NftId nftId) external {
25
28
  uint256 nftIdIndex = set.at[nftId];
26
29
 
27
- if (nftIdIndex > 0) {
28
- uint256 toDeleteIndex = nftIdIndex - 1;
29
- uint256 lastIndex = set.ids.length - 1;
30
-
31
- if (lastIndex != toDeleteIndex) {
32
- NftId lastId = set.ids[lastIndex];
33
- set.ids[toDeleteIndex] = lastId;
34
- set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
35
- }
36
-
37
- set.ids.pop();
38
- delete set.at[nftId];
39
- return true;
40
- } else {
41
- return false;
30
+ if (nftIdIndex == 0) {
31
+ revert ErrorNftIdSetNotInSet(nftId);
42
32
  }
33
+
34
+ uint256 toDeleteIndex = nftIdIndex - 1;
35
+ uint256 lastIndex = set.ids.length - 1;
36
+
37
+ if (lastIndex != toDeleteIndex) {
38
+ NftId lastId = set.ids[lastIndex];
39
+ set.ids[toDeleteIndex] = lastId;
40
+ set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
41
+ }
42
+
43
+ set.ids.pop();
44
+ delete set.at[nftId];
43
45
  }
44
46
 
45
47
  function isEmpty(Set storage set) external view returns(bool empty) {
@@ -50,7 +52,7 @@ library LibNftIdSet {
50
52
  return set.at[nftId] > 0;
51
53
  }
52
54
 
53
- function getLength(Set storage set) external view returns(uint256 length) {
55
+ function size(Set storage set) external view returns(uint256 length) {
54
56
  return set.ids.length;
55
57
  }
56
58
 
@@ -22,17 +22,25 @@ function ORACLE_OWNER_ROLE_NAME() pure returns (string memory) { return "OracleO
22
22
  function POOL_OWNER_ROLE_NAME() pure returns (string memory) { return "PoolOwnerRole"; }
23
23
  function PRODUCT_OWNER_ROLE_NAME() pure returns (string memory) { return "ProductOwnerRole"; }
24
24
 
25
- // TODO correct numbers (maybe they are already defined in RegistryService)
25
+ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(0); }
26
+
26
27
  function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(100); }
27
28
  function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(200); }
28
29
  function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(300); }
29
30
  function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(400); }
30
31
 
31
- function DISTRIBUTION_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1000); }
32
- function POLICY_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1100); }
33
- function BUNDLE_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1200); }
34
- function POOL_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1300); }
35
- function PRODUCT_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1400); }
32
+
33
+ function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
34
+ function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
35
+ function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
36
+ function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
37
+ function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
38
+ function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
39
+
40
+
41
+ function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1500); }
42
+ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1600); }
43
+ function RELEASE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
36
44
 
37
45
  // @dev Returns true iff role ids a and b are identical
38
46
  function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
@@ -58,6 +58,10 @@ function PAID() pure returns (StateId) {
58
58
  return toStateId(220);
59
59
  }
60
60
 
61
+ function KEEP_STATE() pure returns (StateId) {
62
+ return toStateId(type(uint8).max);
63
+ }
64
+
61
65
  /// @dev Converts the uint8 to a StateId.
62
66
  function toStateId(uint256 id) pure returns (StateId) {
63
67
  return StateId.wrap(uint8(id));
@@ -6,15 +6,18 @@ type VersionPart is uint8;
6
6
  using {
7
7
  versionPartGt as >,
8
8
  versionPartEq as ==,
9
+ versionPartNe as !=,
9
10
  VersionPartLib.toInt
10
11
  }
11
12
  for VersionPart global;
12
13
 
13
14
  function versionPartGt(VersionPart a, VersionPart b) pure returns(bool isGreaterThan) { return VersionPart.unwrap(a) > VersionPart.unwrap(b); }
14
15
  function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) == VersionPart.unwrap(b); }
16
+ function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
15
17
 
16
18
  library VersionPartLib {
17
- function toInt(VersionPart x) external pure returns(uint) { return VersionPart.unwrap(x); }
19
+ function toInt(VersionPart a) external pure returns(uint) { return VersionPart.unwrap(a); }
20
+ function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
18
21
  }
19
22
 
20
23
  type Version is uint24; // contains major,minor,patch version parts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-f2b0fa2-473",
3
+ "version": "0.0.2-f4f92b3-338",
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": {
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e9844962b604f2337cc8063f448ec25f.json"
4
- }
@@ -1,314 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "BaseComponent",
4
- "sourceName": "contracts/components/BaseComponent.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "registry",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "NftId",
15
- "name": "nftId",
16
- "type": "uint96"
17
- }
18
- ],
19
- "name": "ErrorAlreadyLinked",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "address",
26
- "name": "contractAddress",
27
- "type": "address"
28
- }
29
- ],
30
- "name": "ErrorContractNotRegistered",
31
- "type": "error"
32
- },
33
- {
34
- "inputs": [
35
- {
36
- "internalType": "address",
37
- "name": "account",
38
- "type": "address"
39
- }
40
- ],
41
- "name": "ErrorNotOwner",
42
- "type": "error"
43
- },
44
- {
45
- "inputs": [
46
- {
47
- "internalType": "address",
48
- "name": "registryAddress",
49
- "type": "address"
50
- }
51
- ],
52
- "name": "ErrorNotRegistry",
53
- "type": "error"
54
- },
55
- {
56
- "inputs": [
57
- {
58
- "internalType": "address",
59
- "name": "registryAddress",
60
- "type": "address"
61
- }
62
- ],
63
- "name": "ErrorRegisterableNotRegistry",
64
- "type": "error"
65
- },
66
- {
67
- "inputs": [],
68
- "name": "ErrorRegistryAddressZero",
69
- "type": "error"
70
- },
71
- {
72
- "inputs": [
73
- {
74
- "internalType": "address",
75
- "name": "registry",
76
- "type": "address"
77
- }
78
- ],
79
- "name": "ErrorRegistryAlreadyInitialized",
80
- "type": "error"
81
- },
82
- {
83
- "inputs": [],
84
- "name": "ErrorRegistryNotInitialized",
85
- "type": "error"
86
- },
87
- {
88
- "inputs": [],
89
- "name": "InvalidInitialization",
90
- "type": "error"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "NotInitializing",
95
- "type": "error"
96
- },
97
- {
98
- "anonymous": false,
99
- "inputs": [
100
- {
101
- "indexed": false,
102
- "internalType": "uint64",
103
- "name": "version",
104
- "type": "uint64"
105
- }
106
- ],
107
- "name": "Initialized",
108
- "type": "event"
109
- },
110
- {
111
- "inputs": [],
112
- "name": "REGISTERABLE_LOCATION_V1",
113
- "outputs": [
114
- {
115
- "internalType": "bytes32",
116
- "name": "",
117
- "type": "bytes32"
118
- }
119
- ],
120
- "stateMutability": "view",
121
- "type": "function"
122
- },
123
- {
124
- "inputs": [],
125
- "name": "getInitialInfo",
126
- "outputs": [
127
- {
128
- "components": [
129
- {
130
- "internalType": "NftId",
131
- "name": "nftId",
132
- "type": "uint96"
133
- },
134
- {
135
- "internalType": "NftId",
136
- "name": "parentNftId",
137
- "type": "uint96"
138
- },
139
- {
140
- "internalType": "ObjectType",
141
- "name": "objectType",
142
- "type": "uint8"
143
- },
144
- {
145
- "internalType": "bool",
146
- "name": "isInterceptor",
147
- "type": "bool"
148
- },
149
- {
150
- "internalType": "address",
151
- "name": "objectAddress",
152
- "type": "address"
153
- },
154
- {
155
- "internalType": "address",
156
- "name": "initialOwner",
157
- "type": "address"
158
- },
159
- {
160
- "internalType": "bytes",
161
- "name": "data",
162
- "type": "bytes"
163
- }
164
- ],
165
- "internalType": "struct IRegistry.ObjectInfo",
166
- "name": "",
167
- "type": "tuple"
168
- },
169
- {
170
- "internalType": "bytes",
171
- "name": "data",
172
- "type": "bytes"
173
- }
174
- ],
175
- "stateMutability": "view",
176
- "type": "function"
177
- },
178
- {
179
- "inputs": [],
180
- "name": "getInstance",
181
- "outputs": [
182
- {
183
- "internalType": "contract IInstance",
184
- "name": "instance",
185
- "type": "address"
186
- }
187
- ],
188
- "stateMutability": "view",
189
- "type": "function"
190
- },
191
- {
192
- "inputs": [],
193
- "name": "getNftId",
194
- "outputs": [
195
- {
196
- "internalType": "NftId",
197
- "name": "",
198
- "type": "uint96"
199
- }
200
- ],
201
- "stateMutability": "view",
202
- "type": "function"
203
- },
204
- {
205
- "inputs": [],
206
- "name": "getOwner",
207
- "outputs": [
208
- {
209
- "internalType": "address",
210
- "name": "",
211
- "type": "address"
212
- }
213
- ],
214
- "stateMutability": "view",
215
- "type": "function"
216
- },
217
- {
218
- "inputs": [],
219
- "name": "getProductNftId",
220
- "outputs": [
221
- {
222
- "internalType": "NftId",
223
- "name": "productNftId",
224
- "type": "uint96"
225
- }
226
- ],
227
- "stateMutability": "view",
228
- "type": "function"
229
- },
230
- {
231
- "inputs": [],
232
- "name": "getRegistry",
233
- "outputs": [
234
- {
235
- "internalType": "contract IRegistry",
236
- "name": "",
237
- "type": "address"
238
- }
239
- ],
240
- "stateMutability": "view",
241
- "type": "function"
242
- },
243
- {
244
- "inputs": [],
245
- "name": "getToken",
246
- "outputs": [
247
- {
248
- "internalType": "contract IERC20Metadata",
249
- "name": "token",
250
- "type": "address"
251
- }
252
- ],
253
- "stateMutability": "view",
254
- "type": "function"
255
- },
256
- {
257
- "inputs": [],
258
- "name": "getWallet",
259
- "outputs": [
260
- {
261
- "internalType": "address",
262
- "name": "walletAddress",
263
- "type": "address"
264
- }
265
- ],
266
- "stateMutability": "view",
267
- "type": "function"
268
- },
269
- {
270
- "inputs": [],
271
- "name": "linkToRegisteredNftId",
272
- "outputs": [],
273
- "stateMutability": "nonpayable",
274
- "type": "function"
275
- },
276
- {
277
- "inputs": [],
278
- "name": "lock",
279
- "outputs": [],
280
- "stateMutability": "nonpayable",
281
- "type": "function"
282
- },
283
- {
284
- "inputs": [
285
- {
286
- "internalType": "bytes4",
287
- "name": "interfaceId",
288
- "type": "bytes4"
289
- }
290
- ],
291
- "name": "supportsInterface",
292
- "outputs": [
293
- {
294
- "internalType": "bool",
295
- "name": "",
296
- "type": "bool"
297
- }
298
- ],
299
- "stateMutability": "view",
300
- "type": "function"
301
- },
302
- {
303
- "inputs": [],
304
- "name": "unlock",
305
- "outputs": [],
306
- "stateMutability": "nonpayable",
307
- "type": "function"
308
- }
309
- ],
310
- "bytecode": "0x",
311
- "deployedBytecode": "0x",
312
- "linkReferences": {},
313
- "deployedLinkReferences": {}
314
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e9844962b604f2337cc8063f448ec25f.json"
4
- }