@etherisc/gif-next 0.0.2-aa0bd77 → 0.0.2-aa33e53-965

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 (642) hide show
  1. package/README.md +483 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/access → authorization}/IAccess.sol/IAccess.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1244 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +949 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1850 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +848 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1285 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1480 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2045 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1423 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2471 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +714 -460
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1076 -0
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +835 -538
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2349 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2646 -0
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1322 -0
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +772 -0
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3784 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  101. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IBundle.sol/IBundle.json} +2 -2
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  103. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IComponents.sol/IComponents.json} +2 -2
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  105. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  106. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  107. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  108. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  109. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.json +10 -0
  110. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  111. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  116. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  118. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  120. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  122. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  124. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  126. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  128. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1250 -0
  130. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  132. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1454 -0
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +870 -0
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1041 -0
  138. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +905 -0
  140. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  141. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  142. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  143. package/artifacts/contracts/pool/Pool.sol/Pool.json +1025 -0
  144. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
  146. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  148. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +866 -0
  150. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  152. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +790 -0
  154. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  156. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  157. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  158. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1552 -0
  160. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +894 -0
  162. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  164. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  166. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  168. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  169. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  170. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  171. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1016 -0
  172. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  173. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +572 -0
  174. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  176. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  178. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +854 -0
  180. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  181. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  182. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +814 -0
  184. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  185. package/artifacts/contracts/product/Product.sol/Product.json +1117 -0
  186. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskService.sol/RiskService.json +780 -0
  188. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  189. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  190. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +295 -2
  192. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1065 -123
  194. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  195. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1072 -0
  196. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/component/IComponent.sol/IInstanceLinked.json → registry/IRelease.sol/IRelease.json} +6 -6
  198. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  199. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  200. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/Registry.sol/Registry.json +1570 -161
  202. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2147 -0
  204. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  206. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  207. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1298 -0
  208. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  209. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +773 -0
  210. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  212. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  214. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  216. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  218. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  219. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  220. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  221. package/artifacts/contracts/shared/Component.sol/Component.json +705 -0
  222. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1535 -0
  224. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +854 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  229. package/artifacts/contracts/{registry/IRegistry.sol/IOwnable.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  231. package/artifacts/contracts/{instance/access/IAccess.sol/IAccessCheckRole.json → shared/ContractLib.sol/ITargetHelper.json} +4 -9
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  235. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +630 -0
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  237. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +707 -0
  240. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  241. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +510 -0
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +146 -0
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  245. package/artifacts/contracts/{registry/IRegistry.sol/IRegisterable.json → shared/INftOwnable.sol/INftOwnable.json} +74 -74
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  247. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  249. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +348 -0
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegistryLinked.sol}/IRegistryLinked.json +5 -19
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  253. package/artifacts/contracts/shared/IService.sol/IService.json +428 -0
  254. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  255. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  256. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  257. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +795 -0
  258. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  259. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  260. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  262. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  263. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  264. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +228 -0
  266. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  268. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +397 -0
  270. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  272. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  273. package/artifacts/contracts/shared/Service.sol/Service.json +482 -0
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  278. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  279. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  280. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1646 -0
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1196 -0
  284. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/Staking.sol/Staking.json +2054 -0
  286. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  288. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +842 -0
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +616 -0
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1425 -0
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +782 -0
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  300. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  302. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  306. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  317. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  321. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  330. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  332. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  334. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +265 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  340. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  342. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  344. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  346. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  348. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  350. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  352. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  354. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  356. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  358. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  360. package/contracts/accounting/AccountingService.sol +274 -0
  361. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  362. package/contracts/accounting/IAccountingService.sol +47 -0
  363. package/contracts/authorization/AccessAdmin.sol +780 -0
  364. package/contracts/authorization/AccessAdminLib.sol +396 -0
  365. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  366. package/contracts/authorization/Authorization.sol +169 -0
  367. package/contracts/authorization/IAccess.sol +67 -0
  368. package/contracts/authorization/IAccessAdmin.sol +144 -0
  369. package/contracts/authorization/IAuthorization.sol +27 -0
  370. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  371. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  372. package/contracts/distribution/BasicDistribution.sol +141 -0
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  374. package/contracts/distribution/Distribution.sol +247 -0
  375. package/contracts/distribution/DistributionService.sol +448 -0
  376. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  377. package/contracts/distribution/IDistributionComponent.sol +45 -0
  378. package/contracts/distribution/IDistributionService.sol +115 -0
  379. package/contracts/examples/fire/DamageLevel.sol +59 -0
  380. package/contracts/examples/fire/FirePool.sol +86 -0
  381. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  382. package/contracts/examples/fire/FireProduct.sol +433 -0
  383. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  384. package/contracts/examples/fire/FireUSD.sol +26 -0
  385. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  386. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  388. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  389. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  390. package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
  391. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  392. package/contracts/instance/BundleSet.sol +130 -0
  393. package/contracts/instance/IInstance.sol +140 -15
  394. package/contracts/instance/IInstanceService.sol +116 -0
  395. package/contracts/instance/Instance.sol +327 -44
  396. package/contracts/instance/InstanceAdmin.sol +383 -0
  397. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  398. package/contracts/instance/InstanceReader.sol +632 -0
  399. package/contracts/instance/InstanceService.sol +524 -0
  400. package/contracts/instance/InstanceServiceManager.sol +39 -0
  401. package/contracts/instance/InstanceStore.sol +298 -0
  402. package/contracts/instance/RiskSet.sol +118 -0
  403. package/contracts/instance/base/BalanceStore.sol +121 -0
  404. package/contracts/instance/base/Cloneable.sol +28 -0
  405. package/contracts/instance/base/ObjectCounter.sol +20 -0
  406. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  407. package/contracts/instance/base/ObjectSet.sol +77 -0
  408. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  409. package/contracts/instance/module/IBundle.sol +21 -0
  410. package/contracts/instance/module/IComponents.sol +62 -0
  411. package/contracts/instance/module/IDistribution.sol +54 -0
  412. package/contracts/instance/module/IPolicy.sol +105 -0
  413. package/contracts/instance/module/IRisk.sol +16 -0
  414. package/contracts/mock/Dip.sol +26 -0
  415. package/contracts/oracle/BasicOracle.sol +45 -0
  416. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  417. package/contracts/oracle/IOracle.sol +41 -0
  418. package/contracts/oracle/IOracleComponent.sol +33 -0
  419. package/contracts/oracle/IOracleService.sol +66 -0
  420. package/contracts/oracle/Oracle.sol +154 -0
  421. package/contracts/oracle/OracleService.sol +310 -0
  422. package/contracts/oracle/OracleServiceManager.sol +39 -0
  423. package/contracts/pool/BasicPool.sol +173 -0
  424. package/contracts/pool/BasicPoolAuthorization.sol +82 -0
  425. package/contracts/pool/BundleService.sol +406 -0
  426. package/contracts/pool/BundleServiceManager.sol +39 -0
  427. package/contracts/pool/IBundleService.sol +121 -0
  428. package/contracts/pool/IPoolComponent.sol +62 -0
  429. package/contracts/pool/IPoolService.sol +170 -0
  430. package/contracts/pool/Pool.sol +343 -0
  431. package/contracts/pool/PoolLib.sol +359 -0
  432. package/contracts/pool/PoolService.sol +614 -0
  433. package/contracts/pool/PoolServiceManager.sol +39 -0
  434. package/contracts/product/ApplicationService.sol +327 -0
  435. package/contracts/product/ApplicationServiceManager.sol +38 -0
  436. package/contracts/product/BasicProduct.sol +49 -0
  437. package/contracts/product/BasicProductAuthorization.sol +63 -0
  438. package/contracts/product/ClaimService.sol +641 -0
  439. package/contracts/product/ClaimServiceManager.sol +38 -0
  440. package/contracts/product/IApplicationService.sol +88 -0
  441. package/contracts/product/IClaimService.sol +135 -0
  442. package/contracts/product/IPolicyService.sol +102 -0
  443. package/contracts/product/IPricingService.sol +40 -0
  444. package/contracts/product/IProductComponent.sol +62 -0
  445. package/contracts/product/IRiskService.sol +37 -0
  446. package/contracts/product/PolicyService.sol +645 -0
  447. package/contracts/product/PolicyServiceLib.sol +139 -0
  448. package/contracts/product/PolicyServiceManager.sol +39 -0
  449. package/contracts/product/PricingService.sol +306 -0
  450. package/contracts/product/PricingServiceManager.sol +39 -0
  451. package/contracts/product/Product.sol +472 -0
  452. package/contracts/product/RiskService.sol +163 -0
  453. package/contracts/product/RiskServiceManager.sol +39 -0
  454. package/contracts/registry/ChainNft.sol +176 -100
  455. package/contracts/registry/IRegistry.sol +158 -51
  456. package/contracts/registry/IRegistryService.sol +62 -0
  457. package/contracts/registry/IRelease.sol +29 -0
  458. package/contracts/registry/ITransferInterceptor.sol +6 -0
  459. package/contracts/registry/Registry.sol +671 -111
  460. package/contracts/registry/RegistryAdmin.sol +188 -0
  461. package/contracts/registry/RegistryAuthorization.sol +284 -0
  462. package/contracts/registry/RegistryService.sol +241 -0
  463. package/contracts/registry/RegistryServiceManager.sol +53 -0
  464. package/contracts/registry/ReleaseAdmin.sol +195 -0
  465. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  466. package/contracts/registry/ReleaseRegistry.sol +520 -0
  467. package/contracts/registry/ServiceAuthorizationV3.sol +345 -0
  468. package/contracts/registry/TokenRegistry.sol +314 -0
  469. package/contracts/shared/Component.sol +210 -0
  470. package/contracts/shared/ComponentService.sol +679 -0
  471. package/contracts/shared/ComponentServiceManager.sol +38 -0
  472. package/contracts/shared/ContractLib.sol +311 -0
  473. package/contracts/shared/IComponent.sol +58 -0
  474. package/contracts/shared/IComponentService.sol +111 -0
  475. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  476. package/contracts/shared/IKeyValueStore.sol +54 -0
  477. package/contracts/shared/ILifecycle.sol +31 -0
  478. package/contracts/shared/INftOwnable.sol +27 -0
  479. package/contracts/shared/IPolicyHolder.sol +35 -0
  480. package/contracts/shared/IRegisterable.sol +36 -0
  481. package/contracts/shared/IRegistryLinked.sol +11 -0
  482. package/contracts/shared/IService.sol +23 -0
  483. package/contracts/shared/InitializableERC165.sol +35 -0
  484. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  485. package/contracts/shared/KeyValueStore.sol +131 -0
  486. package/contracts/shared/Lifecycle.sol +88 -0
  487. package/contracts/shared/NftIdSet.sol +65 -0
  488. package/contracts/shared/NftOwnable.sol +129 -0
  489. package/contracts/shared/PolicyHolder.sol +63 -0
  490. package/contracts/shared/Registerable.sol +106 -0
  491. package/contracts/shared/RegistryLinked.sol +38 -0
  492. package/contracts/shared/Service.sol +67 -0
  493. package/contracts/shared/TokenHandler.sol +342 -0
  494. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  495. package/contracts/staking/IStaking.sol +195 -0
  496. package/contracts/staking/IStakingService.sol +170 -0
  497. package/contracts/staking/Staking.sol +605 -0
  498. package/contracts/staking/StakingLib.sol +281 -0
  499. package/contracts/staking/StakingLifecycle.sol +23 -0
  500. package/contracts/staking/StakingManager.sol +52 -0
  501. package/contracts/staking/StakingReader.sol +199 -0
  502. package/contracts/staking/StakingService.sol +468 -0
  503. package/contracts/staking/StakingServiceManager.sol +45 -0
  504. package/contracts/staking/StakingStore.sol +606 -0
  505. package/contracts/staking/TargetManagerLib.sol +211 -0
  506. package/contracts/type/AddressSet.sol +58 -0
  507. package/contracts/type/Amount.sol +150 -0
  508. package/contracts/type/Blocknumber.sol +142 -0
  509. package/contracts/type/ClaimId.sol +80 -0
  510. package/contracts/type/DistributorType.sol +55 -0
  511. package/contracts/type/Fee.sol +66 -0
  512. package/contracts/type/Key32.sol +50 -0
  513. package/contracts/type/Key32Set.sol +62 -0
  514. package/contracts/type/NftId.sol +85 -0
  515. package/contracts/type/NftIdSet.sol +62 -0
  516. package/contracts/type/ObjectType.sol +307 -0
  517. package/contracts/type/PayoutId.sol +82 -0
  518. package/contracts/type/Referral.sol +90 -0
  519. package/contracts/type/RequestId.sol +75 -0
  520. package/contracts/type/RiskId.sol +75 -0
  521. package/contracts/type/RoleId.sol +180 -0
  522. package/contracts/type/Seconds.sol +105 -0
  523. package/contracts/type/Selector.sol +107 -0
  524. package/contracts/type/StateId.sol +149 -0
  525. package/contracts/type/String.sol +65 -0
  526. package/contracts/type/Timestamp.sol +141 -0
  527. package/contracts/type/UFixed.sol +262 -0
  528. package/contracts/type/Version.sol +159 -0
  529. package/contracts/upgradeability/IVersionable.sol +56 -0
  530. package/contracts/upgradeability/ProxyManager.sol +246 -0
  531. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +20 -0
  532. package/contracts/upgradeability/Versionable.sol +62 -0
  533. package/package.json +26 -7
  534. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  535. package/artifacts/contracts/components/Component.sol/Component.json +0 -179
  536. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  537. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  538. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  539. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -179
  540. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  541. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -192
  542. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  543. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -195
  544. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  545. package/artifacts/contracts/components/Product.sol/Product.json +0 -213
  546. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  547. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  548. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  549. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  550. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  551. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  552. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  553. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  554. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  555. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  556. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  557. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  558. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  559. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  560. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  562. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  564. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  566. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  567. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  568. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  569. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  570. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  571. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  572. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  574. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -327
  576. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  577. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -105
  578. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  579. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  580. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -179
  581. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  582. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -245
  583. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
  585. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  586. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  587. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  588. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -231
  589. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -231
  591. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  592. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  593. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -149
  594. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  595. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -162
  596. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  597. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  598. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  599. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -114
  600. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  601. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  602. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  603. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -125
  604. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  605. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  606. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  607. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  608. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  609. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  610. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  611. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  612. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  613. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  614. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  615. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  616. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -10
  617. package/contracts/components/Component.sol +0 -62
  618. package/contracts/components/IPool.sol +0 -9
  619. package/contracts/components/IProduct.sol +0 -11
  620. package/contracts/components/Pool.sol +0 -29
  621. package/contracts/components/Product.sol +0 -65
  622. package/contracts/experiment/inheritance/A.sol +0 -56
  623. package/contracts/experiment/inheritance/B.sol +0 -23
  624. package/contracts/experiment/inheritance/C.sol +0 -28
  625. package/contracts/experiment/inheritance/IA.sol +0 -18
  626. package/contracts/experiment/inheritance/IB.sol +0 -9
  627. package/contracts/experiment/inheritance/IC.sol +0 -11
  628. package/contracts/experiment/types/TypeA.sol +0 -42
  629. package/contracts/experiment/types/TypeB.sol +0 -24
  630. package/contracts/instance/access/Access.sol +0 -218
  631. package/contracts/instance/access/IAccess.sol +0 -83
  632. package/contracts/instance/component/ComponentModule.sol +0 -259
  633. package/contracts/instance/component/IComponent.sol +0 -94
  634. package/contracts/instance/policy/IPolicy.sol +0 -66
  635. package/contracts/instance/policy/PolicyModule.sol +0 -106
  636. package/contracts/instance/pool/IPoolModule.sol +0 -40
  637. package/contracts/instance/pool/PoolModule.sol +0 -83
  638. package/contracts/instance/product/IProductService.sol +0 -45
  639. package/contracts/instance/product/ProductService.sol +0 -105
  640. package/contracts/registry/IChainNft.sol +0 -18
  641. package/contracts/types/ChainId.sol +0 -24
  642. package/contracts/types/NftId.sol +0 -25
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ed3ef11345a2570c641488ff5c975aca.json"
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "ChainIdLib",
4
- "sourceName": "contracts/types/ChainId.sol",
5
- "abi": [],
6
- "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dd3f9a8ead123d3fb63286326c7c66922df2a931f4f9084bb2d119acb033596d64736f6c63430008140033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dd3f9a8ead123d3fb63286326c7c66922df2a931f4f9084bb2d119acb033596d64736f6c63430008140033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
10
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ed3ef11345a2570c641488ff5c975aca.json"
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "NftIdLib",
4
- "sourceName": "contracts/types/NftId.sol",
5
- "abi": [],
6
- "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220032da13230c796286a3fa1acdd6b13903f9e4b1e749979d71d48a4930b7159c564736f6c63430008140033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220032da13230c796286a3fa1acdd6b13903f9e4b1e749979d71d48a4930b7159c564736f6c63430008140033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
10
- }
@@ -1,62 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry, IRegisterable, IRegistryLinked} from "../registry/IRegistry.sol";
5
- import {Registerable} from "../registry/Registry.sol";
6
- import {IInstance} from "../instance/IInstance.sol";
7
-
8
- import {IInstanceLinked, IComponent, IComponentContract, IComponentModule, IComponentOwnerService} from "../instance/component/IComponent.sol";
9
-
10
-
11
- contract InstanceLinked is
12
- IInstanceLinked
13
- {
14
- IInstance internal _instance;
15
-
16
- constructor(address instance) {
17
- _instance = IInstance(instance);
18
- }
19
-
20
- // function setInstance(address instance) public override {
21
- // require(address(_instance) == address(0), "ERROR:RGL-001:INSTANCE_ALREADY_SET");
22
- // _instance = IInstance(instance);
23
- // }
24
-
25
- function getInstance() public view override returns(IInstance instance) {
26
- return _instance;
27
- }
28
- }
29
-
30
-
31
- abstract contract Component is
32
- Registerable,
33
- InstanceLinked,
34
- IComponentContract
35
- {
36
-
37
- address private _deployer;
38
-
39
- constructor(address registry, address instance)
40
- Registerable(registry)
41
- InstanceLinked(instance)
42
- { }
43
-
44
- // from registerable
45
- function register()
46
- public
47
- override
48
- returns(uint256 componentId)
49
- {
50
- require(msg.sender == getInitialOwner(), "");
51
- require(address(_registry) != address(0), "ERROR:PRD-001:REGISTRY_ZERO");
52
- require(_registry.isRegistered(address(_instance)), "ERROR:PRD-002:INSTANCE_NOT_REGISTERED");
53
-
54
- IComponentOwnerService cos = _instance.getComponentOwnerService();
55
- componentId = cos.register(this);
56
- }
57
-
58
- // from registerable
59
- function getParentNftId() public view override returns(uint256) {
60
- return getInstance().getNftId();
61
- }
62
- }
@@ -1,9 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IComponentContract} from "../instance/component/IComponent.sol";
5
-
6
- // just marker interface for now
7
- interface IPoolComponent is
8
- IComponentContract
9
- { }
@@ -1,11 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IComponentContract} from "../instance/component/IComponent.sol";
5
-
6
- interface IProductComponent is
7
- IComponentContract
8
- {
9
-
10
- function getPoolNftId() external view returns(uint256 poolNftId);
11
- }
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IPoolComponent} from "./IPool.sol";
5
- import {Component} from "./Component.sol";
6
-
7
-
8
- contract Pool is
9
- Component,
10
- IPoolComponent
11
- {
12
-
13
- constructor(
14
- address registry,
15
- address instance
16
- )
17
- Component(registry, instance)
18
- { }
19
-
20
- // from registerable
21
- function getType() public view override returns(uint256) {
22
- return _registry.POOL();
23
- }
24
-
25
- // from registerable
26
- function getData() external view override returns(bytes memory data) {
27
- return bytes(abi.encode(getInstance().getNftId()));
28
- }
29
- }
@@ -1,65 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IProductService} from "../instance/product/IProductService.sol";
5
- import {Component} from "./Component.sol";
6
- import {IProductComponent} from "./IProduct.sol";
7
-
8
-
9
- contract Product is
10
- Component,
11
- IProductComponent
12
- {
13
- IProductService private _productService;
14
- address private _pool;
15
-
16
- constructor(
17
- address registry,
18
- address instance,
19
- address pool
20
- )
21
- Component(registry, instance)
22
- {
23
- _productService = _instance.getProductService();
24
- _pool = pool;
25
- }
26
-
27
- function _createApplication(
28
- address applicationOwner,
29
- uint256 sumInsuredAmount,
30
- uint256 premiumAmount,
31
- uint256 lifetime,
32
- uint256 bundleNftId
33
- )
34
- internal
35
- returns(uint256 nftId)
36
- {
37
- nftId = _productService.createApplication(
38
- applicationOwner,
39
- sumInsuredAmount,
40
- premiumAmount,
41
- lifetime,
42
- bundleNftId
43
- );
44
- }
45
-
46
- function _underwrite(uint256 nftId)
47
- internal
48
- {
49
- _productService.underwrite(nftId);
50
- }
51
-
52
- function getPoolNftId() external view override returns(uint256 poolNftId) {
53
- return _registry.getNftId(_pool);
54
- }
55
-
56
- // from registerable
57
- function getType() public view override returns(uint256) {
58
- return _registry.PRODUCT();
59
- }
60
-
61
- // from registerable
62
- function getData() external view override returns(bytes memory data) {
63
- return bytes(abi.encode(getInstance().getNftId()));
64
- }
65
- }
@@ -1,56 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IA, ISharedA} from "./IA.sol";
5
- import {B} from "./B.sol";
6
- import {C} from "./C.sol";
7
-
8
- /*
9
-
10
- # dependency graph
11
-
12
- B <...+
13
- ^ |
14
- | |
15
- A --> C
16
-
17
- - A is the main contract
18
- - A provides functionality implemented by modules B and C
19
- - B and C rely on functionality shared by A
20
- - C accesses functionality of module B
21
-
22
- # chisel session
23
-
24
- import {A} from "./contracts/experiment/A.sol";
25
- A a = new A();
26
- uint(a.getA())
27
- uint(a.getB()))
28
- uint(a.getC())
29
- uint(a.getAfromB())
30
- uint(a.getAfromC())
31
- uint(a.getBfromC())
32
- a.setA(100);
33
- a.setB(10);
34
- a.setC(20);
35
- */
36
-
37
- contract AShared is ISharedA {
38
-
39
- uint256 private _x;
40
-
41
- constructor() {
42
- _x = 42;
43
- }
44
-
45
- function getA() external view override returns(uint256) { return _x; }
46
- function setA(uint256 newA) external override { _x = newA; }
47
- }
48
-
49
- contract A is
50
- AShared,
51
- B,
52
- C,
53
- IA
54
- {
55
-
56
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
-
7
- abstract contract B is ISharedA, IB {
8
-
9
- // names of private variables can be re-used in inheritance
10
- uint256 private _x;
11
-
12
- constructor() {
13
- _x = 1;
14
- }
15
-
16
- // access own state
17
- function getB() external view override returns(uint256) { return _x; }
18
- function setB(uint256 newB) external override { _x = newB; }
19
-
20
- // access state from parent contract A
21
- function getAfromB() external view override returns(uint256) { return this.getA(); }
22
-
23
- }
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
- import {IC} from "./IC.sol";
7
-
8
- abstract contract C is ISharedA, IC {
9
-
10
- uint256 private _x;
11
-
12
- constructor() {
13
- _x = 2;
14
- }
15
-
16
- // access own state
17
- function getC() external view override returns(uint256) { return _x; }
18
- function setC(uint256 newC) external override { _x = newC; }
19
-
20
- // access state from parent contract A
21
- function getAfromC() external view override returns(uint256) { return this.getA(); }
22
-
23
- // access state from other module B
24
- function getBfromC() external view override returns(uint256) {
25
- IB b = IB(address(this));
26
- return b.getB();
27
- }
28
- }
@@ -1,18 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IB} from "./IB.sol";
5
- import {IC} from "./IC.sol";
6
-
7
- interface ISharedA {
8
-
9
- function getA() external view returns(uint256);
10
- function setA(uint256 newA) external;
11
- }
12
-
13
- interface IA is
14
- ISharedA,
15
- IB,
16
- IC
17
- {
18
- }
@@ -1,9 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IB {
5
-
6
- function getAfromB() external view returns(uint256);
7
- function getB() external view returns(uint256);
8
- function setB(uint256 newA) external;
9
- }
@@ -1,11 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IC {
5
-
6
- function getAfromC() external view returns(uint256);
7
- function getBfromC() external view returns(uint256);
8
-
9
- function getC() external view returns(uint256);
10
- function setC(uint256 newA) external;
11
- }
@@ -1,42 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
- # chisel session for user defined types
6
-
7
- import {TypeA, toTypeA} from "./contracts/experiment/types/TypeA.sol";
8
- TypeA a = toTypeA(1);
9
- TypeA b = toTypeA(2);
10
- uint(a.toInt())
11
- uint(b.toInt())
12
- a == b
13
- a != b
14
-
15
- import {TypeB, toTypeB} from "./contracts/experiment/types/TypeB.sol";
16
- TypeB x = toTypeB(33);
17
- uint(x.toInt())
18
- a == x; // -> error
19
- a.toInt() == x.toInt() // -> no error
20
- */
21
-
22
- // bytes5 allows for chain ids up to 13 digits
23
- type TypeA is uint248;
24
-
25
- // type bindings
26
- using {
27
- eqTypeA as ==,
28
- neTypeA as !=,
29
- TypeALib.toInt
30
- } for TypeA global;
31
-
32
- // general pure free functions
33
- function toTypeA(uint256 typeA) pure returns(TypeA) { return TypeA.wrap(uint248(typeA)); }
34
-
35
- // pure free functions for operators
36
- function eqTypeA(TypeA a, TypeA b) pure returns(bool isSame) { return TypeA.unwrap(a) == TypeA.unwrap(b); }
37
- function neTypeA(TypeA a, TypeA b) pure returns(bool isDifferent) { return TypeA.unwrap(a) != TypeA.unwrap(b); }
38
-
39
- // library functions that operate on user defined type
40
- library TypeALib {
41
- function toInt(TypeA typeA) internal pure returns(uint256) { return uint256(TypeA.unwrap(typeA)); }
42
- }
@@ -1,24 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // bytes5 allows for chain ids up to 13 digits
5
- type TypeB is uint248;
6
-
7
- // type bindings
8
- using {
9
- eqTypeB as ==,
10
- addTypeB as +,
11
- TypeBLib.toInt
12
- } for TypeB global;
13
-
14
- // general pure free functions
15
- function toTypeB(uint256 x) pure returns(TypeB) { return TypeB.wrap(uint248(x)); }
16
-
17
- // pure free functions for operators
18
- function eqTypeB(TypeB a, TypeB b) pure returns(bool isSame) { return TypeB.unwrap(a) == TypeB.unwrap(b); }
19
- function addTypeB(TypeB a, TypeB b) pure returns(TypeB sum) { return TypeB.wrap(TypeB.unwrap(a) + TypeB.unwrap(b)); }
20
-
21
- // library functions that operate on user defined type
22
- library TypeBLib {
23
- function toInt(TypeB b) internal pure returns(uint256) { return uint256(TypeB.unwrap(b)); }
24
- }
@@ -1,218 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // role admin handling of oz doesn't fit nft ownability
5
- // import {AccessControlEnumerable} from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
6
- import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
7
-
8
- import {IAccessModule} from "./IAccess.sol";
9
-
10
-
11
- abstract contract AccessModule is
12
- IAccessModule
13
- {
14
- string constant public PRODUCT_OWNER = "ProductOwner";
15
- string constant public ORACLE_OWNER = "OracleOwner";
16
- string constant public POOL_OWNER = "PoolOwner";
17
-
18
- using EnumerableSet for EnumerableSet.AddressSet;
19
-
20
- event LogAccessRoleGranted(bytes32 role, address member, bool isMember);
21
-
22
- mapping(bytes32 role => RoleInfo info) private _info;
23
- bytes32 [] private _roles;
24
-
25
- bytes32 private immutable _productOwnerRole;
26
- bytes32 private immutable _oracleOwnerRole;
27
- bytes32 private immutable _poolOwnerRole;
28
-
29
- mapping(bytes32 role => mapping(address member => bool isMember)) private _isRoleMember;
30
- mapping(bytes32 role => EnumerableSet.AddressSet) private _roleMembers;
31
-
32
- modifier onlyOwner() {
33
- require(msg.sender == this.getOwner(), "ERROR:ACM-001:NOT_OWNER");
34
- _;
35
- }
36
-
37
- constructor() {
38
- _productOwnerRole = _createRole(PRODUCT_OWNER);
39
- _oracleOwnerRole = _createRole(ORACLE_OWNER);
40
- _poolOwnerRole = _createRole(POOL_OWNER);
41
- }
42
-
43
- function PRODUCT_OWNER_ROLE() public view override returns(bytes32 role) { return _productOwnerRole; }
44
- function ORACLE_OWNER_ROLE() public view override returns(bytes32 role) { return _oracleOwnerRole; }
45
- function POOL_OWNER_ROLE() public view override returns(bytes32 role) { return _poolOwnerRole; }
46
-
47
-
48
- function createRole(string memory roleName)
49
- external
50
- override
51
- onlyOwner
52
- returns(bytes32 role)
53
- {
54
- return _createRole(roleName);
55
- }
56
-
57
- function _createRole(string memory roleName)
58
- internal
59
- returns(bytes32 role)
60
- {
61
- RoleInfo memory info = RoleInfo(
62
- 0,
63
- roleName,
64
- true
65
- );
66
-
67
- role = _setRoleInfo(info);
68
-
69
-
70
- }
71
-
72
- // TODO move to module
73
- function disableRole(bytes32 role)
74
- external
75
- override
76
- onlyOwner
77
- {
78
- RoleInfo memory info = _info[role];
79
- require(info.id == role, "ERROR:AOS-001:ROLE_DOES_NOT_EXIST");
80
-
81
- info.isActive = false;
82
- _setRoleInfo(info);
83
-
84
-
85
- }
86
-
87
- // TODO move to module
88
- function enableRole(bytes32 role)
89
- external
90
- override
91
- onlyOwner
92
- {
93
- RoleInfo memory info = _info[role];
94
- require(info.id == role, "ERROR:AOS-002:ROLE_DOES_NOT_EXIST");
95
-
96
- info.isActive = true;
97
- _setRoleInfo(info);
98
-
99
-
100
- }
101
-
102
- function grantRole(bytes32 role, address member)
103
- external
104
- override
105
- onlyOwner
106
- {
107
- require(_info[role].id == role, "ERROR:ACM-010:ROLE_NOT_EXISTING");
108
- require(_info[role].isActive, "ERROR:ACM-011:ROLE_NOT_ACTIVE");
109
-
110
- _isRoleMember[role][member] = true;
111
- _roleMembers[role].add(member);
112
-
113
- emit LogAccessRoleGranted(role, member, _isRoleMember[role][member]);
114
- }
115
-
116
-
117
- function revokeRole(bytes32 role, address member)
118
- external
119
- override
120
- onlyOwner
121
- {
122
- require(_info[role].id == role, "ERROR:ACM-020:ROLE_NOT_EXISTING");
123
-
124
- _isRoleMember[role][member] = false;
125
- _roleMembers[role].remove(member);
126
-
127
-
128
- }
129
-
130
-
131
- function hasRole(bytes32 role, address member)
132
- external
133
- view
134
- override
135
- returns(bool)
136
- {
137
- return _isRoleMember[role][member];
138
- }
139
-
140
-
141
- function getRoleInfo(bytes32 role)
142
- external
143
- override
144
- view
145
- returns(RoleInfo memory info)
146
- {
147
- return _info[role];
148
- }
149
-
150
-
151
- function getRole(uint256 idx)
152
- external
153
- override
154
- view
155
- returns(bytes32 role)
156
- {
157
- return _roles[idx];
158
- }
159
-
160
-
161
- function getRoleCount()
162
- external
163
- override
164
- view
165
- returns(uint256 roles)
166
- {
167
- return _roles.length;
168
- }
169
-
170
- function getRoleMemberCount(bytes32 role)
171
- public
172
- override
173
- view
174
- returns(uint256 roleMembers)
175
- {
176
- return _roleMembers[role].length();
177
- }
178
-
179
- function getRoleMember(bytes32 role, uint256 idx)
180
- public
181
- override
182
- view
183
- returns(address roleMembers)
184
- {
185
- return _roleMembers[role].at(idx);
186
- }
187
-
188
- function getRoleForName(string memory roleName)
189
- public
190
- override
191
- pure
192
- returns(bytes32 role)
193
- {
194
- return keccak256(abi.encode(roleName));
195
- }
196
-
197
-
198
- function _setRoleInfo(RoleInfo memory info)
199
- internal
200
- returns(bytes32 role)
201
- {
202
- role = info.id;
203
-
204
- if(role == bytes32(0)) {
205
- role = getRoleForName(info.name);
206
- // TODO check that this is a new role id
207
-
208
- info.id = role;
209
- _roles.push(role);
210
-
211
-
212
- }
213
-
214
- _info[role] = info;
215
-
216
-
217
- }
218
- }