@etherisc/gif-next 0.0.2-c00cf5d-513 → 0.0.2-c04bff4-304

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 (517) hide show
  1. package/README.md +49 -4
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +160 -543
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +272 -455
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -143
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +169 -263
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +186 -94
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +71 -85
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +190 -49
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +65 -227
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1218 -284
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +592 -316
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +246 -196
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +65 -109
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1112 -372
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  78. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  79. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  80. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  81. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  82. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  83. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  84. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  86. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  88. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
  90. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  92. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  94. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
  96. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
  98. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  100. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  102. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  103. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +414 -359
  104. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  105. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +121 -117
  106. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  107. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +204 -32
  108. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  109. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +180 -366
  110. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  111. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +340 -219
  112. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  113. package/artifacts/contracts/pool/Pool.sol/Pool.json +204 -596
  114. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  115. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +394 -574
  116. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +51 -139
  118. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  119. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +84 -289
  120. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  121. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +54 -106
  122. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  123. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  124. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  125. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  126. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  127. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +225 -305
  128. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +79 -123
  130. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  131. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
  132. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  133. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +134 -1
  134. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  135. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +217 -83
  136. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  137. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +83 -44
  138. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  139. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -183
  140. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  141. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +15 -57
  142. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  143. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +239 -435
  144. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +66 -162
  146. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  147. package/artifacts/contracts/product/PricingService.sol/PricingService.json +184 -347
  148. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +80 -124
  150. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  151. package/artifacts/contracts/product/Product.sol/Product.json +286 -449
  152. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  153. package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
  154. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -0
  156. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  158. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +308 -39
  160. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +42 -73
  162. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  163. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  164. package/artifacts/contracts/registry/Registry.sol/Registry.json +718 -74
  165. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  166. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1682 -113
  167. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  168. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +195 -137
  169. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +45 -93
  171. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  172. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  173. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  174. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  175. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  176. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  177. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  178. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -136
  179. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  180. package/artifacts/contracts/shared/Component.sol/Component.json +88 -295
  181. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  182. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1125 -207
  183. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  184. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +753 -0
  185. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  186. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +427 -0
  187. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  188. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -107
  189. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  190. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  191. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  192. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  193. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  194. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +12 -16
  195. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  196. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  197. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  198. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
  199. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +0 -24
  201. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  203. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  204. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  206. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  208. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  209. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  210. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +793 -0
  212. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  214. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  216. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  217. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  218. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +32 -70
  220. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  221. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -118
  222. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -110
  224. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  225. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  226. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Service.sol/Service.json +13 -125
  228. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  229. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
  230. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  231. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  232. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  233. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  234. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  235. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
  236. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  238. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  239. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  240. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  242. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +714 -0
  244. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  246. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  247. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +636 -191
  248. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  249. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +65 -97
  250. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  252. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  253. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  254. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  255. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  256. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/Amount.sol/AmountLib.json +97 -4
  258. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  259. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  260. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  261. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  262. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  263. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  264. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
  266. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  267. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  268. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  270. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  271. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  272. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  274. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  276. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  278. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  280. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  282. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  284. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
  286. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  288. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  290. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  292. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  294. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  296. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  298. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
  300. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  302. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  304. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  305. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  306. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  307. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +566 -0
  308. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  309. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  310. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  311. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  312. package/contracts/authorization/AccessAdmin.sol +589 -0
  313. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  314. package/contracts/authorization/Authorization.sol +217 -0
  315. package/contracts/authorization/IAccess.sol +48 -0
  316. package/contracts/authorization/IAccessAdmin.sol +136 -0
  317. package/contracts/authorization/IAuthorization.sol +54 -0
  318. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  319. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  320. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  321. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  322. package/contracts/distribution/BasicDistribution.sol +138 -0
  323. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  324. package/contracts/distribution/Distribution.sol +163 -153
  325. package/contracts/distribution/DistributionService.sol +132 -147
  326. package/contracts/distribution/DistributionServiceManager.sol +2 -5
  327. package/contracts/distribution/IDistributionComponent.sol +28 -47
  328. package/contracts/distribution/IDistributionService.sol +24 -10
  329. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  330. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  331. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  332. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  333. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  334. package/contracts/instance/IInstance.sol +24 -40
  335. package/contracts/instance/IInstanceService.sol +44 -24
  336. package/contracts/instance/Instance.sol +112 -117
  337. package/contracts/instance/InstanceAdmin.sol +221 -266
  338. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  339. package/contracts/instance/InstanceReader.sol +114 -52
  340. package/contracts/instance/InstanceService.sol +280 -112
  341. package/contracts/instance/InstanceServiceManager.sol +2 -6
  342. package/contracts/instance/InstanceStore.sol +142 -66
  343. package/contracts/instance/base/BalanceStore.sol +123 -0
  344. package/contracts/instance/base/Cloneable.sol +2 -25
  345. package/contracts/instance/base/ObjectCounter.sol +21 -0
  346. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  347. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  348. package/contracts/instance/module/IBundle.sol +1 -4
  349. package/contracts/instance/module/IComponents.sol +15 -10
  350. package/contracts/instance/module/IDistribution.sol +0 -1
  351. package/contracts/instance/module/IPolicy.sol +29 -23
  352. package/contracts/mock/Dip.sol +26 -0
  353. package/contracts/oracle/BasicOracle.sol +48 -0
  354. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  355. package/contracts/oracle/IOracle.sol +36 -0
  356. package/contracts/oracle/IOracleComponent.sol +33 -0
  357. package/contracts/oracle/IOracleService.sol +65 -0
  358. package/contracts/oracle/Oracle.sol +167 -0
  359. package/contracts/oracle/OracleService.sol +279 -0
  360. package/contracts/oracle/OracleServiceManager.sol +39 -0
  361. package/contracts/pool/BasicPool.sol +166 -0
  362. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  363. package/contracts/pool/BundleService.sol +256 -202
  364. package/contracts/pool/BundleServiceManager.sol +2 -5
  365. package/contracts/pool/IBundleService.sol +35 -19
  366. package/contracts/pool/IPoolComponent.sol +10 -66
  367. package/contracts/pool/IPoolService.sol +79 -33
  368. package/contracts/pool/Pool.sol +169 -145
  369. package/contracts/pool/PoolService.sol +319 -214
  370. package/contracts/pool/PoolServiceManager.sol +2 -5
  371. package/contracts/product/ApplicationService.sol +139 -78
  372. package/contracts/product/ApplicationServiceManager.sol +2 -2
  373. package/contracts/product/BasicProduct.sol +53 -0
  374. package/contracts/product/BasicProductAuthorization.sol +43 -0
  375. package/contracts/product/ClaimService.sol +136 -92
  376. package/contracts/product/ClaimServiceManager.sol +2 -2
  377. package/contracts/product/IApplicationService.sol +2 -1
  378. package/contracts/product/IClaimService.sol +32 -3
  379. package/contracts/product/IPolicyService.sol +31 -38
  380. package/contracts/product/IPricingService.sol +10 -8
  381. package/contracts/product/IProductComponent.sol +10 -12
  382. package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
  383. package/contracts/product/PolicyService.sol +389 -194
  384. package/contracts/product/PolicyServiceManager.sol +2 -5
  385. package/contracts/product/PricingService.sol +99 -74
  386. package/contracts/product/PricingServiceManager.sol +2 -5
  387. package/contracts/product/Product.sol +177 -131
  388. package/contracts/product/RiskService.sol +97 -0
  389. package/contracts/product/RiskServiceManager.sol +39 -0
  390. package/contracts/registry/ChainNft.sol +72 -32
  391. package/contracts/registry/IRegistry.sol +76 -21
  392. package/contracts/registry/IRegistryService.sol +15 -5
  393. package/contracts/registry/Registry.sol +412 -175
  394. package/contracts/registry/RegistryAdmin.sol +399 -76
  395. package/contracts/registry/RegistryService.sol +53 -33
  396. package/contracts/registry/RegistryServiceManager.sol +4 -11
  397. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  398. package/contracts/registry/ReleaseRegistry.sol +491 -0
  399. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  400. package/contracts/registry/TokenRegistry.sol +261 -64
  401. package/contracts/shared/Component.sol +145 -148
  402. package/contracts/shared/ComponentService.sol +590 -91
  403. package/contracts/shared/ComponentServiceManager.sol +35 -0
  404. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  405. package/contracts/shared/IComponent.sol +21 -41
  406. package/contracts/shared/IComponentService.sol +108 -0
  407. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  408. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  409. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  410. package/contracts/shared/INftOwnable.sol +1 -1
  411. package/contracts/shared/IPolicyHolder.sol +0 -4
  412. package/contracts/shared/IService.sol +9 -2
  413. package/contracts/shared/InitializableCustom.sol +177 -0
  414. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  415. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  416. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  417. package/contracts/shared/Lifecycle.sol +77 -0
  418. package/contracts/shared/NftIdSet.sol +65 -0
  419. package/contracts/shared/NftOwnable.sol +10 -20
  420. package/contracts/shared/PolicyHolder.sol +10 -48
  421. package/contracts/shared/Registerable.sol +6 -6
  422. package/contracts/shared/RegistryLinked.sol +3 -2
  423. package/contracts/shared/Service.sol +37 -27
  424. package/contracts/shared/TokenHandler.sol +112 -8
  425. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  426. package/contracts/staking/IStaking.sol +168 -0
  427. package/contracts/staking/IStakingService.sol +105 -47
  428. package/contracts/staking/StakeManagerLib.sol +224 -0
  429. package/contracts/staking/Staking.sol +498 -0
  430. package/contracts/staking/StakingLifecycle.sol +23 -0
  431. package/contracts/staking/StakingManager.sol +50 -0
  432. package/contracts/staking/StakingReader.sol +183 -0
  433. package/contracts/staking/StakingService.sol +285 -47
  434. package/contracts/staking/StakingServiceManager.sol +9 -5
  435. package/contracts/staking/StakingStore.sol +605 -0
  436. package/contracts/staking/TargetManagerLib.sol +211 -0
  437. package/contracts/type/AddressSet.sol +1 -1
  438. package/contracts/type/Amount.sol +29 -3
  439. package/contracts/type/Blocknumber.sol +26 -3
  440. package/contracts/type/Fee.sol +17 -16
  441. package/contracts/type/NftId.sol +14 -16
  442. package/contracts/type/NftIdSet.sol +1 -1
  443. package/contracts/type/ObjectType.sol +175 -62
  444. package/contracts/type/Referral.sol +2 -1
  445. package/contracts/type/RequestId.sol +75 -0
  446. package/contracts/type/RiskId.sol +1 -1
  447. package/contracts/type/RoleId.sol +104 -69
  448. package/contracts/type/Seconds.sol +48 -1
  449. package/contracts/type/Selector.sol +102 -0
  450. package/contracts/type/StateId.sol +28 -2
  451. package/contracts/type/String.sol +53 -0
  452. package/contracts/type/Timestamp.sol +17 -3
  453. package/contracts/type/UFixed.sol +34 -9
  454. package/contracts/type/Version.sol +4 -2
  455. package/contracts/{shared → upgradeability}/ProxyManager.sol +6 -8
  456. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  457. package/package.json +8 -5
  458. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  459. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  460. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  461. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -188
  462. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  463. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  464. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  465. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  466. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  467. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  468. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  469. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  470. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  471. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  472. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  473. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  474. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  475. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -891
  476. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  477. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -715
  478. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  479. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1058
  480. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  481. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  482. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  483. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  484. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  485. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  486. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  487. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  488. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  489. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  490. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  491. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  492. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  493. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  494. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  495. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  496. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  497. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  498. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -630
  499. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  500. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  501. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  502. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -320
  503. package/contracts/instance/base/Lifecycle.sol +0 -121
  504. package/contracts/instance/module/ISetup.sol +0 -33
  505. package/contracts/instance/module/ITreasury.sol +0 -23
  506. package/contracts/product/ProductService.sol +0 -212
  507. package/contracts/product/ProductServiceManager.sol +0 -42
  508. package/contracts/registry/ReleaseManager.sol +0 -462
  509. package/contracts/shared/AccessManagerCustom.sol +0 -736
  510. package/contracts/shared/AccessManagerExtended.sol +0 -469
  511. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  512. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  513. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  514. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  515. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  516. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
  517. /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -0,0 +1,279 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
5
+ import {IComponent} from "../shared/IComponent.sol";
6
+ import {IInstance} from "../instance/IInstance.sol";
7
+ import {IInstanceService} from "../instance/IInstanceService.sol";
8
+ import {InstanceReader} from "../instance/InstanceReader.sol";
9
+ import {IOracle} from "./IOracle.sol";
10
+ import {IOracleComponent} from "./IOracleComponent.sol";
11
+ import {IOracleService} from "./IOracleService.sol";
12
+ import {IRegistry} from "../registry/IRegistry.sol";
13
+ import {NftId} from "../type/NftId.sol";
14
+ import {ObjectType, COMPONENT, ORACLE, INSTANCE} from "../type/ObjectType.sol";
15
+ import {RequestId} from "../type/RequestId.sol";
16
+ import {StateId, ACTIVE, KEEP_STATE, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
17
+ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
18
+
19
+
20
+ contract OracleService is
21
+ ComponentVerifyingService,
22
+ IOracleService
23
+ {
24
+
25
+ function _initialize(
26
+ address owner,
27
+ bytes memory data
28
+ )
29
+ internal
30
+ virtual override
31
+ initializer()
32
+ {
33
+ address initialOwner;
34
+ address registryAddress;
35
+ (registryAddress, initialOwner) = abi.decode(data, (address, address));
36
+ _initializeService(registryAddress, address(0), owner);
37
+ _registerInterface(type(IOracleService).interfaceId);
38
+ }
39
+
40
+ function request(
41
+ NftId oracleNftId,
42
+ bytes calldata requestData,
43
+ Timestamp expiryAt,
44
+ string calldata callbackMethodName
45
+ )
46
+ external
47
+ virtual
48
+ // restricted() // add authz
49
+ returns (
50
+ RequestId requestId
51
+ )
52
+ {
53
+ (
54
+ NftId componentNftId,
55
+ IRegistry.ObjectInfo memory componentInfo,
56
+ IInstance instance
57
+ ) = _getAndVerifyActiveComponent(COMPONENT());
58
+
59
+ // oracleNftId exists and is active oracle
60
+ (
61
+ IRegistry.ObjectInfo memory oracleInfo,
62
+ ) = _getAndVerifyComponentInfo(
63
+ oracleNftId,
64
+ ORACLE(),
65
+ true); // only active
66
+
67
+ // TODO move to stronger validation, requester and oracle need to belong to same product cluster
68
+ // check that requester and oracle share same instance
69
+ if (componentInfo.parentNftId != oracleInfo.parentNftId) {
70
+ revert ErrorOracleServiceInstanceMismatch(componentInfo.parentNftId, oracleInfo.parentNftId);
71
+ }
72
+
73
+ // check expiriyAt >= now
74
+ if (expiryAt < TimestampLib.blockTimestamp()) {
75
+ revert ErrorOracleServiceExpiryInThePast(TimestampLib.blockTimestamp(), expiryAt);
76
+ }
77
+
78
+ // check callbackMethodName.length > 0
79
+ if (bytes(callbackMethodName).length == 0) {
80
+ revert ErrorOracleServiceCallbackMethodNameEmpty();
81
+ }
82
+
83
+ // create request info
84
+ IOracle.RequestInfo memory request = IOracle.RequestInfo({
85
+ requesterNftId: componentNftId,
86
+ callbackMethodName: callbackMethodName,
87
+ oracleNftId: oracleNftId,
88
+ requestData: requestData,
89
+ responseData: "",
90
+ respondedAt: TimestampLib.zero(),
91
+ expiredAt: expiryAt,
92
+ isCancelled: false
93
+ });
94
+
95
+ // store request with instance
96
+ requestId = instance.getInstanceStore().createRequest(request);
97
+
98
+ // call oracle component
99
+ IOracleComponent(oracleInfo.objectAddress).request(
100
+ requestId,
101
+ componentNftId,
102
+ requestData,
103
+ expiryAt);
104
+
105
+ emit LogOracleServiceRequestCreated(requestId, componentNftId, oracleNftId, expiryAt);
106
+ }
107
+
108
+
109
+ /// @dev respond to oracle request by oracle compnent.
110
+ /// permissioned: only the oracle component linked to the request id may call this method
111
+ function respond(
112
+ RequestId requestId,
113
+ bytes calldata responseData
114
+ )
115
+ external
116
+ virtual
117
+ // restricted() // add authz
118
+ returns (bool success)
119
+ {
120
+ (
121
+ NftId oracleNftId,
122
+ IRegistry.ObjectInfo memory componentInfo,
123
+ IInstance instance
124
+ ) = _getAndVerifyActiveComponent(ORACLE());
125
+
126
+ bool callerIsOracle = true;
127
+ IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
128
+ request.responseData = responseData;
129
+ request.respondedAt = TimestampLib.blockTimestamp();
130
+
131
+ instance.getInstanceStore().updateRequest(
132
+ requestId, request, KEEP_STATE());
133
+
134
+ IRegistry.ObjectInfo memory requesterInfo = getRegistry().getObjectInfo(
135
+ request.requesterNftId);
136
+
137
+ string memory functionSignature = string(
138
+ abi.encodePacked(
139
+ request.callbackMethodName,
140
+ "(uint64,bytes)"
141
+ ));
142
+
143
+ (success, ) = requesterInfo.objectAddress.call(
144
+ abi.encodeWithSignature(
145
+ functionSignature,
146
+ requestId,
147
+ responseData));
148
+
149
+ // check that calling requestor was successful
150
+ if (success) {
151
+ instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
152
+ } else {
153
+ instance.getInstanceStore().updateRequestState(requestId, FAILED());
154
+ emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
155
+ }
156
+
157
+ emit LogOracleServiceResponseProcessed(requestId, oracleNftId);
158
+ }
159
+
160
+
161
+ function resend(RequestId requestId)
162
+ external
163
+ virtual
164
+ // restricted() // add authz
165
+ {
166
+ (
167
+ NftId requesterNftId,
168
+ IRegistry.ObjectInfo memory requesterInfo,
169
+ IInstance instance
170
+ ) = _getAndVerifyActiveComponent(COMPONENT());
171
+
172
+ bool callerIsOracle = false;
173
+ IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
174
+
175
+ // attempt to deliver response to requester
176
+ string memory functionSignature = string(
177
+ abi.encodePacked(
178
+ request.callbackMethodName,
179
+ "(uint64,bytes)"
180
+ ));
181
+
182
+ (bool success, bytes memory returnData) = requesterInfo.objectAddress.call(
183
+ abi.encodeWithSignature(
184
+ functionSignature,
185
+ requestId,
186
+ request.responseData));
187
+
188
+ // check that calling requestor was successful
189
+ if (success) {
190
+ instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
191
+ emit LogOracleServiceResponseResent(requestId, requesterNftId);
192
+ } else {
193
+ emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
194
+ }
195
+ }
196
+
197
+
198
+ function cancel(RequestId requestId)
199
+ external
200
+ virtual
201
+ // restricted() // add authz
202
+ {
203
+ (
204
+ NftId requesterNftId,
205
+ IRegistry.ObjectInfo memory componentInfo,
206
+ IInstance instance
207
+ ) = _getAndVerifyActiveComponent(COMPONENT());
208
+
209
+ bool callerIsOracle = false;
210
+ // TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
211
+ IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
212
+ request.isCancelled = true;
213
+
214
+ instance.getInstanceStore().updateRequest(requestId, request, CANCELLED());
215
+
216
+ // call oracle component
217
+ // TODO add check that oracle is active?
218
+ address oracleAddress = getRegistry().getObjectInfo(request.oracleNftId).objectAddress;
219
+ IOracleComponent(oracleAddress).cancel(requestId);
220
+
221
+ emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
222
+ }
223
+
224
+
225
+ function _checkAndGetRequestInfo(
226
+ IInstance instance,
227
+ RequestId requestId,
228
+ NftId callerNftId,
229
+ bool callerIsOracle
230
+ )
231
+ internal
232
+ virtual
233
+ view
234
+ returns (IOracle.RequestInfo memory info)
235
+ {
236
+ InstanceReader reader = instance.getInstanceReader();
237
+ StateId state = reader.getState(requestId.toKey32());
238
+
239
+ // check caller against resonsible oracle or requester
240
+ info = reader.getRequestInfo(requestId);
241
+ if (callerIsOracle) {
242
+ if (state != ACTIVE()) {
243
+ revert ErrorOracleServiceRequestStateNotActive(requestId, state);
244
+ }
245
+
246
+ if (callerNftId != info.oracleNftId) {
247
+ revert ErrorOracleServiceCallerNotResponsibleOracle(requestId, info.oracleNftId, callerNftId);
248
+ }
249
+ } else {
250
+ if (state != ACTIVE() && state != FAILED()) {
251
+ revert ErrorOracleServiceRequestStateNotActive(requestId, state);
252
+ }
253
+ if (callerNftId != info.requesterNftId) {
254
+ revert ErrorOracleServiceCallerNotRequester(requestId, info.requesterNftId, callerNftId);
255
+ }
256
+ }
257
+
258
+ // check expiry
259
+ if (info.expiredAt < TimestampLib.blockTimestamp()) {
260
+ revert ErrorOracleServiceRequestExpired(requestId, info.expiredAt);
261
+ }
262
+ }
263
+
264
+
265
+ function _getInstanceForComponent(NftId componentNftId)
266
+ internal
267
+ view
268
+ returns(IInstance instance)
269
+ {
270
+ NftId instanceNftId = getRegistry().getObjectInfo(componentNftId).parentNftId;
271
+ address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
272
+ return IInstance(instanceAddress);
273
+ }
274
+
275
+
276
+ function _getDomain() internal pure override returns(ObjectType) {
277
+ return ORACLE();
278
+ }
279
+ }
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
+ import {OracleService} from "./OracleService.sol";
7
+
8
+ contract OracleServiceManager is ProxyManager {
9
+
10
+ OracleService private _oracleService;
11
+
12
+ /// @dev initializes proxy manager with service implementation and deploys instance
13
+ constructor(
14
+ address authority,
15
+ address registryAddress,
16
+ bytes32 salt
17
+ )
18
+ ProxyManager(registryAddress)
19
+ {
20
+ OracleService orclSrv = new OracleService{salt: salt}();
21
+ bytes memory data = abi.encode(registryAddress, address(this), authority);
22
+ IVersionable versionable = deployDetermenistic(
23
+ address(orclSrv),
24
+ data,
25
+ salt);
26
+
27
+ _oracleService = OracleService(address(versionable));
28
+ }
29
+
30
+ //--- view functions ----------------------------------------------------//
31
+ function getOracleService()
32
+ external
33
+ view
34
+ returns (OracleService oracleService)
35
+ {
36
+ return _oracleService;
37
+ }
38
+
39
+ }
@@ -0,0 +1,166 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount, AmountLib} from "../type/Amount.sol";
5
+ import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
6
+ import {Fee, FeeLib} from "../type/Fee.sol";
7
+ import {IAuthorization} from "../authorization/IAuthorization.sol";
8
+ import {IBundleService} from "./IBundleService.sol";
9
+ import {IPoolComponent} from "./IPoolComponent.sol";
10
+ import {IPoolService} from "./IPoolService.sol";
11
+ import {IComponents} from "../instance/module/IComponents.sol";
12
+ import {IComponentService} from "../shared/IComponentService.sol";
13
+ import {NftId, NftIdLib} from "../type/NftId.sol";
14
+ import {BUNDLE, COMPONENT, POOL} from "../type/ObjectType.sol";
15
+ import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
16
+ import {Seconds} from "../type/Seconds.sol";
17
+ import {Timestamp} from "../type/Timestamp.sol";
18
+ import {TokenHandler} from "../shared/TokenHandler.sol";
19
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
20
+
21
+ import {Pool} from "./Pool.sol";
22
+
23
+ abstract contract BasicPool is
24
+ Pool
25
+ {
26
+
27
+ function _initializeBasicPool(
28
+ address registry,
29
+ NftId instanceNftId,
30
+ IAuthorization authorization,
31
+ address token,
32
+ string memory name,
33
+ address initialOwner
34
+ )
35
+ internal
36
+ virtual
37
+ onlyInitializing()
38
+ {
39
+ _initializePool(
40
+ registry,
41
+ instanceNftId,
42
+ name,
43
+ token,
44
+ authorization,
45
+ false, // isInterceptingNftTransfers,
46
+ initialOwner,
47
+ "", // registryData
48
+ ""); // componentData
49
+ }
50
+
51
+ function stake(
52
+ NftId bundleNftId,
53
+ Amount amount
54
+ )
55
+ public
56
+ virtual
57
+ restricted()
58
+ onlyBundleOwner(bundleNftId)
59
+ {
60
+ _stake(bundleNftId, amount);
61
+ }
62
+
63
+
64
+ function unstake(
65
+ NftId bundleNftId,
66
+ Amount amount
67
+ )
68
+ public
69
+ virtual
70
+ restricted()
71
+ onlyBundleOwner(bundleNftId)
72
+ {
73
+ _unstake(bundleNftId, amount);
74
+ }
75
+
76
+
77
+ function extend(
78
+ NftId bundleNftId,
79
+ Seconds lifetimeExtension
80
+ )
81
+ public
82
+ virtual
83
+ restricted()
84
+ onlyBundleOwner(bundleNftId)
85
+ returns(Timestamp newExpiredAt)
86
+ {
87
+ return _extend(bundleNftId, lifetimeExtension);
88
+ }
89
+
90
+
91
+ function lockBundle(NftId bundleNftId)
92
+ public
93
+ virtual
94
+ restricted()
95
+ onlyBundleOwner(bundleNftId)
96
+ {
97
+ _lockBundle(bundleNftId);
98
+ }
99
+
100
+
101
+ function unlockBundle(NftId bundleNftId)
102
+ public
103
+ virtual
104
+ restricted()
105
+ onlyBundleOwner(bundleNftId)
106
+ {
107
+ _unlockBundle(bundleNftId);
108
+ }
109
+
110
+
111
+ function closeBundle(NftId bundleNftId)
112
+ public
113
+ virtual
114
+ restricted()
115
+ onlyBundleOwner(bundleNftId)
116
+ {
117
+ _closeBundle(bundleNftId);
118
+ }
119
+
120
+
121
+ function setBundleFee(
122
+ NftId bundleNftId,
123
+ Fee memory fee
124
+ )
125
+ public
126
+ virtual
127
+ restricted()
128
+ onlyBundleOwner(bundleNftId)
129
+ {
130
+ _setBundleFee(bundleNftId, fee);
131
+ }
132
+
133
+
134
+ function setMaxBalanceAmount(Amount maxBalanceAmount)
135
+ public
136
+ virtual
137
+ restricted()
138
+ onlyOwner()
139
+ {
140
+ _setMaxBalanceAmount(maxBalanceAmount);
141
+ }
142
+
143
+
144
+ function setBundleOwnerRole(RoleId bundleOwnerRole)
145
+ public
146
+ virtual
147
+ restricted()
148
+ onlyOwner()
149
+ {
150
+ _setBundleOwnerRole(bundleOwnerRole);
151
+ }
152
+
153
+
154
+ function setFees(
155
+ Fee memory poolFee,
156
+ Fee memory stakingFee,
157
+ Fee memory performanceFee
158
+ )
159
+ public
160
+ virtual
161
+ restricted()
162
+ onlyOwner()
163
+ {
164
+ _setPoolFees(poolFee, stakingFee, performanceFee);
165
+ }
166
+ }
@@ -0,0 +1,58 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Authorization} from "../authorization/Authorization.sol";
5
+ import {BasicPool} from "./BasicPool.sol";
6
+ import {IAccess} from "../authorization/IAccess.sol";
7
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
8
+ import {IPoolComponent} from "./IPoolComponent.sol";
9
+ import {POOL} from "../type/ObjectType.sol";
10
+ import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
11
+ import {RoleId} from "../type/RoleId.sol";
12
+
13
+
14
+ contract BasicPoolAuthorization
15
+ is Authorization
16
+ {
17
+
18
+ constructor(string memory poolName)
19
+ Authorization(poolName)
20
+ {}
21
+
22
+ function _setupTargets()
23
+ internal
24
+ virtual override
25
+ {
26
+ _addComponentTargetWithRole(POOL()); // basic pool target
27
+ }
28
+
29
+
30
+ function _setupTargetAuthorizations()
31
+ internal
32
+ virtual override
33
+ {
34
+ IAccess.FunctionInfo[] storage functions;
35
+
36
+ // authorize public role (open access to any account, only allows to lock target)
37
+ functions = _authorizeForTarget(getTargetName(), PUBLIC_ROLE());
38
+ _authorize(functions, BasicPool.stake.selector, "stake");
39
+ _authorize(functions, BasicPool.unstake.selector, "unstake");
40
+ _authorize(functions, BasicPool.extend.selector, "extend");
41
+ _authorize(functions, BasicPool.lockBundle.selector, "lockBundle");
42
+ _authorize(functions, BasicPool.unlockBundle.selector, "unlockBundle");
43
+ _authorize(functions, BasicPool.closeBundle.selector, "closeBundle");
44
+ _authorize(functions, BasicPool.setBundleFee.selector, "setBundleFee");
45
+
46
+ _authorize(functions, BasicPool.setMaxBalanceAmount.selector, "setMaxBalanceAmount");
47
+ _authorize(functions, BasicPool.setBundleOwnerRole.selector, "setBundleOwnerRole");
48
+ _authorize(functions, BasicPool.setFees.selector, "setFees");
49
+ _authorize(functions, BasicPool.stake.selector, "stake");
50
+ _authorize(functions, BasicPool.unstake.selector, "unstake");
51
+ _authorize(functions, BasicPool.extend.selector, "extend");
52
+
53
+ _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
54
+
55
+ _authorize(functions, IPoolComponent.withdrawBundleFees.selector, "withdrawBundleFees");
56
+ }
57
+ }
58
+