@etherisc/gif-next 0.0.2-ff1bf36-818 → 0.0.2-ff3a8a0-504

Sign up to get free protection for your applications and to get access to all the features.
Files changed (547) hide show
  1. package/README.md +91 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +408 -104
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +196 -441
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +115 -325
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +682 -375
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +218 -130
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -160
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +478 -108
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  66. package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +55 -197
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  70. package/artifacts/contracts/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +34 -227
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +578 -65
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +395 -60
  75. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  76. package/artifacts/contracts/instance/Instance.sol/Instance.json +616 -183
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1021 -363
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +328 -92
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1635 -804
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +409 -231
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1275 -1690
  89. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  91. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  92. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  93. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  95. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  96. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  98. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  100. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  101. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  102. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  103. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  104. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  108. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  109. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +148 -317
  112. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  114. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +116 -109
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +124 -269
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +173 -326
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +352 -380
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +174 -126
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +247 -121
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +154 -158
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +500 -269
  139. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  140. package/artifacts/contracts/pool/Pool.sol/Pool.json +152 -308
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +723 -515
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +218 -110
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +357 -173
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +165 -97
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +305 -389
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +458 -253
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +296 -9
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +335 -19
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +300 -64
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -202
  169. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +286 -21
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +428 -287
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +193 -121
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  181. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  182. package/artifacts/contracts/product/Product.sol/Product.json +278 -362
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.json +364 -186
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +166 -94
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  197. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  198. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  217. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  218. package/artifacts/contracts/shared/Component.sol/Component.json +100 -227
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +496 -625
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +188 -130
  223. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  231. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +93 -68
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  235. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -109
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +123 -268
  252. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  253. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  254. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  256. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  258. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  259. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  260. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  261. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  262. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  263. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  264. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  265. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  270. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  271. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  272. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1512 -167
  274. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  276. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  277. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +1646 -402
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +193 -107
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  286. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  288. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  290. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1645 -790
  292. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  293. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +180 -77
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  301. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  337. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  339. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  341. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  343. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  345. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  347. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  351. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  353. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  355. package/contracts/accounting/AccountingService.sol +274 -0
  356. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  357. package/contracts/accounting/IAccountingService.sol +47 -0
  358. package/contracts/authorization/AccessAdmin.sol +458 -269
  359. package/contracts/authorization/AccessAdminLib.sol +396 -0
  360. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  361. package/contracts/authorization/Authorization.sol +159 -207
  362. package/contracts/authorization/IAccess.sol +25 -6
  363. package/contracts/authorization/IAccessAdmin.sol +87 -79
  364. package/contracts/authorization/IAuthorization.sol +9 -37
  365. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  366. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  367. package/contracts/distribution/BasicDistribution.sol +20 -17
  368. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  369. package/contracts/distribution/Distribution.sol +44 -92
  370. package/contracts/distribution/DistributionService.sol +243 -117
  371. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  372. package/contracts/distribution/IDistributionComponent.sol +4 -11
  373. package/contracts/distribution/IDistributionService.sol +46 -26
  374. package/contracts/examples/fire/DamageLevel.sol +59 -0
  375. package/contracts/examples/fire/FirePool.sol +86 -0
  376. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  377. package/contracts/examples/fire/FireProduct.sol +433 -0
  378. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  379. package/contracts/examples/fire/FireUSD.sol +26 -0
  380. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  381. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  383. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  384. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  386. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  387. package/contracts/instance/BaseStore.sol +93 -0
  388. package/contracts/instance/BundleSet.sol +42 -38
  389. package/contracts/instance/IBaseStore.sol +37 -0
  390. package/contracts/instance/IInstance.sol +111 -18
  391. package/contracts/instance/IInstanceService.sol +61 -34
  392. package/contracts/instance/Instance.sol +197 -75
  393. package/contracts/instance/InstanceAdmin.sol +276 -182
  394. package/contracts/instance/InstanceAuthorizationV3.sol +152 -81
  395. package/contracts/instance/InstanceReader.sol +463 -257
  396. package/contracts/instance/InstanceService.sol +320 -273
  397. package/contracts/instance/InstanceServiceManager.sol +6 -7
  398. package/contracts/instance/InstanceStore.sol +165 -107
  399. package/contracts/instance/ProductStore.sol +303 -0
  400. package/contracts/instance/RiskSet.sol +126 -0
  401. package/contracts/instance/TargetNames.sol +10 -0
  402. package/contracts/instance/base/BalanceStore.sol +4 -6
  403. package/contracts/instance/base/ObjectCounter.sol +1 -2
  404. package/contracts/instance/base/ObjectLifecycle.sol +12 -8
  405. package/contracts/instance/base/ObjectSet.sol +31 -33
  406. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  407. package/contracts/instance/module/IBundle.sol +6 -5
  408. package/contracts/instance/module/IComponents.sol +29 -13
  409. package/contracts/instance/module/IDistribution.sol +21 -8
  410. package/contracts/instance/module/IPolicy.sol +49 -28
  411. package/contracts/instance/module/IRisk.sol +5 -0
  412. package/contracts/oracle/BasicOracle.sol +2 -5
  413. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  414. package/contracts/oracle/IOracle.sol +9 -4
  415. package/contracts/oracle/IOracleService.sol +2 -1
  416. package/contracts/oracle/Oracle.sol +9 -21
  417. package/contracts/oracle/OracleService.sol +119 -87
  418. package/contracts/oracle/OracleServiceManager.sol +6 -6
  419. package/contracts/pool/BasicPool.sol +34 -38
  420. package/contracts/pool/BasicPoolAuthorization.sol +34 -11
  421. package/contracts/pool/BundleService.sol +117 -167
  422. package/contracts/pool/BundleServiceManager.sol +6 -6
  423. package/contracts/pool/IBundleService.sol +28 -46
  424. package/contracts/pool/IPoolComponent.sol +19 -15
  425. package/contracts/pool/IPoolService.sol +80 -73
  426. package/contracts/pool/Pool.sol +142 -137
  427. package/contracts/pool/PoolLib.sol +341 -0
  428. package/contracts/pool/PoolService.sol +361 -288
  429. package/contracts/pool/PoolServiceManager.sol +4 -4
  430. package/contracts/product/ApplicationService.sol +113 -36
  431. package/contracts/product/ApplicationServiceManager.sol +4 -4
  432. package/contracts/product/BasicProduct.sol +11 -14
  433. package/contracts/product/BasicProductAuthorization.sol +32 -12
  434. package/contracts/product/ClaimService.sol +391 -181
  435. package/contracts/product/ClaimServiceManager.sol +4 -4
  436. package/contracts/product/IApplicationService.sol +28 -3
  437. package/contracts/product/IClaimService.sol +47 -11
  438. package/contracts/product/IPolicyService.sol +47 -29
  439. package/contracts/product/IPricingService.sol +11 -10
  440. package/contracts/product/IProductComponent.sol +27 -5
  441. package/contracts/product/IRiskService.sol +25 -10
  442. package/contracts/product/PolicyService.sol +379 -318
  443. package/contracts/product/PolicyServiceLib.sol +139 -0
  444. package/contracts/product/PolicyServiceManager.sol +4 -4
  445. package/contracts/product/PricingService.sol +85 -83
  446. package/contracts/product/PricingServiceManager.sol +4 -4
  447. package/contracts/product/Product.sol +177 -94
  448. package/contracts/product/RiskService.sol +132 -40
  449. package/contracts/product/RiskServiceManager.sol +4 -4
  450. package/contracts/registry/ChainNft.sol +72 -40
  451. package/contracts/registry/IRegistry.sol +70 -32
  452. package/contracts/registry/IRegistryService.sol +5 -12
  453. package/contracts/registry/IRelease.sol +29 -0
  454. package/contracts/registry/ITransferInterceptor.sol +1 -2
  455. package/contracts/registry/Registry.sol +367 -207
  456. package/contracts/registry/RegistryAdmin.sol +114 -297
  457. package/contracts/registry/RegistryAuthorization.sol +336 -0
  458. package/contracts/registry/RegistryService.sol +38 -49
  459. package/contracts/registry/RegistryServiceManager.sol +3 -3
  460. package/contracts/registry/ReleaseAdmin.sol +195 -0
  461. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  462. package/contracts/registry/ReleaseRegistry.sol +279 -239
  463. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  464. package/contracts/registry/TokenRegistry.sol +61 -59
  465. package/contracts/shared/Component.sol +69 -123
  466. package/contracts/shared/ComponentService.sol +429 -379
  467. package/contracts/shared/ComponentServiceManager.sol +8 -5
  468. package/contracts/shared/ContractLib.sol +312 -0
  469. package/contracts/shared/IComponent.sol +6 -18
  470. package/contracts/shared/IComponentService.sol +43 -40
  471. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  472. package/contracts/shared/ILifecycle.sol +3 -1
  473. package/contracts/shared/INftOwnable.sol +4 -0
  474. package/contracts/shared/IPolicyHolder.sol +12 -22
  475. package/contracts/shared/IRegisterable.sol +22 -1
  476. package/contracts/shared/IService.sol +3 -5
  477. package/contracts/shared/InitializableERC165.sol +10 -2
  478. package/contracts/shared/InstanceLinkedComponent.sol +73 -51
  479. package/contracts/shared/Lifecycle.sol +15 -4
  480. package/contracts/shared/NftOwnable.sol +31 -9
  481. package/contracts/shared/PolicyHolder.sol +18 -54
  482. package/contracts/shared/Registerable.sol +52 -21
  483. package/contracts/shared/RegistryLinked.sol +9 -14
  484. package/contracts/shared/Service.sol +20 -35
  485. package/contracts/shared/TokenHandler.sol +275 -72
  486. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  487. package/contracts/staking/IStaking.sol +271 -71
  488. package/contracts/staking/IStakingService.sol +45 -78
  489. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  490. package/contracts/staking/Staking.sol +523 -222
  491. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +70 -81
  492. package/contracts/staking/StakingManager.sol +12 -9
  493. package/contracts/staking/StakingReader.sol +70 -82
  494. package/contracts/staking/StakingService.sol +63 -149
  495. package/contracts/staking/StakingServiceManager.sol +7 -5
  496. package/contracts/staking/StakingStore.sol +1093 -330
  497. package/contracts/staking/TargetHandler.sol +132 -0
  498. package/contracts/staking/TargetManagerLib.sol +73 -46
  499. package/contracts/type/Amount.sol +19 -0
  500. package/contracts/type/Blocknumber.sol +15 -15
  501. package/contracts/type/ChainId.sol +101 -0
  502. package/contracts/type/ClaimId.sol +6 -1
  503. package/contracts/type/Fee.sol +8 -8
  504. package/contracts/type/Key32.sol +2 -2
  505. package/contracts/type/Key32Set.sol +62 -0
  506. package/contracts/type/NftId.sol +7 -0
  507. package/contracts/type/ObjectType.sol +73 -37
  508. package/contracts/type/PayoutId.sol +10 -10
  509. package/contracts/type/RiskId.sol +38 -6
  510. package/contracts/type/RoleId.sol +61 -55
  511. package/contracts/type/Seconds.sol +27 -0
  512. package/contracts/type/Selector.sol +5 -0
  513. package/contracts/type/StateId.sol +15 -1
  514. package/contracts/type/String.sol +12 -0
  515. package/contracts/type/Timestamp.sol +4 -7
  516. package/contracts/type/UFixed.sol +38 -126
  517. package/contracts/type/Version.sol +54 -5
  518. package/contracts/upgradeability/IVersionable.sol +3 -0
  519. package/contracts/upgradeability/ProxyManager.sol +93 -45
  520. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  521. package/contracts/upgradeability/Versionable.sol +8 -5
  522. package/package.json +5 -4
  523. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  524. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  525. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  526. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  527. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  528. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  529. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  530. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  531. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  532. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  533. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  534. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  535. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
  536. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  537. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  538. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  539. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  540. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  541. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  542. package/contracts/instance/module/IAccess.sol +0 -46
  543. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  544. package/contracts/shared/IKeyValueStore.sol +0 -54
  545. package/contracts/shared/InitializableCustom.sol +0 -177
  546. package/contracts/shared/KeyValueStore.sol +0 -131
  547. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -9,14 +9,126 @@
9
9
  "internalType": "string",
10
10
  "name": "componentName",
11
11
  "type": "string"
12
+ },
13
+ {
14
+ "internalType": "string",
15
+ "name": "commitHash",
16
+ "type": "string"
12
17
  }
13
18
  ],
14
19
  "stateMutability": "nonpayable",
15
20
  "type": "constructor"
16
21
  },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "string",
26
+ "name": "commitHash",
27
+ "type": "string"
28
+ }
29
+ ],
30
+ "name": "ErrorAuthorizationCommitHashInvalid",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [],
35
+ "name": "ErrorAuthorizationMainTargetNameEmpty",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "uint8",
42
+ "name": "release",
43
+ "type": "uint8"
44
+ }
45
+ ],
46
+ "name": "ErrorAuthorizationReleaseInvalid",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [],
51
+ "name": "ErrorAuthorizationTargetDomainZero",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "InvalidInitialization",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "NotInitializing",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "anonymous": false,
66
+ "inputs": [
67
+ {
68
+ "indexed": false,
69
+ "internalType": "uint64",
70
+ "name": "version",
71
+ "type": "uint64"
72
+ }
73
+ ],
74
+ "name": "Initialized",
75
+ "type": "event"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "COMMIT_HASH",
80
+ "outputs": [
81
+ {
82
+ "internalType": "string",
83
+ "name": "",
84
+ "type": "string"
85
+ }
86
+ ],
87
+ "stateMutability": "view",
88
+ "type": "function"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "COMMIT_HASH_LENGTH",
93
+ "outputs": [
94
+ {
95
+ "internalType": "uint256",
96
+ "name": "",
97
+ "type": "uint256"
98
+ }
99
+ ],
100
+ "stateMutability": "view",
101
+ "type": "function"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "COMPONENT_ROLE_MIN",
106
+ "outputs": [
107
+ {
108
+ "internalType": "uint64",
109
+ "name": "",
110
+ "type": "uint64"
111
+ }
112
+ ],
113
+ "stateMutability": "view",
114
+ "type": "function"
115
+ },
116
+ {
117
+ "inputs": [],
118
+ "name": "DOMAIN",
119
+ "outputs": [
120
+ {
121
+ "internalType": "ObjectType",
122
+ "name": "",
123
+ "type": "uint8"
124
+ }
125
+ ],
126
+ "stateMutability": "view",
127
+ "type": "function"
128
+ },
17
129
  {
18
130
  "inputs": [],
19
- "name": "GIF_VERSION",
131
+ "name": "GIF_INITIAL_VERSION",
20
132
  "outputs": [
21
133
  {
22
134
  "internalType": "uint256",
@@ -42,7 +154,7 @@
42
154
  },
43
155
  {
44
156
  "inputs": [],
45
- "name": "SERVICE_ROLE_NAME_SUFFIX",
157
+ "name": "SERVICE_NAME_SUFFIX",
46
158
  "outputs": [
47
159
  {
48
160
  "internalType": "string",
@@ -113,6 +225,58 @@
113
225
  "stateMutability": "view",
114
226
  "type": "function"
115
227
  },
228
+ {
229
+ "inputs": [],
230
+ "name": "getCommitHash",
231
+ "outputs": [
232
+ {
233
+ "internalType": "string",
234
+ "name": "commitHash",
235
+ "type": "string"
236
+ }
237
+ ],
238
+ "stateMutability": "view",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [],
243
+ "name": "getDomain",
244
+ "outputs": [
245
+ {
246
+ "internalType": "ObjectType",
247
+ "name": "targetDomain",
248
+ "type": "uint8"
249
+ }
250
+ ],
251
+ "stateMutability": "view",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [],
256
+ "name": "getMainTarget",
257
+ "outputs": [
258
+ {
259
+ "internalType": "Str",
260
+ "name": "target",
261
+ "type": "bytes32"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "getMainTargetName",
270
+ "outputs": [
271
+ {
272
+ "internalType": "string",
273
+ "name": "name",
274
+ "type": "string"
275
+ }
276
+ ],
277
+ "stateMutability": "view",
278
+ "type": "function"
279
+ },
116
280
  {
117
281
  "inputs": [],
118
282
  "name": "getRelease",
@@ -123,7 +287,7 @@
123
287
  "type": "uint8"
124
288
  }
125
289
  ],
126
- "stateMutability": "pure",
290
+ "stateMutability": "view",
127
291
  "type": "function"
128
292
  },
129
293
  {
@@ -154,14 +318,19 @@
154
318
  "type": "uint32"
155
319
  },
156
320
  {
157
- "internalType": "Str",
158
- "name": "name",
159
- "type": "bytes32"
321
+ "internalType": "Timestamp",
322
+ "name": "createdAt",
323
+ "type": "uint40"
160
324
  },
161
325
  {
162
326
  "internalType": "Timestamp",
163
- "name": "createdAt",
327
+ "name": "pausedAt",
164
328
  "type": "uint40"
329
+ },
330
+ {
331
+ "internalType": "Str",
332
+ "name": "name",
333
+ "type": "bytes32"
165
334
  }
166
335
  ],
167
336
  "internalType": "struct IAccess.RoleInfo",
@@ -172,6 +341,25 @@
172
341
  "stateMutability": "view",
173
342
  "type": "function"
174
343
  },
344
+ {
345
+ "inputs": [
346
+ {
347
+ "internalType": "RoleId",
348
+ "name": "roleId",
349
+ "type": "uint64"
350
+ }
351
+ ],
352
+ "name": "getRoleName",
353
+ "outputs": [
354
+ {
355
+ "internalType": "string",
356
+ "name": "roleName",
357
+ "type": "string"
358
+ }
359
+ ],
360
+ "stateMutability": "view",
361
+ "type": "function"
362
+ },
175
363
  {
176
364
  "inputs": [],
177
365
  "name": "getRoles",
@@ -185,6 +373,57 @@
185
373
  "stateMutability": "view",
186
374
  "type": "function"
187
375
  },
376
+ {
377
+ "inputs": [
378
+ {
379
+ "internalType": "ObjectType",
380
+ "name": "serviceDomain",
381
+ "type": "uint8"
382
+ }
383
+ ],
384
+ "name": "getServiceAddress",
385
+ "outputs": [
386
+ {
387
+ "internalType": "address",
388
+ "name": "service",
389
+ "type": "address"
390
+ }
391
+ ],
392
+ "stateMutability": "view",
393
+ "type": "function"
394
+ },
395
+ {
396
+ "inputs": [
397
+ {
398
+ "internalType": "uint256",
399
+ "name": "idx",
400
+ "type": "uint256"
401
+ }
402
+ ],
403
+ "name": "getServiceDomain",
404
+ "outputs": [
405
+ {
406
+ "internalType": "ObjectType",
407
+ "name": "serviceDomain",
408
+ "type": "uint8"
409
+ }
410
+ ],
411
+ "stateMutability": "view",
412
+ "type": "function"
413
+ },
414
+ {
415
+ "inputs": [],
416
+ "name": "getServiceDomains",
417
+ "outputs": [
418
+ {
419
+ "internalType": "ObjectType[]",
420
+ "name": "serviceDomains",
421
+ "type": "uint8[]"
422
+ }
423
+ ],
424
+ "stateMutability": "view",
425
+ "type": "function"
426
+ },
188
427
  {
189
428
  "inputs": [
190
429
  {
@@ -201,16 +440,22 @@
201
440
  "type": "uint64"
202
441
  }
203
442
  ],
204
- "stateMutability": "pure",
443
+ "stateMutability": "view",
205
444
  "type": "function"
206
445
  },
207
446
  {
208
- "inputs": [],
209
- "name": "getTarget",
447
+ "inputs": [
448
+ {
449
+ "internalType": "ObjectType",
450
+ "name": "serviceDomain",
451
+ "type": "uint8"
452
+ }
453
+ ],
454
+ "name": "getServiceTarget",
210
455
  "outputs": [
211
456
  {
212
457
  "internalType": "Str",
213
- "name": "",
458
+ "name": "target",
214
459
  "type": "bytes32"
215
460
  }
216
461
  ],
@@ -218,16 +463,22 @@
218
463
  "type": "function"
219
464
  },
220
465
  {
221
- "inputs": [],
222
- "name": "getTargetName",
223
- "outputs": [
466
+ "inputs": [
224
467
  {
225
468
  "internalType": "string",
226
- "name": "name",
469
+ "name": "targetName",
227
470
  "type": "string"
228
471
  }
229
472
  ],
230
- "stateMutability": "view",
473
+ "name": "getTarget",
474
+ "outputs": [
475
+ {
476
+ "internalType": "Str",
477
+ "name": "target",
478
+ "type": "bytes32"
479
+ }
480
+ ],
481
+ "stateMutability": "pure",
231
482
  "type": "function"
232
483
  },
233
484
  {
@@ -262,6 +513,32 @@
262
513
  "stateMutability": "view",
263
514
  "type": "function"
264
515
  },
516
+ {
517
+ "inputs": [],
518
+ "name": "getTokenHandlerName",
519
+ "outputs": [
520
+ {
521
+ "internalType": "string",
522
+ "name": "",
523
+ "type": "string"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [],
531
+ "name": "getTokenHandlerTarget",
532
+ "outputs": [
533
+ {
534
+ "internalType": "Str",
535
+ "name": "",
536
+ "type": "bytes32"
537
+ }
538
+ ],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
265
542
  {
266
543
  "inputs": [
267
544
  {
@@ -281,6 +558,25 @@
281
558
  "stateMutability": "view",
282
559
  "type": "function"
283
560
  },
561
+ {
562
+ "inputs": [
563
+ {
564
+ "internalType": "bytes4",
565
+ "name": "interfaceId",
566
+ "type": "bytes4"
567
+ }
568
+ ],
569
+ "name": "supportsInterface",
570
+ "outputs": [
571
+ {
572
+ "internalType": "bool",
573
+ "name": "",
574
+ "type": "bool"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
284
580
  {
285
581
  "inputs": [
286
582
  {
@@ -301,34 +597,66 @@
301
597
  "type": "function"
302
598
  }
303
599
  ],
304
- "bytecode": "0x60c0604052600960809081526810dbdb5c1bdb995b9d60ba1b60a0525f906100279082610c42565b50348015610033575f80fd5b506040516119f73803806119f783398101604081905261005291610cfc565b805f61005e8282610c42565b50610067610078565b61006f610082565b5050610ed7565b565b610076600d610156565b5f61009d61008e6101f0565b610098600d61027f565b610310565b90506100d681630b29e28e60e01b604051806040016040528060078152602001661c995c5d595cdd60ca1b8152506103ed60201b60201c565b60408051808201909152600681526518d85b98d95b60d21b6020820152610107908290634c125e7960e01b906103ed565b61011a6101126101f0565b6100986105ca565b90506101538163cf4ee77a60e01b604051806040016040528060078152602001661c995cdc1bdb9960ca1b8152506103ed60201b60201c565b50565b6101536101616101f0565b6040516311da4a5b60e31b815260ff841660048201525f602482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__90638ed252d890604401602060405180830381865af41580156101b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101db9190610dac565b6101eb6101e66101f0565b61064a565b610691565b60605f80546101fe90610bbe565b80601f016020809104026020016040519081016040528092919081815260200182805461022a90610bbe565b80156102755780601f1061024c57610100808354040283529160200191610275565b820191905f5260205f20905b81548152906001019060200180831161025857829003601f168201915b5050505050905090565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3836102a3610824565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af41580156102e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030a9190610dac565b92915050565b5f8073__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e69856040518263ffffffff1660e01b81526004016103499190610dd9565b602060405180830381865af4158015610364573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103889190610e0e565b5f8181526006602090815260408083208054600181018255908452828420600482040180546001600160401b03808b1660086003909516949094026101000a848102910219909116179055938352600782528083209383529290522091505092915050565b60408051606081019182905263cdc23e6960e01b90915283908073__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e6961042e8660648501610dd9565b602060405180830381865af4158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d9190610e0e565b8152604051636b15ee8b60e01b81526001600160e01b03198616600482015260209091019073__$0904195350e4c23ecb1d51df0a32586dcd$__90636b15ee8b90602401602060405180830381865af41580156104cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f09190610e25565b6001600160e01b031916815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610546573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056a9190610e4c565b64ffffffffff9081169091528254600181810185555f94855260209485902084516002909302019182559383015193018054604090930151909116640100000000026001600160481b031990921660e09390931c92909217179055505050565b604051637c3940bf60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf906024015b602060405180830381865af4158015610621573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190610dac565b905090565b60608160405180604001604052806004815260200163526f6c6560e01b81525060405160200161067b929190610e87565b6040516020818303038152906040529050919050565b60405163cdc23e6960e01b81525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e69906106ca908790600401610dd9565b602060405180830381865af41580156106e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107099190610e0e565b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018290555f82815260036020908152604091829020805460ff1916909317909255805163bc1b392d60e01b815290519293506107db92869273__$1d92393fa9ccd763988368ce8a1cb90d26$__9263bc1b392d92600480830193928290030181865af41580156107a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c99190610dac565b6001600160401b039081169116141590565b1561081e576107e983610898565b6107f7576107f783836108da565b5f81815260026020526040902080546001600160401b0319166001600160401b0385161790555b50505050565b604051632392b61b60e21b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190610ea3565b5f806001600160401b0383165f9081526005602052604090205468010000000000000000900460ff1660038111156108d2576108d2610ec3565b141592915050565b6108f7826108f26108e96108fb565b60018086610935565b610a94565b5050565b604051637c3940bf60e01b81525f600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__90637c3940bf90602401610606565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040518060a00160405280866001600160401b0316815260200185600381111561098b5761098b610ec3565b81526020018463ffffffff16815260200173__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e69856040518263ffffffff1660e01b81526004016109d39190610dd9565b602060405180830381865af41580156109ee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a129190610e0e565b815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a829190610e4c565b64ffffffffff16905295945050505050565b600480546001810182559081047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160401b0380861660086003958616026101000a81810290830219909316929092179092555f9081526005602090815260409091208451815493166001600160401b03198416811782559185015185949193909284926001600160481b0319909216179068010000000000000000908490811115610b4857610b48610ec3565b02179055506040820151815463ffffffff60481b1916690100000000000000000063ffffffff90921691909102178155606082015160018201556080909101516002909101805464ffffffffff191664ffffffffff9092169190911790555050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680610bd257607f821691505b602082108103610bf057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c3d57805f5260205f20601f840160051c81016020851015610c1b5750805b601f840160051c820191505b81811015610c3a575f8155600101610c27565b50505b505050565b81516001600160401b03811115610c5b57610c5b610baa565b610c6f81610c698454610bbe565b84610bf6565b6020601f821160018114610ca1575f8315610c8a5750848201515b5f19600385901b1c1916600184901b178455610c3a565b5f84815260208120601f198516915b82811015610cd05787850151825560209485019460019092019101610cb0565b5084821015610ced57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610d0c575f80fd5b81516001600160401b03811115610d21575f80fd5b8201601f81018413610d31575f80fd5b80516001600160401b03811115610d4a57610d4a610baa565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610d7857610d78610baa565b604052818152828201602001861015610d8f575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215610dbc575f80fd5b81516001600160401b0381168114610dd2575f80fd5b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610e1e575f80fd5b5051919050565b5f60208284031215610e35575f80fd5b81516001600160e01b031981168114610dd2575f80fd5b5f60208284031215610e5c575f80fd5b815164ffffffffff81168114610dd2575f80fd5b5f81518060208401855e5f93019283525090919050565b5f610e9b610e958386610e70565b84610e70565b949350505050565b5f60208284031215610eb3575f80fd5b815160ff81168114610dd2575f80fd5b634e487b7160e01b5f52602160045260245ffd5b610b1380610ee45f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c806376b707b711610093578063c5f3484411610063578063c5f3484414610259578063c6a001791461027c578063e8eba4351461028f578063f00e6a2a146102a2575f80fd5b806376b707b7146101c0578063775f14b1146101da5780638c5397b01461021c578063c143892b1461022f575f80fd5b80635bfa5027116100ce5780635bfa5027146101445780635c935ce01461016457806363fe3b561461019657806371061398146101ab575f80fd5b806318029ab4146100f45780631e4afbbf1461010f578063433f95d61461012f575b5f80fd5b6100fc600381565b6040519081526020015b60405180910390f35b61012261011d36600461081b565b6102aa565b6040516101069190610849565b610137610358565b60405161010691906108b5565b6101576101523660046108ea565b6103e7565b6040516101069190610920565b61018661017236600461098c565b5f9081526003602052604090205460ff1690565b6040519015158152602001610106565b61019e6104a9565b60405161010691906109a3565b6101b36104fe565b60405161010691906109da565b6101c8610586565b60405160ff9091168152602001610106565b6102036101e836600461098c565b5f9081526002602052604090205467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610106565b6101b361022a36600461098c565b6105ff565b6101376040518060400160405280600b81526020016a53657276696365526f6c6560a81b81525081565b61013760405180604001604052806004815260200163526f6c6560e01b81525081565b61018661028a3660046108ea565b610691565b61020361029d366004610a29565b6106cf565b6100fc610760565b5f82815260076020908152604080832067ffffffffffffffff851684528252808320805482518185028101850190935280835260609492939192909184015b8282101561034c575f84815260209081902060408051606081018252600286029092018054835260019081015460e081901b6001600160e01b03191684860152640100000000900464ffffffffff169183019190915290835290920191016102e9565b50505050905092915050565b60605f805461036690610a44565b80601f016020809104026020016040519081016040528092919081815260200182805461039290610a44565b80156103dd5780601f106103b4576101008083540402835291602001916103dd565b820191905f5260205f20905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b6040805160a080820183525f8083526020808401829052838501829052606084018290526080840182905267ffffffffffffffff8681168352600582529185902085519384019095528454918216835292939192830190600160401b900460ff1660038111156104595761045961090c565b600381111561046a5761046a61090c565b815281546901000000000000000000900463ffffffff1660208201526001820154604082015260029091015464ffffffffff1660609091015292915050565b606060018054806020026020016040519081016040528092919081815260200182805480156103dd57602002820191905f5260205f20905b8154815260200190600101908083116104e1575050505050905090565b606060048054806020026020016040519081016040528092919081815260200182805480156103dd57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105385790505050505050905090565b604051632392b61b60e21b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156105d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fa9190610a7c565b905090565b5f8181526006602090815260409182902080548351818402810184019094528084526060939283018282801561068557602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116106405790505b50505050509050919050565b5f8067ffffffffffffffff83165f90815260056020526040902054600160401b900460ff1660038111156106c7576106c761090c565b141592915050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3836106f3610586565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015610736573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075a9190610a97565b92915050565b6001545f901561078b5760015f8154811061077d5761077d610ab2565b905f5260205f200154905090565b60405163cdc23e6960e01b8152602060048201525f602482015273__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990604401602060405180830381865af41580156107df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ac6565b67ffffffffffffffff81168114610818575f80fd5b50565b5f806040838503121561082c575f80fd5b82359150602083013561083e81610803565b809150509250929050565b602080825282518282018190525f918401906040840190835b818110156108aa578351805184526020808201516001600160e01b0319168186015260409182015164ffffffffff169185019190915290930192606090920191600101610862565b509095945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f602082840312156108fa575f80fd5b813561090581610803565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b815167ffffffffffffffff168152602082015160a08201906004811061095457634e487b7160e01b5f52602160045260245ffd5b8060208401525063ffffffff60408401511660408301526060830151606083015264ffffffffff608084015116608083015292915050565b5f6020828403121561099c575f80fd5b5035919050565b602080825282518282018190525f918401906040840190835b818110156108aa5783518352602093840193909201916001016109bc565b602080825282518282018190525f918401906040840190835b818110156108aa57835167ffffffffffffffff168352602093840193909201916001016109f3565b60ff81168114610818575f80fd5b5f60208284031215610a39575f80fd5b813561090581610a1b565b600181811c90821680610a5857607f821691505b602082108103610a7657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610a8c575f80fd5b815161090581610a1b565b5f60208284031215610aa7575f80fd5b815161090581610803565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610ad6575f80fd5b505191905056fea26469706673582212200c1fe6ba6b09553d592973b0dcb1a0e8dff49ff3fb88fcc5a36299d75bec750064736f6c634300081a0033",
305
- "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106100f0575f3560e01c806376b707b711610093578063c5f3484411610063578063c5f3484414610259578063c6a001791461027c578063e8eba4351461028f578063f00e6a2a146102a2575f80fd5b806376b707b7146101c0578063775f14b1146101da5780638c5397b01461021c578063c143892b1461022f575f80fd5b80635bfa5027116100ce5780635bfa5027146101445780635c935ce01461016457806363fe3b561461019657806371061398146101ab575f80fd5b806318029ab4146100f45780631e4afbbf1461010f578063433f95d61461012f575b5f80fd5b6100fc600381565b6040519081526020015b60405180910390f35b61012261011d36600461081b565b6102aa565b6040516101069190610849565b610137610358565b60405161010691906108b5565b6101576101523660046108ea565b6103e7565b6040516101069190610920565b61018661017236600461098c565b5f9081526003602052604090205460ff1690565b6040519015158152602001610106565b61019e6104a9565b60405161010691906109a3565b6101b36104fe565b60405161010691906109da565b6101c8610586565b60405160ff9091168152602001610106565b6102036101e836600461098c565b5f9081526002602052604090205467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610106565b6101b361022a36600461098c565b6105ff565b6101376040518060400160405280600b81526020016a53657276696365526f6c6560a81b81525081565b61013760405180604001604052806004815260200163526f6c6560e01b81525081565b61018661028a3660046108ea565b610691565b61020361029d366004610a29565b6106cf565b6100fc610760565b5f82815260076020908152604080832067ffffffffffffffff851684528252808320805482518185028101850190935280835260609492939192909184015b8282101561034c575f84815260209081902060408051606081018252600286029092018054835260019081015460e081901b6001600160e01b03191684860152640100000000900464ffffffffff169183019190915290835290920191016102e9565b50505050905092915050565b60605f805461036690610a44565b80601f016020809104026020016040519081016040528092919081815260200182805461039290610a44565b80156103dd5780601f106103b4576101008083540402835291602001916103dd565b820191905f5260205f20905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b6040805160a080820183525f8083526020808401829052838501829052606084018290526080840182905267ffffffffffffffff8681168352600582529185902085519384019095528454918216835292939192830190600160401b900460ff1660038111156104595761045961090c565b600381111561046a5761046a61090c565b815281546901000000000000000000900463ffffffff1660208201526001820154604082015260029091015464ffffffffff1660609091015292915050565b606060018054806020026020016040519081016040528092919081815260200182805480156103dd57602002820191905f5260205f20905b8154815260200190600101908083116104e1575050505050905090565b606060048054806020026020016040519081016040528092919081815260200182805480156103dd57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105385790505050505050905090565b604051632392b61b60e21b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156105d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fa9190610a7c565b905090565b5f8181526006602090815260409182902080548351818402810184019094528084526060939283018282801561068557602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116106405790505b50505050509050919050565b5f8067ffffffffffffffff83165f90815260056020526040902054600160401b900460ff1660038111156106c7576106c761090c565b141592915050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3836106f3610586565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015610736573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075a9190610a97565b92915050565b6001545f901561078b5760015f8154811061077d5761077d610ab2565b905f5260205f200154905090565b60405163cdc23e6960e01b8152602060048201525f602482015273__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990604401602060405180830381865af41580156107df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ac6565b67ffffffffffffffff81168114610818575f80fd5b50565b5f806040838503121561082c575f80fd5b82359150602083013561083e81610803565b809150509250929050565b602080825282518282018190525f918401906040840190835b818110156108aa578351805184526020808201516001600160e01b0319168186015260409182015164ffffffffff169185019190915290930192606090920191600101610862565b509095945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f602082840312156108fa575f80fd5b813561090581610803565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b815167ffffffffffffffff168152602082015160a08201906004811061095457634e487b7160e01b5f52602160045260245ffd5b8060208401525063ffffffff60408401511660408301526060830151606083015264ffffffffff608084015116608083015292915050565b5f6020828403121561099c575f80fd5b5035919050565b602080825282518282018190525f918401906040840190835b818110156108aa5783518352602093840193909201916001016109bc565b602080825282518282018190525f918401906040840190835b818110156108aa57835167ffffffffffffffff168352602093840193909201916001016109f3565b60ff81168114610818575f80fd5b5f60208284031215610a39575f80fd5b813561090581610a1b565b600181811c90821680610a5857607f821691505b602082108103610a7657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610a8c575f80fd5b815161090581610a1b565b5f60208284031215610aa7575f80fd5b815161090581610803565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610ad6575f80fd5b505191905056fea26469706673582212200c1fe6ba6b09553d592973b0dcb1a0e8dff49ff3fb88fcc5a36299d75bec750064736f6c634300081a0033",
600
+ "bytecode": "0x610100604052600b60c09081526a086dedae0dedccadce8a8d60ab1b60e052600e9061002b9082611a96565b50348015610037575f80fd5b5060405161329038038061329083398101604081905261005691611bd9565b81600d60038360015f8585858583515f036100845760405163c0348f3560e01b815260040160405180910390fd5b6100fe8373__$0d958e68cba84670b8f4a3f2f2686b1c6b$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af41580156100cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f39190611c4c565b60ff90811691161490565b1561011c576040516302e3f24160e11b815260040160405180910390fd5b73__$b659da7d8a6d2d32aa6c1e17da23dc2174$__63bb41432a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610163573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101879190611c4c565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156101d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101fc9190611c67565b8260ff1610806102ee575073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__63fbcaa8ed6040518163ffffffff1660e01b8152600401602060405180830381865af415801561024e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102729190611c4c565b604051632b10f60d60e21b815260ff909116600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156102c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e79190611c67565b8260ff1610155b1561031657604051636164474d60e01b815260ff831660048201526024015b60405180910390fd5b602881511461033a57806040516369306ec360e01b815260040161030d9190611cac565b61037a6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b62d1d15b60e11b5f9081526020527fbfdfbaeb6ce3cef2dc92e70fc8227f58737fb6598199eb8999f7714e506efecb805460ff1916600117905560026103c08582611a96565b5060405163cdc23e6960e01b815273__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e69906103f8908790600401611cac565b602060405180830381865af4158015610413573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104379190611c67565b60035560ff808416608052821660a05260016104538282611a96565b5061049d61045f610966565b61049861046a610966565b60018061049360408051808201909152600981526841646d696e526f6c6560b81b602082015290565b6109e0565b610bbd565b6104dd6104a8610d03565b6104986104b3610966565b60018061049360408051808201909152600a8152695075626c6963526f6c6560b01b602082015290565b5050600d80546001600160401b031916600a179055505081156107395760405163037c8cb160e51b815260ff8616600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636f91962090602401602060405180830381865af415801561054a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056e9190611cbe565b1561058c576040516302e3f24160e11b815260040160405180910390fd5b6040516368aebf7b60e01b81526201adb060048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af41580156105de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106029190611cdd565b90505f6106976002805461061590611a13565b80601f016020809104026020016040519081016040528092919081815260200182805461064190611a13565b801561068c5780601f106106635761010080835404028352916020019161068c565b820191905f5260205f20905b81548152906001019060200180831161066f57829003601f168201915b5050610d4592505050565b9050610732600280546106a990611a13565b80601f01602080910402602001604051908101604052809291908181526020018280546106d590611a13565b80156107205780601f106106f757610100808354040283529160200191610720565b820191905f5260205f20905b81548152906001019060200180831161070357829003601f168201915b50505050508383610d8d60201b60201c565b50506107cb565b6107cb6002805461074990611a13565b80601f016020809104026020016040519081016040528092919081815260200182805461077590611a13565b80156107c05780601f10610797576101008083540402835291602001916107c0565b820191905f5260205f20905b8154815290600101906020018083116107a357829003601f168201915b5050610f2392505050565b6107d361103e565b6107db61104a565b801561091e57856040516020016107f29190611d1a565b604051602081830303815290604052600e908161080f9190611a96565b5060405163cdc23e6960e01b815273__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e699061084890600e90600401611d37565b602060405180830381865af4158015610863573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108879190611c67565b600f55600e805461091e919061089c90611a13565b80601f01602080910402602001604051908101604052809291908181526020018280546108c890611a13565b80156109135780601f106108ea57610100808354040283529160200191610913565b820191905f5260205f20905b8154815290600101906020018083116108f657829003601f168201915b505061111e92505050565b635a183bdb60e11b5f9081526020527f7eca8d71090247e4ddb022896f9503bf26cbfa0d8fb0110212f077e5ed799af8805460ff191660011790555050505050505050611f1e565b6040516368aebf7b60e01b81525f600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024015b602060405180830381865af41580156109b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db9190611cdd565b905090565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c00160405280866001600160401b03168152602001856003811115610a3d57610a3d611dbe565b81526020018463ffffffff16815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab99190611dd2565b64ffffffffff16815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b309190611dd2565b64ffffffffff16815260200173__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e69856040518263ffffffff1660e01b8152600401610b739190611cac565b602060405180830381865af4158015610b8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb29190611c67565b905295945050505050565b6006805460018101909155600481047ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160401b0380861660086003958616026101000a81810290830219909316929092179092555f9081526007602090815260409091208451815493166001600160401b03198416811782559185015185949193909284926001600160481b0319909216179068010000000000000000908490811115610c7357610c73611dbe565b0217905550604082015181546060840151608085015164ffffffffff908116600160901b0264ffffffffff60901b19919092166d01000000000000000000000000000264ffffffffff60681b1963ffffffff90951669010000000000000000000294909416600160481b600160901b031990931692909217929092171617815560a0909101516001909101555050565b6040516368aebf7b60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b9060240161099c565b565b606081604051806040016040528060058152602001645f526f6c6560d81b815250604051602001610d77929190611df6565b6040516020818303038152906040529050919050565b60405163cdc23e6960e01b81525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990610dc6908790600401611cac565b602060405180830381865af4158015610de1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e059190611c67565b6008805460018181019092557ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018290555f82815260096020908152604091829020805460ff1916909317909255805163bc1b392d60e01b81529051929350610eda92869273__$1d92393fa9ccd763988368ce8a1cb90d26$__9263bc1b392d92600480830193928290030181865af4158015610ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec89190611cdd565b6001600160401b039081169116141590565b15610f1d57610ee8836111a0565b610ef657610ef683836111e2565b5f818152600a6020526040902080546001600160401b0319166001600160401b0385161790555b50505050565b600d80545f9173__$1d92393fa9ccd763988368ce8a1cb90d26$__916368aebf7b916001600160401b039091169084610f5b83611e12565b91906101000a8154816001600160401b0302191690836001600160401b031602179055506040518263ffffffff1660e01b8152600401610faa91906001600160401b0391909116815260200190565b602060405180830381865af4158015610fc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe99190611cdd565b90505f82604051806040016040528060058152602001645f526f6c6560d81b81525060405160200161101c929190611df6565b60408051601f198184030181529190529050611039838383610d8d565b505050565b610d43600d600f6111ff565b5f611065611056611455565b611060600d6114e5565b611530565b905061109e81630b29e28e60e01b604051806040016040528060078152602001661c995c5d595cdd60ca1b81525061164460201b60201c565b60408051808201909152600681526518d85b98d95b60d21b60208201526110cf908290634c125e7960e01b90611644565b6110e26110da611455565b611060610d03565b905061111b8163cf4ee77a60e01b604051806040016040528060078152602001661c995cdc1bdb9960ca1b81525061164460201b60201c565b50565b61111b8173__$1d92393fa9ccd763988368ce8a1cb90d26$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611169573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118d9190611cdd565b60408051602081019091525f8152610d8d565b5f806001600160401b0383165f9081526007602052604090205468010000000000000000900460ff1660038111156111da576111da611dbe565b141592915050565b6111fb826104986111f1610966565b60026001866109e0565b5050565b6004805460018101825560208082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805460ff808816601f9095166101000a8581029102199091161790555f91825260059052604080822080546001600160a01b0386166001600160a01b031990911617905551632b95d28f60e21b8152909173__$0d958e68cba84670b8f4a3f2f2686b1c6b$__91630c3258f991839163ae574a3c916112ba9189910160ff91909116815260200190565b5f60405180830381865af41580156112d4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112fb9190810190611e49565b6040805180820190915260078152665365727669636560c81b6020820152611321611821565b6040518463ffffffff1660e01b815260040161133f93929190611e7a565b5f60405180830381865af4158015611359573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113809190810190611e49565b90506110398173__$1d92393fa9ccd763988368ce8a1cb90d26$__63645ceefe866113a9611821565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af41580156113ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114109190611cdd565b83604051806040016040528060058152602001645f526f6c6560d81b815250604051602001611440929190611df6565b60408051601f19818403018152919052610d8d565b60606002805461146490611a13565b80601f016020809104026020016040519081016040528092919081815260200182805461149090611a13565b80156114db5780601f106114b2576101008083540402835291602001916114db565b820191905f5260205f20905b8154815290600101906020018083116114be57829003601f168201915b5050505050905090565b5f6114f18260636100f3565b15611504576114fe610d03565b92915050565b5f61150e8361189e565b5f818152600a60205260409020549091506001600160401b03165b9392505050565b5f8073__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e69856040518263ffffffff1660e01b81526004016115699190611cac565b602060405180830381865af4158015611584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a89190611c67565b5f818152600c602090815260408083206001600160401b03881684529091528120549192500361161b575f818152600b602090815260408220805460018101825590835291206004820401805460039092166008026101000a6001600160401b0381810219909316928616029190911790555b5f908152600c602090815260408083206001600160401b03861684529091529020905092915050565b60408051606081019182905263cdc23e6960e01b90915283908073__$9a094f9b231ed0f5f85a69be8408d93180$__63cdc23e696116858660648501611cac565b602060405180830381865af41580156116a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c49190611c67565b8152604051636b15ee8b60e01b81526001600160e01b03198616600482015260209091019073__$0904195350e4c23ecb1d51df0a32586dcd$__90636b15ee8b90602401602060405180830381865af4158015611723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117479190611eb2565b6001600160e01b031916815260200173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af415801561179d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c19190611dd2565b64ffffffffff9081169091528254600181810185555f94855260209485902084516002909302019182559383015193018054604090930151909116640100000000026001600160481b031990921660e09390931c92909217179055505050565b60a051604051632392b61b60e21b81525f9173__$b659da7d8a6d2d32aa6c1e17da23dc2174$__91638e4ad86c9161185f9160040190815260200190565b602060405180830381865af415801561187a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db9190611c4c565b604051632b95d28f60e21b815260ff821660048201525f90819073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90630c3258f990829063ae574a3c906024015f60405180830381865af41580156118f9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119209190810190611e49565b611928611821565b6040518363ffffffff1660e01b8152600401611945929190611ed9565b5f60405180830381865af415801561195f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119869190810190611e49565b60405163cdc23e6960e01b815290915073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e69906119c0908490600401611cac565b602060405180830381865af41580156119db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115299190611c67565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680611a2757607f821691505b602082108103611a4557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561103957805f5260205f20601f840160051c81016020851015611a705750805b601f840160051c820191505b81811015611a8f575f8155600101611a7c565b5050505050565b81516001600160401b03811115611aaf57611aaf6119ff565b611ac381611abd8454611a13565b84611a4b565b6020601f821160018114611af5575f8315611ade5750848201515b5f19600385901b1c1916600184901b178455611a8f565b5f84815260208120601f198516915b82811015611b245787850151825560209485019460019092019101611b04565b5084821015611b4157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f82601f830112611b5f575f80fd5b81516001600160401b03811115611b7857611b786119ff565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611ba657611ba66119ff565b604052818152838201602001851015611bbd575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f8060408385031215611bea575f80fd5b82516001600160401b03811115611bff575f80fd5b611c0b85828601611b50565b602085015190935090506001600160401b03811115611c28575f80fd5b611c3485828601611b50565b9150509250929050565b60ff8116811461111b575f80fd5b5f60208284031215611c5c575f80fd5b815161152981611c3e565b5f60208284031215611c77575f80fd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6115296020830184611c7e565b5f60208284031215611cce575f80fd5b81518015158114611529575f80fd5b5f60208284031215611ced575f80fd5b81516001600160401b0381168114611529575f80fd5b5f81518060208401855e5f93019283525090919050565b5f611d258284611d03565b610a8d60f31b81526002019392505050565b602081525f808354611d4881611a13565b806020860152600182165f8114611d665760018114611d8257611db3565b60ff1983166040870152604082151560051b8701019350611db3565b865f5260205f205f5b83811015611daa57815488820160400152600190910190602001611d8b565b87016040019450505b509195945050505050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611de2575f80fd5b815164ffffffffff81168114611529575f80fd5b5f611e0a611e048386611d03565b84611d03565b949350505050565b5f6001600160401b0382166002600160401b03198101611e4057634e487b7160e01b5f52601160045260245ffd5b60010192915050565b5f60208284031215611e59575f80fd5b81516001600160401b03811115611e6e575f80fd5b611e0a84828501611b50565b606081525f611e8c6060830186611c7e565b8281036020840152611e9e8186611c7e565b91505060ff83166040830152949350505050565b5f60208284031215611ec2575f80fd5b81516001600160e01b031981168114611529575f80fd5b606081525f611eeb6060830185611c7e565b828103602084015260078152665365727669636560c81b60208201526040810191505060ff831660408301529392505050565b60805160a05161134a611f465f395f610a7201525f81816102de0152610421015261134a5ff3fe608060405234801561000f575f80fd5b50600436106101d1575f3560e01c806376b707b7116100fe578063b79e14941161009e578063da44d6af1161006e578063da44d6af14610497578063e8eba4351461049f578063f1d01027146104b2578063fef30334146104ba575f80fd5b8063b79e149414610445578063c5f348441461044d578063c6a0017914610471578063da1b620b14610484575f80fd5b80638c5397b0116100d95780638c5397b0146103fa578063a43e32811461040d578063b1040cf814610417578063b68d18091461041f575f80fd5b806376b707b71461039f578063775f14b1146103a757806384be8c00146103e7575f80fd5b806352a9674b1161017457806363fe3b561161014457806363fe3b561461035857806368c55b131461036d578063694ca5d314610382578063710613981461038a575f80fd5b806352a9674b146102d957806354e17da9146103125780635bfa5027146103255780635c935ce014610345575f80fd5b80633a591cf8116101af5780633a591cf8146102795780634322699b1461028e5780634a34a4de146102a057806350a388ea146102c6575f80fd5b806301ffc9a7146101d557806313efdd7a146102165780631e4afbbf14610259575b5f80fd5b6102016101e3366004610dd6565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610241610224366004610e0e565b60ff165f908152600560205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161020d565b61026c610267366004610e3d565b6104c2565b60405161020d9190610e6b565b61028161056f565b60405161020d9190610f05565b6003545b60405190815260200161020d565b610281604051806040016040528060078152602001665365727669636560c81b81525081565b6102816102d4366004610f17565b6105ff565b6103007f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161020d565b610292610320366004610e0e565b61069e565b610338610333366004610f17565b610806565b60405161020d9190610f46565b610201610353366004610fd0565b6108df565b610360610907565b60405161020d9190610fe7565b61037561095c565b60405161020d919061101e565b6102816109ce565b6103926109dd565b60405161020d9190611058565b610300610a63565b6103cf6103b5366004610fd0565b5f908152600a60205260409020546001600160401b031690565b6040516001600160401b03909116815260200161020d565b6103006103f5366004610fd0565b610afb565b610392610408366004610fd0565b610b34565b6103cf6201adb081565b600f54610292565b7f0000000000000000000000000000000000000000000000000000000000000000610300565b610292602881565b610281604051806040016040528060058152602001645f526f6c6560d81b81525081565b61020161047f366004610f17565b610bc4565b610292610492366004611102565b610c01565b610292600381565b6103cf6104ad366004610e0e565b610c79565b610281610cb6565b610281610cc5565b5f828152600c602090815260408083206001600160401b03851684528252808320805482518185028101850190935280835260609492939192909184015b82821015610563575f84815260209081902060408051606081018252600286029092018054835260019081015460e081901b6001600160e01b03191684860152640100000000900464ffffffffff16918301919091529083529092019101610500565b50505050905092915050565b6060600e805461057e9061117b565b80601f01602080910402602001604051908101604052809291908181526020018280546105aa9061117b565b80156105f55780601f106105cc576101008083540402835291602001916105f5565b820191905f5260205f20905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b6001600160401b0381165f9081526007602052604090819020600101549051631623433d60e31b815260609173__$9a094f9b231ed0f5f85a69be8408d93180$__9163b11a19e8916106579160040190815260200190565b5f60405180830381865af4158015610671573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261069891908101906111b3565b92915050565b604051632b95d28f60e21b815260ff821660048201525f90819073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90630c3258f990829063ae574a3c906024015f60405180830381865af41580156106f9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072091908101906111b3565b610728610a63565b6040518363ffffffff1660e01b8152600401610745929190611227565b5f60405180830381865af415801561075f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261078691908101906111b3565b60405163cdc23e6960e01b815290915073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e69906107c0908490600401610f05565b602060405180830381865af41580156107db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ff919061126c565b9392505050565b6040805160c080820183525f8083526020808401829052838501829052606084018290526080840182905260a084018290526001600160401b038681168352600782529185902085519384019095528454918216835292939192830190600160401b900460ff16600381111561087e5761087e610f32565b600381111561088f5761088f610f32565b8152815463ffffffff6901000000000000000000820416602083015264ffffffffff600160681b820481166040840152600160901b90910416606082015260019091015460809091015292915050565b5f6108ec82600354610ce1565b806106985750505f9081526009602052604090205460ff1690565b606060088054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905b81548152602001906001019080831161093f575050505050905090565b606060048054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905f905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116109965790505050505050905090565b60606001805461057e9061117b565b606060068054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610a175790505050505050905090565b604051632392b61b60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ad2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af69190611283565b905090565b5f60048281548110610b0f57610b0f61129e565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b5f818152600b6020908152604091829020805483518184028101840190945280845260609392830182828015610bb857602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610b755790505b50505050509050919050565b5f806001600160401b0383165f90815260076020526040902054600160401b900460ff166003811115610bf957610bf9610f32565b141592915050565b60405163cdc23e6960e01b81525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990610c3a908590600401610f05565b602060405180830381865af4158015610c55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610698919061126c565b5f60ff8216606303610c8d57610698610d5c565b5f610c978361069e565b5f818152600a60205260409020549091506001600160401b03166107ff565b60606002805461057e9061117b565b6040518060600160405280602881526020016112ed6028913981565b6040516303447c0360e41b815260048101839052602481018290525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__90633447c03090604401602060405180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ff91906112b2565b6040516368aebf7b60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015610db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af691906112d1565b5f60208284031215610de6575f80fd5b81356001600160e01b0319811681146107ff575f80fd5b60ff81168114610e0b575f80fd5b50565b5f60208284031215610e1e575f80fd5b81356107ff81610dfd565b6001600160401b0381168114610e0b575f80fd5b5f8060408385031215610e4e575f80fd5b823591506020830135610e6081610e29565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015610ecc578351805184526020808201516001600160e01b0319168186015260409182015164ffffffffff169185019190915290930192606090920191600101610e84565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107ff6020830184610ed7565b5f60208284031215610f27575f80fd5b81356107ff81610e29565b634e487b7160e01b5f52602160045260245ffd5b81516001600160401b03168152602082015160c082019060048110610f7957634e487b7160e01b5f52602160045260245ffd5b8060208401525063ffffffff60408401511660408301526060830151610fa8606084018264ffffffffff169052565b506080830151610fc1608084018264ffffffffff169052565b5060a092830151919092015290565b5f60208284031215610fe0575f80fd5b5035919050565b602080825282518282018190525f918401906040840190835b81811015610ecc578351835260209384019390920191600101611000565b602080825282518282018190525f918401906040840190835b81811015610ecc57835160ff16835260209384019390920191600101611037565b602080825282518282018190525f918401906040840190835b81811015610ecc5783516001600160401b0316835260209384019390920191600101611071565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156110d4576110d4611098565b604052919050565b5f6001600160401b038211156110f4576110f4611098565b50601f01601f191660200190565b5f60208284031215611112575f80fd5b81356001600160401b03811115611127575f80fd5b8201601f81018413611137575f80fd5b803561114a611145826110dc565b6110ac565b81815285602083850101111561115e575f80fd5b816020840160208301375f91810160200191909152949350505050565b600181811c9082168061118f57607f821691505b6020821081036111ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156111c3575f80fd5b81516001600160401b038111156111d8575f80fd5b8201601f810184136111e8575f80fd5b80516111f6611145826110dc565b81815285602083850101111561120a575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b606081525f6112396060830185610ed7565b828103602084015260078152665365727669636560c81b60208201526040810191505060ff831660408301529392505050565b5f6020828403121561127c575f80fd5b5051919050565b5f60208284031215611293575f80fd5b81516107ff81610dfd565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112c2575f80fd5b815180151581146107ff575f80fd5b5f602082840312156112e1575f80fd5b81516107ff81610e2956fe31613161316131613161316131613161316131613161316131613161316131613161316131613161a26469706673582212202c4d696286b726880205827ed026631ad28630234ffc2a2b2e460eac998f92e664736f6c634300081a0033",
601
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101d1575f3560e01c806376b707b7116100fe578063b79e14941161009e578063da44d6af1161006e578063da44d6af14610497578063e8eba4351461049f578063f1d01027146104b2578063fef30334146104ba575f80fd5b8063b79e149414610445578063c5f348441461044d578063c6a0017914610471578063da1b620b14610484575f80fd5b80638c5397b0116100d95780638c5397b0146103fa578063a43e32811461040d578063b1040cf814610417578063b68d18091461041f575f80fd5b806376b707b71461039f578063775f14b1146103a757806384be8c00146103e7575f80fd5b806352a9674b1161017457806363fe3b561161014457806363fe3b561461035857806368c55b131461036d578063694ca5d314610382578063710613981461038a575f80fd5b806352a9674b146102d957806354e17da9146103125780635bfa5027146103255780635c935ce014610345575f80fd5b80633a591cf8116101af5780633a591cf8146102795780634322699b1461028e5780634a34a4de146102a057806350a388ea146102c6575f80fd5b806301ffc9a7146101d557806313efdd7a146102165780631e4afbbf14610259575b5f80fd5b6102016101e3366004610dd6565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610241610224366004610e0e565b60ff165f908152600560205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161020d565b61026c610267366004610e3d565b6104c2565b60405161020d9190610e6b565b61028161056f565b60405161020d9190610f05565b6003545b60405190815260200161020d565b610281604051806040016040528060078152602001665365727669636560c81b81525081565b6102816102d4366004610f17565b6105ff565b6103007f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161020d565b610292610320366004610e0e565b61069e565b610338610333366004610f17565b610806565b60405161020d9190610f46565b610201610353366004610fd0565b6108df565b610360610907565b60405161020d9190610fe7565b61037561095c565b60405161020d919061101e565b6102816109ce565b6103926109dd565b60405161020d9190611058565b610300610a63565b6103cf6103b5366004610fd0565b5f908152600a60205260409020546001600160401b031690565b6040516001600160401b03909116815260200161020d565b6103006103f5366004610fd0565b610afb565b610392610408366004610fd0565b610b34565b6103cf6201adb081565b600f54610292565b7f0000000000000000000000000000000000000000000000000000000000000000610300565b610292602881565b610281604051806040016040528060058152602001645f526f6c6560d81b81525081565b61020161047f366004610f17565b610bc4565b610292610492366004611102565b610c01565b610292600381565b6103cf6104ad366004610e0e565b610c79565b610281610cb6565b610281610cc5565b5f828152600c602090815260408083206001600160401b03851684528252808320805482518185028101850190935280835260609492939192909184015b82821015610563575f84815260209081902060408051606081018252600286029092018054835260019081015460e081901b6001600160e01b03191684860152640100000000900464ffffffffff16918301919091529083529092019101610500565b50505050905092915050565b6060600e805461057e9061117b565b80601f01602080910402602001604051908101604052809291908181526020018280546105aa9061117b565b80156105f55780601f106105cc576101008083540402835291602001916105f5565b820191905f5260205f20905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b6001600160401b0381165f9081526007602052604090819020600101549051631623433d60e31b815260609173__$9a094f9b231ed0f5f85a69be8408d93180$__9163b11a19e8916106579160040190815260200190565b5f60405180830381865af4158015610671573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261069891908101906111b3565b92915050565b604051632b95d28f60e21b815260ff821660048201525f90819073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90630c3258f990829063ae574a3c906024015f60405180830381865af41580156106f9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072091908101906111b3565b610728610a63565b6040518363ffffffff1660e01b8152600401610745929190611227565b5f60405180830381865af415801561075f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261078691908101906111b3565b60405163cdc23e6960e01b815290915073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e69906107c0908490600401610f05565b602060405180830381865af41580156107db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ff919061126c565b9392505050565b6040805160c080820183525f8083526020808401829052838501829052606084018290526080840182905260a084018290526001600160401b038681168352600782529185902085519384019095528454918216835292939192830190600160401b900460ff16600381111561087e5761087e610f32565b600381111561088f5761088f610f32565b8152815463ffffffff6901000000000000000000820416602083015264ffffffffff600160681b820481166040840152600160901b90910416606082015260019091015460809091015292915050565b5f6108ec82600354610ce1565b806106985750505f9081526009602052604090205460ff1690565b606060088054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905b81548152602001906001019080831161093f575050505050905090565b606060048054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905f905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116109965790505050505050905090565b60606001805461057e9061117b565b606060068054806020026020016040519081016040528092919081815260200182805480156105f557602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610a175790505050505050905090565b604051632392b61b60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ad2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af69190611283565b905090565b5f60048281548110610b0f57610b0f61129e565b905f5260205f2090602091828204019190069054906101000a900460ff169050919050565b5f818152600b6020908152604091829020805483518184028101840190945280845260609392830182828015610bb857602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610b755790505b50505050509050919050565b5f806001600160401b0383165f90815260076020526040902054600160401b900460ff166003811115610bf957610bf9610f32565b141592915050565b60405163cdc23e6960e01b81525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__9063cdc23e6990610c3a908590600401610f05565b602060405180830381865af4158015610c55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610698919061126c565b5f60ff8216606303610c8d57610698610d5c565b5f610c978361069e565b5f818152600a60205260409020549091506001600160401b03166107ff565b60606002805461057e9061117b565b6040518060600160405280602881526020016112ed6028913981565b6040516303447c0360e41b815260048101839052602481018290525f9073__$9a094f9b231ed0f5f85a69be8408d93180$__90633447c03090604401602060405180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ff91906112b2565b6040516368aebf7b60e01b81526001600160401b0360048201525f9073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015610db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af691906112d1565b5f60208284031215610de6575f80fd5b81356001600160e01b0319811681146107ff575f80fd5b60ff81168114610e0b575f80fd5b50565b5f60208284031215610e1e575f80fd5b81356107ff81610dfd565b6001600160401b0381168114610e0b575f80fd5b5f8060408385031215610e4e575f80fd5b823591506020830135610e6081610e29565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015610ecc578351805184526020808201516001600160e01b0319168186015260409182015164ffffffffff169185019190915290930192606090920191600101610e84565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107ff6020830184610ed7565b5f60208284031215610f27575f80fd5b81356107ff81610e29565b634e487b7160e01b5f52602160045260245ffd5b81516001600160401b03168152602082015160c082019060048110610f7957634e487b7160e01b5f52602160045260245ffd5b8060208401525063ffffffff60408401511660408301526060830151610fa8606084018264ffffffffff169052565b506080830151610fc1608084018264ffffffffff169052565b5060a092830151919092015290565b5f60208284031215610fe0575f80fd5b5035919050565b602080825282518282018190525f918401906040840190835b81811015610ecc578351835260209384019390920191600101611000565b602080825282518282018190525f918401906040840190835b81811015610ecc57835160ff16835260209384019390920191600101611037565b602080825282518282018190525f918401906040840190835b81811015610ecc5783516001600160401b0316835260209384019390920191600101611071565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156110d4576110d4611098565b604052919050565b5f6001600160401b038211156110f4576110f4611098565b50601f01601f191660200190565b5f60208284031215611112575f80fd5b81356001600160401b03811115611127575f80fd5b8201601f81018413611137575f80fd5b803561114a611145826110dc565b6110ac565b81815285602083850101111561115e575f80fd5b816020840160208301375f91810160200191909152949350505050565b600181811c9082168061118f57607f821691505b6020821081036111ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156111c3575f80fd5b81516001600160401b038111156111d8575f80fd5b8201601f810184136111e8575f80fd5b80516111f6611145826110dc565b81815285602083850101111561120a575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b606081525f6112396060830185610ed7565b828103602084015260078152665365727669636560c81b60208201526040810191505060ff831660408301529392505050565b5f6020828403121561127c575f80fd5b5051919050565b5f60208284031215611293575f80fd5b81516107ff81610dfd565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112c2575f80fd5b815180151581146107ff575f80fd5b5f602082840312156112e1575f80fd5b81516107ff81610e2956fe31613161316131613161316131613161316131613161316131613161316131613161316131613161a26469706673582212202c4d696286b726880205827ed026631ad28630234ffc2a2b2e460eac998f92e664736f6c634300081a0033",
306
602
  "linkReferences": {
603
+ "contracts/type/ObjectType.sol": {
604
+ "ObjectTypeLib": [
605
+ {
606
+ "length": 20,
607
+ "start": 138
608
+ },
609
+ {
610
+ "length": 20,
611
+ "start": 1298
612
+ },
613
+ {
614
+ "length": 20,
615
+ "start": 4739
616
+ },
617
+ {
618
+ "length": 20,
619
+ "start": 6330
620
+ },
621
+ {
622
+ "length": 20,
623
+ "start": 9728
624
+ }
625
+ ]
626
+ },
307
627
  "contracts/type/RoleId.sol": {
308
628
  "RoleIdLib": [
309
629
  {
310
630
  "length": 20,
311
- "start": 383
631
+ "start": 1446
312
632
  },
313
633
  {
314
634
  "length": 20,
315
- "start": 642
635
+ "start": 2430
316
636
  },
317
637
  {
318
638
  "length": 20,
319
- "start": 1512
639
+ "start": 3361
320
640
  },
321
641
  {
322
642
  "length": 20,
323
- "start": 1901
643
+ "start": 3692
324
644
  },
325
645
  {
326
646
  "length": 20,
327
- "start": 2323
647
+ "start": 3883
328
648
  },
329
649
  {
330
650
  "length": 20,
331
- "start": 5558
651
+ "start": 4388
652
+ },
653
+ {
654
+ "length": 20,
655
+ "start": 5000
656
+ },
657
+ {
658
+ "length": 20,
659
+ "start": 11456
332
660
  }
333
661
  ]
334
662
  },
@@ -336,7 +664,7 @@
336
664
  "SelectorLib": [
337
665
  {
338
666
  "length": 20,
339
- "start": 1172
667
+ "start": 5867
340
668
  }
341
669
  ]
342
670
  },
@@ -344,23 +672,47 @@
344
672
  "StrLib": [
345
673
  {
346
674
  "length": 20,
347
- "start": 788
675
+ "start": 976
348
676
  },
349
677
  {
350
678
  "length": 20,
351
- "start": 1033
679
+ "start": 2079
352
680
  },
353
681
  {
354
682
  "length": 20,
355
- "start": 1698
683
+ "start": 2878
356
684
  },
357
685
  {
358
686
  "length": 20,
359
- "start": 2462
687
+ "start": 3486
360
688
  },
361
689
  {
362
690
  "length": 20,
363
- "start": 5771
691
+ "start": 5428
692
+ },
693
+ {
694
+ "length": 20,
695
+ "start": 5728
696
+ },
697
+ {
698
+ "length": 20,
699
+ "start": 6552
700
+ },
701
+ {
702
+ "length": 20,
703
+ "start": 9587
704
+ },
705
+ {
706
+ "length": 20,
707
+ "start": 9950
708
+ },
709
+ {
710
+ "length": 20,
711
+ "start": 11096
712
+ },
713
+ {
714
+ "length": 20,
715
+ "start": 11334
364
716
  }
365
717
  ]
366
718
  },
@@ -368,11 +720,15 @@
368
720
  "TimestampLib": [
369
721
  {
370
722
  "length": 20,
371
- "start": 1281
723
+ "start": 2640
724
+ },
725
+ {
726
+ "length": 20,
727
+ "start": 2759
372
728
  },
373
729
  {
374
730
  "length": 20,
375
- "start": 2585
731
+ "start": 5976
376
732
  }
377
733
  ]
378
734
  },
@@ -380,21 +736,45 @@
380
736
  "VersionPartLib": [
381
737
  {
382
738
  "length": 20,
383
- "start": 2108
739
+ "start": 286
740
+ },
741
+ {
742
+ "length": 20,
743
+ "start": 416
744
+ },
745
+ {
746
+ "length": 20,
747
+ "start": 521
748
+ },
749
+ {
750
+ "length": 20,
751
+ "start": 651
384
752
  },
385
753
  {
386
754
  "length": 20,
387
- "start": 5250
755
+ "start": 6197
756
+ },
757
+ {
758
+ "length": 20,
759
+ "start": 10720
388
760
  }
389
761
  ]
390
762
  }
391
763
  },
392
764
  "deployedLinkReferences": {
765
+ "contracts/type/ObjectType.sol": {
766
+ "ObjectTypeLib": [
767
+ {
768
+ "length": 20,
769
+ "start": 1722
770
+ }
771
+ ]
772
+ },
393
773
  "contracts/type/RoleId.sol": {
394
774
  "RoleIdLib": [
395
775
  {
396
776
  "length": 20,
397
- "start": 1746
777
+ "start": 3450
398
778
  }
399
779
  ]
400
780
  },
@@ -402,7 +782,19 @@
402
782
  "StrLib": [
403
783
  {
404
784
  "length": 20,
405
- "start": 1959
785
+ "start": 1581
786
+ },
787
+ {
788
+ "length": 20,
789
+ "start": 1944
790
+ },
791
+ {
792
+ "length": 20,
793
+ "start": 3090
794
+ },
795
+ {
796
+ "length": 20,
797
+ "start": 3328
406
798
  }
407
799
  ]
408
800
  },
@@ -410,7 +802,7 @@
410
802
  "VersionPartLib": [
411
803
  {
412
804
  "length": 20,
413
- "start": 1438
805
+ "start": 2714
414
806
  }
415
807
  ]
416
808
  }