@etherisc/gif-next 0.0.2-8d47fa1-080 → 0.0.2-90f8ffc-398

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 (407) hide show
  1. package/README.md +171 -2
  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 +479 -75
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +455 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +338 -33
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +372 -103
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +420 -45
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +507 -165
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +554 -107
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
  22. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
  24. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  36. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  40. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  42. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  43. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  44. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +764 -0
  46. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  47. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.json +185 -0
  48. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +997 -1189
  50. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{base/ServiceBase.sol/ServiceBase.json → IInstanceService.sol/IInstanceService.json} +247 -41
  52. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  53. package/artifacts/contracts/instance/Instance.sol/Instance.json +1783 -1303
  54. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1034 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1381 -0
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1039 -0
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +473 -0
  62. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  63. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +261 -0
  64. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +228 -18
  66. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +27 -158
  68. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  70. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +37 -245
  71. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  72. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  73. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +254 -0
  75. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  76. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  77. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  79. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  80. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  81. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  82. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  83. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  84. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
  85. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  86. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  87. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  88. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1102 -0
  89. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  90. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +449 -0
  91. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +290 -44
  93. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  94. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +437 -0
  95. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  96. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +715 -0
  97. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +93 -21
  99. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  100. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +766 -0
  101. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +95 -85
  103. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  104. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +89 -232
  105. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  106. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1227 -0
  107. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  108. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +505 -0
  109. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  110. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +273 -116
  111. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  112. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +437 -0
  113. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  114. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +247 -355
  115. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  116. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +437 -0
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  118. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +47 -2
  119. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +221 -68
  121. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  122. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +365 -52
  123. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  124. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  125. package/artifacts/contracts/registry/Registry.sol/Registry.json +200 -209
  126. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  127. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  128. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  129. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +423 -84
  130. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +464 -0
  132. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
  134. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  135. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +394 -0
  136. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  137. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  140. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +67 -57
  142. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +80 -8
  144. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  145. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +90 -63
  146. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  148. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +171 -0
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +132 -80
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +133 -11
  153. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  154. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +113 -93
  155. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  156. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  157. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  158. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  159. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  160. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
  162. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +133 -11
  164. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
  166. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestService.sol/TestService.json +168 -32
  168. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  169. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  170. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  171. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  172. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  173. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +18 -2
  174. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  175. package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
  176. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  177. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  179. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  180. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  181. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/Fee.sol/FeeLib.json +4 -4
  183. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  184. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
  185. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  187. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  188. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  189. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  190. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  191. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  193. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  194. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  195. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  197. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
  199. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  201. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  202. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  203. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  204. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  205. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  206. package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
  207. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  208. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  209. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  210. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  211. package/contracts/components/Component.sol +216 -0
  212. package/contracts/components/Distribution.sol +51 -53
  213. package/contracts/components/IComponent.sol +43 -0
  214. package/contracts/components/IDistributionComponent.sol +6 -6
  215. package/contracts/components/IPoolComponent.sol +7 -16
  216. package/contracts/components/IProductComponent.sol +8 -8
  217. package/contracts/components/Pool.sol +67 -98
  218. package/contracts/components/Product.sol +87 -120
  219. package/contracts/experiment/cloning/Cloner.sol +47 -0
  220. package/contracts/instance/BundleManager.sol +125 -0
  221. package/contracts/instance/Cloneable.sol +46 -0
  222. package/contracts/instance/IInstance.sol +64 -46
  223. package/contracts/instance/IInstanceService.sol +41 -0
  224. package/contracts/instance/Instance.sol +251 -67
  225. package/contracts/instance/InstanceAccessManager.sol +298 -0
  226. package/contracts/instance/InstanceReader.sol +293 -0
  227. package/contracts/instance/InstanceService.sol +435 -0
  228. package/contracts/instance/InstanceServiceManager.sol +54 -0
  229. package/contracts/instance/ObjectManager.sol +84 -0
  230. package/contracts/instance/base/ComponentService.sol +134 -0
  231. package/contracts/instance/base/IKeyValueStore.sol +13 -14
  232. package/contracts/instance/base/ILifecycle.sol +3 -3
  233. package/contracts/instance/base/KeyValueStore.sol +49 -38
  234. package/contracts/instance/base/Lifecycle.sol +1 -1
  235. package/contracts/instance/module/IAccess.sol +48 -0
  236. package/contracts/instance/module/IBundle.sol +20 -0
  237. package/contracts/instance/module/IDistribution.sol +39 -0
  238. package/contracts/instance/module/IPolicy.sol +45 -0
  239. package/contracts/instance/module/IRisk.sol +11 -0
  240. package/contracts/instance/module/ISetup.sol +46 -0
  241. package/contracts/instance/module/ITreasury.sol +23 -0
  242. package/contracts/instance/service/BundleService.sol +293 -0
  243. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  244. package/contracts/instance/service/DistributionService.sol +72 -20
  245. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  246. package/contracts/instance/service/IBundleService.sol +44 -0
  247. package/contracts/instance/service/IDistributionService.sol +1 -1
  248. package/contracts/instance/service/IPolicyService.sol +94 -0
  249. package/contracts/instance/service/IPoolService.sol +7 -24
  250. package/contracts/instance/service/IProductService.sol +9 -76
  251. package/contracts/instance/service/PolicyService.sol +538 -0
  252. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  253. package/contracts/instance/service/PoolService.sol +77 -116
  254. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  255. package/contracts/instance/service/ProductService.sol +157 -433
  256. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  257. package/contracts/registry/ChainNft.sol +41 -26
  258. package/contracts/registry/IRegistry.sol +54 -31
  259. package/contracts/registry/IRegistryService.sol +52 -16
  260. package/contracts/registry/Registry.sol +264 -317
  261. package/contracts/registry/RegistryAccessManager.sol +216 -0
  262. package/contracts/registry/RegistryService.sol +139 -260
  263. package/contracts/registry/RegistryServiceManager.sol +62 -0
  264. package/contracts/registry/ReleaseManager.sol +332 -0
  265. package/contracts/registry/TokenRegistry.sol +112 -0
  266. package/contracts/shared/ContractDeployerLib.sol +72 -0
  267. package/contracts/shared/ERC165.sol +7 -3
  268. package/contracts/shared/INftOwnable.sol +22 -0
  269. package/contracts/shared/IRegisterable.sol +4 -11
  270. package/contracts/shared/IService.sol +16 -0
  271. package/contracts/shared/NftOwnable.sol +139 -0
  272. package/contracts/shared/ProxyManager.sol +17 -38
  273. package/contracts/shared/Registerable.sol +23 -54
  274. package/contracts/shared/Service.sol +60 -0
  275. package/contracts/shared/TokenHandler.sol +27 -0
  276. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  277. package/contracts/shared/Versionable.sol +3 -3
  278. package/contracts/test/TestFee.sol +2 -2
  279. package/contracts/test/TestRoleId.sol +1 -1
  280. package/contracts/test/TestService.sol +6 -7
  281. package/contracts/types/DistributorType.sol +55 -0
  282. package/contracts/types/Fee.sol +3 -3
  283. package/contracts/types/Key32.sol +8 -3
  284. package/contracts/types/NftIdSet.sol +26 -24
  285. package/contracts/types/NumberId.sol +52 -0
  286. package/contracts/types/ObjectType.sol +35 -14
  287. package/contracts/types/Referral.sol +85 -0
  288. package/contracts/types/RoleId.sol +61 -9
  289. package/contracts/types/StateId.sol +5 -1
  290. package/contracts/types/Timestamp.sol +7 -3
  291. package/contracts/types/UFixed.sol +128 -12
  292. package/contracts/types/Version.sol +4 -1
  293. package/package.json +4 -3
  294. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  295. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  296. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  297. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  298. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  299. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  300. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  301. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  302. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  303. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  304. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -344
  305. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  306. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  307. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  308. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  309. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  310. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  311. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +0 -10
  312. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  313. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  314. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  315. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  316. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  317. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  318. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  319. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  320. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  321. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  322. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  323. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  324. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  325. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  326. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  327. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  328. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  329. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  330. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  331. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  332. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  333. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  334. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  335. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  336. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  337. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  338. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  339. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  340. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  341. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  342. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  343. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  344. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  345. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  346. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  347. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  348. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  349. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  350. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  351. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  352. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  353. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  354. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  355. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  356. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  357. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  358. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  359. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  360. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  361. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  362. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  363. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  364. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  365. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  366. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  367. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  368. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  369. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  370. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  371. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  372. package/contracts/components/BaseComponent.sol +0 -79
  373. package/contracts/components/IBaseComponent.sol +0 -19
  374. package/contracts/instance/IInstanceLinked.sol +0 -8
  375. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  376. package/contracts/instance/base/IInstanceBase.sol +0 -23
  377. package/contracts/instance/base/IService.sol +0 -15
  378. package/contracts/instance/base/InstanceBase.sol +0 -89
  379. package/contracts/instance/base/ModuleBase.sol +0 -57
  380. package/contracts/instance/base/ServiceBase.sol +0 -43
  381. package/contracts/instance/module/access/Access.sol +0 -149
  382. package/contracts/instance/module/access/IAccess.sol +0 -53
  383. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  384. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  385. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  386. package/contracts/instance/module/component/IComponent.sol +0 -28
  387. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  388. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  389. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  390. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  391. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  392. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  393. package/contracts/instance/module/risk/IRisk.sol +0 -26
  394. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  395. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  396. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  397. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  398. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  399. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  400. package/contracts/registry/IChainNft.sol +0 -22
  401. package/contracts/registry/IRegistryLinked.sol +0 -8
  402. package/contracts/registry/RegistryInstaller.sol +0 -100
  403. package/contracts/shared/IOwnable.sol +0 -6
  404. package/contracts/test/TestDistribution.sol +0 -22
  405. package/contracts/test/TestPool.sol +0 -27
  406. package/contracts/test/TestProduct.sol +0 -74
  407. package/contracts/types/ReferralId.sol +0 -48
@@ -1,100 +0,0 @@
1
- // SPDX-License-Identifier: UNLICENSED
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC721Receiver} from "@openzeppelin5/contracts/token/ERC721/IERC721Receiver.sol";
5
- import {Ownable} from "@openzeppelin5/contracts/access/Ownable.sol";
6
-
7
- import {IChainNft} from "./IChainNft.sol";
8
- import {IRegistry} from "./IRegistry.sol";
9
- import {IVersionable} from "../shared/IVersionable.sol";
10
- import {NftId} from "../types/NftId.sol";
11
- import {ProxyManager} from "../shared/ProxyManager.sol";
12
- import {Registry} from "./Registry.sol";
13
- import {RegistryService} from "./RegistryService.sol";
14
-
15
-
16
- contract RegistryInstaller is
17
- Ownable,
18
- IERC721Receiver
19
- {
20
- error ErrorProxyManagerWithZeroAddress();
21
- error ErrorRegistryServiceWithZeroAddress();
22
- error ErrorProxyManagerUnexpectedOwner(address expectedOwner, address actualOwner);
23
- error ErrorInstallerNotProxyManagerOwner(address installer, address actualOwner);
24
-
25
- ProxyManager private _proxyManager;
26
- address private _implementation;
27
- RegistryService private _registryService;
28
- IRegistry private _registry;
29
- IChainNft private _chainNft;
30
-
31
- /// @dev initializes proxy manager with registry service implementation and deploys registry
32
- constructor(
33
- address proxyManagerAddress,
34
- address registryServiceImplementationAddress
35
- )
36
- Ownable(msg.sender)
37
- {
38
- if (proxyManagerAddress == address(0)) { revert ErrorProxyManagerWithZeroAddress(); }
39
- if (registryServiceImplementationAddress == address(0)) { revert ErrorRegistryServiceWithZeroAddress(); }
40
-
41
- _proxyManager = ProxyManager(proxyManagerAddress);
42
- // check proxy manager owner is owner of installer
43
- if (_proxyManager.owner() != owner()) { revert ErrorProxyManagerUnexpectedOwner(_proxyManager.owner(), owner()); }
44
-
45
- _implementation = registryServiceImplementationAddress;
46
- }
47
-
48
- function installRegistryServiceWithRegistry()
49
- external
50
- onlyOwner()
51
- {
52
- // check that this contract is now proxy manager owner
53
- if (_proxyManager.owner() != address(this)) { revert ErrorInstallerNotProxyManagerOwner(address(this), _proxyManager.owner()); }
54
-
55
- IVersionable versionable = _proxyManager.deploy(_implementation, type(Registry).creationCode);
56
- _registryService = RegistryService(address(versionable));
57
- _registry = _registryService.getRegistry();
58
- _chainNft = _registry.getChainNft();
59
-
60
- // transfer registry ownership back to owner
61
- NftId registryNftId = _registry.getNftId(address(_registry));
62
- _chainNft.safeTransferFrom(
63
- address(this),
64
- owner(),
65
- registryNftId.toInt(),
66
- "");
67
-
68
- // transfer proxy manager back to owner
69
- _proxyManager.transferOwnership(owner());
70
- }
71
-
72
- function getRegistryService()
73
- external
74
- view
75
- returns (RegistryService registryService)
76
- {
77
- return _registryService;
78
- }
79
-
80
- function getRegistry()
81
- external
82
- view
83
- returns (RegistryService registryService)
84
- {
85
- return _registryService;
86
- }
87
-
88
- //--- IERC721Receiver -----------------------------------//
89
- function onERC721Received(
90
- address operator,
91
- address from,
92
- uint256 tokenId,
93
- bytes calldata data
94
- )
95
- external
96
- returns (bytes4)
97
- {
98
- return IERC721Receiver.onERC721Received.selector;
99
- }
100
- }
@@ -1,6 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IOwnable {
5
- function getOwner() external view returns (address owner);
6
- }
@@ -1,22 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../../contracts/types/Fee.sol";
5
- import {NftId} from "../../contracts/types/NftId.sol";
6
- import {Distribution} from "../../contracts/components/Distribution.sol";
7
-
8
-
9
- contract TestDistribution is Distribution {
10
-
11
- constructor(
12
- address registry,
13
- NftId instanceNftid,
14
- address token,
15
- bool isVerifying,
16
- Fee memory distributionFee,
17
- address initialOwner
18
- )
19
- Distribution(registry, instanceNftid, token, isVerifying, distributionFee, initialOwner)
20
- // solhint-disable-next-line no-empty-blocks
21
- {}
22
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {UFixed} from "../../contracts/types/UFixed.sol";
6
- import {Fee} from "../../contracts/types/Fee.sol";
7
- import {Pool} from "../../contracts/components/Pool.sol";
8
-
9
-
10
- contract TestPool is Pool {
11
-
12
- constructor(
13
- address registry,
14
- NftId instanceNftid,
15
- address token,
16
- bool isInterceptor,
17
- bool isVerifying,
18
- UFixed collateralizationLevel,
19
- Fee memory poolFee,
20
- Fee memory stakingFee,
21
- Fee memory performanceFee,
22
- address initialOwner
23
- )
24
- Pool(registry, instanceNftid, token, isInterceptor, isVerifying, collateralizationLevel, poolFee, stakingFee, performanceFee, initialOwner)
25
- // solhint-disable-next-line no-empty-blocks
26
- {}
27
- }
@@ -1,74 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Product} from "../../contracts/components/Product.sol";
5
- import {NftId, toNftId} from "../../contracts/types/NftId.sol";
6
- import {ReferralId} from "../types/ReferralId.sol";
7
- import {RiskId} from "../../contracts/types/RiskId.sol";
8
- import {Timestamp, blockTimestamp} from "../../contracts/types/Timestamp.sol";
9
- import {Fee} from "../../contracts/types/Fee.sol";
10
-
11
- contract TestProduct is Product {
12
-
13
- event LogTestProductSender(address sender);
14
-
15
- string public constant DEFAULT_RISK_NAME = "DEFAULT_RISK";
16
- bool private defaultRiskCreated;
17
-
18
- constructor(
19
- address registry,
20
- NftId instanceNftid,
21
- address token,
22
- bool isInterceptor,
23
- address pool,
24
- address distribution,
25
- Fee memory productFee,
26
- Fee memory processingFee,
27
- address initialOwner
28
- )
29
- Product(registry, instanceNftid, token, isInterceptor, pool, distribution, productFee, processingFee, initialOwner)
30
- // solhint-disable-next-line no-empty-blocks
31
- {
32
- }
33
-
34
- function getDefaultRiskId() public pure returns (RiskId) {
35
- return _toRiskId(DEFAULT_RISK_NAME);
36
- }
37
-
38
- function applyForPolicy(
39
- uint256 sumInsuredAmount,
40
- uint256 lifetime,
41
- NftId bundleNftId,
42
- ReferralId referralId
43
- )
44
- external
45
- returns(NftId nftId)
46
- {
47
- RiskId riskId = getDefaultRiskId();
48
- bytes memory applicationData = "";
49
-
50
- if (!defaultRiskCreated) {
51
- _createRisk(riskId, "");
52
- defaultRiskCreated = true;
53
- }
54
-
55
- nftId = _createApplication(
56
- msg.sender, // policy holder
57
- riskId,
58
- sumInsuredAmount,
59
- lifetime,
60
- applicationData,
61
- bundleNftId,
62
- referralId
63
- );
64
- }
65
-
66
- function underwrite(NftId nftId, bool requirePremiumPayment, Timestamp activateAt) external {
67
- emit LogTestProductSender(msg.sender);
68
- _underwrite(nftId, requirePremiumPayment, activateAt);
69
- }
70
-
71
- function collectPremium(NftId nftId, Timestamp activateAt) external {
72
- _collectPremium(nftId, activateAt);
73
- }
74
- }
@@ -1,48 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
- import {REFERRAL} from "./ObjectType.sol";
6
-
7
- type ReferralId is bytes8;
8
-
9
- // type bindings
10
- using {
11
- eqReferralId as ==,
12
- neReferralId as !=,
13
- ReferralIdLib.toKey32
14
- } for ReferralId global;
15
-
16
- // general pure free functions
17
-
18
- // @dev Returns true iff risk ids a and b are identical
19
- function eqReferralId(ReferralId a, ReferralId b) pure returns (bool isSame) {
20
- return ReferralId.unwrap(a) == ReferralId.unwrap(b);
21
- }
22
-
23
- // @dev Returns true iff risk ids a and b are different
24
- function neReferralId(ReferralId a, ReferralId b) pure returns (bool isDifferent) {
25
- return ReferralId.unwrap(a) != ReferralId.unwrap(b);
26
- }
27
-
28
- library ReferralIdLib {
29
-
30
- function zeroReferralId() public pure returns (ReferralId) {
31
- return ReferralId.wrap(bytes8(0));
32
- }
33
-
34
- // @dev Converts a role string into a role id.
35
- function toReferralId(string memory referral) public pure returns (ReferralId) {
36
- return ReferralId.wrap(bytes8(keccak256(abi.encode(referral))));
37
- }
38
-
39
- /// @dev Returns the key32 value for the specified id
40
- function toKey32(ReferralId id) public pure returns (Key32 key) {
41
- return Key32Lib.toKey32(REFERRAL(), toKeyId(id));
42
- }
43
-
44
- /// @dev Returns the key id value for the specified id
45
- function toKeyId(ReferralId id) public pure returns (KeyId keyId) {
46
- return KeyId.wrap(bytes31(ReferralId.unwrap(id)));
47
- }
48
- }