@etherisc/gif-next 0.0.2-96853ac-143 → 0.0.2-9b434da-265

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 (308) hide show
  1. package/README.md +160 -6
  2. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IBaseComponent.sol/IBaseComponent.json} +104 -118
  4. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  5. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  6. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  7. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  8. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  9. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  10. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  12. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  16. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  20. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  22. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  24. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  25. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  26. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  27. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
  28. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  29. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  30. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/Instance.sol/Instance.json +2622 -827
  32. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  33. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  34. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  35. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -0
  36. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +506 -0
  38. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  39. package/artifacts/contracts/instance/{lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  40. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/base/IService.sol/IService.json +421 -0
  42. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +736 -0
  44. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  45. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  46. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  47. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +468 -0
  48. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  50. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  52. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  54. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  55. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  56. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  57. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  58. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.json +10 -0
  60. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  61. package/artifacts/contracts/instance/{treasury → module}/ITreasury.sol/ITreasury.json +1 -1
  62. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  63. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +194 -2
  64. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  65. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  66. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  67. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +408 -32
  68. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  69. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +745 -0
  70. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  71. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  72. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  73. package/artifacts/contracts/registry/Registry.sol/Registry.json +637 -52
  74. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  75. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1013 -0
  76. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +476 -0
  78. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  79. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  80. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  81. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  82. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  83. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  84. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  85. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IRegisterable.sol/IRegisterable.json} +98 -102
  86. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  87. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +205 -0
  88. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  89. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  90. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  91. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  92. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  93. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +274 -0
  94. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  95. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  96. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  97. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  98. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  99. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +228 -0
  100. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  101. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  102. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  103. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +305 -0
  104. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  105. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +10 -0
  106. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  107. package/artifacts/contracts/test/TestService.sol/TestService.json +600 -0
  108. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  109. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  110. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  111. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  112. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  113. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +286 -0
  114. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  115. package/artifacts/contracts/test/Usdc.sol/USDC.json +338 -0
  116. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  117. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  118. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  119. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  120. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  121. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  122. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  123. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  124. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  125. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  126. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  128. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  129. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  130. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  131. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  132. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  133. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  134. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  135. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  136. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  137. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  138. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  139. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  140. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  142. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  143. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +77 -2
  144. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  145. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +58 -58
  146. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  147. package/artifacts/contracts/types/Version.sol/VersionLib.json +177 -0
  148. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  149. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  150. package/contracts/components/IBaseComponent.sol +19 -0
  151. package/contracts/instance/AccessManagedSimple.sol +114 -0
  152. package/contracts/instance/AccessManagerSimple.sol +682 -0
  153. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  154. package/contracts/instance/Instance.sol +371 -53
  155. package/contracts/instance/InstanceAccessManager.sol +288 -0
  156. package/contracts/instance/InstanceService.sol +45 -0
  157. package/contracts/instance/base/IKeyValueStore.sol +48 -0
  158. package/contracts/instance/base/ILifecycle.sol +30 -0
  159. package/contracts/instance/base/IService.sol +15 -0
  160. package/contracts/instance/base/KeyValueStore.sol +188 -0
  161. package/contracts/instance/base/Lifecycle.sol +100 -0
  162. package/contracts/instance/base/ServiceBase.sol +44 -0
  163. package/contracts/instance/module/IAccess.sol +38 -0
  164. package/contracts/instance/module/IBundle.sol +19 -0
  165. package/contracts/instance/module/IDistribution.sol +39 -0
  166. package/contracts/instance/module/IPolicy.sol +45 -0
  167. package/contracts/instance/module/IRisk.sol +11 -0
  168. package/contracts/instance/module/ISetup.sol +41 -0
  169. package/contracts/instance/module/ITreasury.sol +23 -0
  170. package/contracts/registry/ChainNft.sol +94 -42
  171. package/contracts/registry/IChainNft.sol +3 -2
  172. package/contracts/registry/IRegistry.sol +50 -44
  173. package/contracts/registry/IRegistryService.sol +29 -0
  174. package/contracts/registry/ITransferInterceptor.sol +6 -0
  175. package/contracts/registry/Registry.sol +435 -126
  176. package/contracts/registry/RegistryService.sol +369 -0
  177. package/contracts/registry/RegistryServiceManager.sol +43 -0
  178. package/contracts/shared/ContractDeployerLib.sol +72 -0
  179. package/contracts/shared/ERC165.sol +21 -0
  180. package/contracts/shared/INftOwnable.sol +22 -0
  181. package/contracts/shared/IRegisterable.sol +17 -0
  182. package/contracts/shared/IVersionable.sol +96 -0
  183. package/contracts/shared/NftOwnable.sol +136 -0
  184. package/contracts/shared/ProxyManager.sol +94 -0
  185. package/contracts/shared/Registerable.sol +89 -0
  186. package/contracts/shared/TokenHandler.sol +27 -0
  187. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  188. package/contracts/shared/Versionable.sol +147 -0
  189. package/contracts/test/TestFee.sol +25 -0
  190. package/contracts/test/TestRegisterable.sol +18 -0
  191. package/contracts/test/TestRoleId.sol +14 -0
  192. package/contracts/test/TestService.sol +26 -0
  193. package/contracts/test/TestToken.sol +26 -0
  194. package/contracts/test/TestVersion.sol +44 -0
  195. package/contracts/test/TestVersionable.sol +17 -0
  196. package/contracts/test/Usdc.sol +26 -0
  197. package/contracts/types/AddressSet.sol +58 -0
  198. package/contracts/types/DistributorType.sol +55 -0
  199. package/contracts/types/Fee.sol +44 -20
  200. package/contracts/types/Key32.sol +50 -0
  201. package/contracts/types/NftId.sol +22 -1
  202. package/contracts/types/NftIdSet.sol +60 -0
  203. package/contracts/types/NumberId.sol +52 -0
  204. package/contracts/types/ObjectType.sol +60 -15
  205. package/contracts/types/Referral.sol +85 -0
  206. package/contracts/types/RiskId.sol +43 -0
  207. package/contracts/types/RoleId.sol +75 -0
  208. package/contracts/types/StateId.sol +14 -4
  209. package/contracts/types/Timestamp.sol +29 -4
  210. package/contracts/types/UFixed.sol +12 -13
  211. package/contracts/types/Version.sol +104 -0
  212. package/package.json +9 -3
  213. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  214. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  215. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  216. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  217. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  218. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  219. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  220. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -328
  221. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  222. package/artifacts/contracts/components/Product.sol/Product.json +0 -346
  223. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +0 -4
  224. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -1479
  225. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  226. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  227. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  228. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  229. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  230. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  231. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  232. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  233. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  234. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  235. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -299
  236. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  237. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  238. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  239. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  240. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  241. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  242. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -217
  243. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  244. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  245. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  246. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  247. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  248. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  249. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  251. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  252. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  253. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  254. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  255. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  256. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -254
  257. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  258. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  259. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  260. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  261. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  262. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  263. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  264. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  265. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  266. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  268. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  269. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  270. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  271. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  272. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -490
  273. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  274. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  275. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  276. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -490
  277. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  278. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  279. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  280. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  281. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  282. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  283. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  284. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  285. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  286. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  287. package/contracts/components/Component.sol +0 -77
  288. package/contracts/components/IPool.sol +0 -15
  289. package/contracts/components/IProduct.sol +0 -16
  290. package/contracts/components/Pool.sol +0 -52
  291. package/contracts/components/Product.sol +0 -89
  292. package/contracts/experiment/statemachine/README.md +0 -112
  293. package/contracts/instance/IInstance.sol +0 -25
  294. package/contracts/instance/access/Access.sol +0 -165
  295. package/contracts/instance/access/IAccess.sol +0 -63
  296. package/contracts/instance/component/ComponentModule.sol +0 -274
  297. package/contracts/instance/component/IComponent.sol +0 -74
  298. package/contracts/instance/lifecycle/ILifecycle.sol +0 -47
  299. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -88
  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/ITreasury.sol +0 -91
  307. package/contracts/instance/treasury/TokenHandler.sol +0 -24
  308. package/contracts/instance/treasury/TreasuryModule.sol +0 -168
package/README.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # gif-next (Generic Insurance Framework next version)
2
2
 
3
+ ## Add OpenZeppelin V5 Dependencies
4
+
5
+ ```shell
6
+ forge install openzeppelin-contracts-500=OpenZeppelin/openzeppelin-contracts@v5.0.0
7
+ cd cd lib/openzeppelin-contracts-500
8
+ git checkout tags/v5.0.0
9
+ cd ../..
10
+ ```
11
+
12
+ See `remappings.txt` to see how to work with different OpenZeppelin versions in parallel
13
+
14
+ ```
15
+ cat remappings.txt
16
+ @openzeppelin5/contracts/=lib/openzeppelin-contracts-500/contracts/
17
+ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
18
+ @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
19
+ ```
20
+
21
+
3
22
  ## Submodules checkout
4
23
 
5
24
  This repository uses submodules. To checkout or update to the latest submodules, run the following command after updating to any revision (or checking out the repository)
@@ -23,15 +42,33 @@ npm run coverage
23
42
 
24
43
  ### Deployment
25
44
 
45
+ Install the dependencies before running the script below for the first time.
46
+
47
+ ```bash
48
+ npm install
26
49
  ```
27
- hh run --network <networkname> scripts/deploy.ts
50
+
51
+ The deploy script will deploy all required contracts and create a test instance with a test product and a test pool.
52
+
53
+ ```bash
54
+ # run deployment on a locally created ganache instance
55
+ export SKIP_VERIFICATION=true
56
+ hh run scripts/deploy_all.ts
28
57
  ```
29
58
 
30
- Networks:
31
- - hardhat (dynamically created network - https://hardhat.org/hardhat-network/docs/overview)
32
- - anvil (anvsil chain running in container next when using devcontainer)
33
- - mumbai (polygon testnet, requires WEB3_INFURA_PROJECT_ID)
34
- - mainnet (polygon mainnet, requires WEB3_INFURA_PROJECT_ID)
59
+ ```bash
60
+ # set appropriate values vor env variables (see below)
61
+
62
+ # run deployment on another network
63
+ hh run --network <networkname> scripts/deploy_all.ts
64
+ ```
65
+
66
+ Environment variables:
67
+
68
+ - `SKIP_VERIFICATION` set to `true` to skip etherscan verification (required for ganacht and anvil)
69
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
70
+ - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
71
+ - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
35
72
 
36
73
 
37
74
  ### Console
@@ -56,6 +93,9 @@ https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
56
93
  ```shell
57
94
  forge build
58
95
 
96
+ # contract sizes
97
+ forge build --sizes | grep Instance
98
+
59
99
  forge test
60
100
 
61
101
  # run single test case
@@ -127,7 +167,17 @@ uint256 lifetime =365*24*3600;
127
167
  uint256 policyNftId = ps.createApplicationForBundle(customer, bundleNftId, sumInsuredAmount, premiumAmount, lifetime);
128
168
 
129
169
  ```
170
+ ### Library Linking
171
+
172
+ https://ethereum.stackexchange.com/questions/153411/does-foundry-support-dynamical-library-linking-in-solidity
130
173
 
174
+ ```toml
175
+ # foundry.toml
176
+
177
+ [profile.default]
178
+ # expected format(example below): libraries = ["<path>:<lib name>:<address>"]
179
+ libraries = ["src/libraries/MyLibrary.sol:MyLibrary:0x..."]
180
+ ```
131
181
 
132
182
  ### Documentation
133
183
 
@@ -158,3 +208,107 @@ To execute formatting run `npm run styleFix`.
158
208
 
159
209
  We use solhint to lint the code.
160
210
  To execute linting run `npm run lint`.
211
+
212
+
213
+ ### Adding Brownie (Legacy)
214
+
215
+ python3 is already installed
216
+
217
+ ```bash
218
+ npm install -g ganache
219
+ sudo apt update
220
+ sudo apt install python3-pip
221
+ pip install eth-brownie
222
+ brownie pm install OpenZeppelin/openzeppelin-contracts@4.9.3
223
+ brownie pm install OpenZeppelin/openzeppelin-contracts@5.0.0
224
+ ```
225
+
226
+ ```bash
227
+ brownie compile --all
228
+ brownie console
229
+ ```
230
+
231
+ ```python
232
+ registry_owner = accounts[0]
233
+ instance_owner = accounts[1]
234
+ product_owner = accounts[2]
235
+
236
+ # deploy libs and helper contracts
237
+ nft_id_lib = NftIdLib.deploy({'from': registry_owner})
238
+ ufixed_math_lib = UFixedMathLib.deploy({'from': registry_owner})
239
+ test_fee = TestFee.deploy({'from': registry_owner})
240
+
241
+ # deploy registry and a token
242
+ registry = Registry.deploy({'from': registry_owner})
243
+ nft = ChainNft.deploy(registry, {'from': registry_owner})
244
+ registry.initialize(nft, {'from': registry_owner})
245
+ token = TestUsdc.deploy({'from': registry_owner})
246
+
247
+ # deploy services
248
+ component_owner_service = ComponentOwnerService.deploy(registry, {'from': registry_owner})
249
+ product_service = ProductService.deploy(registry, {'from': registry_owner})
250
+
251
+ # deploy an instance
252
+ instance = Instance.deploy(registry, component_owner_service, product_service, {'from': instance_owner})
253
+
254
+ # deploy product
255
+ pool = TestPool.deploy(registry, instance, token, {'from': product_owner})
256
+ policy_fee = test_fee.createFee(1, -1, 0)
257
+ product = TestProduct.deploy(registry, instance, token, pool, policy_fee, {'from': product_owner})
258
+
259
+ # grant roles
260
+ pool_owner_role = instance.getRoleForName("PoolOwner")
261
+ product_owner_role = instance.getRoleForName("ProductOwner")
262
+ instance.grantRole(pool_owner_role, product_owner, {'from': instance_owner})
263
+ instance.grantRole(product_owner_role, product_owner, {'from': instance_owner})
264
+
265
+ # register objects
266
+ instance.register()
267
+ component_owner_service.register(pool, {'from': product_owner})
268
+ component_owner_service.register(product, {'from': product_owner})
269
+
270
+ instance_id = instance.getNftId()
271
+ pool_id = pool.getNftId()
272
+ product_id = product.getNftId()
273
+ ```
274
+
275
+ ## Registry and Services
276
+
277
+ ### Principles
278
+
279
+ - 1 service per object type and major version
280
+ - registry service guards write access to registry
281
+ - all other objects registered via registry service
282
+ - root object for the complete tree is the protocol object
283
+ - under the root object a single registry object is registered (= global registry/ethereum mainnet)
284
+
285
+
286
+ ### Service Responsibilities
287
+
288
+ Registry Service
289
+
290
+ - deployed and registered during bootstrapping of registry
291
+ - used to register tokens and other services by registry owner
292
+ - an object may only be registered by the service designated by the type of the object
293
+ - to register an object the parent object needs already be registered
294
+ - the type of the object to be registered needs to match a valid child type/parent type combination
295
+
296
+ Instance Service
297
+
298
+ - deploys master instance during its own bootstrapping (if allowed by contract size)
299
+ - registered via registry service by registry owner
300
+ - registeres master instance during its own registration by regsitry owner
301
+ - deploys and registeres new instances (= instance factory) by instance owner (instance owner is a permissionless role, anybody may creates a new instance)
302
+ - provides upgrade functionality to instance owners
303
+
304
+ Product Service
305
+
306
+ - registered via registry service by registry owner
307
+ - registers products for registered instances via registry service by product owner (product owner role is permissend by the product's instance)
308
+ - registers applications/policies for registered products via registry service
309
+
310
+ Distribution Service
311
+
312
+ - registered via registry service by registry owner
313
+ - registers distribution components for registered products via registry service by distribution owner (distribution owner role is permissend by the product's instance)
314
+ - registers distributors for registered distribution components via registry service
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
+ }
@@ -1,131 +1,128 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IPoolComponent",
4
- "sourceName": "contracts/components/IPool.sol",
3
+ "contractName": "IBaseComponent",
4
+ "sourceName": "contracts/components/IBaseComponent.sol",
5
5
  "abi": [
6
6
  {
7
- "anonymous": false,
8
7
  "inputs": [
9
8
  {
10
- "indexed": false,
11
- "internalType": "uint256",
12
- "name": "idx",
13
- "type": "uint256"
14
- },
15
- {
16
- "indexed": false,
17
9
  "internalType": "address",
18
- "name": "module",
10
+ "name": "registry",
19
11
  "type": "address"
20
12
  },
21
13
  {
22
- "indexed": false,
23
- "internalType": "string",
24
- "name": "comment",
25
- "type": "string"
14
+ "internalType": "NftId",
15
+ "name": "nftId",
16
+ "type": "uint96"
26
17
  }
27
18
  ],
28
- "name": "LogDebug",
29
- "type": "event"
19
+ "name": "ErrorAlreadyLinked",
20
+ "type": "error"
30
21
  },
31
22
  {
32
- "inputs": [],
33
- "name": "getData",
34
- "outputs": [
23
+ "inputs": [
35
24
  {
36
- "internalType": "bytes",
37
- "name": "data",
38
- "type": "bytes"
25
+ "internalType": "address",
26
+ "name": "contractAddress",
27
+ "type": "address"
39
28
  }
40
29
  ],
41
- "stateMutability": "view",
42
- "type": "function"
30
+ "name": "ErrorContractNotRegistered",
31
+ "type": "error"
43
32
  },
44
33
  {
45
- "inputs": [],
46
- "name": "getInitialOwner",
47
- "outputs": [
34
+ "inputs": [
48
35
  {
49
36
  "internalType": "address",
50
- "name": "initialOwner",
37
+ "name": "account",
51
38
  "type": "address"
52
39
  }
53
40
  ],
54
- "stateMutability": "view",
55
- "type": "function"
41
+ "name": "ErrorNotOwner",
42
+ "type": "error"
56
43
  },
57
44
  {
58
- "inputs": [],
59
- "name": "getInstance",
60
- "outputs": [
45
+ "inputs": [
61
46
  {
62
- "internalType": "contract IInstance",
63
- "name": "instance",
47
+ "internalType": "address",
48
+ "name": "registryAddress",
64
49
  "type": "address"
65
50
  }
66
51
  ],
67
- "stateMutability": "view",
68
- "type": "function"
52
+ "name": "ErrorNotRegistry",
53
+ "type": "error"
69
54
  },
70
55
  {
71
56
  "inputs": [],
72
- "name": "getNftId",
73
- "outputs": [
74
- {
75
- "internalType": "NftId",
76
- "name": "nftId",
77
- "type": "uint96"
78
- }
79
- ],
80
- "stateMutability": "view",
81
- "type": "function"
57
+ "name": "ErrorRegistryAddressZero",
58
+ "type": "error"
82
59
  },
83
60
  {
84
- "inputs": [],
85
- "name": "getOwner",
86
- "outputs": [
61
+ "inputs": [
87
62
  {
88
63
  "internalType": "address",
89
- "name": "owner",
64
+ "name": "registry",
90
65
  "type": "address"
91
66
  }
92
67
  ],
93
- "stateMutability": "view",
94
- "type": "function"
68
+ "name": "ErrorRegistryAlreadyInitialized",
69
+ "type": "error"
95
70
  },
96
71
  {
97
72
  "inputs": [],
98
- "name": "getParentNftId",
99
- "outputs": [
100
- {
101
- "internalType": "NftId",
102
- "name": "parentNftId",
103
- "type": "uint96"
104
- }
105
- ],
106
- "stateMutability": "view",
107
- "type": "function"
73
+ "name": "ErrorRegistryNotInitialized",
74
+ "type": "error"
108
75
  },
109
76
  {
110
77
  "inputs": [],
111
- "name": "getPerformanceFee",
78
+ "name": "getInitialInfo",
112
79
  "outputs": [
113
80
  {
114
81
  "components": [
115
82
  {
116
- "internalType": "UFixed",
117
- "name": "fractionalFee",
118
- "type": "uint256"
83
+ "internalType": "NftId",
84
+ "name": "nftId",
85
+ "type": "uint96"
86
+ },
87
+ {
88
+ "internalType": "NftId",
89
+ "name": "parentNftId",
90
+ "type": "uint96"
91
+ },
92
+ {
93
+ "internalType": "ObjectType",
94
+ "name": "objectType",
95
+ "type": "uint8"
96
+ },
97
+ {
98
+ "internalType": "bool",
99
+ "name": "isInterceptor",
100
+ "type": "bool"
101
+ },
102
+ {
103
+ "internalType": "address",
104
+ "name": "objectAddress",
105
+ "type": "address"
119
106
  },
120
107
  {
121
- "internalType": "uint256",
122
- "name": "fixedFee",
123
- "type": "uint256"
108
+ "internalType": "address",
109
+ "name": "initialOwner",
110
+ "type": "address"
111
+ },
112
+ {
113
+ "internalType": "bytes",
114
+ "name": "data",
115
+ "type": "bytes"
124
116
  }
125
117
  ],
126
- "internalType": "struct Fee",
127
- "name": "performanceFee",
118
+ "internalType": "struct IRegistry.ObjectInfo",
119
+ "name": "",
128
120
  "type": "tuple"
121
+ },
122
+ {
123
+ "internalType": "bytes",
124
+ "name": "data",
125
+ "type": "bytes"
129
126
  }
130
127
  ],
131
128
  "stateMutability": "view",
@@ -133,12 +130,12 @@
133
130
  },
134
131
  {
135
132
  "inputs": [],
136
- "name": "getRegistry",
133
+ "name": "getNftId",
137
134
  "outputs": [
138
135
  {
139
- "internalType": "contract IRegistry",
140
- "name": "registry",
141
- "type": "address"
136
+ "internalType": "NftId",
137
+ "name": "",
138
+ "type": "uint96"
142
139
  }
143
140
  ],
144
141
  "stateMutability": "view",
@@ -146,24 +143,12 @@
146
143
  },
147
144
  {
148
145
  "inputs": [],
149
- "name": "getStakingFee",
146
+ "name": "getOwner",
150
147
  "outputs": [
151
148
  {
152
- "components": [
153
- {
154
- "internalType": "UFixed",
155
- "name": "fractionalFee",
156
- "type": "uint256"
157
- },
158
- {
159
- "internalType": "uint256",
160
- "name": "fixedFee",
161
- "type": "uint256"
162
- }
163
- ],
164
- "internalType": "struct Fee",
165
- "name": "stakingFee",
166
- "type": "tuple"
149
+ "internalType": "address",
150
+ "name": "",
151
+ "type": "address"
167
152
  }
168
153
  ],
169
154
  "stateMutability": "view",
@@ -171,11 +156,11 @@
171
156
  },
172
157
  {
173
158
  "inputs": [],
174
- "name": "getToken",
159
+ "name": "getRegistry",
175
160
  "outputs": [
176
161
  {
177
- "internalType": "contract IERC20Metadata",
178
- "name": "token",
162
+ "internalType": "contract IRegistry",
163
+ "name": "",
179
164
  "type": "address"
180
165
  }
181
166
  ],
@@ -184,12 +169,12 @@
184
169
  },
185
170
  {
186
171
  "inputs": [],
187
- "name": "getType",
172
+ "name": "getToken",
188
173
  "outputs": [
189
174
  {
190
- "internalType": "ObjectType",
191
- "name": "objectType",
192
- "type": "uint8"
175
+ "internalType": "contract IERC20Metadata",
176
+ "name": "token",
177
+ "type": "address"
193
178
  }
194
179
  ],
195
180
  "stateMutability": "view",
@@ -210,20 +195,27 @@
210
195
  },
211
196
  {
212
197
  "inputs": [],
213
- "name": "isRegisterable",
214
- "outputs": [
215
- {
216
- "internalType": "bool",
217
- "name": "",
218
- "type": "bool"
219
- }
220
- ],
221
- "stateMutability": "pure",
198
+ "name": "linkToRegisteredNftId",
199
+ "outputs": [],
200
+ "stateMutability": "nonpayable",
222
201
  "type": "function"
223
202
  },
224
203
  {
225
204
  "inputs": [],
226
- "name": "isRegistered",
205
+ "name": "lock",
206
+ "outputs": [],
207
+ "stateMutability": "nonpayable",
208
+ "type": "function"
209
+ },
210
+ {
211
+ "inputs": [
212
+ {
213
+ "internalType": "bytes4",
214
+ "name": "interfaceId",
215
+ "type": "bytes4"
216
+ }
217
+ ],
218
+ "name": "supportsInterface",
227
219
  "outputs": [
228
220
  {
229
221
  "internalType": "bool",
@@ -236,14 +228,8 @@
236
228
  },
237
229
  {
238
230
  "inputs": [],
239
- "name": "register",
240
- "outputs": [
241
- {
242
- "internalType": "NftId",
243
- "name": "nftId",
244
- "type": "uint96"
245
- }
246
- ],
231
+ "name": "unlock",
232
+ "outputs": [],
247
233
  "stateMutability": "nonpayable",
248
234
  "type": "function"
249
235
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -52,8 +52,8 @@
52
52
  "type": "function"
53
53
  }
54
54
  ],
55
- "bytecode": "0x608060405234801561001057600080fd5b5061017d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea2646970667358221220114e4022de0c5b9e5bf7c8cc9ef601c69169a67052f43ab5c4cc86981fd4e17864736f6c63430008140033",
56
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea2646970667358221220114e4022de0c5b9e5bf7c8cc9ef601c69169a67052f43ab5c4cc86981fd4e17864736f6c63430008140033",
55
+ "bytecode": "0x608060405234801561001057600080fd5b5061017d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea264697066735822122062ef0aa4d5e2eb1c904112844cb41fccb5ebdae3ba5778f8135b583691bf97e864736f6c63430008140033",
56
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea264697066735822122062ef0aa4d5e2eb1c904112844cb41fccb5ebdae3ba5778f8135b583691bf97e864736f6c63430008140033",
57
57
  "linkReferences": {},
58
58
  "deployedLinkReferences": {}
59
59
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/51da3314bcd43783ab6075e6d9cf96f5.json"
3
+ "buildInfo": "../../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }