@etherisc/gif-next 0.0.2-d3543ee-217 → 0.0.2-da77c50-824

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. package/README.md +92 -0
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/{Component.sol/Component.json → BaseComponent.sol/BaseComponent.json} +26 -57
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  5. package/artifacts/contracts/{instance/component/IComponent.sol/IComponentContract.json → components/IBaseComponent.sol/IBaseComponent.json} +26 -57
  6. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +356 -0
  8. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IProductComponent.sol/IProductComponent.json} +89 -65
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +134 -75
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  13. package/artifacts/contracts/components/Product.sol/Product.json +72 -113
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  40. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +790 -247
  42. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{component/IComponent.sol → IInstanceLinked.sol}/IInstanceLinked.json +1 -1
  44. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{access/IAccess.sol/IAccessComponentTypeRoles.json → IServiceLinked.sol/IServiceLinked.json} +14 -14
  46. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/Instance.sol/Instance.json +926 -363
  48. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  49. package/artifacts/contracts/instance/{component/ComponentModule.sol/ComponentModule.json → InstanceBase.sol/InstanceBase.json} +143 -129
  50. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{access → module/access}/Access.sol/AccessModule.json +85 -152
  52. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccess.json +1 -1
  54. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  55. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccessModule.json +96 -99
  56. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
  57. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +276 -0
  58. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
  60. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
  61. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +276 -0
  62. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  63. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
  64. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
  65. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponent.json +1 -1
  66. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponentModule.json +33 -62
  68. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  69. package/artifacts/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol/ILifecycle.json +1 -1
  70. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol/ILifecycleModule.json +1 -1
  72. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
  74. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  75. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicy.json +1 -1
  76. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  77. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicyModule.json +132 -125
  78. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{policy → module/policy}/PolicyModule.sol/PolicyModule.json +132 -125
  80. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPool.json +1 -1
  82. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  83. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPoolModule.json +67 -47
  84. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{pool → module/pool}/PoolModule.sol/PoolModule.json +51 -57
  86. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +10 -0
  88. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +10 -0
  90. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasury.json +1 -1
  92. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasuryModule.json +100 -52
  94. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
  96. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  97. package/artifacts/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol/TreasuryModule.json +100 -52
  98. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  99. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +519 -0
  100. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  101. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
  102. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
  104. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
  106. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
  108. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/IService.sol/IService.json +300 -0
  110. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +499 -0
  112. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  113. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +685 -0
  114. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +300 -0
  116. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +65 -2
  118. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  119. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +147 -30
  121. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  122. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
  123. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  124. package/artifacts/contracts/registry/Registry.sol/Registry.json +241 -25
  125. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  126. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  127. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
  128. package/artifacts/contracts/{registry/IRegistry.sol → shared/IOwnable.sol}/IOwnable.json +1 -1
  129. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  130. package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegisterable.sol}/IRegisterable.json +16 -61
  131. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  132. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
  133. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  134. package/artifacts/contracts/{registry/Registry.sol → shared/Registerable.sol}/Registerable.json +16 -61
  135. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  136. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
  137. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  138. package/artifacts/contracts/test/TestFee.sol/TestFee.json +95 -0
  139. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
  140. package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
  141. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
  142. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
  143. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  144. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
  145. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  146. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
  147. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  148. package/artifacts/contracts/test/TestService.sol/TestService.json +407 -0
  149. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  150. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  151. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  152. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +222 -0
  153. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  154. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +230 -0
  155. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  156. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  157. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  158. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  159. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  160. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  161. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  162. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  163. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  164. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  165. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  167. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  168. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  169. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +64 -2
  171. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +58 -58
  173. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  174. package/artifacts/contracts/types/Version.sol/VersionLib.json +78 -0
  175. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  176. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  177. package/contracts/components/BaseComponent.sol +89 -0
  178. package/contracts/components/IBaseComponent.sol +19 -0
  179. package/contracts/components/IPoolComponent.sol +57 -0
  180. package/contracts/components/{IProduct.sol → IProductComponent.sol} +9 -6
  181. package/contracts/components/Pool.sol +140 -18
  182. package/contracts/components/Product.sol +53 -25
  183. package/contracts/instance/IInstance.sol +35 -10
  184. package/contracts/instance/IInstanceLinked.sol +8 -0
  185. package/contracts/instance/IServiceLinked.sol +12 -0
  186. package/contracts/instance/Instance.sol +40 -50
  187. package/contracts/instance/InstanceBase.sol +74 -0
  188. package/contracts/instance/module/access/Access.sol +149 -0
  189. package/contracts/instance/module/access/IAccess.sol +53 -0
  190. package/contracts/instance/module/bundle/BundleModule.sol +228 -0
  191. package/contracts/instance/module/bundle/IBundle.sol +53 -0
  192. package/contracts/instance/module/component/ComponentModule.sol +104 -0
  193. package/contracts/instance/module/component/IComponent.sol +53 -0
  194. package/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol +3 -3
  195. package/contracts/instance/{lifecycle → module/lifecycle}/LifecycleModule.sol +5 -4
  196. package/contracts/instance/module/policy/IPolicy.sol +60 -0
  197. package/contracts/instance/module/policy/PolicyModule.sol +84 -0
  198. package/contracts/instance/module/pool/IPoolModule.sol +41 -0
  199. package/contracts/instance/module/pool/PoolModule.sol +87 -0
  200. package/contracts/instance/module/product/IProductModule.sol +6 -0
  201. package/contracts/instance/module/product/ProductModule.sol +8 -0
  202. package/contracts/instance/{treasury → module/treasury}/ITreasury.sol +25 -12
  203. package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
  204. package/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol +33 -53
  205. package/contracts/instance/service/ComponentOwnerService.sol +174 -0
  206. package/contracts/instance/service/ComponentServiceBase.sol +41 -0
  207. package/contracts/instance/service/IComponentOwnerService.sol +22 -0
  208. package/contracts/instance/service/IPoolService.sol +30 -0
  209. package/contracts/instance/service/IProductService.sol +58 -0
  210. package/contracts/instance/service/IService.sol +15 -0
  211. package/contracts/instance/service/PoolService.sol +98 -0
  212. package/contracts/instance/service/ProductService.sol +358 -0
  213. package/contracts/instance/service/ServiceBase.sol +39 -0
  214. package/contracts/registry/ChainNft.sol +61 -37
  215. package/contracts/registry/IRegistry.sol +24 -34
  216. package/contracts/registry/IRegistryLinked.sol +8 -0
  217. package/contracts/registry/Registry.sol +284 -85
  218. package/contracts/shared/ERC165.sol +21 -0
  219. package/contracts/shared/IOwnable.sol +6 -0
  220. package/contracts/shared/IRegisterable.sol +24 -0
  221. package/contracts/shared/IVersionable.sol +52 -0
  222. package/contracts/shared/Registerable.sol +86 -0
  223. package/contracts/shared/Versionable.sol +92 -0
  224. package/contracts/test/TestFee.sol +25 -0
  225. package/contracts/test/TestPool.sol +22 -0
  226. package/contracts/test/TestProduct.sol +44 -0
  227. package/contracts/test/TestRegisterable.sol +19 -0
  228. package/contracts/test/TestRoleId.sol +14 -0
  229. package/contracts/test/TestService.sol +35 -0
  230. package/contracts/test/TestToken.sol +26 -0
  231. package/contracts/test/TestVersion.sol +47 -0
  232. package/contracts/test/TestVersionable.sol +20 -0
  233. package/contracts/types/AddressSet.sol +58 -0
  234. package/contracts/types/NftId.sol +7 -1
  235. package/contracts/types/NftIdSet.sol +60 -0
  236. package/contracts/types/ObjectType.sol +22 -14
  237. package/contracts/types/RoleId.sol +36 -0
  238. package/contracts/types/StateId.sol +6 -2
  239. package/contracts/types/Timestamp.sol +22 -1
  240. package/contracts/types/UFixed.sol +15 -15
  241. package/contracts/types/Version.sol +91 -0
  242. package/package.json +12 -4
  243. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  244. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  245. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  246. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  247. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  248. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  249. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  251. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  252. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  253. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  254. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  255. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  256. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  257. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  258. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  259. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  260. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  261. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  262. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  263. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  264. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  265. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  266. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  268. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  269. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  270. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  271. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  272. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  273. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  274. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  275. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  276. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  277. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  278. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  279. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  280. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  281. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  282. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  283. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  285. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  286. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  287. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  288. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  289. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  290. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  291. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  292. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  293. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  294. package/contracts/components/Component.sol +0 -77
  295. package/contracts/components/IPool.sol +0 -15
  296. package/contracts/instance/access/Access.sol +0 -165
  297. package/contracts/instance/access/IAccess.sol +0 -63
  298. package/contracts/instance/component/ComponentModule.sol +0 -274
  299. package/contracts/instance/component/IComponent.sol +0 -74
  300. package/contracts/instance/policy/IPolicy.sol +0 -50
  301. package/contracts/instance/policy/PolicyModule.sol +0 -114
  302. package/contracts/instance/pool/IPoolModule.sol +0 -23
  303. package/contracts/instance/pool/PoolModule.sol +0 -81
  304. package/contracts/instance/product/IProductService.sol +0 -36
  305. package/contracts/instance/product/ProductService.sol +0 -136
  306. package/contracts/instance/treasury/TokenHandler.sol +0 -24
@@ -45,6 +45,69 @@
45
45
  "name": "ErrorNoLifecycle",
46
46
  "type": "error"
47
47
  },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": false,
53
+ "internalType": "RoleId",
54
+ "name": "role",
55
+ "type": "bytes8"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "string",
60
+ "name": "roleName",
61
+ "type": "string"
62
+ }
63
+ ],
64
+ "name": "LogAccessRoleCreated",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": false,
72
+ "internalType": "RoleId",
73
+ "name": "role",
74
+ "type": "bytes8"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "address",
79
+ "name": "member",
80
+ "type": "address"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bool",
85
+ "name": "isMember",
86
+ "type": "bool"
87
+ }
88
+ ],
89
+ "name": "LogAccessRoleGranted",
90
+ "type": "event"
91
+ },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": false,
97
+ "internalType": "RoleId",
98
+ "name": "role",
99
+ "type": "bytes8"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "bool",
104
+ "name": "active",
105
+ "type": "bool"
106
+ }
107
+ ],
108
+ "name": "LogAccessRoleStateSet",
109
+ "type": "event"
110
+ },
48
111
  {
49
112
  "anonymous": false,
50
113
  "inputs": [
@@ -101,31 +164,6 @@
101
164
  "name": "LogComponentStateChanged",
102
165
  "type": "event"
103
166
  },
104
- {
105
- "anonymous": false,
106
- "inputs": [
107
- {
108
- "indexed": false,
109
- "internalType": "uint256",
110
- "name": "idx",
111
- "type": "uint256"
112
- },
113
- {
114
- "indexed": false,
115
- "internalType": "address",
116
- "name": "module",
117
- "type": "address"
118
- },
119
- {
120
- "indexed": false,
121
- "internalType": "string",
122
- "name": "comment",
123
- "type": "string"
124
- }
125
- ],
126
- "name": "LogDebug",
127
- "type": "event"
128
- },
129
167
  {
130
168
  "anonymous": false,
131
169
  "inputs": [
@@ -152,53 +190,67 @@
152
190
  "type": "event"
153
191
  },
154
192
  {
155
- "inputs": [],
156
- "name": "ORACLE_OWNER_ROLE",
157
- "outputs": [
193
+ "anonymous": false,
194
+ "inputs": [
158
195
  {
159
- "internalType": "bytes32",
160
- "name": "role",
161
- "type": "bytes32"
162
- }
163
- ],
164
- "stateMutability": "view",
165
- "type": "function"
166
- },
167
- {
168
- "inputs": [],
169
- "name": "POOL_OWNER_ROLE",
170
- "outputs": [
196
+ "indexed": false,
197
+ "internalType": "Version",
198
+ "name": "version",
199
+ "type": "uint24"
200
+ },
171
201
  {
172
- "internalType": "bytes32",
173
- "name": "role",
174
- "type": "bytes32"
202
+ "indexed": false,
203
+ "internalType": "address",
204
+ "name": "implementation",
205
+ "type": "address"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "address",
210
+ "name": "activatedBy",
211
+ "type": "address"
175
212
  }
176
213
  ],
177
- "stateMutability": "view",
178
- "type": "function"
214
+ "name": "LogVersionableActivated",
215
+ "type": "event"
179
216
  },
180
217
  {
181
- "inputs": [],
182
- "name": "PRODUCT_OWNER_ROLE",
183
- "outputs": [
218
+ "inputs": [
184
219
  {
185
- "internalType": "bytes32",
186
- "name": "role",
187
- "type": "bytes32"
220
+ "internalType": "address",
221
+ "name": "implementation",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "internalType": "address",
226
+ "name": "activatedBy",
227
+ "type": "address"
188
228
  }
189
229
  ],
190
- "stateMutability": "view",
230
+ "name": "activate",
231
+ "outputs": [],
232
+ "stateMutability": "nonpayable",
191
233
  "type": "function"
192
234
  },
193
235
  {
194
236
  "inputs": [
195
237
  {
196
238
  "internalType": "NftId",
197
- "name": "nftId",
239
+ "name": "bundleNftId",
198
240
  "type": "uint96"
241
+ },
242
+ {
243
+ "internalType": "NftId",
244
+ "name": "poolNftId",
245
+ "type": "uint96"
246
+ },
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "amount",
250
+ "type": "uint256"
199
251
  }
200
252
  ],
201
- "name": "activate",
253
+ "name": "addBundleToPool",
202
254
  "outputs": [],
203
255
  "stateMutability": "nonpayable",
204
256
  "type": "function"
@@ -245,56 +297,39 @@
245
297
  "type": "function"
246
298
  },
247
299
  {
248
- "inputs": [],
249
- "name": "components",
250
- "outputs": [
300
+ "inputs": [
301
+ {
302
+ "internalType": "NftId",
303
+ "name": "bundleNftId",
304
+ "type": "uint96"
305
+ },
306
+ {
307
+ "internalType": "NftId",
308
+ "name": "policyNftId",
309
+ "type": "uint96"
310
+ },
251
311
  {
252
312
  "internalType": "uint256",
253
- "name": "numberOfCompnents",
313
+ "name": "amount",
254
314
  "type": "uint256"
255
315
  }
256
316
  ],
257
- "stateMutability": "view",
317
+ "name": "collateralizePolicy",
318
+ "outputs": [],
319
+ "stateMutability": "nonpayable",
258
320
  "type": "function"
259
321
  },
260
322
  {
261
323
  "inputs": [
262
324
  {
263
- "components": [
264
- {
265
- "internalType": "NftId",
266
- "name": "nftId",
267
- "type": "uint96"
268
- },
269
- {
270
- "internalType": "NftId",
271
- "name": "parentNftId",
272
- "type": "uint96"
273
- },
274
- {
275
- "internalType": "ObjectType",
276
- "name": "objectType",
277
- "type": "uint8"
278
- },
279
- {
280
- "internalType": "address",
281
- "name": "objectAddress",
282
- "type": "address"
283
- },
284
- {
285
- "internalType": "address",
286
- "name": "initialOwner",
287
- "type": "address"
288
- }
289
- ],
290
- "internalType": "struct IRegistry.RegistryInfo",
291
- "name": "productInfo",
292
- "type": "tuple"
325
+ "internalType": "NftId",
326
+ "name": "productNftId",
327
+ "type": "uint96"
293
328
  },
294
329
  {
295
- "internalType": "address",
296
- "name": "applicationOwner",
297
- "type": "address"
330
+ "internalType": "NftId",
331
+ "name": "policyNftId",
332
+ "type": "uint96"
298
333
  },
299
334
  {
300
335
  "internalType": "uint256",
@@ -318,13 +353,40 @@
318
353
  }
319
354
  ],
320
355
  "name": "createApplication",
321
- "outputs": [
356
+ "outputs": [],
357
+ "stateMutability": "nonpayable",
358
+ "type": "function"
359
+ },
360
+ {
361
+ "inputs": [
322
362
  {
323
363
  "internalType": "NftId",
324
- "name": "nftId",
364
+ "name": "bundleNftId",
365
+ "type": "uint96"
366
+ },
367
+ {
368
+ "internalType": "NftId",
369
+ "name": "poolNftId",
325
370
  "type": "uint96"
371
+ },
372
+ {
373
+ "internalType": "uint256",
374
+ "name": "amount",
375
+ "type": "uint256"
376
+ },
377
+ {
378
+ "internalType": "uint256",
379
+ "name": "lifetime",
380
+ "type": "uint256"
381
+ },
382
+ {
383
+ "internalType": "bytes",
384
+ "name": "filter",
385
+ "type": "bytes"
326
386
  }
327
387
  ],
388
+ "name": "createBundleInfo",
389
+ "outputs": [],
328
390
  "stateMutability": "nonpayable",
329
391
  "type": "function"
330
392
  },
@@ -339,9 +401,9 @@
339
401
  "name": "createRole",
340
402
  "outputs": [
341
403
  {
342
- "internalType": "bytes32",
404
+ "internalType": "RoleId",
343
405
  "name": "role",
344
- "type": "bytes32"
406
+ "type": "bytes8"
345
407
  }
346
408
  ],
347
409
  "stateMutability": "nonpayable",
@@ -350,42 +412,116 @@
350
412
  {
351
413
  "inputs": [
352
414
  {
353
- "internalType": "bytes32",
354
- "name": "role",
355
- "type": "bytes32"
415
+ "internalType": "NftId",
416
+ "name": "poolNftId",
417
+ "type": "uint96"
356
418
  }
357
419
  ],
358
- "name": "disableRole",
359
- "outputs": [],
360
- "stateMutability": "nonpayable",
420
+ "name": "getBundleCount",
421
+ "outputs": [
422
+ {
423
+ "internalType": "uint256",
424
+ "name": "bundleCount",
425
+ "type": "uint256"
426
+ }
427
+ ],
428
+ "stateMutability": "view",
361
429
  "type": "function"
362
430
  },
363
431
  {
364
432
  "inputs": [
365
433
  {
366
- "internalType": "bytes32",
367
- "name": "role",
368
- "type": "bytes32"
434
+ "internalType": "NftId",
435
+ "name": "bundleNftId",
436
+ "type": "uint96"
437
+ }
438
+ ],
439
+ "name": "getBundleInfo",
440
+ "outputs": [
441
+ {
442
+ "components": [
443
+ {
444
+ "internalType": "NftId",
445
+ "name": "nftId",
446
+ "type": "uint96"
447
+ },
448
+ {
449
+ "internalType": "NftId",
450
+ "name": "poolNftId",
451
+ "type": "uint96"
452
+ },
453
+ {
454
+ "internalType": "StateId",
455
+ "name": "state",
456
+ "type": "uint8"
457
+ },
458
+ {
459
+ "internalType": "bytes",
460
+ "name": "filter",
461
+ "type": "bytes"
462
+ },
463
+ {
464
+ "internalType": "uint256",
465
+ "name": "capitalAmount",
466
+ "type": "uint256"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "lockedAmount",
471
+ "type": "uint256"
472
+ },
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "balanceAmount",
476
+ "type": "uint256"
477
+ },
478
+ {
479
+ "internalType": "Timestamp",
480
+ "name": "createdAt",
481
+ "type": "uint40"
482
+ },
483
+ {
484
+ "internalType": "Timestamp",
485
+ "name": "expiredAt",
486
+ "type": "uint40"
487
+ },
488
+ {
489
+ "internalType": "Timestamp",
490
+ "name": "closedAt",
491
+ "type": "uint40"
492
+ },
493
+ {
494
+ "internalType": "Blocknumber",
495
+ "name": "updatedIn",
496
+ "type": "uint32"
497
+ }
498
+ ],
499
+ "internalType": "struct IBundle.BundleInfo",
500
+ "name": "bundleInfo",
501
+ "type": "tuple"
369
502
  }
370
503
  ],
371
- "name": "enableRole",
372
- "outputs": [],
373
- "stateMutability": "nonpayable",
504
+ "stateMutability": "view",
374
505
  "type": "function"
375
506
  },
376
507
  {
377
508
  "inputs": [
378
509
  {
379
510
  "internalType": "NftId",
380
- "name": "nftId",
511
+ "name": "poolNftId",
381
512
  "type": "uint96"
513
+ },
514
+ {
515
+ "internalType": "uint256",
516
+ "name": "index",
517
+ "type": "uint256"
382
518
  }
383
519
  ],
384
- "name": "getBundleNftForPolicy",
520
+ "name": "getBundleNftId",
385
521
  "outputs": [
386
522
  {
387
523
  "internalType": "NftId",
388
- "name": "bundleNft",
524
+ "name": "bundleNftId",
389
525
  "type": "uint96"
390
526
  }
391
527
  ],
@@ -393,19 +529,13 @@
393
529
  "type": "function"
394
530
  },
395
531
  {
396
- "inputs": [
397
- {
398
- "internalType": "address",
399
- "name": "componentAddress",
400
- "type": "address"
401
- }
402
- ],
403
- "name": "getComponentId",
532
+ "inputs": [],
533
+ "name": "getComponentCount",
404
534
  "outputs": [
405
535
  {
406
- "internalType": "NftId",
407
- "name": "nftId",
408
- "type": "uint96"
536
+ "internalType": "uint256",
537
+ "name": "numberOfCompnents",
538
+ "type": "uint256"
409
539
  }
410
540
  ],
411
541
  "stateMutability": "view",
@@ -493,16 +623,39 @@
493
623
  "type": "function"
494
624
  },
495
625
  {
496
- "inputs": [],
497
- "name": "getInitialOwner",
626
+ "inputs": [
627
+ {
628
+ "internalType": "UFixed",
629
+ "name": "fractionalFee",
630
+ "type": "uint256"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "fixedFee",
635
+ "type": "uint256"
636
+ }
637
+ ],
638
+ "name": "getFee",
498
639
  "outputs": [
499
640
  {
500
- "internalType": "address",
501
- "name": "initialOwner",
502
- "type": "address"
641
+ "components": [
642
+ {
643
+ "internalType": "UFixed",
644
+ "name": "fractionalFee",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "fixedFee",
650
+ "type": "uint256"
651
+ }
652
+ ],
653
+ "internalType": "struct Fee",
654
+ "name": "fee",
655
+ "type": "tuple"
503
656
  }
504
657
  ],
505
- "stateMutability": "view",
658
+ "stateMutability": "pure",
506
659
  "type": "function"
507
660
  },
508
661
  {
@@ -556,7 +709,7 @@
556
709
  "outputs": [
557
710
  {
558
711
  "internalType": "NftId",
559
- "name": "parentNftId",
712
+ "name": "nftId",
560
713
  "type": "uint96"
561
714
  }
562
715
  ],
@@ -580,6 +733,21 @@
580
733
  "name": "nftId",
581
734
  "type": "uint96"
582
735
  },
736
+ {
737
+ "internalType": "NftId",
738
+ "name": "productNftId",
739
+ "type": "uint96"
740
+ },
741
+ {
742
+ "internalType": "NftId",
743
+ "name": "bundleNftId",
744
+ "type": "uint96"
745
+ },
746
+ {
747
+ "internalType": "address",
748
+ "name": "beneficiary",
749
+ "type": "address"
750
+ },
583
751
  {
584
752
  "internalType": "StateId",
585
753
  "name": "state",
@@ -606,29 +774,34 @@
606
774
  "type": "uint256"
607
775
  },
608
776
  {
609
- "internalType": "uint256",
610
- "name": "createdAt",
611
- "type": "uint256"
777
+ "internalType": "bytes",
778
+ "name": "data",
779
+ "type": "bytes"
612
780
  },
613
781
  {
614
- "internalType": "uint256",
615
- "name": "updatedAt",
616
- "type": "uint256"
782
+ "internalType": "Timestamp",
783
+ "name": "createdAt",
784
+ "type": "uint40"
617
785
  },
618
786
  {
619
- "internalType": "uint256",
787
+ "internalType": "Timestamp",
620
788
  "name": "activatedAt",
621
- "type": "uint256"
789
+ "type": "uint40"
622
790
  },
623
791
  {
624
- "internalType": "uint256",
792
+ "internalType": "Timestamp",
625
793
  "name": "expiredAt",
626
- "type": "uint256"
794
+ "type": "uint40"
627
795
  },
628
796
  {
629
- "internalType": "uint256",
797
+ "internalType": "Timestamp",
630
798
  "name": "closedAt",
631
- "type": "uint256"
799
+ "type": "uint40"
800
+ },
801
+ {
802
+ "internalType": "Blocknumber",
803
+ "name": "updatedIn",
804
+ "type": "uint32"
632
805
  }
633
806
  ],
634
807
  "internalType": "struct IPolicy.PolicyInfo",
@@ -657,13 +830,13 @@
657
830
  "type": "uint96"
658
831
  },
659
832
  {
660
- "internalType": "uint256",
661
- "name": "capital",
662
- "type": "uint256"
833
+ "internalType": "bool",
834
+ "name": "isVerifying",
835
+ "type": "bool"
663
836
  },
664
837
  {
665
- "internalType": "uint256",
666
- "name": "lockedCapital",
838
+ "internalType": "UFixed",
839
+ "name": "collateralizationLevel",
667
840
  "type": "uint256"
668
841
  }
669
842
  ],
@@ -675,6 +848,19 @@
675
848
  "stateMutability": "view",
676
849
  "type": "function"
677
850
  },
851
+ {
852
+ "inputs": [],
853
+ "name": "getPoolService",
854
+ "outputs": [
855
+ {
856
+ "internalType": "contract IPoolService",
857
+ "name": "",
858
+ "type": "address"
859
+ }
860
+ ],
861
+ "stateMutability": "view",
862
+ "type": "function"
863
+ },
678
864
  {
679
865
  "inputs": [
680
866
  {
@@ -732,7 +918,7 @@
732
918
  "type": "tuple"
733
919
  }
734
920
  ],
735
- "internalType": "struct ITreasuryModule.PoolSetup",
921
+ "internalType": "struct ITreasury.PoolSetup",
736
922
  "name": "setup",
737
923
  "type": "tuple"
738
924
  }
@@ -781,7 +967,7 @@
781
967
  "type": "uint96"
782
968
  },
783
969
  {
784
- "internalType": "contract IERC20",
970
+ "internalType": "contract IERC20Metadata",
785
971
  "name": "token",
786
972
  "type": "address"
787
973
  },
@@ -830,7 +1016,7 @@
830
1016
  "type": "tuple"
831
1017
  }
832
1018
  ],
833
- "internalType": "struct ITreasuryModule.ProductSetup",
1019
+ "internalType": "struct ITreasury.ProductSetup",
834
1020
  "name": "setup",
835
1021
  "type": "tuple"
836
1022
  }
@@ -862,9 +1048,9 @@
862
1048
  "name": "getRole",
863
1049
  "outputs": [
864
1050
  {
865
- "internalType": "bytes32",
1051
+ "internalType": "RoleId",
866
1052
  "name": "role",
867
- "type": "bytes32"
1053
+ "type": "bytes8"
868
1054
  }
869
1055
  ],
870
1056
  "stateMutability": "view",
@@ -891,12 +1077,12 @@
891
1077
  "type": "string"
892
1078
  }
893
1079
  ],
894
- "name": "getRoleForName",
1080
+ "name": "getRoleId",
895
1081
  "outputs": [
896
1082
  {
897
- "internalType": "bytes32",
1083
+ "internalType": "RoleId",
898
1084
  "name": "role",
899
- "type": "bytes32"
1085
+ "type": "bytes8"
900
1086
  }
901
1087
  ],
902
1088
  "stateMutability": "pure",
@@ -905,9 +1091,9 @@
905
1091
  {
906
1092
  "inputs": [
907
1093
  {
908
- "internalType": "bytes32",
1094
+ "internalType": "RoleId",
909
1095
  "name": "role",
910
- "type": "bytes32"
1096
+ "type": "bytes8"
911
1097
  }
912
1098
  ],
913
1099
  "name": "getRoleInfo",
@@ -915,9 +1101,9 @@
915
1101
  {
916
1102
  "components": [
917
1103
  {
918
- "internalType": "bytes32",
1104
+ "internalType": "RoleId",
919
1105
  "name": "id",
920
- "type": "bytes32"
1106
+ "type": "bytes8"
921
1107
  },
922
1108
  {
923
1109
  "internalType": "string",
@@ -941,9 +1127,9 @@
941
1127
  {
942
1128
  "inputs": [
943
1129
  {
944
- "internalType": "bytes32",
1130
+ "internalType": "RoleId",
945
1131
  "name": "role",
946
- "type": "bytes32"
1132
+ "type": "bytes8"
947
1133
  },
948
1134
  {
949
1135
  "internalType": "uint256",
@@ -955,7 +1141,7 @@
955
1141
  "outputs": [
956
1142
  {
957
1143
  "internalType": "address",
958
- "name": "roleMembers",
1144
+ "name": "roleMember",
959
1145
  "type": "address"
960
1146
  }
961
1147
  ],
@@ -965,9 +1151,9 @@
965
1151
  {
966
1152
  "inputs": [
967
1153
  {
968
- "internalType": "bytes32",
1154
+ "internalType": "RoleId",
969
1155
  "name": "role",
970
- "type": "bytes32"
1156
+ "type": "bytes8"
971
1157
  }
972
1158
  ],
973
1159
  "name": "getRoleMemberCount",
@@ -1010,72 +1196,92 @@
1010
1196
  "type": "uint8"
1011
1197
  }
1012
1198
  ],
1013
- "stateMutability": "view",
1199
+ "stateMutability": "pure",
1014
1200
  "type": "function"
1015
1201
  },
1016
1202
  {
1017
1203
  "inputs": [
1018
1204
  {
1019
- "internalType": "bytes32",
1020
- "name": "role",
1021
- "type": "bytes32"
1205
+ "internalType": "uint256",
1206
+ "name": "a",
1207
+ "type": "uint256"
1022
1208
  },
1023
1209
  {
1024
- "internalType": "address",
1025
- "name": "member",
1026
- "type": "address"
1210
+ "internalType": "int8",
1211
+ "name": "exp",
1212
+ "type": "int8"
1027
1213
  }
1028
1214
  ],
1029
- "name": "grantRole",
1030
- "outputs": [],
1031
- "stateMutability": "nonpayable",
1215
+ "name": "getUFixed",
1216
+ "outputs": [
1217
+ {
1218
+ "internalType": "UFixed",
1219
+ "name": "",
1220
+ "type": "uint256"
1221
+ }
1222
+ ],
1223
+ "stateMutability": "pure",
1032
1224
  "type": "function"
1033
1225
  },
1034
1226
  {
1035
1227
  "inputs": [
1036
1228
  {
1037
- "internalType": "bytes32",
1038
- "name": "role",
1039
- "type": "bytes32"
1040
- },
1041
- {
1042
- "internalType": "address",
1043
- "name": "member",
1044
- "type": "address"
1229
+ "internalType": "uint256",
1230
+ "name": "a",
1231
+ "type": "uint256"
1045
1232
  }
1046
1233
  ],
1047
- "name": "hasRole",
1234
+ "name": "getUFixed",
1048
1235
  "outputs": [
1049
1236
  {
1050
- "internalType": "bool",
1237
+ "internalType": "UFixed",
1051
1238
  "name": "",
1052
- "type": "bool"
1239
+ "type": "uint256"
1053
1240
  }
1054
1241
  ],
1055
- "stateMutability": "view",
1242
+ "stateMutability": "pure",
1056
1243
  "type": "function"
1057
1244
  },
1058
1245
  {
1059
1246
  "inputs": [],
1060
- "name": "isRegisterable",
1247
+ "name": "getVersion",
1061
1248
  "outputs": [
1062
1249
  {
1063
- "internalType": "bool",
1250
+ "internalType": "Version",
1064
1251
  "name": "",
1065
- "type": "bool"
1252
+ "type": "uint24"
1066
1253
  }
1067
1254
  ],
1068
1255
  "stateMutability": "pure",
1069
1256
  "type": "function"
1070
1257
  },
1258
+ {
1259
+ "inputs": [
1260
+ {
1261
+ "internalType": "uint256",
1262
+ "name": "index",
1263
+ "type": "uint256"
1264
+ }
1265
+ ],
1266
+ "name": "getVersion",
1267
+ "outputs": [
1268
+ {
1269
+ "internalType": "Version",
1270
+ "name": "version",
1271
+ "type": "uint24"
1272
+ }
1273
+ ],
1274
+ "stateMutability": "view",
1275
+ "type": "function"
1276
+ },
1071
1277
  {
1072
1278
  "inputs": [],
1073
- "name": "isRegistered",
1279
+ "name": "getVersionCount",
1074
1280
  "outputs": [
1075
1281
  {
1076
- "internalType": "bool",
1077
- "name": "",
1078
- "type": "bool"
1282
+ "internalType": "uint256",
1283
+ "name": "numberOfVersions",
1284
+ "type": "uint256"
1079
1285
  }
1080
1286
  ],
1081
1287
  "stateMutability": "view",
@@ -1084,41 +1290,88 @@
1084
1290
  {
1085
1291
  "inputs": [
1086
1292
  {
1087
- "internalType": "ObjectType",
1088
- "name": "objectType",
1089
- "type": "uint8"
1090
- },
1091
- {
1092
- "internalType": "StateId",
1093
- "name": "fromId",
1094
- "type": "uint8"
1095
- },
1096
- {
1097
- "internalType": "StateId",
1098
- "name": "toId",
1099
- "type": "uint8"
1293
+ "internalType": "Version",
1294
+ "name": "version",
1295
+ "type": "uint24"
1100
1296
  }
1101
1297
  ],
1102
- "name": "isValidTransition",
1298
+ "name": "getVersionInfo",
1103
1299
  "outputs": [
1104
1300
  {
1105
- "internalType": "bool",
1106
- "name": "",
1107
- "type": "bool"
1301
+ "components": [
1302
+ {
1303
+ "internalType": "Version",
1304
+ "name": "version",
1305
+ "type": "uint24"
1306
+ },
1307
+ {
1308
+ "internalType": "address",
1309
+ "name": "implementation",
1310
+ "type": "address"
1311
+ },
1312
+ {
1313
+ "internalType": "address",
1314
+ "name": "activatedBy",
1315
+ "type": "address"
1316
+ },
1317
+ {
1318
+ "internalType": "Blocknumber",
1319
+ "name": "activatedIn",
1320
+ "type": "uint32"
1321
+ },
1322
+ {
1323
+ "internalType": "Timestamp",
1324
+ "name": "activatedAt",
1325
+ "type": "uint40"
1326
+ }
1327
+ ],
1328
+ "internalType": "struct IVersionable.VersionInfo",
1329
+ "name": "versionInfo",
1330
+ "type": "tuple"
1108
1331
  }
1109
1332
  ],
1110
1333
  "stateMutability": "view",
1111
1334
  "type": "function"
1112
1335
  },
1336
+ {
1337
+ "inputs": [],
1338
+ "name": "getZeroFee",
1339
+ "outputs": [
1340
+ {
1341
+ "components": [
1342
+ {
1343
+ "internalType": "UFixed",
1344
+ "name": "fractionalFee",
1345
+ "type": "uint256"
1346
+ },
1347
+ {
1348
+ "internalType": "uint256",
1349
+ "name": "fixedFee",
1350
+ "type": "uint256"
1351
+ }
1352
+ ],
1353
+ "internalType": "struct Fee",
1354
+ "name": "fee",
1355
+ "type": "tuple"
1356
+ }
1357
+ ],
1358
+ "stateMutability": "pure",
1359
+ "type": "function"
1360
+ },
1113
1361
  {
1114
1362
  "inputs": [
1115
1363
  {
1116
- "internalType": "NftId",
1117
- "name": "nftId",
1118
- "type": "uint96"
1364
+ "internalType": "RoleId",
1365
+ "name": "role",
1366
+ "type": "bytes8"
1367
+ },
1368
+ {
1369
+ "internalType": "address",
1370
+ "name": "member",
1371
+ "type": "address"
1119
1372
  }
1120
1373
  ],
1121
- "name": "processPremium",
1374
+ "name": "grantRole",
1122
1375
  "outputs": [],
1123
1376
  "stateMutability": "nonpayable",
1124
1377
  "type": "function"
@@ -1126,43 +1379,78 @@
1126
1379
  {
1127
1380
  "inputs": [
1128
1381
  {
1129
- "internalType": "NftId",
1130
- "name": "policyNftId",
1131
- "type": "uint96"
1382
+ "internalType": "RoleId",
1383
+ "name": "role",
1384
+ "type": "bytes8"
1132
1385
  },
1133
1386
  {
1134
- "internalType": "NftId",
1135
- "name": "productNftId",
1136
- "type": "uint96"
1387
+ "internalType": "address",
1388
+ "name": "member",
1389
+ "type": "address"
1390
+ }
1391
+ ],
1392
+ "name": "hasRole",
1393
+ "outputs": [
1394
+ {
1395
+ "internalType": "bool",
1396
+ "name": "hasRole",
1397
+ "type": "bool"
1398
+ }
1399
+ ],
1400
+ "stateMutability": "view",
1401
+ "type": "function"
1402
+ },
1403
+ {
1404
+ "inputs": [
1405
+ {
1406
+ "internalType": "Version",
1407
+ "name": "version",
1408
+ "type": "uint24"
1409
+ }
1410
+ ],
1411
+ "name": "isActivated",
1412
+ "outputs": [
1413
+ {
1414
+ "internalType": "bool",
1415
+ "name": "",
1416
+ "type": "bool"
1137
1417
  }
1138
1418
  ],
1139
- "name": "processPremium",
1140
- "outputs": [],
1141
- "stateMutability": "nonpayable",
1419
+ "stateMutability": "view",
1142
1420
  "type": "function"
1143
1421
  },
1144
1422
  {
1145
- "inputs": [],
1146
- "name": "register",
1423
+ "inputs": [
1424
+ {
1425
+ "internalType": "ObjectType",
1426
+ "name": "objectType",
1427
+ "type": "uint8"
1428
+ },
1429
+ {
1430
+ "internalType": "StateId",
1431
+ "name": "fromId",
1432
+ "type": "uint8"
1433
+ },
1434
+ {
1435
+ "internalType": "StateId",
1436
+ "name": "toId",
1437
+ "type": "uint8"
1438
+ }
1439
+ ],
1440
+ "name": "isValidTransition",
1147
1441
  "outputs": [
1148
1442
  {
1149
- "internalType": "NftId",
1150
- "name": "nftId",
1151
- "type": "uint96"
1443
+ "internalType": "bool",
1444
+ "name": "",
1445
+ "type": "bool"
1152
1446
  }
1153
1447
  ],
1154
- "stateMutability": "nonpayable",
1448
+ "stateMutability": "view",
1155
1449
  "type": "function"
1156
1450
  },
1157
1451
  {
1158
- "inputs": [
1159
- {
1160
- "internalType": "contract IComponentContract",
1161
- "name": "component",
1162
- "type": "address"
1163
- }
1164
- ],
1165
- "name": "registerComponent",
1452
+ "inputs": [],
1453
+ "name": "register",
1166
1454
  "outputs": [
1167
1455
  {
1168
1456
  "internalType": "NftId",
@@ -1179,9 +1467,19 @@
1179
1467
  "internalType": "NftId",
1180
1468
  "name": "nftId",
1181
1469
  "type": "uint96"
1470
+ },
1471
+ {
1472
+ "internalType": "ObjectType",
1473
+ "name": "objectType",
1474
+ "type": "uint8"
1475
+ },
1476
+ {
1477
+ "internalType": "contract IERC20Metadata",
1478
+ "name": "token",
1479
+ "type": "address"
1182
1480
  }
1183
1481
  ],
1184
- "name": "registerPool",
1482
+ "name": "registerComponent",
1185
1483
  "outputs": [],
1186
1484
  "stateMutability": "nonpayable",
1187
1485
  "type": "function"
@@ -1238,6 +1536,29 @@
1238
1536
  "stateMutability": "nonpayable",
1239
1537
  "type": "function"
1240
1538
  },
1539
+ {
1540
+ "inputs": [
1541
+ {
1542
+ "internalType": "NftId",
1543
+ "name": "poolNftId",
1544
+ "type": "uint96"
1545
+ },
1546
+ {
1547
+ "internalType": "bool",
1548
+ "name": "isVerifying",
1549
+ "type": "bool"
1550
+ },
1551
+ {
1552
+ "internalType": "UFixed",
1553
+ "name": "collateralizationLevel",
1554
+ "type": "uint256"
1555
+ }
1556
+ ],
1557
+ "name": "registerPool",
1558
+ "outputs": [],
1559
+ "stateMutability": "nonpayable",
1560
+ "type": "function"
1561
+ },
1241
1562
  {
1242
1563
  "inputs": [
1243
1564
  {
@@ -1256,7 +1577,7 @@
1256
1577
  "type": "uint96"
1257
1578
  },
1258
1579
  {
1259
- "internalType": "contract IERC20",
1580
+ "internalType": "contract IERC20Metadata",
1260
1581
  "name": "token",
1261
1582
  "type": "address"
1262
1583
  },
@@ -1308,9 +1629,33 @@
1308
1629
  {
1309
1630
  "inputs": [
1310
1631
  {
1311
- "internalType": "bytes32",
1632
+ "internalType": "NftId",
1633
+ "name": "bundleNftId",
1634
+ "type": "uint96"
1635
+ },
1636
+ {
1637
+ "internalType": "NftId",
1638
+ "name": "policyNftId",
1639
+ "type": "uint96"
1640
+ }
1641
+ ],
1642
+ "name": "releasePolicy",
1643
+ "outputs": [
1644
+ {
1645
+ "internalType": "uint256",
1646
+ "name": "collateralAmount",
1647
+ "type": "uint256"
1648
+ }
1649
+ ],
1650
+ "stateMutability": "nonpayable",
1651
+ "type": "function"
1652
+ },
1653
+ {
1654
+ "inputs": [
1655
+ {
1656
+ "internalType": "RoleId",
1312
1657
  "name": "role",
1313
- "type": "bytes32"
1658
+ "type": "bytes8"
1314
1659
  },
1315
1660
  {
1316
1661
  "internalType": "address",
@@ -1323,6 +1668,95 @@
1323
1668
  "stateMutability": "nonpayable",
1324
1669
  "type": "function"
1325
1670
  },
1671
+ {
1672
+ "inputs": [
1673
+ {
1674
+ "internalType": "RoleId",
1675
+ "name": "role",
1676
+ "type": "bytes8"
1677
+ }
1678
+ ],
1679
+ "name": "roleExists",
1680
+ "outputs": [
1681
+ {
1682
+ "internalType": "bool",
1683
+ "name": "",
1684
+ "type": "bool"
1685
+ }
1686
+ ],
1687
+ "stateMutability": "view",
1688
+ "type": "function"
1689
+ },
1690
+ {
1691
+ "inputs": [
1692
+ {
1693
+ "components": [
1694
+ {
1695
+ "internalType": "NftId",
1696
+ "name": "nftId",
1697
+ "type": "uint96"
1698
+ },
1699
+ {
1700
+ "internalType": "NftId",
1701
+ "name": "poolNftId",
1702
+ "type": "uint96"
1703
+ },
1704
+ {
1705
+ "internalType": "StateId",
1706
+ "name": "state",
1707
+ "type": "uint8"
1708
+ },
1709
+ {
1710
+ "internalType": "bytes",
1711
+ "name": "filter",
1712
+ "type": "bytes"
1713
+ },
1714
+ {
1715
+ "internalType": "uint256",
1716
+ "name": "capitalAmount",
1717
+ "type": "uint256"
1718
+ },
1719
+ {
1720
+ "internalType": "uint256",
1721
+ "name": "lockedAmount",
1722
+ "type": "uint256"
1723
+ },
1724
+ {
1725
+ "internalType": "uint256",
1726
+ "name": "balanceAmount",
1727
+ "type": "uint256"
1728
+ },
1729
+ {
1730
+ "internalType": "Timestamp",
1731
+ "name": "createdAt",
1732
+ "type": "uint40"
1733
+ },
1734
+ {
1735
+ "internalType": "Timestamp",
1736
+ "name": "expiredAt",
1737
+ "type": "uint40"
1738
+ },
1739
+ {
1740
+ "internalType": "Timestamp",
1741
+ "name": "closedAt",
1742
+ "type": "uint40"
1743
+ },
1744
+ {
1745
+ "internalType": "Blocknumber",
1746
+ "name": "updatedIn",
1747
+ "type": "uint32"
1748
+ }
1749
+ ],
1750
+ "internalType": "struct IBundle.BundleInfo",
1751
+ "name": "bundleInfo",
1752
+ "type": "tuple"
1753
+ }
1754
+ ],
1755
+ "name": "setBundleInfo",
1756
+ "outputs": [],
1757
+ "stateMutability": "nonpayable",
1758
+ "type": "function"
1759
+ },
1326
1760
  {
1327
1761
  "inputs": [
1328
1762
  {
@@ -1359,6 +1793,96 @@
1359
1793
  "stateMutability": "nonpayable",
1360
1794
  "type": "function"
1361
1795
  },
1796
+ {
1797
+ "inputs": [
1798
+ {
1799
+ "components": [
1800
+ {
1801
+ "internalType": "NftId",
1802
+ "name": "nftId",
1803
+ "type": "uint96"
1804
+ },
1805
+ {
1806
+ "internalType": "NftId",
1807
+ "name": "productNftId",
1808
+ "type": "uint96"
1809
+ },
1810
+ {
1811
+ "internalType": "NftId",
1812
+ "name": "bundleNftId",
1813
+ "type": "uint96"
1814
+ },
1815
+ {
1816
+ "internalType": "address",
1817
+ "name": "beneficiary",
1818
+ "type": "address"
1819
+ },
1820
+ {
1821
+ "internalType": "StateId",
1822
+ "name": "state",
1823
+ "type": "uint8"
1824
+ },
1825
+ {
1826
+ "internalType": "uint256",
1827
+ "name": "sumInsuredAmount",
1828
+ "type": "uint256"
1829
+ },
1830
+ {
1831
+ "internalType": "uint256",
1832
+ "name": "premiumAmount",
1833
+ "type": "uint256"
1834
+ },
1835
+ {
1836
+ "internalType": "uint256",
1837
+ "name": "premiumPaidAmount",
1838
+ "type": "uint256"
1839
+ },
1840
+ {
1841
+ "internalType": "uint256",
1842
+ "name": "lifetime",
1843
+ "type": "uint256"
1844
+ },
1845
+ {
1846
+ "internalType": "bytes",
1847
+ "name": "data",
1848
+ "type": "bytes"
1849
+ },
1850
+ {
1851
+ "internalType": "Timestamp",
1852
+ "name": "createdAt",
1853
+ "type": "uint40"
1854
+ },
1855
+ {
1856
+ "internalType": "Timestamp",
1857
+ "name": "activatedAt",
1858
+ "type": "uint40"
1859
+ },
1860
+ {
1861
+ "internalType": "Timestamp",
1862
+ "name": "expiredAt",
1863
+ "type": "uint40"
1864
+ },
1865
+ {
1866
+ "internalType": "Timestamp",
1867
+ "name": "closedAt",
1868
+ "type": "uint40"
1869
+ },
1870
+ {
1871
+ "internalType": "Blocknumber",
1872
+ "name": "updatedIn",
1873
+ "type": "uint32"
1874
+ }
1875
+ ],
1876
+ "internalType": "struct IPolicy.PolicyInfo",
1877
+ "name": "policyInfo",
1878
+ "type": "tuple"
1879
+ }
1880
+ ],
1881
+ "name": "setPolicyInfo",
1882
+ "outputs": [],
1883
+ "stateMutability": "nonpayable",
1884
+ "type": "function"
1885
+ },
1362
1886
  {
1363
1887
  "inputs": [
1364
1888
  {
@@ -1456,20 +1980,39 @@
1456
1980
  {
1457
1981
  "inputs": [
1458
1982
  {
1459
- "internalType": "NftId",
1460
- "name": "policyNftId",
1461
- "type": "uint96"
1983
+ "internalType": "RoleId",
1984
+ "name": "role",
1985
+ "type": "bytes8"
1462
1986
  },
1463
1987
  {
1464
- "internalType": "NftId",
1465
- "name": "productNftId",
1466
- "type": "uint96"
1988
+ "internalType": "bool",
1989
+ "name": "active",
1990
+ "type": "bool"
1467
1991
  }
1468
1992
  ],
1469
- "name": "underwrite",
1993
+ "name": "setRoleState",
1470
1994
  "outputs": [],
1471
1995
  "stateMutability": "nonpayable",
1472
1996
  "type": "function"
1997
+ },
1998
+ {
1999
+ "inputs": [
2000
+ {
2001
+ "internalType": "bytes4",
2002
+ "name": "interfaceId",
2003
+ "type": "bytes4"
2004
+ }
2005
+ ],
2006
+ "name": "supportsInterface",
2007
+ "outputs": [
2008
+ {
2009
+ "internalType": "bool",
2010
+ "name": "",
2011
+ "type": "bool"
2012
+ }
2013
+ ],
2014
+ "stateMutability": "view",
2015
+ "type": "function"
1473
2016
  }
1474
2017
  ],
1475
2018
  "bytecode": "0x",