@etherisc/gif-next 0.0.2-bc11089-132 → 0.0.2-bc7a257-709

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 (784) hide show
  1. package/README.md +138 -23
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1224 -0
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +930 -0
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1596 -0
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +876 -0
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +829 -0
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1071 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +420 -1308
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +456 -189
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +481 -2479
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2036 -0
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1665 -629
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +507 -444
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +350 -124
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3784 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  104. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  105. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  108. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  109. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  110. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  112. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  114. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +753 -0
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +854 -0
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1013 -0
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +772 -0
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1277 -0
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +808 -0
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  135. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +880 -0
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +886 -0
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  140. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  141. package/artifacts/contracts/pool/Pool.sol/Pool.json +1006 -0
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1606 -0
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +824 -0
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +895 -0
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +748 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1512 -0
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +856 -0
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  161. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +277 -302
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  167. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPricingService.sol/IPricingService.json} +315 -361
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +997 -0
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +199 -185
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1341 -0
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +812 -0
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  179. package/artifacts/contracts/product/PricingService.sol/PricingService.json +927 -0
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +772 -0
  182. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  183. package/artifacts/contracts/product/Product.sol/Product.json +1098 -0
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  189. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +679 -114
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +325 -229
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  195. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  198. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/Registry.sol/Registry.json +1017 -150
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2018 -0
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +312 -336
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  207. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +341 -123
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  217. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +352 -101
  218. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  219. package/artifacts/contracts/shared/Component.sol/Component.json +686 -0
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +816 -0
  224. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  225. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +158 -142
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +661 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  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/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +273 -183
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  237. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1127 -0
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +688 -0
  240. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  241. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  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 +1 -1
  249. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -15
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IService.sol/IService.json +137 -159
  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 +776 -0
  258. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  259. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
  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 +1 -1
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  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 +1 -1
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +159 -55
  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 +1 -1
  273. package/artifacts/contracts/shared/Service.sol/Service.json +156 -171
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  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 +1491 -0
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
  284. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/Staking.sol/Staking.json +1904 -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 +800 -0
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1396 -0
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +744 -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 +433 -0
  334. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -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 +132 -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 +55 -0
  354. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -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 +78 -0
  360. package/contracts/accounting/AccountingService.sol +261 -0
  361. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  362. package/contracts/accounting/IAccountingService.sol +45 -0
  363. package/contracts/authorization/AccessAdmin.sol +704 -0
  364. package/contracts/authorization/AccessAdminLib.sol +183 -0
  365. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  366. package/contracts/authorization/Authorization.sol +365 -0
  367. package/contracts/authorization/IAccess.sol +57 -0
  368. package/contracts/authorization/IAccessAdmin.sol +170 -0
  369. package/contracts/authorization/IAuthorization.sol +80 -0
  370. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  371. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  372. package/contracts/distribution/BasicDistribution.sol +141 -0
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  374. package/contracts/distribution/Distribution.sol +244 -0
  375. package/contracts/distribution/DistributionService.sol +389 -0
  376. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  377. package/contracts/distribution/IDistributionComponent.sol +43 -0
  378. package/contracts/distribution/IDistributionService.sol +103 -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 +373 -0
  391. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  392. package/contracts/instance/BundleSet.sol +130 -0
  393. package/contracts/instance/IInstance.sol +99 -55
  394. package/contracts/instance/IInstanceService.sol +71 -21
  395. package/contracts/instance/Instance.sol +220 -192
  396. package/contracts/instance/InstanceAdmin.sol +450 -0
  397. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  398. package/contracts/instance/InstanceReader.sol +415 -80
  399. package/contracts/instance/InstanceService.sol +387 -228
  400. package/contracts/instance/InstanceServiceManager.sol +14 -32
  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/{Cloneable.sol → base/Cloneable.sol} +4 -22
  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 +10 -9
  410. package/contracts/instance/module/IComponents.sol +62 -0
  411. package/contracts/instance/module/IDistribution.sol +25 -10
  412. package/contracts/instance/module/IPolicy.sol +81 -21
  413. package/contracts/instance/module/IRisk.sol +6 -1
  414. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  415. package/contracts/oracle/BasicOracle.sol +45 -0
  416. package/contracts/oracle/BasicOracleAuthorization.sol +37 -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 +76 -0
  425. package/contracts/pool/BundleService.sol +395 -0
  426. package/contracts/pool/BundleServiceManager.sol +39 -0
  427. package/contracts/pool/IBundleService.sol +115 -0
  428. package/contracts/pool/IPoolComponent.sol +62 -0
  429. package/contracts/pool/IPoolService.sol +165 -0
  430. package/contracts/pool/Pool.sol +343 -0
  431. package/contracts/pool/PoolLib.sol +309 -0
  432. package/contracts/pool/PoolService.sol +587 -0
  433. package/contracts/pool/PoolServiceManager.sol +39 -0
  434. package/contracts/product/ApplicationService.sol +278 -0
  435. package/contracts/product/ApplicationServiceManager.sol +38 -0
  436. package/contracts/product/BasicProduct.sol +49 -0
  437. package/contracts/product/BasicProductAuthorization.sol +56 -0
  438. package/contracts/product/ClaimService.sol +640 -0
  439. package/contracts/product/ClaimServiceManager.sol +38 -0
  440. package/contracts/product/IApplicationService.sol +69 -0
  441. package/contracts/product/IClaimService.sol +135 -0
  442. package/contracts/product/IPolicyService.sol +95 -0
  443. package/contracts/product/IPricingService.sol +40 -0
  444. package/contracts/product/IProductComponent.sol +62 -0
  445. package/contracts/product/IRiskService.sol +33 -0
  446. package/contracts/product/PolicyService.sol +640 -0
  447. package/contracts/product/PolicyServiceLib.sol +119 -0
  448. package/contracts/product/PolicyServiceManager.sol +39 -0
  449. package/contracts/product/PricingService.sol +309 -0
  450. package/contracts/product/PricingServiceManager.sol +39 -0
  451. package/contracts/product/Product.sol +467 -0
  452. package/contracts/product/RiskService.sol +154 -0
  453. package/contracts/product/RiskServiceManager.sol +39 -0
  454. package/contracts/registry/ChainNft.sol +82 -35
  455. package/contracts/registry/IRegistry.sol +126 -37
  456. package/contracts/registry/IRegistryService.sol +40 -28
  457. package/contracts/registry/IRelease.sol +29 -0
  458. package/contracts/registry/ITransferInterceptor.sol +1 -1
  459. package/contracts/registry/Registry.sol +555 -273
  460. package/contracts/registry/RegistryAdmin.sol +258 -0
  461. package/contracts/registry/RegistryAuthorization.sol +267 -0
  462. package/contracts/registry/RegistryService.sol +116 -233
  463. package/contracts/registry/RegistryServiceManager.sol +26 -53
  464. package/contracts/registry/ReleaseAdmin.sol +253 -0
  465. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  466. package/contracts/registry/ReleaseRegistry.sol +517 -0
  467. package/contracts/registry/ServiceAuthorizationV3.sol +332 -0
  468. package/contracts/registry/TokenRegistry.sol +264 -59
  469. package/contracts/shared/Component.sol +210 -0
  470. package/contracts/shared/ComponentService.sol +661 -0
  471. package/contracts/shared/ComponentServiceManager.sol +38 -0
  472. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  473. package/contracts/shared/ContractLib.sol +347 -0
  474. package/contracts/shared/IComponent.sol +58 -0
  475. package/contracts/shared/IComponentService.sol +110 -0
  476. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  477. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  478. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  479. package/contracts/shared/INftOwnable.sol +15 -12
  480. package/contracts/shared/IPolicyHolder.sol +35 -0
  481. package/contracts/shared/IRegisterable.sol +25 -5
  482. package/contracts/shared/IRegistryLinked.sol +11 -0
  483. package/contracts/shared/IService.sol +13 -5
  484. package/contracts/shared/InitializableERC165.sol +35 -0
  485. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  486. package/contracts/shared/KeyValueStore.sol +131 -0
  487. package/contracts/shared/Lifecycle.sol +88 -0
  488. package/contracts/shared/NftIdSet.sol +65 -0
  489. package/contracts/shared/NftOwnable.sol +75 -82
  490. package/contracts/shared/PolicyHolder.sol +62 -0
  491. package/contracts/shared/Registerable.sol +54 -38
  492. package/contracts/shared/RegistryLinked.sol +38 -0
  493. package/contracts/shared/Service.sol +43 -33
  494. package/contracts/shared/TokenHandler.sol +327 -12
  495. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  496. package/contracts/staking/IStaking.sol +179 -0
  497. package/contracts/staking/IStakingService.sol +175 -0
  498. package/contracts/staking/Staking.sol +546 -0
  499. package/contracts/staking/StakingLib.sol +281 -0
  500. package/contracts/staking/StakingLifecycle.sol +23 -0
  501. package/contracts/staking/StakingManager.sol +52 -0
  502. package/contracts/staking/StakingReader.sol +180 -0
  503. package/contracts/staking/StakingService.sol +467 -0
  504. package/contracts/staking/StakingServiceManager.sol +45 -0
  505. package/contracts/staking/StakingStore.sol +606 -0
  506. package/contracts/staking/TargetManagerLib.sol +211 -0
  507. package/contracts/{types → type}/AddressSet.sol +1 -1
  508. package/contracts/type/Amount.sol +150 -0
  509. package/contracts/{types → type}/Blocknumber.sol +27 -3
  510. package/contracts/type/ClaimId.sol +80 -0
  511. package/contracts/{types → type}/DistributorType.sol +2 -2
  512. package/contracts/type/Fee.sol +66 -0
  513. package/contracts/{types → type}/Key32.sol +2 -2
  514. package/contracts/type/Key32Set.sol +62 -0
  515. package/contracts/{types → type}/NftId.sol +28 -15
  516. package/contracts/{types → type}/NftIdSet.sol +2 -2
  517. package/contracts/type/ObjectType.sol +294 -0
  518. package/contracts/type/PayoutId.sol +82 -0
  519. package/contracts/{types → type}/Referral.sol +6 -1
  520. package/contracts/type/RequestId.sol +75 -0
  521. package/contracts/type/RiskId.sol +75 -0
  522. package/contracts/type/RoleId.sol +182 -0
  523. package/contracts/type/Seconds.sol +101 -0
  524. package/contracts/type/Selector.sol +107 -0
  525. package/contracts/{types → type}/StateId.sol +48 -4
  526. package/contracts/type/String.sol +53 -0
  527. package/contracts/{types → type}/Timestamp.sol +33 -19
  528. package/contracts/type/UFixed.sol +262 -0
  529. package/contracts/{types → type}/Version.sol +59 -7
  530. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  531. package/contracts/upgradeability/ProxyManager.sol +234 -0
  532. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  533. package/contracts/upgradeability/Versionable.sol +59 -0
  534. package/package.json +12 -8
  535. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  536. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  537. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -772
  538. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  539. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -384
  540. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  541. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  542. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  543. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  544. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  545. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  546. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  547. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -967
  548. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  549. package/artifacts/contracts/components/Product.sol/Product.json +0 -883
  550. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  551. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  552. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  553. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  554. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  555. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  556. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  557. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  558. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  559. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  560. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  562. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  564. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  566. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  568. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  570. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  573. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  575. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  577. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  579. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  581. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  583. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  585. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  587. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  589. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  590. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  591. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  592. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  593. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  594. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  595. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  596. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1057
  597. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  598. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  599. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  600. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  601. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  603. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  604. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  605. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  606. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  607. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  608. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  609. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  610. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  611. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -243
  612. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  613. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  615. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  616. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  617. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -440
  618. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  619. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  620. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  621. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -684
  622. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  623. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  624. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  625. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  626. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  627. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  628. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  629. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  630. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -499
  631. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  632. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -536
  633. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  634. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -984
  635. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  636. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  637. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  638. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -718
  639. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  640. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -428
  641. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  642. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -768
  643. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  644. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  645. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  646. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  647. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  648. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  649. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  650. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  651. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  652. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  653. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  654. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  655. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  656. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  657. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  658. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  659. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  660. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  661. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  662. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  663. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  664. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  665. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  666. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  667. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  668. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  669. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  670. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  671. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  672. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  673. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  674. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  675. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  676. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  677. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  679. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  680. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  681. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  682. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  683. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  684. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  685. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  686. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  687. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  688. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  689. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  690. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  691. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  692. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  693. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  694. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  695. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  696. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  697. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  699. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  701. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  703. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  705. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  707. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  709. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  711. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  713. package/contracts/components/BaseComponent.sol +0 -148
  714. package/contracts/components/Distribution.sol +0 -163
  715. package/contracts/components/IBaseComponent.sol +0 -32
  716. package/contracts/components/IDistributionComponent.sol +0 -44
  717. package/contracts/components/IPoolComponent.sol +0 -66
  718. package/contracts/components/IProductComponent.sol +0 -35
  719. package/contracts/components/Pool.sol +0 -271
  720. package/contracts/components/Product.sol +0 -292
  721. package/contracts/experiment/cloning/Cloner.sol +0 -47
  722. package/contracts/experiment/errors/Require.sol +0 -38
  723. package/contracts/experiment/errors/Revert.sol +0 -44
  724. package/contracts/experiment/inheritance/A.sol +0 -53
  725. package/contracts/experiment/inheritance/B.sol +0 -28
  726. package/contracts/experiment/inheritance/C.sol +0 -34
  727. package/contracts/experiment/inheritance/IA.sol +0 -13
  728. package/contracts/experiment/inheritance/IB.sol +0 -10
  729. package/contracts/experiment/inheritance/IC.sol +0 -12
  730. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  731. package/contracts/experiment/statemachine/ISM.sol +0 -25
  732. package/contracts/experiment/statemachine/SM.sol +0 -57
  733. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  734. package/contracts/experiment/types/TypeA.sol +0 -47
  735. package/contracts/experiment/types/TypeB.sol +0 -29
  736. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  737. package/contracts/instance/BundleManager.sol +0 -129
  738. package/contracts/instance/IInstanceBase.sol +0 -26
  739. package/contracts/instance/InstanceAccessManager.sol +0 -304
  740. package/contracts/instance/InstanceBase.sol +0 -41
  741. package/contracts/instance/ObjectManager.sol +0 -101
  742. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  743. package/contracts/instance/base/IInstanceBase.sol +0 -23
  744. package/contracts/instance/base/KeyValueStore.sol +0 -172
  745. package/contracts/instance/base/Lifecycle.sol +0 -100
  746. package/contracts/instance/module/IAccess.sol +0 -48
  747. package/contracts/instance/module/ISetup.sol +0 -46
  748. package/contracts/instance/module/ITreasury.sol +0 -23
  749. package/contracts/instance/service/BundleService.sol +0 -260
  750. package/contracts/instance/service/BundleServiceManager.sol +0 -54
  751. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  752. package/contracts/instance/service/DistributionService.sol +0 -118
  753. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  754. package/contracts/instance/service/IBundleService.sol +0 -45
  755. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  756. package/contracts/instance/service/IDistributionService.sol +0 -12
  757. package/contracts/instance/service/IPolicyService.sol +0 -87
  758. package/contracts/instance/service/IPoolService.sol +0 -20
  759. package/contracts/instance/service/IProductService.sol +0 -40
  760. package/contracts/instance/service/PolicyService.sol +0 -508
  761. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  762. package/contracts/instance/service/PoolService.sol +0 -124
  763. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  764. package/contracts/instance/service/ProductService.sol +0 -173
  765. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  766. package/contracts/shared/ContractDeployerLib.sol +0 -72
  767. package/contracts/shared/ERC165.sol +0 -25
  768. package/contracts/shared/ProxyManager.sol +0 -94
  769. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  770. package/contracts/shared/Versionable.sol +0 -147
  771. package/contracts/test/TestFee.sol +0 -25
  772. package/contracts/test/TestRegisterable.sol +0 -18
  773. package/contracts/test/TestRoleId.sol +0 -14
  774. package/contracts/test/TestService.sol +0 -24
  775. package/contracts/test/TestToken.sol +0 -26
  776. package/contracts/test/TestVersion.sol +0 -44
  777. package/contracts/test/TestVersionable.sol +0 -17
  778. package/contracts/types/ChainId.sol +0 -38
  779. package/contracts/types/Fee.sol +0 -56
  780. package/contracts/types/NumberId.sol +0 -52
  781. package/contracts/types/ObjectType.sol +0 -152
  782. package/contracts/types/RiskId.sol +0 -43
  783. package/contracts/types/RoleId.sol +0 -91
  784. package/contracts/types/UFixed.sol +0 -325
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {ObjectType} from "./ObjectType.sol";
@@ -14,32 +14,34 @@ using {
14
14
  NftIdLib.toInt,
15
15
  NftIdLib.gtz,
16
16
  NftIdLib.eqz,
17
+ NftIdLib.eq,
17
18
  NftIdLib.toKeyId,
18
19
  NftIdLib.toKey32
19
20
  } for NftId global;
20
21
 
21
- // general pure free functions
22
- /// @dev Converts the uint256 to a NftId.
23
- function toNftId(uint256 id) pure returns (NftId) {
24
- return NftId.wrap(uint96(id));
25
- }
26
-
27
- /// @dev Return the NftId zero (0)
28
- function zeroNftId() pure returns (NftId) {
29
- return NftId.wrap(0);
30
- }
31
-
32
22
  // pure free functions for operators
33
23
  function eqNftId(NftId a, NftId b) pure returns (bool isSame) {
34
- return NftId.unwrap(a) == NftId.unwrap(b);
24
+ return NftIdLib.eq(a, b);
35
25
  }
36
26
 
37
27
  function neNftId(NftId a, NftId b) pure returns (bool isDifferent) {
38
- return NftId.unwrap(a) != NftId.unwrap(b);
28
+ return NftIdLib.ne(a, b);
39
29
  }
40
30
 
41
31
  // library functions that operate on user defined type
42
32
  library NftIdLib {
33
+
34
+ /// @dev the zero nft id
35
+ /// is never a valid nft id and implies a non-initialized value
36
+ function zero() public pure returns (NftId) {
37
+ return NftId.wrap(0);
38
+ }
39
+
40
+ /// @dev Converts the uint256 to a NftId.
41
+ function toNftId(uint256 id) public pure returns (NftId) {
42
+ return NftId.wrap(uint96(id));
43
+ }
44
+
43
45
  /// @dev Converts the NftId to a uint256.
44
46
  function toInt(NftId nftId) public pure returns (uint96) {
45
47
  return uint96(NftId.unwrap(nftId));
@@ -57,7 +59,12 @@ library NftIdLib {
57
59
 
58
60
  /// @dev Returns true if the values are equal (==).
59
61
  function eq(NftId a, NftId b) public pure returns (bool isSame) {
60
- return eqNftId(a, b);
62
+ return NftId.unwrap(a) == NftId.unwrap(b);
63
+ }
64
+
65
+ /// @dev Returns true if the values are not equal (!=).
66
+ function ne(NftId a, NftId b) public pure returns (bool isSame) {
67
+ return NftId.unwrap(a) != NftId.unwrap(b);
61
68
  }
62
69
 
63
70
  /// @dev Returns the key32 value for the specified nft id and object type.
@@ -69,4 +76,10 @@ library NftIdLib {
69
76
  function toKeyId(NftId id) public pure returns (KeyId keyId) {
70
77
  return KeyId.wrap(bytes31(uint248(NftId.unwrap(id))));
71
78
  }
79
+
80
+ function toNftId(KeyId keyId) public pure returns (NftId nftId) {
81
+ uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId)));
82
+ assert(keyIdInt < type(uint96).max);
83
+ return NftId.wrap(uint96(keyIdInt));
84
+ }
72
85
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../types/NftId.sol";
4
+ import {NftId} from "../type/NftId.sol";
5
5
 
6
6
  // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
7
7
  library LibNftIdSet {
@@ -0,0 +1,294 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {VersionPart} from "./Version.sol";
5
+
6
+ type ObjectType is uint8;
7
+
8
+ // type bindings
9
+ using {
10
+ eqObjectType as ==,
11
+ neObjectType as !=,
12
+ ObjectTypeLib.toInt,
13
+ ObjectTypeLib.eqz,
14
+ ObjectTypeLib.eq,
15
+ ObjectTypeLib.gtz
16
+ } for ObjectType global;
17
+
18
+
19
+ //--- GIF object types/domains (rage: 1 - 99) -------------------------------//
20
+
21
+ function PROTOCOL() pure returns (ObjectType) {
22
+ return ObjectType.wrap(1);
23
+ }
24
+
25
+ function REGISTRY() pure returns (ObjectType) {
26
+ return ObjectType.wrap(2);
27
+ }
28
+
29
+ function STAKING() pure returns (ObjectType) {
30
+ return ObjectType.wrap(3);
31
+ }
32
+
33
+ function RELEASE() pure returns (ObjectType) {
34
+ return ObjectType.wrap(6);
35
+ }
36
+
37
+ function ROLE() pure returns (ObjectType) {
38
+ return ObjectType.wrap(7);
39
+ }
40
+
41
+ function SERVICE() pure returns (ObjectType) {
42
+ return ObjectType.wrap(8);
43
+ }
44
+
45
+ function INSTANCE() pure returns (ObjectType) {
46
+ return ObjectType.wrap(10);
47
+ }
48
+
49
+ /// @dev Generic component object type.
50
+ /// Component role id range is 11-19.
51
+ /// Stick to this range for new component object types.
52
+ function COMPONENT() pure returns (ObjectType) {
53
+ return ObjectType.wrap(11);
54
+ }
55
+
56
+ /// @dev Product object type.
57
+ /// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol).
58
+ /// Do not change this value without updating the corresponding role id calculation.
59
+ function PRODUCT() pure returns (ObjectType) {
60
+ return ObjectType.wrap(12);
61
+ }
62
+
63
+ function ORACLE() pure returns (ObjectType) {
64
+ return ObjectType.wrap(13);
65
+ }
66
+
67
+ function DISTRIBUTION() pure returns (ObjectType) {
68
+ return ObjectType.wrap(14);
69
+ }
70
+
71
+ function POOL() pure returns (ObjectType) {
72
+ return ObjectType.wrap(15);
73
+ }
74
+
75
+ /// @dev Application object type.
76
+ /// Range for NFT objects created thorugh components is 20-29.
77
+ function APPLICATION() pure returns (ObjectType) {
78
+ return ObjectType.wrap(20);
79
+ }
80
+
81
+ function POLICY() pure returns (ObjectType) {
82
+ return ObjectType.wrap(21);
83
+ }
84
+
85
+ function BUNDLE() pure returns (ObjectType) {
86
+ return ObjectType.wrap(22);
87
+ }
88
+
89
+ function DISTRIBUTOR() pure returns (ObjectType) {
90
+ return ObjectType.wrap(23);
91
+ }
92
+
93
+ /// @dev Stake object type.
94
+ /// NFT object type is 30
95
+ function STAKE() pure returns (ObjectType) {
96
+ return ObjectType.wrap(30);
97
+ }
98
+
99
+ /// @dev Staking target object type.
100
+ function TARGET() pure returns (ObjectType) {
101
+ return ObjectType.wrap(31);
102
+ }
103
+
104
+ /// @dev Accounting object type.
105
+ /// Range for non-NFT types created through components is 40+
106
+ function ACCOUNTING() pure returns (ObjectType) {
107
+ return ObjectType.wrap(40);
108
+ }
109
+
110
+ function FEE() pure returns (ObjectType) {
111
+ return ObjectType.wrap(41);
112
+ }
113
+
114
+ function PRICE() pure returns (ObjectType) {
115
+ return ObjectType.wrap(42);
116
+ }
117
+
118
+ function PREMIUM() pure returns (ObjectType) {
119
+ return ObjectType.wrap(43);
120
+ }
121
+
122
+ function RISK() pure returns (ObjectType) {
123
+ return ObjectType.wrap(44);
124
+ }
125
+
126
+ function CLAIM() pure returns (ObjectType) {
127
+ return ObjectType.wrap(45);
128
+ }
129
+
130
+ function PAYOUT() pure returns (ObjectType) {
131
+ return ObjectType.wrap(46);
132
+ }
133
+
134
+ function REQUEST() pure returns (ObjectType) {
135
+ return ObjectType.wrap(47);
136
+ }
137
+
138
+ function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
139
+ return ObjectType.wrap(48);
140
+ }
141
+
142
+ function REFERRAL() pure returns (ObjectType) {
143
+ return ObjectType.wrap(49);
144
+ }
145
+
146
+
147
+
148
+ /// @dev Object type that includes any other object type.
149
+ /// Note that eq()/'==' does not take this property into account.
150
+ function ALL() pure returns (ObjectType) {
151
+ return ObjectType.wrap(99);
152
+ }
153
+
154
+ // other pure free functions for operators
155
+ function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
156
+ return ObjectType.unwrap(a) == ObjectType.unwrap(b);
157
+ }
158
+
159
+ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
160
+ return ObjectType.unwrap(a) != ObjectType.unwrap(b);
161
+ }
162
+
163
+ // library functions that operate on user defined type
164
+ library ObjectTypeLib {
165
+
166
+ function zero() public pure returns (ObjectType) {
167
+ return ObjectType.wrap(0);
168
+ }
169
+
170
+ /// @dev Converts the uint256 into ObjectType.
171
+ function toObjectType(uint256 objectType) public pure returns (ObjectType) {
172
+ return ObjectType.wrap(uint8(objectType));
173
+ }
174
+
175
+ /// @dev Converts the NftId to a uint256.
176
+ function toInt(ObjectType objectType) public pure returns (uint96) {
177
+ return uint96(ObjectType.unwrap(objectType));
178
+ }
179
+
180
+ /// @dev Returns true if the value is non-zero (> 0).
181
+ function gtz(ObjectType a) public pure returns (bool) {
182
+ return ObjectType.unwrap(a) > 0;
183
+ }
184
+
185
+ /// @dev Returns true if the value is zero (== 0).
186
+ function eqz(ObjectType a) public pure returns (bool) {
187
+ return ObjectType.unwrap(a) == 0;
188
+ }
189
+
190
+ /// @dev Returns true if the values are equal (==).
191
+ function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
192
+ return ObjectType.unwrap(a) == ObjectType.unwrap(b);
193
+ }
194
+
195
+ /// @dev Returns true if the values are not equal (!=).
196
+ function ne(ObjectType a, ObjectType b) public pure returns (bool isSame) {
197
+ return ObjectType.unwrap(a) != ObjectType.unwrap(b);
198
+ }
199
+
200
+ /// @dev Returns the type/domain name for the provided object type
201
+ function toName(ObjectType objectType) public pure returns (string memory name) {
202
+ if (objectType == REGISTRY()) {
203
+ return "Registry";
204
+ } else if (objectType == STAKING()) {
205
+ return "Staking";
206
+ } else if (objectType == INSTANCE()) {
207
+ return "Instance";
208
+ } else if (objectType == COMPONENT()) {
209
+ return "Component";
210
+ } else if (objectType == PRODUCT()) {
211
+ return "Product";
212
+ } else if (objectType == ORACLE()) {
213
+ return "Oracle";
214
+ } else if (objectType == DISTRIBUTION()) {
215
+ return "Distribution";
216
+ } else if (objectType == POOL()) {
217
+ return "Pool";
218
+ } else if (objectType == APPLICATION()) {
219
+ return "Application";
220
+ } else if (objectType == POLICY()) {
221
+ return "Policy";
222
+ } else if (objectType == CLAIM()) {
223
+ return "Claim";
224
+ } else if (objectType == PRICE()) {
225
+ return "Price";
226
+ } else if (objectType == BUNDLE()) {
227
+ return "Bundle";
228
+ } else if (objectType == RISK()) {
229
+ return "Risk";
230
+ } else if (objectType == ACCOUNTING()) {
231
+ return "Accounting";
232
+ }
233
+
234
+ // fallback: ObjectType<obect-type-int>
235
+ return string(
236
+ abi.encodePacked(
237
+ "ObjectType",
238
+ toString(
239
+ toInt(objectType))));
240
+ }
241
+
242
+ function toVersionedName(
243
+ string memory name,
244
+ string memory suffix,
245
+ VersionPart release
246
+ )
247
+ external
248
+ pure
249
+ returns (string memory versionedName)
250
+ {
251
+ string memory versionName = "_v0";
252
+
253
+ if (release.toInt() >= 10) {
254
+ versionName = "_v";
255
+ }
256
+
257
+ versionedName = string(
258
+ abi.encodePacked(
259
+ name,
260
+ suffix,
261
+ versionName,
262
+ release.toString()));
263
+ }
264
+
265
+ /// @dev returns the provied int as a string
266
+ function toString(uint256 value) public pure returns (string memory name) {
267
+
268
+ if (value == 0) {
269
+ return "0";
270
+ }
271
+
272
+ uint256 temp = value;
273
+ uint256 digits = 0;
274
+ while (temp != 0) {
275
+ digits++;
276
+ temp /= 10;
277
+ }
278
+
279
+ bytes memory buffer = new bytes(digits);
280
+ uint index = digits - 1;
281
+
282
+ temp = value;
283
+ while (temp != 0) {
284
+ buffer[index] = bytes1(uint8(48 + temp % 10));
285
+ temp /= 10;
286
+
287
+ if (index > 0) {
288
+ index--;
289
+ }
290
+ }
291
+
292
+ return string(buffer);
293
+ }
294
+ }
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
5
+ type PayoutId is uint40;
6
+
7
+ import {ClaimId} from "./ClaimId.sol";
8
+ import {PAYOUT} from "./ObjectType.sol";
9
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
10
+ import {NftId} from "./NftId.sol";
11
+
12
+ // type bindings
13
+ using {
14
+ eqPayoutId as ==,
15
+ nePayoutId as !=,
16
+ PayoutIdLib.eqz,
17
+ PayoutIdLib.gtz,
18
+ PayoutIdLib.toInt,
19
+ PayoutIdLib.toClaimId,
20
+ PayoutIdLib.toPayoutNo,
21
+ PayoutIdLib.toKey32
22
+ } for PayoutId global;
23
+
24
+
25
+ // pure free functions for operators
26
+ function eqPayoutId(PayoutId a, PayoutId b) pure returns (bool isSame) {
27
+ return PayoutId.unwrap(a) == PayoutId.unwrap(b);
28
+ }
29
+
30
+ function nePayoutId(PayoutId a, PayoutId b) pure returns (bool isDifferent) {
31
+ return PayoutId.unwrap(a) != PayoutId.unwrap(b);
32
+ }
33
+
34
+ // library functions that operate on user defined type
35
+ library PayoutIdLib {
36
+ /// @dev Converts the PayoutId to a uint.
37
+ function zero() public pure returns (PayoutId) {
38
+ return PayoutId.wrap(0);
39
+ }
40
+
41
+ /// @dev Converts an uint into a PayoutId.
42
+ function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
44
+ }
45
+
46
+ function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
48
+ }
49
+
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
51
+ return uint24(PayoutId.unwrap(payoutId) & 16777215);
52
+ }
53
+
54
+ /// @dev Converts the PayoutId to a uint.
55
+ function toInt(PayoutId a) public pure returns (uint40) {
56
+ return PayoutId.unwrap(a);
57
+ }
58
+
59
+ /// @dev Returns true if the value is non-zero (> 0).
60
+ function gtz(PayoutId a) public pure returns (bool) {
61
+ return PayoutId.unwrap(a) > 0;
62
+ }
63
+
64
+ /// @dev Returns true if the value is zero (== 0).
65
+ function eqz(PayoutId a) public pure returns (bool) {
66
+ return PayoutId.unwrap(a) == 0;
67
+ }
68
+
69
+ /// @dev Converts the PayoutId and NftId to a Key32.
70
+ function toKey32(PayoutId payoutId, NftId policyNftId) public pure returns (Key32) {
71
+ return Key32Lib.toKey32(PAYOUT(), toKeyId(payoutId, policyNftId));
72
+ }
73
+
74
+ /// @dev Converts the PayoutId and NftId to a Key32.
75
+ function toKeyId(PayoutId payoutId, NftId policyNftId) public pure returns (KeyId) {
76
+ return KeyId.wrap(
77
+ bytes31(
78
+ bytes15(
79
+ uint120(
80
+ (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
81
+ }
82
+ }
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {NftId} from "./NftId.sol";
@@ -12,6 +12,7 @@ type ReferralStatus is uint8;
12
12
  using {
13
13
  eqReferralId as ==,
14
14
  neReferralId as !=,
15
+ ReferralLib.eqz,
15
16
  ReferralLib.toKey32
16
17
  } for ReferralId global;
17
18
 
@@ -82,4 +83,8 @@ library ReferralLib {
82
83
  function toKeyId(ReferralId id) public pure returns (KeyId keyId) {
83
84
  return KeyId.wrap(bytes31(ReferralId.unwrap(id)));
84
85
  }
86
+
87
+ function eqz(ReferralId id) public pure returns (bool) {
88
+ return eqReferralId(id, zero());
89
+ }
85
90
  }
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {REQUEST} from "./ObjectType.sol";
6
+
7
+ type RequestId is uint64;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRequestId as ==,
12
+ neRequestId as !=,
13
+ RequestIdLib.eqz,
14
+ RequestIdLib.gtz,
15
+ RequestIdLib.toInt,
16
+ RequestIdLib.toKey32
17
+ } for RequestId global;
18
+
19
+ // general pure free functions
20
+
21
+ function eqRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
22
+ return RequestIdLib.eq(a, b);
23
+ }
24
+
25
+ function neRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
26
+ return RequestIdLib.ne(a, b);
27
+ }
28
+
29
+ library RequestIdLib {
30
+
31
+ // @dev zero element to refer to a non existing/initialized request
32
+ function zero() public pure returns (RequestId) {
33
+ return RequestId.wrap(0);
34
+ }
35
+
36
+ // @dev Converts an int id into a request id.
37
+ function toRequestId(uint256 id) public pure returns (RequestId) {
38
+ return RequestId.wrap(uint64(id));
39
+ }
40
+
41
+ // @dev Converts a request id back to an int value.
42
+ function toInt(RequestId requestId) public pure returns (uint256) {
43
+ return RequestId.unwrap(requestId);
44
+ }
45
+
46
+ // @dev Returns true iff request id a == 0
47
+ function eqz(RequestId a) public pure returns (bool) {
48
+ return RequestId.unwrap(a) == 0;
49
+ }
50
+
51
+ // @dev Returns true iff request id a > 0
52
+ function gtz(RequestId a) public pure returns (bool) {
53
+ return RequestId.unwrap(a) > 0;
54
+ }
55
+
56
+ // @dev Returns true iff risk ids a and b are identical
57
+ function eq(RequestId a, RequestId b) public pure returns (bool isSame) {
58
+ return RequestId.unwrap(a) == RequestId.unwrap(b);
59
+ }
60
+
61
+ // @dev Returns true iff risk ids a and b are different
62
+ function ne(RequestId a, RequestId b) public pure returns (bool isSame) {
63
+ return RequestId.unwrap(a) != RequestId.unwrap(b);
64
+ }
65
+
66
+ /// @dev Returns the key32 value for the specified nft id and object type.
67
+ function toKey32(RequestId id) public pure returns (Key32 key) {
68
+ return Key32Lib.toKey32(REQUEST(), toKeyId(id));
69
+ }
70
+
71
+ /// @dev Returns the key id value for the specified nft id
72
+ function toKeyId(RequestId id) public pure returns (KeyId keyId) {
73
+ return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
74
+ }
75
+ }
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {NftId} from "./NftId.sol";
6
+ import {RISK} from "./ObjectType.sol";
7
+
8
+ type RiskId is bytes8;
9
+
10
+ // type bindings
11
+ using {
12
+ eqRiskId as ==,
13
+ neRiskId as !=,
14
+ RiskIdLib.eq,
15
+ RiskIdLib.eqz,
16
+ RiskIdLib.gtz,
17
+ RiskIdLib.toInt,
18
+ RiskIdLib.toKeyId,
19
+ RiskIdLib.toKey32
20
+ } for RiskId global;
21
+
22
+ // general pure free functions
23
+
24
+ // @dev Returns true iff risk ids a and b are identical
25
+ function eqRiskId(RiskId a, RiskId b) pure returns (bool isSame) {
26
+ return RiskId.unwrap(a) == RiskId.unwrap(b);
27
+ }
28
+
29
+ // @dev Returns true iff risk ids a and b are different
30
+ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
31
+ return RiskId.unwrap(a) != RiskId.unwrap(b);
32
+ }
33
+
34
+ library RiskIdLib {
35
+ function zero() public pure returns (RiskId) {
36
+ return RiskId.wrap(bytes8(0));
37
+ }
38
+
39
+ // @dev Converts a risk id into a uint256.
40
+ function toInt(RiskId riskId) public pure returns (uint256) {
41
+ return uint64(RiskId.unwrap(riskId));
42
+ }
43
+
44
+ // @dev Converts a risk id string with a product NftId into a risk id.
45
+ function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) {
46
+ return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk))));
47
+ }
48
+
49
+ /// @dev Returns the key32 value for the specified risk id.
50
+ function toKey32(RiskId riskId) public pure returns (Key32 key) {
51
+ return Key32Lib.toKey32(RISK(), toKeyId(riskId));
52
+ }
53
+
54
+ /// @dev Returns the key id value for the specified nft id
55
+ function toKeyId(RiskId id) public pure returns (KeyId keyId) {
56
+ return KeyId.wrap(bytes31(RiskId.unwrap(id)));
57
+ }
58
+
59
+ function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
60
+ riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
61
+ assert(toInt(riskId) < 2**64);
62
+ }
63
+
64
+ function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
65
+ return eqRiskId(a, b);
66
+ }
67
+
68
+ function eqz(RiskId a) public pure returns (bool isZero) {
69
+ return eqRiskId(a, zero());
70
+ }
71
+
72
+ function gtz(RiskId a) public pure returns (bool isZero) {
73
+ return uint64(RiskId.unwrap(a)) > 0;
74
+ }
75
+ }