@etherisc/gif-next 0.0.2-da77c50-824 → 0.0.2-da87b00-860

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 (768) hide show
  1. package/README.md +376 -27
  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/module/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 +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +930 -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 +1284 -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 +1484 -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 +2053 -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 +1439 -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 +2585 -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 +616 -1486
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1082 -0
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +694 -1670
  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 +1328 -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 +3792 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -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/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  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/module/{policy/IPolicy.sol → 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/{pool/IPoolModule.sol/IPool.json → IRisk.sol/IRisk.json} +2 -2
  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 +1242 -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 +1438 -0
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +866 -0
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -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 +522 -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 +1536 -0
  160. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +886 -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 +665 -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 +873 -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 +242 -12
  192. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1035 -119
  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/IInstanceLinked.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 +1473 -231
  202. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
  204. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -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 +721 -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 +1551 -0
  224. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +862 -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/shared/{IOwnable.sol/IOwnable.json → ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  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/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/{instance/module/lifecycle → shared}/ILifecycle.sol/ILifecycle.json +65 -53
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  245. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +62 -70
  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 +248 -21
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  253. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +224 -160
  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/{instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.json → shared/Lifecycle.sol/Lifecycle.json} +50 -58
  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 +1 -1
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +294 -18
  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/{instance/service/IProductService.sol/IProductService.json → shared/Service.sol/Service.json} +239 -234
  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 +2757 -0
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  284. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  285. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  286. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  287. package/artifacts/contracts/staking/Staking.sol/Staking.json +3201 -0
  288. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +855 -0
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +766 -0
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3065 -0
  300. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  301. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  302. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  303. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  304. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  305. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  306. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  308. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +251 -0
  310. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  312. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  314. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  316. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  318. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  320. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  321. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  322. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  324. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  325. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  326. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  328. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  330. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  332. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  334. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  336. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  338. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +289 -0
  340. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  342. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  344. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  346. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  348. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  350. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  352. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  354. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  356. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  358. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  360. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  361. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  362. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  363. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  364. package/contracts/accounting/AccountingService.sol +274 -0
  365. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  366. package/contracts/accounting/IAccountingService.sol +47 -0
  367. package/contracts/authorization/AccessAdmin.sol +780 -0
  368. package/contracts/authorization/AccessAdminLib.sol +396 -0
  369. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  370. package/contracts/authorization/Authorization.sol +169 -0
  371. package/contracts/authorization/IAccess.sol +67 -0
  372. package/contracts/authorization/IAccessAdmin.sol +144 -0
  373. package/contracts/authorization/IAuthorization.sol +26 -0
  374. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  375. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  376. package/contracts/distribution/BasicDistribution.sol +141 -0
  377. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  378. package/contracts/distribution/Distribution.sol +247 -0
  379. package/contracts/distribution/DistributionService.sol +448 -0
  380. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  381. package/contracts/distribution/IDistributionComponent.sol +45 -0
  382. package/contracts/distribution/IDistributionService.sol +115 -0
  383. package/contracts/examples/fire/DamageLevel.sol +59 -0
  384. package/contracts/examples/fire/FirePool.sol +86 -0
  385. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  386. package/contracts/examples/fire/FireProduct.sol +433 -0
  387. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  388. package/contracts/examples/fire/FireUSD.sol +26 -0
  389. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  390. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  391. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  392. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  393. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  394. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  395. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  396. package/contracts/instance/BundleSet.sol +130 -0
  397. package/contracts/instance/IInstance.sol +138 -43
  398. package/contracts/instance/IInstanceService.sol +117 -0
  399. package/contracts/instance/Instance.sol +333 -48
  400. package/contracts/instance/InstanceAdmin.sol +383 -0
  401. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  402. package/contracts/instance/InstanceReader.sol +632 -0
  403. package/contracts/instance/InstanceService.sol +500 -0
  404. package/contracts/instance/InstanceServiceManager.sol +39 -0
  405. package/contracts/instance/InstanceStore.sol +298 -0
  406. package/contracts/instance/RiskSet.sol +126 -0
  407. package/contracts/instance/base/BalanceStore.sol +121 -0
  408. package/contracts/instance/base/Cloneable.sol +28 -0
  409. package/contracts/instance/base/ObjectCounter.sol +20 -0
  410. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  411. package/contracts/instance/base/ObjectSet.sol +77 -0
  412. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  413. package/contracts/instance/module/IBundle.sol +21 -0
  414. package/contracts/instance/module/IComponents.sol +62 -0
  415. package/contracts/instance/module/IDistribution.sol +54 -0
  416. package/contracts/instance/module/IPolicy.sol +105 -0
  417. package/contracts/instance/module/IRisk.sol +16 -0
  418. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  419. package/contracts/oracle/BasicOracle.sol +45 -0
  420. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  421. package/contracts/oracle/IOracle.sol +41 -0
  422. package/contracts/oracle/IOracleComponent.sol +33 -0
  423. package/contracts/oracle/IOracleService.sol +66 -0
  424. package/contracts/oracle/Oracle.sol +154 -0
  425. package/contracts/oracle/OracleService.sol +310 -0
  426. package/contracts/oracle/OracleServiceManager.sol +39 -0
  427. package/contracts/pool/BasicPool.sol +162 -0
  428. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  429. package/contracts/pool/BundleService.sol +386 -0
  430. package/contracts/pool/BundleServiceManager.sol +39 -0
  431. package/contracts/pool/IBundleService.sol +116 -0
  432. package/contracts/pool/IPoolComponent.sol +62 -0
  433. package/contracts/pool/IPoolService.sol +170 -0
  434. package/contracts/pool/Pool.sol +333 -0
  435. package/contracts/pool/PoolLib.sol +341 -0
  436. package/contracts/pool/PoolService.sol +614 -0
  437. package/contracts/pool/PoolServiceManager.sol +39 -0
  438. package/contracts/product/ApplicationService.sol +327 -0
  439. package/contracts/product/ApplicationServiceManager.sol +38 -0
  440. package/contracts/product/BasicProduct.sol +49 -0
  441. package/contracts/product/BasicProductAuthorization.sol +63 -0
  442. package/contracts/product/ClaimService.sol +630 -0
  443. package/contracts/product/ClaimServiceManager.sol +38 -0
  444. package/contracts/product/IApplicationService.sol +88 -0
  445. package/contracts/product/IClaimService.sol +136 -0
  446. package/contracts/product/IPolicyService.sol +102 -0
  447. package/contracts/product/IPricingService.sol +40 -0
  448. package/contracts/product/IProductComponent.sol +62 -0
  449. package/contracts/product/IRiskService.sol +48 -0
  450. package/contracts/product/PolicyService.sol +645 -0
  451. package/contracts/product/PolicyServiceLib.sol +139 -0
  452. package/contracts/product/PolicyServiceManager.sol +39 -0
  453. package/contracts/product/PricingService.sol +306 -0
  454. package/contracts/product/PricingServiceManager.sol +39 -0
  455. package/contracts/product/Product.sol +493 -0
  456. package/contracts/product/RiskService.sol +190 -0
  457. package/contracts/product/RiskServiceManager.sol +39 -0
  458. package/contracts/registry/ChainNft.sol +130 -40
  459. package/contracts/registry/IRegistry.sol +144 -29
  460. package/contracts/registry/IRegistryService.sol +62 -0
  461. package/contracts/registry/IRelease.sol +29 -0
  462. package/contracts/registry/ITransferInterceptor.sol +6 -0
  463. package/contracts/registry/Registry.sol +637 -282
  464. package/contracts/registry/RegistryAdmin.sol +191 -0
  465. package/contracts/registry/RegistryAuthorization.sol +336 -0
  466. package/contracts/registry/RegistryService.sol +241 -0
  467. package/contracts/registry/RegistryServiceManager.sol +53 -0
  468. package/contracts/registry/ReleaseAdmin.sol +195 -0
  469. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  470. package/contracts/registry/ReleaseRegistry.sol +525 -0
  471. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  472. package/contracts/registry/TokenRegistry.sol +317 -0
  473. package/contracts/shared/Component.sol +214 -0
  474. package/contracts/shared/ComponentService.sol +687 -0
  475. package/contracts/shared/ComponentServiceManager.sol +38 -0
  476. package/contracts/shared/ContractLib.sol +312 -0
  477. package/contracts/shared/IComponent.sol +58 -0
  478. package/contracts/shared/IComponentService.sol +111 -0
  479. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  480. package/contracts/shared/IKeyValueStore.sol +54 -0
  481. package/contracts/shared/ILifecycle.sol +31 -0
  482. package/contracts/shared/INftOwnable.sol +27 -0
  483. package/contracts/shared/IPolicyHolder.sol +35 -0
  484. package/contracts/shared/IRegisterable.sol +31 -19
  485. package/contracts/shared/IRegistryLinked.sol +11 -0
  486. package/contracts/shared/IService.sol +23 -0
  487. package/contracts/shared/InitializableERC165.sol +35 -0
  488. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  489. package/contracts/shared/KeyValueStore.sol +131 -0
  490. package/contracts/shared/Lifecycle.sol +88 -0
  491. package/contracts/shared/NftIdSet.sol +65 -0
  492. package/contracts/shared/NftOwnable.sol +129 -0
  493. package/contracts/shared/PolicyHolder.sol +63 -0
  494. package/contracts/shared/Registerable.sol +80 -60
  495. package/contracts/shared/RegistryLinked.sol +38 -0
  496. package/contracts/shared/Service.sol +67 -0
  497. package/contracts/shared/TokenHandler.sol +342 -0
  498. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  499. package/contracts/staking/IStaking.sol +367 -0
  500. package/contracts/staking/IStakingService.sol +127 -0
  501. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  502. package/contracts/staking/Staking.sol +797 -0
  503. package/contracts/staking/StakingLib.sol +195 -0
  504. package/contracts/staking/StakingManager.sol +53 -0
  505. package/contracts/staking/StakingReader.sol +171 -0
  506. package/contracts/staking/StakingService.sol +321 -0
  507. package/contracts/staking/StakingServiceManager.sol +46 -0
  508. package/contracts/staking/StakingStore.sol +1364 -0
  509. package/contracts/staking/TargetHandler.sol +132 -0
  510. package/contracts/staking/TargetManagerLib.sol +234 -0
  511. package/contracts/{types → type}/AddressSet.sol +1 -1
  512. package/contracts/type/Amount.sol +154 -0
  513. package/contracts/{types → type}/Blocknumber.sol +36 -12
  514. package/contracts/type/ChainId.sol +101 -0
  515. package/contracts/type/ClaimId.sol +80 -0
  516. package/contracts/type/DistributorType.sol +55 -0
  517. package/contracts/type/Fee.sol +66 -0
  518. package/contracts/type/Key32.sol +50 -0
  519. package/contracts/type/Key32Set.sol +62 -0
  520. package/contracts/type/NftId.sol +85 -0
  521. package/contracts/type/NftIdSet.sol +62 -0
  522. package/contracts/type/ObjectType.sol +307 -0
  523. package/contracts/type/PayoutId.sol +82 -0
  524. package/contracts/type/Referral.sol +90 -0
  525. package/contracts/type/RequestId.sol +75 -0
  526. package/contracts/type/RiskId.sol +75 -0
  527. package/contracts/type/RoleId.sol +180 -0
  528. package/contracts/type/Seconds.sol +120 -0
  529. package/contracts/type/Selector.sol +107 -0
  530. package/contracts/{types → type}/StateId.sol +60 -6
  531. package/contracts/type/String.sol +65 -0
  532. package/contracts/{types → type}/Timestamp.sol +39 -19
  533. package/contracts/{types → type}/UFixed.sol +91 -34
  534. package/contracts/type/Version.sol +159 -0
  535. package/contracts/upgradeability/IVersionable.sol +56 -0
  536. package/contracts/upgradeability/ProxyManager.sol +246 -0
  537. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  538. package/contracts/upgradeability/Versionable.sol +62 -0
  539. package/package.json +13 -8
  540. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  541. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  542. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  543. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  544. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  545. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  546. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  547. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  548. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  549. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  550. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  551. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  553. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  555. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  557. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  559. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  561. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  563. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  565. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  567. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  569. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  571. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  573. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  575. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  577. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  579. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  581. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  583. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  585. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  586. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  587. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  588. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  589. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -313
  590. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  591. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  592. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  594. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  595. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  597. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  598. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  599. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  600. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  602. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  604. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  605. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  606. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  607. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  608. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  609. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  610. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  611. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  612. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  613. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  614. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  615. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  617. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  618. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  619. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  620. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
  621. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +0 -10
  622. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
  623. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +0 -10
  624. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  625. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  626. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  627. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -538
  628. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  629. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  630. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  631. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -538
  632. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  633. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -519
  634. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  635. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  636. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  637. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  638. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
  639. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  640. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  641. package/artifacts/contracts/instance/service/IService.sol/IService.json +0 -300
  642. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  643. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -499
  644. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  645. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -685
  646. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  647. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  648. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  649. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  650. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  651. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  652. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  653. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  654. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  655. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  656. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  657. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  658. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  659. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -95
  660. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  661. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  662. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  663. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  664. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  665. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  666. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  667. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -82
  668. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  669. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -407
  670. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  671. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  672. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  673. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -222
  674. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  675. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -230
  676. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  677. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  678. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  679. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  680. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  681. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  682. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  683. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  684. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  685. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  686. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  687. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  688. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  689. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  690. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  691. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  692. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  693. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
  694. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  695. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -78
  696. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  697. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  698. package/contracts/components/BaseComponent.sol +0 -89
  699. package/contracts/components/IBaseComponent.sol +0 -19
  700. package/contracts/components/IPoolComponent.sol +0 -57
  701. package/contracts/components/IProductComponent.sol +0 -19
  702. package/contracts/components/Pool.sol +0 -174
  703. package/contracts/components/Product.sol +0 -117
  704. package/contracts/experiment/errors/Require.sol +0 -38
  705. package/contracts/experiment/errors/Revert.sol +0 -44
  706. package/contracts/experiment/inheritance/A.sol +0 -53
  707. package/contracts/experiment/inheritance/B.sol +0 -28
  708. package/contracts/experiment/inheritance/C.sol +0 -34
  709. package/contracts/experiment/inheritance/IA.sol +0 -13
  710. package/contracts/experiment/inheritance/IB.sol +0 -10
  711. package/contracts/experiment/inheritance/IC.sol +0 -12
  712. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  713. package/contracts/experiment/statemachine/ISM.sol +0 -25
  714. package/contracts/experiment/statemachine/README.md +0 -112
  715. package/contracts/experiment/statemachine/SM.sol +0 -57
  716. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  717. package/contracts/experiment/types/TypeA.sol +0 -47
  718. package/contracts/experiment/types/TypeB.sol +0 -29
  719. package/contracts/instance/IInstanceLinked.sol +0 -8
  720. package/contracts/instance/IServiceLinked.sol +0 -12
  721. package/contracts/instance/InstanceBase.sol +0 -74
  722. package/contracts/instance/module/access/Access.sol +0 -149
  723. package/contracts/instance/module/access/IAccess.sol +0 -53
  724. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  725. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  726. package/contracts/instance/module/component/ComponentModule.sol +0 -104
  727. package/contracts/instance/module/component/IComponent.sol +0 -53
  728. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  729. package/contracts/instance/module/lifecycle/LifecycleModule.sol +0 -89
  730. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  731. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  732. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  733. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  734. package/contracts/instance/module/product/IProductModule.sol +0 -6
  735. package/contracts/instance/module/product/ProductModule.sol +0 -8
  736. package/contracts/instance/module/treasury/ITreasury.sol +0 -104
  737. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  738. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -148
  739. package/contracts/instance/service/ComponentOwnerService.sol +0 -174
  740. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  741. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  742. package/contracts/instance/service/IPoolService.sol +0 -30
  743. package/contracts/instance/service/IProductService.sol +0 -58
  744. package/contracts/instance/service/IService.sol +0 -15
  745. package/contracts/instance/service/PoolService.sol +0 -98
  746. package/contracts/instance/service/ProductService.sol +0 -358
  747. package/contracts/instance/service/ServiceBase.sol +0 -39
  748. package/contracts/registry/IChainNft.sol +0 -21
  749. package/contracts/registry/IRegistryLinked.sol +0 -8
  750. package/contracts/shared/ERC165.sol +0 -21
  751. package/contracts/shared/IOwnable.sol +0 -6
  752. package/contracts/shared/IVersionable.sol +0 -52
  753. package/contracts/shared/Versionable.sol +0 -92
  754. package/contracts/test/TestFee.sol +0 -25
  755. package/contracts/test/TestPool.sol +0 -22
  756. package/contracts/test/TestProduct.sol +0 -44
  757. package/contracts/test/TestRegisterable.sol +0 -19
  758. package/contracts/test/TestRoleId.sol +0 -14
  759. package/contracts/test/TestService.sol +0 -35
  760. package/contracts/test/TestVersion.sol +0 -47
  761. package/contracts/test/TestVersionable.sol +0 -20
  762. package/contracts/types/ChainId.sol +0 -38
  763. package/contracts/types/Fee.sol +0 -32
  764. package/contracts/types/NftId.sol +0 -57
  765. package/contracts/types/NftIdSet.sol +0 -60
  766. package/contracts/types/ObjectType.sol +0 -115
  767. package/contracts/types/RoleId.sol +0 -36
  768. package/contracts/types/Version.sol +0 -91
@@ -0,0 +1,133 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
5
+ import {NftId} from "../../type/NftId.sol";
6
+ import {BasicOracle} from "../../oracle/BasicOracle.sol";
7
+ import {RequestId} from "../../type/RequestId.sol";
8
+ import {Timestamp} from "../../type/Timestamp.sol";
9
+
10
+ contract SimpleOracle is
11
+ BasicOracle
12
+ {
13
+
14
+ string public constant ANSWER_SYNC = "oracle constant sync answer";
15
+
16
+ struct SimpleRequest {
17
+ bool synchronous;
18
+ string text;
19
+ }
20
+
21
+ struct SimpleResponse {
22
+ bool revertInCall;
23
+ Timestamp revertUntil;
24
+ string text;
25
+ }
26
+
27
+ event LogSimpleOracleRequestReceived(RequestId requestId, NftId requesterId, bool synchronous, string requestText);
28
+ event LogSimpleOracleCancellingReceived(RequestId requestId);
29
+
30
+ event LogSimpleOracleAsyncResponseSent(RequestId requestId, string responseText);
31
+ event LogSimpleOracleSyncResponseSent(RequestId requestId, string responseText);
32
+
33
+ constructor(
34
+ address registry,
35
+ NftId productNftId,
36
+ IAuthorization authorization,
37
+ address initialOwner
38
+ )
39
+ {
40
+ initialize(
41
+ registry,
42
+ productNftId,
43
+ authorization,
44
+ initialOwner,
45
+ "SimpleOracle"
46
+ );
47
+ }
48
+
49
+ function initialize(
50
+ address registry,
51
+ NftId productNftId,
52
+ IAuthorization authorization,
53
+ address initialOwner,
54
+ string memory name
55
+ )
56
+ public
57
+ virtual
58
+ initializer()
59
+ {
60
+ _initializeBasicOracle(
61
+ registry,
62
+ productNftId,
63
+ authorization,
64
+ initialOwner,
65
+ name);
66
+ }
67
+
68
+ /// @dev use case specific handling of oracle requests
69
+ /// for now only log is emitted to verify that request has been received by oracle component
70
+ function _request(
71
+ RequestId requestId,
72
+ NftId requesterId,
73
+ bytes calldata requestData,
74
+ Timestamp expiryAt
75
+ )
76
+ internal
77
+ virtual override
78
+ {
79
+ SimpleRequest memory request = abi.decode(requestData, (SimpleRequest));
80
+
81
+ if (request.synchronous) {
82
+ _respondSync(requestId);
83
+ }
84
+
85
+ emit LogSimpleOracleRequestReceived(requestId, requesterId, request.synchronous, request.text);
86
+ }
87
+
88
+
89
+ /// @dev use case specific handling of oracle requests
90
+ /// for now only log is emitted to verify that cancelling has been received by oracle component
91
+ function _cancel(
92
+ RequestId requestId
93
+ )
94
+ internal
95
+ virtual override
96
+ {
97
+ emit LogSimpleOracleCancellingReceived(requestId);
98
+ }
99
+
100
+
101
+ function respondAsync(
102
+ RequestId requestId,
103
+ string memory responseText,
104
+ bool revertInCall,
105
+ Timestamp revertUntil
106
+ )
107
+ external
108
+ // permissionless, no restricted() for now
109
+ {
110
+ bytes memory responseData = abi.encode(
111
+ SimpleResponse(
112
+ revertInCall,
113
+ revertUntil,
114
+ responseText));
115
+
116
+ _respond(requestId, responseData);
117
+
118
+ emit LogSimpleOracleAsyncResponseSent(requestId, responseText);
119
+ }
120
+
121
+
122
+ function _respondSync(
123
+ RequestId requestId
124
+ )
125
+ internal
126
+ {
127
+ bytes memory responseData = abi.encode(ANSWER_SYNC);
128
+ _respond(requestId, responseData);
129
+
130
+ emit LogSimpleOracleSyncResponseSent(requestId, ANSWER_SYNC);
131
+ }
132
+
133
+ }
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ import {Amount, AmountLib} from "../../type/Amount.sol";
7
+ import {BasicPool} from "../../pool/BasicPool.sol";
8
+ import {Fee} from "../../type/Fee.sol";
9
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
10
+ import {IComponents} from "../../instance/module/IComponents.sol";
11
+ import {NftId} from "../../type/NftId.sol";
12
+ import {Seconds} from "../../type/Timestamp.sol";
13
+ import {UFixed} from "../../type/UFixed.sol";
14
+
15
+ contract SimplePool is
16
+ BasicPool
17
+ {
18
+
19
+ constructor(
20
+ address registry,
21
+ NftId productNftId,
22
+ IComponents.PoolInfo memory poolInfo,
23
+ IAuthorization authorization,
24
+ address initialOwner
25
+ )
26
+ {
27
+ initialize(
28
+ registry,
29
+ productNftId,
30
+ poolInfo,
31
+ authorization,
32
+ initialOwner
33
+ );
34
+ }
35
+
36
+
37
+ function initialize(
38
+ address registry,
39
+ NftId productNftId,
40
+ IComponents.PoolInfo memory poolInfo,
41
+ IAuthorization authorization,
42
+ address initialOwner
43
+ )
44
+ public
45
+ virtual
46
+ initializer()
47
+ {
48
+ _initializeBasicPool(
49
+ registry,
50
+ productNftId,
51
+ "SimplePool",
52
+ poolInfo,
53
+ authorization,
54
+ initialOwner);
55
+ }
56
+
57
+
58
+ function createBundle(
59
+ Fee memory fee,
60
+ uint256 initialAmount,
61
+ Seconds lifetime,
62
+ bytes calldata filter
63
+ )
64
+ external
65
+ virtual
66
+ returns(NftId bundleNftId, uint256 netStakedAmountInt)
67
+ {
68
+ address owner = msg.sender;
69
+ Amount netStakedAmount;
70
+ bundleNftId = _createBundle(
71
+ owner,
72
+ fee,
73
+ lifetime,
74
+ filter
75
+ );
76
+ netStakedAmount = _stake(bundleNftId, AmountLib.toAmount(initialAmount));
77
+ netStakedAmountInt = netStakedAmount.toInt();
78
+ }
79
+
80
+
81
+ function fundPoolWallet(
82
+ Amount amount
83
+ )
84
+ external
85
+ {
86
+ _fundPoolWallet(amount);
87
+ }
88
+
89
+
90
+ function defundPoolWallet(
91
+ Amount amount
92
+ )
93
+ external
94
+ {
95
+ _defundPoolWallet(amount);
96
+ }
97
+
98
+
99
+ function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
100
+ function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
101
+ function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
102
+ }
@@ -0,0 +1,28 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
5
+ import {IAccess} from "../../authorization/IAccess.sol";
6
+ import {PUBLIC_ROLE} from "../../type/RoleId.sol";
7
+ import {SimplePool} from "./SimplePool.sol";
8
+
9
+ contract SimplePoolAuthorization
10
+ is BasicPoolAuthorization
11
+ {
12
+ constructor(string memory poolName)
13
+ BasicPoolAuthorization(poolName)
14
+ {}
15
+
16
+ function _setupTargetAuthorizations()
17
+ internal
18
+ virtual override
19
+ {
20
+ super._setupTargetAuthorizations();
21
+
22
+ // authorize public role (open access to any account, only allows to lock target)
23
+ IAccess.FunctionInfo[] storage functions;
24
+ functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
25
+ _authorize(functions, SimplePool.approveTokenHandler.selector, "approveTokenHandler");
26
+ _authorize(functions, SimplePool.setWallet.selector, "setWallet");
27
+ }
28
+ }
@@ -0,0 +1,437 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ import {Amount, AmountLib} from "../../type/Amount.sol";
7
+ import {BasicProduct} from "../../product/BasicProduct.sol";
8
+ import {ClaimId} from "../../type/ClaimId.sol";
9
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
10
+ import {IComponents} from "../../instance/module/IComponents.sol";
11
+ import {IOracleService} from "../../oracle/IOracleService.sol";
12
+ import {ORACLE} from "../../type/ObjectType.sol";
13
+ import {NftId} from "../../type/NftId.sol";
14
+ import {PayoutId} from "../../type/PayoutId.sol";
15
+ import {ReferralId} from "../../type/Referral.sol";
16
+ import {RequestId} from "../../type/RequestId.sol";
17
+ import {RiskId} from "../../type/RiskId.sol";
18
+ import {Seconds} from "../../type/Seconds.sol";
19
+ import {SimpleOracle} from "./SimpleOracle.sol";
20
+ import {StateId} from "../../type/StateId.sol";
21
+ import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
22
+
23
+ uint64 constant SPECIAL_ROLE_INT = 11111;
24
+
25
+ contract SimpleProduct is
26
+ BasicProduct
27
+ {
28
+
29
+ event LogSimpleProductRequestAsyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
30
+ event LogSimpleProductRequestSyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
31
+
32
+ error ErrorSimpleProductRevertedWhileProcessingResponse(RequestId requestId);
33
+
34
+ IOracleService private _oracleService;
35
+
36
+ constructor(
37
+ address registry,
38
+ NftId instanceNftId,
39
+ string memory name,
40
+ IComponents.ProductInfo memory productInfo,
41
+ IComponents.FeeInfo memory feeInfo,
42
+ IAuthorization authorization,
43
+ address initialOwner
44
+ )
45
+ {
46
+ initialize(
47
+ registry,
48
+ instanceNftId,
49
+ name,
50
+ productInfo,
51
+ feeInfo,
52
+ authorization,
53
+ initialOwner);
54
+ }
55
+
56
+
57
+ function initialize(
58
+ address registry,
59
+ NftId instanceNftid,
60
+ string memory name,
61
+ IComponents.ProductInfo memory productInfo,
62
+ IComponents.FeeInfo memory feeInfo,
63
+ IAuthorization authorization,
64
+ address initialOwner
65
+ )
66
+ public
67
+ virtual
68
+ initializer()
69
+ {
70
+ _initializeBasicProduct(
71
+ registry,
72
+ instanceNftid,
73
+ name,
74
+ productInfo,
75
+ feeInfo,
76
+ authorization,
77
+ initialOwner);
78
+
79
+ _oracleService = IOracleService(_getServiceAddress(ORACLE()));
80
+ }
81
+
82
+
83
+ function createRisk(
84
+ string memory id,
85
+ bytes memory data
86
+ ) public returns (RiskId) {
87
+ return _createRisk(
88
+ bytes32(abi.encodePacked(id)),
89
+ data
90
+ );
91
+ }
92
+
93
+ function updateRisk(
94
+ RiskId id,
95
+ bytes memory data
96
+ ) public {
97
+ _updateRisk(
98
+ id,
99
+ data
100
+ );
101
+ }
102
+
103
+ function setRiskLocked(
104
+ RiskId id,
105
+ bool locked
106
+ ) public {
107
+ _setRiskLocked(
108
+ id,
109
+ locked
110
+ );
111
+ }
112
+
113
+ function closeRisk(
114
+ RiskId id
115
+ ) public {
116
+ _closeRisk(id);
117
+ }
118
+
119
+ function createApplication(
120
+ address applicationOwner,
121
+ RiskId riskId,
122
+ uint256 sumInsured,
123
+ Seconds lifetime,
124
+ bytes memory applicationData,
125
+ NftId bundleNftId,
126
+ ReferralId referralId
127
+ )
128
+ public
129
+ returns (NftId nftId)
130
+ {
131
+ Amount sumInsuredAmount = AmountLib.toAmount(sumInsured);
132
+ Amount premiumAmount = calculatePremium(
133
+ sumInsuredAmount,
134
+ riskId,
135
+ lifetime,
136
+ applicationData,
137
+ bundleNftId,
138
+ referralId);
139
+
140
+ return _createApplication(
141
+ applicationOwner,
142
+ riskId,
143
+ sumInsuredAmount,
144
+ premiumAmount,
145
+ lifetime,
146
+ bundleNftId,
147
+ referralId,
148
+ applicationData
149
+ );
150
+ }
151
+
152
+ function createApplication2(
153
+ address applicationOwner,
154
+ RiskId riskId,
155
+ Amount sumInsuredAmount,
156
+ Amount premiumAmount,
157
+ Seconds lifetime,
158
+ bytes memory applicationData,
159
+ NftId bundleNftId,
160
+ ReferralId referralId
161
+ )
162
+ public
163
+ returns (NftId nftId)
164
+ {
165
+ return _createApplication(
166
+ applicationOwner,
167
+ riskId,
168
+ sumInsuredAmount,
169
+ premiumAmount,
170
+ lifetime,
171
+ bundleNftId,
172
+ referralId,
173
+ applicationData
174
+ );
175
+ }
176
+
177
+ function revoke(
178
+ NftId applicationNftId
179
+ ) public {
180
+ _revoke(applicationNftId);
181
+ }
182
+
183
+ function createPolicy(
184
+ NftId applicationNftId,
185
+ bool requirePremiumPayment,
186
+ Timestamp activateAt
187
+ ) public {
188
+ _createPolicy(applicationNftId, activateAt, AmountLib.max());
189
+ if (requirePremiumPayment == true) {
190
+ _collectPremium(applicationNftId, activateAt);
191
+ }
192
+ }
193
+
194
+ function createPolicy2(
195
+ NftId applicationNftId,
196
+ bool requirePremiumPayment,
197
+ Timestamp activateAt,
198
+ Amount maxPremiumAmount
199
+ ) public {
200
+ _createPolicy(applicationNftId, activateAt, maxPremiumAmount);
201
+ if (requirePremiumPayment == true) {
202
+ _collectPremium(applicationNftId, activateAt);
203
+ }
204
+ }
205
+
206
+ function decline(
207
+ NftId policyNftId
208
+ ) public {
209
+ _decline(policyNftId);
210
+ }
211
+
212
+ function expire(
213
+ NftId policyNftId,
214
+ Timestamp expireAt
215
+ )
216
+ public
217
+ returns (Timestamp)
218
+ {
219
+ return _expire(policyNftId, expireAt);
220
+ }
221
+
222
+ function collectPremium(
223
+ NftId policyNftId,
224
+ Timestamp activateAt
225
+ ) public {
226
+ _collectPremium(policyNftId, activateAt);
227
+ }
228
+
229
+ function activate(
230
+ NftId policyNftId,
231
+ Timestamp activateAt
232
+ ) public {
233
+ _activate(policyNftId, activateAt);
234
+ }
235
+
236
+ function adjustActivation(
237
+ NftId policyNftId,
238
+ Timestamp activateAt
239
+ ) public {
240
+ _adjustActivation(policyNftId, activateAt);
241
+ }
242
+
243
+ function close(
244
+ NftId policyNftId
245
+ ) public {
246
+ _close(policyNftId);
247
+ }
248
+
249
+ function submitClaim(
250
+ NftId policyNftId,
251
+ Amount claimAmount,
252
+ bytes memory submissionData
253
+ ) public returns (ClaimId) {
254
+ return _submitClaim(policyNftId, claimAmount, submissionData);
255
+ }
256
+
257
+ function revokeClaim(
258
+ NftId policyNftId,
259
+ ClaimId claimId
260
+ ) public {
261
+ _revokeClaim(policyNftId, claimId);
262
+ }
263
+
264
+ function confirmClaim(
265
+ NftId policyNftId,
266
+ ClaimId claimId,
267
+ Amount confirmedAmount,
268
+ bytes memory processData
269
+ ) public {
270
+ _confirmClaim(policyNftId, claimId, confirmedAmount, processData);
271
+ }
272
+
273
+ function declineClaim(
274
+ NftId policyNftId,
275
+ ClaimId claimId,
276
+ bytes memory processData
277
+ ) public {
278
+ _declineClaim(policyNftId, claimId, processData);
279
+ }
280
+
281
+ function cancelConfirmedClaim(
282
+ NftId policyNftId,
283
+ ClaimId claimId
284
+ ) public {
285
+ _cancelConfirmedClaim(policyNftId, claimId);
286
+ }
287
+
288
+ function createPayout(
289
+ NftId policyNftId,
290
+ ClaimId claimId,
291
+ Amount amount,
292
+ bytes memory data
293
+ ) public returns (PayoutId) {
294
+ return _createPayout(policyNftId, claimId, amount, data);
295
+ }
296
+
297
+ function cancelPayout(
298
+ NftId policyNftId,
299
+ PayoutId payoutId
300
+ ) public {
301
+ _cancelPayout(policyNftId, payoutId);
302
+ }
303
+
304
+ // TODO add test
305
+ function createPayoutForBeneficiary(
306
+ NftId policyNftId,
307
+ ClaimId claimId,
308
+ Amount amount,
309
+ address beneficiary,
310
+ bytes memory data
311
+ ) public returns (PayoutId) {
312
+ return _createPayoutForBeneficiary(policyNftId, claimId, amount, beneficiary, data);
313
+ }
314
+
315
+ function processPayout(
316
+ NftId policyNftId,
317
+ PayoutId payoutId
318
+ ) public returns (Amount netPayoutAmount, Amount processingFeeAmount) {
319
+ (netPayoutAmount, processingFeeAmount) = _processPayout(policyNftId, payoutId);
320
+ }
321
+
322
+ function createOracleRequest(
323
+ NftId oracleNftId,
324
+ string memory requestText,
325
+ Timestamp expiryAt,
326
+ bool synchronous
327
+ )
328
+ public
329
+ // restricted()
330
+ returns (RequestId)
331
+ {
332
+ bytes memory requestData = abi.encode(SimpleOracle.SimpleRequest(
333
+ synchronous,
334
+ requestText));
335
+
336
+ if (synchronous) {
337
+ return _oracleService.request(
338
+ oracleNftId,
339
+ requestData,
340
+ expiryAt,
341
+ "fulfillOracleRequestSync");
342
+ } else {
343
+ return _oracleService.request(
344
+ oracleNftId,
345
+ requestData,
346
+ expiryAt,
347
+ "fulfillOracleRequestAsync");
348
+ }
349
+ }
350
+
351
+ function createOracleRequest2(
352
+ NftId oracleNftId,
353
+ string memory requestText,
354
+ Timestamp expiryAt,
355
+ bool synchronous,
356
+ string memory callbackMethod
357
+ )
358
+ public
359
+ // restricted()
360
+ returns (RequestId)
361
+ {
362
+ bytes memory requestData = abi.encode(SimpleOracle.SimpleRequest(
363
+ synchronous,
364
+ requestText));
365
+
366
+ return _oracleService.request(
367
+ oracleNftId,
368
+ requestData,
369
+ expiryAt,
370
+ callbackMethod);
371
+ }
372
+
373
+ function cancelOracleRequest(
374
+ RequestId requestId
375
+ )
376
+ public
377
+ // restricted() //
378
+ {
379
+ _oracleService.cancel(requestId);
380
+ }
381
+
382
+ function fulfillOracleRequestSync(
383
+ RequestId requestId,
384
+ bytes memory responseData
385
+ )
386
+ public
387
+ // restricted() // only oracle service
388
+ {
389
+ string memory responseText = abi.decode(responseData, (string));
390
+ emit LogSimpleProductRequestSyncFulfilled(requestId, responseText, bytes(responseText).length);
391
+ }
392
+
393
+ function fulfillOracleRequestAsync(
394
+ RequestId requestId,
395
+ bytes memory responseData
396
+ )
397
+ public
398
+ // restricted() // only oracle service
399
+ {
400
+ SimpleOracle.SimpleResponse memory response = abi.decode(
401
+ responseData, (SimpleOracle.SimpleResponse));
402
+
403
+ if (response.revertInCall && response.revertUntil >= TimestampLib.current()) {
404
+ revert ErrorSimpleProductRevertedWhileProcessingResponse(requestId);
405
+ }
406
+
407
+ emit LogSimpleProductRequestAsyncFulfilled(requestId, response.text, bytes(response.text).length);
408
+ }
409
+
410
+
411
+ function resend(
412
+ RequestId requestId
413
+ )
414
+ public
415
+ // restricted() //
416
+ {
417
+ _oracleService.resend(requestId);
418
+ }
419
+
420
+
421
+ function doSomethingOnlyWhenActive()
422
+ public
423
+ onlyActive()
424
+ returns (bool)
425
+ {
426
+ return true;
427
+ }
428
+
429
+
430
+ function getOracleService() public view returns (IOracleService) {
431
+ return _oracleService;
432
+ }
433
+
434
+ function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
435
+ function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
436
+ function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
437
+ }