@etherisc/gif-next 0.0.2-7edde36-170 → 0.0.2-7ee1666-376

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 (343) hide show
  1. package/README.md +1 -1
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +33 -52
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +0 -19
  9. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  14. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  15. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +30 -177
  16. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  18. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +0 -147
  20. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +85 -192
  22. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +84 -104
  24. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  26. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  27. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  28. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  29. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1463 -0
  30. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
  32. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  33. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1931 -0
  34. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +414 -0
  36. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  46. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  47. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  48. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +10 -99
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +95 -98
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +14 -14
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +84 -65
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +39 -146
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +61 -81
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -207
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  69. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  71. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  73. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  78. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  79. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  80. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  81. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +20 -167
  82. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  83. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  84. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  85. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  86. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  88. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -147
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  90. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +37 -144
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  92. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -80
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  94. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -147
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  96. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  98. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +81 -188
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  100. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +82 -102
  101. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  103. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +0 -10
  105. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  106. package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -147
  107. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +43 -160
  109. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -83
  111. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +31 -146
  113. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +57 -81
  115. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -147
  117. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  119. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +190 -175
  121. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +92 -100
  123. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  124. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  125. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +98 -0
  126. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  127. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +83 -11
  128. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  129. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  130. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  131. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  132. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +198 -185
  133. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  134. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +99 -95
  135. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  136. package/artifacts/contracts/product/PricingService.sol/PricingService.json +55 -162
  137. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +68 -88
  139. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  140. package/artifacts/contracts/product/Product.sol/Product.json +0 -147
  141. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  142. package/artifacts/contracts/product/RiskService.sol/RiskService.json +25 -132
  143. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +54 -74
  145. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  146. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  147. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  148. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +221 -21
  149. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  150. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  151. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  152. package/artifacts/contracts/registry/Registry.sol/Registry.json +419 -82
  153. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  154. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +244 -132
  155. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  156. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +23 -130
  157. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +52 -72
  159. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  160. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  161. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  162. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +24 -14
  163. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  164. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  165. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  166. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  167. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  168. package/artifacts/contracts/shared/Component.sol/Component.json +0 -147
  169. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  170. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +75 -182
  171. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +89 -99
  173. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  174. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +5 -112
  175. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  176. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  177. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  178. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  179. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  180. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  181. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  182. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  184. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +14 -46
  185. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  186. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  187. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  188. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  189. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  190. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  191. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  192. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -147
  193. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  194. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  195. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  196. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  197. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  198. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -57
  199. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  200. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +18 -140
  201. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  202. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -97
  203. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  204. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  205. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  206. package/artifacts/contracts/shared/Service.sol/Service.json +5 -112
  207. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  208. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  209. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  210. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +16 -0
  211. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  212. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  213. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +83 -30
  214. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  215. package/artifacts/contracts/staking/Staking.sol/Staking.json +66 -189
  216. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  217. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  218. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  219. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +73 -84
  220. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  221. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  222. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  223. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +31 -138
  224. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  225. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +56 -76
  226. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  227. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  228. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  229. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  230. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  231. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  235. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  237. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  238. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  239. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  240. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  241. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  242. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  243. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  244. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  245. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  246. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  248. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  251. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  257. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  261. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  263. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  264. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  265. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +39 -70
  266. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  267. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  268. package/contracts/authorization/AccessAdmin.sol +25 -24
  269. package/contracts/authorization/IAccessAdmin.sol +0 -1
  270. package/contracts/distribution/Distribution.sol +1 -1
  271. package/contracts/distribution/DistributionService.sol +8 -8
  272. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  273. package/contracts/examples/fire/DamageLevel.sol +56 -0
  274. package/contracts/examples/fire/FirePool.sol +75 -0
  275. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  276. package/contracts/examples/fire/FireProduct.sol +432 -0
  277. package/contracts/examples/fire/FireProductAuthorization.sol +38 -0
  278. package/contracts/examples/fire/FireUSD.sol +26 -0
  279. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  280. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  281. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  282. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  283. package/contracts/instance/Instance.sol +2 -2
  284. package/contracts/instance/InstanceAuthorizationV3.sol +1 -0
  285. package/contracts/instance/InstanceReader.sol +8 -0
  286. package/contracts/instance/InstanceService.sol +10 -11
  287. package/contracts/instance/InstanceServiceManager.sol +6 -7
  288. package/contracts/instance/InstanceStore.sol +0 -4
  289. package/contracts/instance/base/ObjectLifecycle.sol +2 -1
  290. package/contracts/instance/module/IPolicy.sol +5 -5
  291. package/contracts/oracle/Oracle.sol +1 -1
  292. package/contracts/oracle/OracleService.sol +8 -6
  293. package/contracts/oracle/OracleServiceManager.sol +6 -6
  294. package/contracts/pool/BundleService.sol +8 -8
  295. package/contracts/pool/BundleServiceManager.sol +6 -6
  296. package/contracts/pool/Pool.sol +1 -1
  297. package/contracts/pool/PoolService.sol +5 -6
  298. package/contracts/pool/PoolServiceManager.sol +4 -4
  299. package/contracts/product/ApplicationService.sol +4 -6
  300. package/contracts/product/ApplicationServiceManager.sol +4 -4
  301. package/contracts/product/ClaimService.sol +201 -71
  302. package/contracts/product/ClaimServiceManager.sol +4 -4
  303. package/contracts/product/IClaimService.sol +27 -5
  304. package/contracts/product/IPolicyService.sol +9 -5
  305. package/contracts/product/PolicyService.sol +115 -38
  306. package/contracts/product/PolicyServiceManager.sol +4 -4
  307. package/contracts/product/PricingService.sol +4 -5
  308. package/contracts/product/PricingServiceManager.sol +3 -3
  309. package/contracts/product/Product.sol +23 -5
  310. package/contracts/product/RiskService.sol +4 -5
  311. package/contracts/product/RiskServiceManager.sol +4 -4
  312. package/contracts/registry/ChainNft.sol +65 -32
  313. package/contracts/registry/IRegistry.sol +49 -15
  314. package/contracts/registry/Registry.sol +321 -195
  315. package/contracts/registry/RegistryAdmin.sol +140 -50
  316. package/contracts/registry/RegistryService.sol +2 -2
  317. package/contracts/registry/RegistryServiceManager.sol +2 -2
  318. package/contracts/registry/ReleaseRegistry.sol +12 -6
  319. package/contracts/shared/Component.sol +6 -6
  320. package/contracts/shared/ComponentService.sol +7 -7
  321. package/contracts/shared/ComponentServiceManager.sol +8 -5
  322. package/contracts/shared/ComponentVerifyingService.sol +1 -1
  323. package/contracts/shared/ContractLib.sol +38 -0
  324. package/contracts/shared/IPolicyHolder.sol +12 -22
  325. package/contracts/shared/InitializableERC165.sol +2 -2
  326. package/contracts/shared/InstanceLinkedComponent.sol +4 -4
  327. package/contracts/shared/NftOwnable.sol +5 -5
  328. package/contracts/shared/PolicyHolder.sol +12 -53
  329. package/contracts/shared/Registerable.sol +4 -4
  330. package/contracts/shared/RegistryLinked.sol +3 -2
  331. package/contracts/shared/Service.sol +16 -11
  332. package/contracts/staking/IStaking.sol +1 -0
  333. package/contracts/staking/StakeManagerLib.sol +18 -0
  334. package/contracts/staking/Staking.sol +6 -5
  335. package/contracts/staking/StakingManager.sol +8 -6
  336. package/contracts/staking/StakingService.sol +2 -2
  337. package/contracts/staking/StakingServiceManager.sol +2 -2
  338. package/contracts/type/NftId.sol +1 -0
  339. package/contracts/type/RiskId.sol +15 -1
  340. package/contracts/type/StateId.sol +1 -0
  341. package/contracts/upgradeability/ProxyManager.sol +67 -34
  342. package/contracts/upgradeability/Versionable.sol +2 -2
  343. package/package.json +1 -1
@@ -7,35 +7,48 @@ import {NftId} from "../type/NftId.sol";
7
7
  import {ObjectType} from "../type/ObjectType.sol";
8
8
  import {VersionPart} from "../type/Version.sol";
9
9
  import {Timestamp} from "../type/Timestamp.sol";
10
+ import {StateId} from "../type/StateId.sol";
11
+
12
+ import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
10
13
 
11
14
  /// @title Chain Registry interface.
12
15
  /// A chain registry holds all protocol relevant objects with basic metadata.
13
16
  /// Registered objects include services, instances, products, pools, policies, bundles, stakes and more.
14
17
  /// Registered objects are represented by NFTs.
18
+ /// When on mainnet registry is global and keeps arbitrary number of chain registries residing on different chain ids.
19
+ /// When not on mainnet registry keeps the only object residing on different chain id (on mainnet) - global registry.
15
20
  interface IRegistry is IERC165 {
16
21
 
17
22
  event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
18
23
  event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
24
+ event LogChainRegistryRegistration(NftId nftId, uint256 chainId, address chainRegistryAddress);
25
+
26
+ // initialize
27
+ error ErrorRegistryCallerNotDeployer();
19
28
 
20
- // register()
21
- error ErrorRegistryCallerNotRegistryService();
22
- error ErrorRegistryService(address service);
29
+ // registerRegistry()
30
+ error ErrorRegistryNotOnMainnet(uint256 chainId);
31
+ error ErrorRegistryChainRegistryChainIdZero(NftId nftId);
32
+ error ErrorRegistryChainRegistryAddressZero(NftId nftId, uint256 chainId);
33
+ error ErrorRegistryChainRegistryNftIdInvalid(NftId nftId, uint256 chainId);
34
+ error ErrorRegistryChainRegistryAlreadyRegistered(NftId nftId, uint256 chainId);
23
35
 
24
36
  // registerService()
25
- error ErrorRegistryCallerNotReleaseRegistry();
26
37
  error ErrorRegistryServiceAddressZero();
27
- error ErrorRegistryServiceVersionZero();
38
+ error ErrorRegistryServiceVersionZero(address service);
39
+ //error ErrorRegistryServiceVersionMismatch(address service, VersionPart serviceVersion, VersionPart releaseVersion);
40
+ //error ErrorRegistryServiceVersionNotDeploying(address service, VersionPart version);
41
+ error ErrorRegistryServiceDomainZero(address service, VersionPart version);
28
42
  error ErrorRegistryNotService(address service, ObjectType objectType);
29
- error ErrorRegistryServiceParentNotRegistry(NftId parentNftId);
30
- error ErrorRegistryDomainZero(address service);
31
- error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
43
+ error ErrorRegistryServiceParentNotRegistry(address service, VersionPart version, NftId parentNftId);
44
+ error ErrorRegistryServiceDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
32
45
 
33
46
  // registerWithCustomTypes()
34
47
  error ErrorRegistryCoreTypeRegistration();
35
48
 
36
49
  // _register()
37
- error ErrorRegistryParentAddressZero();
38
- error ErrorRegistryTypesCombinationInvalid(ObjectType objectType, ObjectType parentType);
50
+ error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
51
+ error ErrorRegistryTypesCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
39
52
  error ErrorRegistryContractAlreadyRegistered(address objectAddress);
40
53
 
41
54
  struct ObjectInfo {
@@ -49,19 +62,24 @@ interface IRegistry is IERC165 {
49
62
  }
50
63
 
51
64
  struct ReleaseInfo {
65
+ StateId state;
52
66
  VersionPart version;
53
67
  bytes32 salt;
54
68
  address[] addresses;
55
69
  string[] names;
56
70
  ObjectType[] domains;
71
+ IServiceAuthorization auth;
57
72
  Timestamp activatedAt;
58
73
  Timestamp disabledAt;
59
74
  }
60
75
 
61
- /// @dev Register an object with a known core type.
62
- /// The function returns a newly minted object NFT ID.
63
- /// May not be used to register services.
64
- function register(ObjectInfo memory info) external returns (NftId nftId);
76
+ /// @dev Registers a registry contract for a specified chain.
77
+ /// Only one chain registry may be registered per chain
78
+ function registerRegistry(
79
+ NftId nftId,
80
+ uint256 chainId,
81
+ address chainRegistryAddress
82
+ ) external;
65
83
 
66
84
  /// @dev Register a service with using the provided domain and version.
67
85
  /// The function returns a newly minted service NFT ID.
@@ -72,6 +90,11 @@ interface IRegistry is IERC165 {
72
90
  ObjectType serviceDomain
73
91
  ) external returns(NftId nftId);
74
92
 
93
+ /// @dev Register an object with a known core type.
94
+ /// The function returns a newly minted object NFT ID.
95
+ /// May not be used to register services.
96
+ function register(ObjectInfo memory info) external returns (NftId nftId);
97
+
75
98
  /// @dev Register an object with a custom type.
76
99
  /// The function returns a newly minted object NFT ID.
77
100
  /// This function is reserved for GIF releases > 3.
@@ -86,9 +109,18 @@ interface IRegistry is IERC165 {
86
109
 
87
110
  function getReleaseInfo(VersionPart version) external view returns (ReleaseInfo memory);
88
111
 
112
+ /// @dev Returns the number of supported chains.
113
+ function chainIds() external view returns (uint256);
114
+
115
+ /// @dev Returns the chain id at the specified index.
116
+ function getChainId(uint256 idx) external view returns (uint256);
117
+
118
+ /// @dev Returns the NFT ID of the registry for the specified chain.
119
+ function getRegistryNftId(uint256 chainId) external returns (NftId nftId);
120
+
89
121
  function getObjectCount() external view returns (uint256);
90
122
 
91
- function getNftId(address objectAddress) external view returns (NftId nftId);
123
+ function getNftIdForAddress(address objectAddress) external view returns (NftId nftId);
92
124
 
93
125
  function ownerOf(NftId nftId) external view returns (address);
94
126
 
@@ -96,6 +128,8 @@ interface IRegistry is IERC165 {
96
128
 
97
129
  function getObjectInfo(NftId nftId) external view returns (ObjectInfo memory info);
98
130
 
131
+ /// @dev Returns the object info for the specified object address.
132
+ // MUST not be used with chain registry address (resides on different chan id)
99
133
  function getObjectInfo(address object) external view returns (ObjectInfo memory info);
100
134
 
101
135
  function isRegistered(NftId nftId) external view returns (bool);