@etherisc/gif-next 0.0.2-743affe-003 → 0.0.2-771d9e9-515

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 (371) hide show
  1. package/README.md +108 -1
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +116 -2
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +204 -31
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +106 -3
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -191
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -225
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -216
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +245 -65
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +314 -41
  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/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  45. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  46. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  47. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1132 -0
  48. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  50. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +325 -1744
  52. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  53. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
  54. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/Instance.sol/Instance.json +2300 -1340
  56. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  58. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1388 -0
  60. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +891 -0
  62. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +492 -0
  64. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +149 -2
  66. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  68. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +27 -158
  69. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  70. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  71. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +37 -245
  72. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  78. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  82. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  84. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
  86. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  88. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +178 -41
  90. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +212 -22
  92. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  93. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +448 -0
  94. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +81 -4
  96. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +80 -3
  98. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +80 -3
  100. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +80 -3
  102. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  103. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +230 -24
  104. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +460 -0
  106. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  107. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +47 -2
  108. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  109. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +293 -111
  110. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +203 -18
  112. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  113. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  114. package/artifacts/contracts/registry/Registry.sol/Registry.json +262 -150
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +416 -40
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  118. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +525 -0
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  120. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +410 -0
  121. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  122. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  123. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  124. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  125. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  126. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +67 -57
  127. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  128. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +80 -3
  129. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  130. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/IService.sol/IService.json} +76 -35
  131. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  132. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  133. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  134. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  135. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +121 -82
  136. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  137. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +120 -6
  138. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/base/IService.sol/IService.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +137 -39
  140. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +106 -94
  142. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  143. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  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/TestFee.sol/TestFee.json +4 -4
  149. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  150. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +120 -6
  151. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  152. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
  153. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  154. package/artifacts/contracts/test/TestService.sol/TestService.json +142 -14
  155. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  156. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  157. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  158. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  159. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  160. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +18 -2
  161. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  162. package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
  163. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  164. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  165. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  167. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  168. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/Fee.sol/FeeLib.json +4 -4
  170. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  171. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
  172. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  174. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  175. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  176. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  177. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  178. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  179. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  180. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  181. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  182. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  184. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  185. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
  186. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  188. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  190. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  191. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  192. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  193. package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
  194. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  196. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  198. package/contracts/components/BaseComponent.sol +16 -4
  199. package/contracts/components/Distribution.sol +21 -16
  200. package/contracts/components/IBaseComponent.sol +9 -3
  201. package/contracts/components/IDistributionComponent.sol +3 -6
  202. package/contracts/components/IPoolComponent.sol +1 -4
  203. package/contracts/components/IProductComponent.sol +3 -7
  204. package/contracts/components/Pool.sol +24 -27
  205. package/contracts/components/Product.sol +44 -46
  206. package/contracts/experiment/cloning/Cloner.sol +47 -0
  207. package/contracts/instance/AccessManagedSimple.sol +115 -0
  208. package/contracts/instance/AccessManagerSimple.sol +692 -0
  209. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  210. package/contracts/instance/IInstance.sol +32 -47
  211. package/contracts/instance/IInstanceService.sol +30 -0
  212. package/contracts/instance/Instance.sol +423 -65
  213. package/contracts/instance/InstanceAccessManager.sol +288 -0
  214. package/contracts/instance/InstanceReader.sol +306 -0
  215. package/contracts/instance/InstanceService.sol +182 -0
  216. package/contracts/instance/InstanceServiceManager.sol +56 -0
  217. package/contracts/instance/base/ComponentServiceBase.sol +77 -8
  218. package/contracts/instance/base/IKeyValueStore.sol +13 -14
  219. package/contracts/instance/base/ILifecycle.sol +3 -3
  220. package/contracts/instance/base/KeyValueStore.sol +49 -38
  221. package/contracts/instance/base/Lifecycle.sol +1 -1
  222. package/contracts/instance/module/IAccess.sol +38 -0
  223. package/contracts/instance/module/IBundle.sol +20 -0
  224. package/contracts/instance/module/IDistribution.sol +39 -0
  225. package/contracts/instance/module/IPolicy.sol +45 -0
  226. package/contracts/instance/module/IRisk.sol +11 -0
  227. package/contracts/instance/module/ISetup.sol +44 -0
  228. package/contracts/instance/module/ITreasury.sol +23 -0
  229. package/contracts/instance/service/ComponentOwnerService.sol +145 -100
  230. package/contracts/instance/service/DistributionService.sol +48 -15
  231. package/contracts/instance/service/DistributionServiceManager.sol +53 -0
  232. package/contracts/instance/service/IComponentOwnerService.sol +1 -1
  233. package/contracts/instance/service/IDistributionService.sol +1 -1
  234. package/contracts/instance/service/IPoolService.sol +1 -1
  235. package/contracts/instance/service/IProductService.sol +3 -3
  236. package/contracts/instance/service/PoolService.sol +96 -52
  237. package/contracts/instance/service/PoolServiceManager.sol +53 -0
  238. package/contracts/registry/ChainNft.sol +40 -25
  239. package/contracts/registry/IRegistry.sol +47 -28
  240. package/contracts/registry/IRegistryService.sol +16 -12
  241. package/contracts/registry/Registry.sol +174 -190
  242. package/contracts/registry/RegistryService.sol +172 -156
  243. package/contracts/registry/RegistryServiceManager.sol +80 -0
  244. package/contracts/registry/TokenRegistry.sol +111 -0
  245. package/contracts/shared/ContractDeployerLib.sol +72 -0
  246. package/contracts/shared/ERC165.sol +7 -3
  247. package/contracts/shared/INftOwnable.sol +22 -0
  248. package/contracts/shared/IRegisterable.sol +3 -8
  249. package/contracts/{instance/base → shared}/IService.sol +3 -3
  250. package/contracts/shared/NftOwnable.sol +136 -0
  251. package/contracts/shared/ProxyManager.sol +16 -37
  252. package/contracts/shared/Registerable.sol +15 -42
  253. package/contracts/shared/RegisterableUpgradable.sol +16 -0
  254. package/contracts/shared/Service.sol +55 -0
  255. package/contracts/shared/TokenHandler.sol +27 -0
  256. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  257. package/contracts/shared/Versionable.sol +3 -3
  258. package/contracts/test/TestFee.sol +2 -2
  259. package/contracts/test/TestRoleId.sol +1 -1
  260. package/contracts/test/TestService.sol +3 -5
  261. package/contracts/types/DistributorType.sol +55 -0
  262. package/contracts/types/Fee.sol +3 -3
  263. package/contracts/types/Key32.sol +8 -3
  264. package/contracts/types/NumberId.sol +52 -0
  265. package/contracts/types/ObjectType.sol +35 -14
  266. package/contracts/types/Referral.sol +85 -0
  267. package/contracts/types/RoleId.sol +60 -9
  268. package/contracts/types/StateId.sol +5 -1
  269. package/contracts/types/Timestamp.sol +7 -3
  270. package/contracts/types/UFixed.sol +128 -12
  271. package/contracts/types/Version.sol +4 -1
  272. package/package.json +4 -3
  273. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  274. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  275. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  276. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  277. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  278. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  279. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  280. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  281. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  282. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +0 -10
  283. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  285. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  286. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  287. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  288. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  289. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  290. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  291. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  292. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  293. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  294. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  295. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  296. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  297. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  298. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  299. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  300. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  301. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  302. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  303. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  304. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  305. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  306. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  307. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  308. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  309. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  310. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  311. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  312. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  313. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  314. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  315. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  316. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  317. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  318. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  319. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  320. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  321. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  322. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  323. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  324. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  325. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  326. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  327. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  328. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  329. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  330. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  331. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  332. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  333. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  334. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  335. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  336. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  337. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  338. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  339. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  340. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  341. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  342. package/contracts/instance/IInstanceLinked.sol +0 -8
  343. package/contracts/instance/base/InstanceBase.sol +0 -89
  344. package/contracts/instance/base/ModuleBase.sol +0 -57
  345. package/contracts/instance/base/ServiceBase.sol +0 -43
  346. package/contracts/instance/module/access/Access.sol +0 -149
  347. package/contracts/instance/module/access/IAccess.sol +0 -53
  348. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  349. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  350. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  351. package/contracts/instance/module/component/IComponent.sol +0 -28
  352. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  353. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  354. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  355. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  356. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  357. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  358. package/contracts/instance/module/risk/IRisk.sol +0 -26
  359. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  360. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  361. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  362. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  363. package/contracts/instance/service/ProductService.sol +0 -509
  364. package/contracts/registry/IChainNft.sol +0 -22
  365. package/contracts/registry/IRegistryLinked.sol +0 -8
  366. package/contracts/registry/RegistryInstaller.sol +0 -100
  367. package/contracts/shared/IOwnable.sol +0 -6
  368. package/contracts/test/TestDistribution.sol +0 -22
  369. package/contracts/test/TestPool.sol +0 -27
  370. package/contracts/test/TestProduct.sol +0 -74
  371. package/contracts/types/ReferralId.sol +0 -48
@@ -1,8 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../registry/IRegistry.sol";
5
-
6
- interface IRegistryLinked {
7
- function getRegistry() external view returns (IRegistry registry);
8
- }
@@ -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
- }