@etherisc/gif-next 3.0.0-dd00d66-173 → 3.0.0-e1cc0d0-716

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 (507) hide show
  1. package/README.md +9 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +115 -113
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +224 -198
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +117 -71
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +135 -202
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +251 -56
  53. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  54. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
  55. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  58. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +260 -162
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  60. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +112 -41
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  62. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +108 -170
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  64. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  66. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +447 -793
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  68. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +113 -42
  69. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  71. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  72. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
  73. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  74. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
  77. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  79. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
  83. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
  87. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  89. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  91. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  92. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
  93. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  95. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -77
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -83
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -144
  101. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
  103. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  105. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +95 -36
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +154 -140
  109. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
  111. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
  113. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  114. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
  115. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
  117. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  119. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  122. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  123. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  124. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  125. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  126. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
  127. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  128. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  129. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  133. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  134. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  135. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  136. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
  138. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  140. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +129 -176
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  162. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  164. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
  165. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  166. package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  170. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  174. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  178. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  180. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  182. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
  185. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  190. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  194. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
  195. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  196. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  200. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  204. package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
  207. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  208. package/artifacts/contracts/product/Product.sol/Product.json +57 -72
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  210. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  214. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  218. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  220. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  221. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  222. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/Registry.sol/Registry.json +102 -314
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  225. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  233. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +208 -140
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  239. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  241. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
  242. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  243. package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  245. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +499 -164
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  249. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  250. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  253. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  255. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -96
  257. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  258. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
  259. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +405 -82
  261. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
  263. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  271. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
  278. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  280. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  281. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  282. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
  283. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  284. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  285. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  286. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
  287. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  288. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  289. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  290. package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
  291. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  292. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -69
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
  295. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  296. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  297. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  298. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -101
  299. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  300. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +48 -75
  301. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  302. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  303. package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -170
  304. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  305. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  306. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
  308. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  310. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +77 -132
  312. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
  314. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
  316. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  317. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -32
  318. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  319. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  320. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  321. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  322. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  324. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  326. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  328. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  330. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  332. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  334. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  336. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  337. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  338. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  340. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  341. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  342. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
  344. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  346. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  348. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  350. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  351. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  352. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  354. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  356. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  358. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  360. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  362. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  364. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  366. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  368. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  370. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  372. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  374. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  375. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  376. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  377. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
  378. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  379. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  380. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  382. package/contracts/accounting/AccountingService.sol +22 -33
  383. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  384. package/contracts/accounting/IAccountingService.sol +7 -8
  385. package/contracts/authorization/AccessAdmin.sol +25 -47
  386. package/contracts/authorization/AccessAdminLib.sol +27 -13
  387. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  388. package/contracts/authorization/Authorization.sol +2 -2
  389. package/contracts/authorization/IAccessAdmin.sol +3 -3
  390. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  391. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  392. package/contracts/distribution/BasicDistribution.sol +2 -0
  393. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  394. package/contracts/distribution/Distribution.sol +2 -0
  395. package/contracts/distribution/DistributionService.sol +25 -27
  396. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  397. package/contracts/distribution/IDistributionService.sol +4 -3
  398. package/contracts/examples/fire/FirePool.sol +4 -0
  399. package/contracts/examples/fire/FireProduct.sol +4 -0
  400. package/contracts/examples/flight/FlightLib.sol +90 -75
  401. package/contracts/examples/flight/FlightNft.sol +234 -0
  402. package/contracts/examples/flight/FlightOracle.sol +72 -9
  403. package/contracts/examples/flight/FlightOracleAuthorization.sol +28 -5
  404. package/contracts/examples/flight/FlightPool.sol +5 -1
  405. package/contracts/examples/flight/FlightProduct.sol +283 -246
  406. package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
  407. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  408. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  409. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  410. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  411. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  412. package/contracts/instance/BaseStore.sol +4 -0
  413. package/contracts/instance/IBaseStore.sol +8 -0
  414. package/contracts/instance/IInstanceService.sol +2 -0
  415. package/contracts/instance/Instance.sol +11 -7
  416. package/contracts/instance/InstanceAdmin.sol +17 -11
  417. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  418. package/contracts/instance/InstanceReader.sol +34 -20
  419. package/contracts/instance/InstanceService.sol +24 -18
  420. package/contracts/instance/InstanceServiceManager.sol +6 -4
  421. package/contracts/instance/base/Cloneable.sol +10 -4
  422. package/contracts/instance/base/ObjectSet.sol +2 -2
  423. package/contracts/oracle/BasicOracle.sol +3 -0
  424. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  425. package/contracts/oracle/IOracleService.sol +4 -0
  426. package/contracts/oracle/Oracle.sol +6 -5
  427. package/contracts/oracle/OracleService.sol +67 -37
  428. package/contracts/oracle/OracleServiceManager.sol +6 -4
  429. package/contracts/pool/BasicPool.sol +4 -2
  430. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  431. package/contracts/pool/BundleService.sol +20 -26
  432. package/contracts/pool/BundleServiceManager.sol +7 -5
  433. package/contracts/pool/IBundleService.sol +1 -1
  434. package/contracts/pool/IPoolService.sol +6 -5
  435. package/contracts/pool/Pool.sol +3 -1
  436. package/contracts/pool/PoolLib.sol +102 -5
  437. package/contracts/pool/PoolService.sol +101 -67
  438. package/contracts/pool/PoolServiceManager.sol +6 -4
  439. package/contracts/product/ApplicationService.sol +34 -13
  440. package/contracts/product/ApplicationServiceManager.sol +6 -4
  441. package/contracts/product/BasicProduct.sol +2 -0
  442. package/contracts/product/BasicProductAuthorization.sol +4 -5
  443. package/contracts/product/ClaimService.sol +34 -10
  444. package/contracts/product/ClaimServiceManager.sol +7 -5
  445. package/contracts/product/IPolicyService.sol +2 -1
  446. package/contracts/product/PolicyService.sol +58 -45
  447. package/contracts/product/PolicyServiceLib.sol +5 -3
  448. package/contracts/product/PolicyServiceManager.sol +6 -4
  449. package/contracts/product/PricingService.sol +8 -7
  450. package/contracts/product/PricingServiceManager.sol +6 -4
  451. package/contracts/product/Product.sol +2 -0
  452. package/contracts/product/RiskService.sol +40 -8
  453. package/contracts/product/RiskServiceManager.sol +6 -4
  454. package/contracts/registry/ChainNft.sol +1 -1
  455. package/contracts/registry/IRegistry.sol +14 -20
  456. package/contracts/registry/IRegistryService.sol +14 -10
  457. package/contracts/registry/IRelease.sol +3 -0
  458. package/contracts/registry/Registry.sol +78 -124
  459. package/contracts/registry/RegistryAdmin.sol +29 -12
  460. package/contracts/registry/RegistryAuthorization.sol +3 -4
  461. package/contracts/registry/RegistryService.sol +82 -99
  462. package/contracts/registry/RegistryServiceManager.sol +11 -4
  463. package/contracts/registry/ReleaseAdmin.sol +23 -9
  464. package/contracts/registry/ReleaseRegistry.sol +74 -64
  465. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  466. package/contracts/registry/TokenRegistry.sol +15 -6
  467. package/contracts/shared/Component.sol +22 -27
  468. package/contracts/shared/ComponentService.sol +154 -46
  469. package/contracts/shared/ComponentServiceManager.sol +7 -5
  470. package/contracts/shared/ContractLib.sol +93 -359
  471. package/contracts/shared/IComponent.sol +3 -5
  472. package/contracts/shared/IComponentService.sol +30 -0
  473. package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
  474. package/contracts/shared/INftOwnable.sol +2 -0
  475. package/contracts/shared/IRegisterable.sol +3 -14
  476. package/contracts/shared/IRegistryLinked.sol +3 -1
  477. package/contracts/shared/IService.sol +2 -2
  478. package/contracts/shared/InstanceLinkedComponent.sol +64 -29
  479. package/contracts/shared/NftOwnable.sol +22 -9
  480. package/contracts/shared/PolicyHolder.sol +4 -2
  481. package/contracts/shared/Registerable.sol +20 -37
  482. package/contracts/shared/RegistryLinked.sol +23 -4
  483. package/contracts/shared/Service.sol +9 -8
  484. package/contracts/shared/TokenHandler.sol +1 -4
  485. package/contracts/staking/IStaking.sol +4 -2
  486. package/contracts/staking/IStakingService.sol +1 -1
  487. package/contracts/staking/Staking.sol +34 -28
  488. package/contracts/staking/StakingLib.sol +1 -3
  489. package/contracts/staking/StakingManager.sol +6 -3
  490. package/contracts/staking/StakingReader.sol +17 -9
  491. package/contracts/staking/StakingService.sol +14 -17
  492. package/contracts/staking/StakingServiceManager.sol +8 -4
  493. package/contracts/staking/StakingStore.sol +8 -8
  494. package/contracts/staking/TargetHandler.sol +5 -4
  495. package/contracts/type/Version.sol +16 -15
  496. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  497. package/contracts/upgradeability/ProxyManager.sol +54 -46
  498. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  499. package/package.json +3 -3
  500. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  501. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  502. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  503. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  504. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  505. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  506. package/contracts/shared/IVersionable.sol +0 -19
  507. package/contracts/shared/Versionable.sol +0 -47
@@ -3,19 +3,42 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccess} from "../../../contracts/authorization/IAccess.sol";
5
5
 
6
+ import {AccessAdminLib} from "../../authorization/AccessAdminLib.sol";
6
7
  import {BasicProductAuthorization} from "../../product/BasicProductAuthorization.sol";
7
8
  import {FlightProduct} from "./FlightProduct.sol";
8
9
  import {ORACLE} from "../../../contracts/type/ObjectType.sol";
9
- import {PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
10
+ import {RoleId, ADMIN_ROLE, PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
10
11
 
11
12
 
12
13
  contract FlightProductAuthorization
13
14
  is BasicProductAuthorization
14
15
  {
15
16
 
16
- constructor(string memory poolName)
17
- BasicProductAuthorization(poolName)
18
- {}
17
+ uint64 public constant STATISTICS_PROVIDER_ROLE_IDX = 1; // 1st custom role for flight product
18
+ string public constant STATISTICS_PROVIDER_ROLE_NAME = "StatisticsProviderRole";
19
+ RoleId public STATISTICS_PROVIDER_ROLE;
20
+
21
+
22
+ constructor(string memory productName)
23
+ BasicProductAuthorization(productName)
24
+ { }
25
+
26
+
27
+ function _setupRoles()
28
+ internal
29
+ override
30
+ {
31
+ STATISTICS_PROVIDER_ROLE = AccessAdminLib.getCustomRoleId(STATISTICS_PROVIDER_ROLE_IDX);
32
+
33
+ _addRole(
34
+ STATISTICS_PROVIDER_ROLE,
35
+ AccessAdminLib.roleInfo(
36
+ ADMIN_ROLE(),
37
+ TargetType.Custom,
38
+ 1, // max member count special case: instance nft owner is sole role owner
39
+ STATISTICS_PROVIDER_ROLE_NAME));
40
+ }
41
+
19
42
 
20
43
  function _setupTargetAuthorizations()
21
44
  internal
@@ -28,14 +51,16 @@ contract FlightProductAuthorization
28
51
  functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
29
52
  _authorize(functions, FlightProduct.flightStatusCallback.selector, "flightStatusCallback");
30
53
 
31
- // authorize public role (open access to any account, only allows to lock target)
32
- functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
33
- _authorize(functions, FlightProduct.createPolicy.selector, "createPolicy");
54
+ // authorize statistics provider role
55
+ functions = _authorizeForTarget(getMainTargetName(), STATISTICS_PROVIDER_ROLE);
34
56
  _authorize(functions, FlightProduct.createPolicyWithPermit.selector, "createPolicyWithPermit");
35
57
 
36
- // TODO: only owner
37
- _authorize(functions, FlightProduct.processFlightStatus.selector, "processFlightStatus");
38
- _authorize(functions, FlightProduct.completeSetup.selector, "completeSetup");
58
+ // authorize public role (additional authz via onlyOwner)
59
+ functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
60
+ _authorize(functions, FlightProduct.resendRequest.selector, "resendRequest");
61
+ _authorize(functions, FlightProduct.processPayoutsAndClosePolicies.selector, "processPayoutsAndClosePolicies");
62
+ _authorize(functions, FlightProduct.setConstants.selector, "setConstants");
63
+ _authorize(functions, FlightProduct.setTestMode.selector, "setTestMode");
39
64
  _authorize(functions, FlightProduct.setDefaultBundle.selector, "setDefaultBundle");
40
65
  _authorize(functions, FlightProduct.approveTokenHandler.selector, "approveTokenHandler");
41
66
  _authorize(functions, FlightProduct.setLocked.selector, "setLocked");
@@ -0,0 +1,49 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
5
+ import {IVersionable} from "../../upgradeability/IVersionable.sol";
6
+
7
+ import {NftId} from "../../type/NftId.sol";
8
+ import {ProxyManager} from "../../upgradeability/ProxyManager.sol";
9
+ import {FlightProduct} from "./FlightProduct.sol";
10
+
11
+
12
+ contract FlightProductManager is ProxyManager {
13
+
14
+ FlightProduct private _flightProduct;
15
+ bytes32 private _salt = "0x1234";
16
+
17
+ /// @dev initializes proxy manager with flight product implementation
18
+ constructor(
19
+ address registry,
20
+ NftId instanceNftId,
21
+ string memory componentName,
22
+ IAuthorization authorization
23
+ )
24
+ {
25
+ // FlightProduct prd = new FlightProduct{salt: _salt}();
26
+ // bytes memory data = abi.encode(
27
+ // registry,
28
+ // instanceNftId,
29
+ // componentName,
30
+ // authorization);
31
+
32
+ // IVersionable versionable = initialize(
33
+ // registry,
34
+ // address(prd),
35
+ // data,
36
+ // _salt);
37
+
38
+ // _flightProduct = FlightProduct(address(versionable));
39
+ }
40
+
41
+ //--- view functions ----------------------------------------------------//
42
+ function getFlightProduct()
43
+ external
44
+ view
45
+ returns (FlightProduct flightProduct)
46
+ {
47
+ return _flightProduct;
48
+ }
49
+ }
@@ -17,12 +17,14 @@ contract SimpleDistribution is
17
17
  {
18
18
 
19
19
  constructor(
20
+ address registry,
20
21
  NftId productNftId,
21
22
  IAuthorization authorization,
22
23
  address initialOwner
23
24
  )
24
25
  {
25
26
  initialize(
27
+ registry,
26
28
  productNftId,
27
29
  authorization,
28
30
  initialOwner,
@@ -30,6 +32,7 @@ contract SimpleDistribution is
30
32
  }
31
33
 
32
34
  function initialize(
35
+ address registry,
33
36
  NftId productNftId,
34
37
  IAuthorization authorization,
35
38
  address initialOwner,
@@ -40,6 +43,7 @@ contract SimpleDistribution is
40
43
  initializer()
41
44
  {
42
45
  _initializeBasicDistribution(
46
+ registry,
43
47
  productNftId,
44
48
  authorization,
45
49
  initialOwner,
@@ -31,12 +31,14 @@ contract SimpleOracle is
31
31
  event LogSimpleOracleSyncResponseSent(RequestId requestId, string responseText);
32
32
 
33
33
  constructor(
34
+ address registry,
34
35
  NftId productNftId,
35
36
  IAuthorization authorization,
36
37
  address initialOwner
37
38
  )
38
39
  {
39
40
  initialize(
41
+ registry,
40
42
  productNftId,
41
43
  authorization,
42
44
  initialOwner,
@@ -45,6 +47,7 @@ contract SimpleOracle is
45
47
  }
46
48
 
47
49
  function initialize(
50
+ address registry,
48
51
  NftId productNftId,
49
52
  IAuthorization authorization,
50
53
  address initialOwner,
@@ -55,6 +58,7 @@ contract SimpleOracle is
55
58
  initializer()
56
59
  {
57
60
  _initializeBasicOracle(
61
+ registry,
58
62
  productNftId,
59
63
  authorization,
60
64
  initialOwner,
@@ -17,6 +17,7 @@ contract SimplePool is
17
17
  {
18
18
 
19
19
  constructor(
20
+ address registry,
20
21
  NftId productNftId,
21
22
  IComponents.PoolInfo memory poolInfo,
22
23
  IAuthorization authorization,
@@ -24,6 +25,7 @@ contract SimplePool is
24
25
  )
25
26
  {
26
27
  initialize(
28
+ registry,
27
29
  productNftId,
28
30
  poolInfo,
29
31
  authorization,
@@ -33,6 +35,7 @@ contract SimplePool is
33
35
 
34
36
 
35
37
  function initialize(
38
+ address registry,
36
39
  NftId productNftId,
37
40
  IComponents.PoolInfo memory poolInfo,
38
41
  IAuthorization authorization,
@@ -43,6 +46,7 @@ contract SimplePool is
43
46
  initializer()
44
47
  {
45
48
  _initializeBasicPool(
49
+ registry,
46
50
  productNftId,
47
51
  "SimplePool",
48
52
  poolInfo,
@@ -34,6 +34,7 @@ contract SimpleProduct is
34
34
  IOracleService private _oracleService;
35
35
 
36
36
  constructor(
37
+ address registry,
37
38
  NftId instanceNftId,
38
39
  string memory name,
39
40
  IComponents.ProductInfo memory productInfo,
@@ -43,6 +44,7 @@ contract SimpleProduct is
43
44
  )
44
45
  {
45
46
  initialize(
47
+ registry,
46
48
  instanceNftId,
47
49
  name,
48
50
  productInfo,
@@ -53,6 +55,7 @@ contract SimpleProduct is
53
55
 
54
56
 
55
57
  function initialize(
58
+ address registry,
56
59
  NftId instanceNftid,
57
60
  string memory name,
58
61
  IComponents.ProductInfo memory productInfo,
@@ -65,6 +68,7 @@ contract SimpleProduct is
65
68
  initializer()
66
69
  {
67
70
  _initializeBasicProduct(
71
+ registry,
68
72
  instanceNftid,
69
73
  name,
70
74
  productInfo,
@@ -42,6 +42,8 @@ abstract contract BaseStore is
42
42
  metadata.objectType = objectType;
43
43
  metadata.state = initialState;
44
44
  metadata.updatedIn = blocknumber;
45
+
46
+ emit LogBaseStoreMetadataCreated(key32, objectType, initialState);
45
47
  }
46
48
 
47
49
  function _updateState(
@@ -73,6 +75,8 @@ abstract contract BaseStore is
73
75
 
74
76
  // update metadata
75
77
  metadata.updatedIn = BlocknumberLib.current();
78
+
79
+ emit LogBaseStoreMetadataUpdated(key32, oldState, state);
76
80
  }
77
81
 
78
82
  function exists(Key32 key32) public view returns (bool) {
@@ -17,6 +17,14 @@ interface IBaseStore is ILifecycle {
17
17
  error ErrorBaseStoreStateZero(Key32 key);
18
18
  error ErrorBaseStoreNotExisting(Key32 key);
19
19
 
20
+ event LogBaseStoreMetadataCreated(
21
+ Key32 indexed key,
22
+ ObjectType indexed objectType,
23
+ StateId indexed state);
24
+ event LogBaseStoreMetadataUpdated(
25
+ Key32 indexed key,
26
+ StateId indexed oldState,
27
+ StateId indexed newState);
20
28
 
21
29
  struct Metadata {
22
30
  // slot 0
@@ -58,6 +58,8 @@ interface IInstanceService is IService {
58
58
 
59
59
  event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
60
60
  event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
61
+ event LogInstanceServiceMasterInstanceRegistered(NftId masterInstanceNftId, address masterInstance, address masterInstanceAdmin, address masterAccessManager,
62
+ address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
61
63
  event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
62
64
  event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
63
65
 
@@ -26,6 +26,8 @@ contract Instance is
26
26
  IInstance,
27
27
  Registerable
28
28
  {
29
+ bool private _initialized;
30
+
29
31
  IComponentService internal _componentService;
30
32
  IInstanceService internal _instanceService;
31
33
 
@@ -57,6 +59,8 @@ contract Instance is
57
59
 
58
60
  function initialize(
59
61
  InstanceContracts memory instanceContracts,
62
+ IRegistry registry,
63
+ VersionPart release,
60
64
  address initialOwner,
61
65
  bool tokenRegistryDisabled // only disable for testing
62
66
  )
@@ -70,9 +74,9 @@ contract Instance is
70
74
  _instanceAdmin = instanceContracts.instanceAdmin;
71
75
 
72
76
  // setup instance object info
73
- IRegistry registry = _getRegistry();
74
77
  __Registerable_init({
75
78
  authority: instanceContracts.instanceAdmin.authority(),
79
+ registry: address(registry),
76
80
  parentNftId: registry.getNftId(),
77
81
  objectType: INSTANCE(),
78
82
  isInterceptor: false,
@@ -89,19 +93,19 @@ contract Instance is
89
93
  // initialize instance supporting contracts
90
94
  _instanceStore.initialize();
91
95
  _productStore.initialize();
92
- _bundleSet.initialize(instanceContracts.instanceAdmin.authority());
93
- _riskSet.initialize(instanceContracts.instanceAdmin.authority());
96
+ _bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
97
+ _riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
94
98
  _instanceReader.initialize();
95
99
 
96
100
  _componentService = IComponentService(
97
- registry.getServiceAddress(
101
+ getRegistry().getServiceAddress(
98
102
  COMPONENT(),
99
- getRelease()));
103
+ release));
100
104
 
101
105
  _instanceService = IInstanceService(
102
- registry.getServiceAddress(
106
+ getRegistry().getServiceAddress(
103
107
  INSTANCE(),
104
- getRelease()));
108
+ release));
105
109
 
106
110
  _tokenRegistryDisabled = tokenRegistryDisabled;
107
111
 
@@ -11,10 +11,9 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
11
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
12
12
  import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
13
13
  import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
14
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
15
14
  import {Str} from "../type/String.sol";
16
- import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
17
15
  import {VersionPart} from "../type/Version.sol";
16
+ import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
18
17
 
19
18
 
20
19
  contract InstanceAdmin is
@@ -27,12 +26,13 @@ contract InstanceAdmin is
27
26
  error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
28
27
 
29
28
  IInstance internal _instance;
29
+ IRegistry internal _registry;
30
30
 
31
31
  uint64 internal _customRoleIdNext;
32
32
 
33
33
 
34
34
  modifier onlyInstanceService() {
35
- if (msg.sender != _getRegistry().getServiceAddress(INSTANCE(), getRelease())) {
35
+ if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
36
36
  revert ErrorInstanceAdminNotInstanceService(msg.sender);
37
37
  }
38
38
  _;
@@ -43,8 +43,7 @@ contract InstanceAdmin is
43
43
  constructor(address accessManager) {
44
44
  initialize(
45
45
  accessManager,
46
- "MasterInstanceAdmin",
47
- GIF_INITIAL_RELEASE());
46
+ "MasterInstanceAdmin");
48
47
  }
49
48
 
50
49
 
@@ -52,23 +51,32 @@ contract InstanceAdmin is
52
51
  /// Important: Initialization of instance admin is only complete after calling this function.
53
52
  /// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
54
53
  function completeSetup(
54
+ address registry,
55
55
  address authorization,
56
+ VersionPart release,
56
57
  address instance
57
58
  )
58
59
  external
60
+ reinitializer(uint64(release.toInt()))
59
61
  {
60
62
  // checks
61
- AccessAdminLib.checkIsRegistered(instance, INSTANCE(), getRelease());
63
+ AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
62
64
 
63
65
  // effects
66
+ AccessManagerCloneable(
67
+ authority()).completeSetup(
68
+ registry,
69
+ release);
70
+
64
71
  AccessAdminLib.checkAuthorization(
65
72
  address(_authorization),
66
73
  authorization,
67
74
  INSTANCE(), // expectedDomain
68
- getRelease(), // expectedRelease
75
+ release, // expectedRelease
69
76
  false, // expectServiceAuthorization
70
77
  true); // checkAlreadyInitialized
71
78
 
79
+ _registry = IRegistry(registry);
72
80
  _instance = IInstance(instance);
73
81
  _authorization = IAuthorization(authorization);
74
82
  _customRoleIdNext = 0;
@@ -97,7 +105,7 @@ contract InstanceAdmin is
97
105
  for(uint256 i = 0; i < serviceDomains.length; i++) {
98
106
  ObjectType serviceDomain = serviceDomains[i];
99
107
  RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
100
- address service = _getRegistry().getServiceAddress(serviceDomain, getRelease());
108
+ address service = _registry.getServiceAddress(serviceDomain, getRelease());
101
109
 
102
110
  _grantRoleToAccount(
103
111
  serviceRoleId,
@@ -122,13 +130,11 @@ contract InstanceAdmin is
122
130
  _createTarget(target, name, TargetType.Instance, true);
123
131
  }
124
132
 
125
-
126
133
  /// @dev Initializes the authorization for the specified component.
127
134
  /// Important: The component MUST be registered.
128
135
  function initializeComponentAuthorization(
129
136
  address componentAddress,
130
- ObjectType expectedType,
131
- VersionPart expectedRelease
137
+ ObjectType expectedType
132
138
  )
133
139
  external
134
140
  restricted()
@@ -13,9 +13,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
13
13
  import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
14
14
  import {ProductStore} from "../instance/ProductStore.sol";
15
15
  import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
16
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
17
- import {RiskSet} from "../instance/RiskSet.sol";
18
- import {VersionPartLib} from "../type/Version.sol";
16
+ import {RiskSet} from "../instance/RiskSet.sol";
19
17
 
20
18
 
21
19
  contract InstanceAuthorizationV3
@@ -29,7 +27,7 @@ contract InstanceAuthorizationV3
29
27
  Authorization(
30
28
  INSTANCE_TARGET_NAME,
31
29
  INSTANCE(),
32
- GIF_INITIAL_RELEASE(),
30
+ 3,
33
31
  COMMIT_HASH,
34
32
  TargetType.Instance,
35
33
  false)
@@ -28,32 +28,27 @@ import {NftId} from "../type/NftId.sol";
28
28
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
29
29
  import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
30
30
  import {ProductStore} from "./ProductStore.sol";
31
- import {RegistryLinked} from "../shared/RegistryLinked.sol";
32
31
  import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
33
32
  import {RequestId} from "../type/RequestId.sol";
34
33
  import {RiskId} from "../type/RiskId.sol";
35
34
  import {RiskSet} from "./RiskSet.sol";
36
35
  import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
37
36
  import {StateId} from "../type/StateId.sol";
37
+ import {Str, StrLib} from "../type/String.sol";
38
38
  import {TokenHandler} from "../shared/TokenHandler.sol";
39
39
  import {UFixed, UFixedLib} from "../type/UFixed.sol";
40
40
 
41
41
 
42
42
  /// @dev Central reader contract for a specific instance.
43
43
  /// Provides reading functions for all instance data and related component data.
44
- contract InstanceReader is
45
- RegistryLinked
46
- {
44
+ contract InstanceReader {
47
45
 
48
46
  error ErrorInstanceReaderAlreadyInitialized();
49
47
  error ErrorInstanceReaderInstanceAddressZero();
50
- // TODO make state immutable:
51
- // 1. instance receives reader through setInstanceReader()
52
- // 2. this way instance initialization is not depends on reader
53
- // 3. and reader is simple contract with constructor
54
- // 4. no _initialized in storage, the rest is immutable
48
+
55
49
  bool private _initialized = false;
56
50
 
51
+ IRegistry internal _registry;
57
52
  IInstance internal _instance;
58
53
  InstanceAdmin internal _instanceAdmin;
59
54
 
@@ -84,24 +79,27 @@ contract InstanceReader is
84
79
  _initialized = true;
85
80
  _instance = IInstance(instanceAddress);
86
81
  _instanceAdmin = _instance.getInstanceAdmin();
82
+ _registry = _instance.getRegistry();
87
83
 
88
84
  _store = _instance.getInstanceStore();
89
85
  _productStore = _instance.getProductStore();
90
86
  _bundleSet = _instance.getBundleSet();
91
87
  _riskSet = _instance.getRiskSet();
92
-
93
- _distributionService = IDistributionService(
94
- _getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
88
+ _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
95
89
  }
96
90
 
97
91
 
98
92
  //--- instance functions ---------------------------------------------------------//
99
93
 
94
+ /// @dev Returns the registry this instance is registered in.
95
+ function getRegistry() public view returns (IRegistry registry) {
96
+ return _registry;
97
+ }
100
98
 
101
99
 
102
100
  /// @dev Returns the instance NFT ID.
103
101
  function getInstanceNftId() public view returns (NftId instanceNftid) {
104
- return _getRegistry().getNftIdForAddress(address(_instance));
102
+ return _registry.getNftIdForAddress(address(_instance));
105
103
  }
106
104
 
107
105
 
@@ -166,7 +164,9 @@ contract InstanceReader is
166
164
 
167
165
 
168
166
  /// @dev Returns the currently locked amount for the given NFT ID.
169
- /// The target NFT ID may reference a pool or a bundle.
167
+ /// Locked amounts are only tracked for bundles, not for pool. To get the
168
+ /// pool locked amount, then locked amounts of the bundles contained in the
169
+ /// pool must be summed up. The target NFT ID may only a bundle.
170
170
  function getLockedAmount(NftId targetNftId) external view returns (Amount) {
171
171
  return _store.getLockedAmount(targetNftId);
172
172
  }
@@ -438,7 +438,7 @@ contract InstanceReader is
438
438
  return _store.getReferralInfo(referralId);
439
439
  }
440
440
 
441
- // TODO reader dependce on service os wrong?
441
+
442
442
  function getDiscountPercentage(ReferralId referralId)
443
443
  public
444
444
  view
@@ -447,7 +447,10 @@ contract InstanceReader is
447
447
  ReferralStatus status
448
448
  )
449
449
  {
450
- return _distributionService.getDiscountPercentage(
450
+ return IDistributionService(
451
+ _registry.getServiceAddress(
452
+ DISTRIBUTION(),
453
+ _instance.getRelease())).getDiscountPercentage(
451
454
  this, // instance reader
452
455
  referralId);
453
456
  }
@@ -466,6 +469,12 @@ contract InstanceReader is
466
469
  }
467
470
 
468
471
 
472
+ /// @dev Returns the role ID for the given index.
473
+ function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
474
+ return _instanceAdmin.getRoleForName(name);
475
+ }
476
+
477
+
469
478
  /// @dev Returns the role ID for the instance owner role.
470
479
  /// This role may be used as a "root" admin role for other custom roles defined for this instance.
471
480
  function getInstanceOwnerRole() public pure returns (RoleId roleId) {
@@ -595,13 +604,18 @@ contract InstanceReader is
595
604
  }
596
605
 
597
606
 
598
- function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
599
- return UFixedLib.toUFixed(value, exp);
607
+ function toInt(UFixed value) public pure returns (uint256) {
608
+ return UFixedLib.toInt(value);
600
609
  }
601
610
 
602
611
 
603
- function toInt(UFixed value) public pure returns (uint256) {
604
- return UFixedLib.toInt(value);
612
+ function toString(Str str) public pure returns (string memory) {
613
+ return StrLib.toString(str);
614
+ }
615
+
616
+
617
+ function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
618
+ return UFixedLib.toUFixed(value, exp);
605
619
  }
606
620
 
607
621
  //--- internal functions ----------------------------------------------------//