@etherisc/gif-next 0.0.2-f36fd21-685 → 0.0.2-f47f21f-178

Sign up to get free protection for your applications and to get access to all the features.
Files changed (454) hide show
  1. package/README.md +19 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +105 -65
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +60 -32
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  12. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  14. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +163 -309
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +91 -277
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +174 -292
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +99 -123
  28. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +78 -92
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +78 -62
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  33. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -0
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  42. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  52. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  53. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  54. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +53 -31
  56. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +29 -84
  58. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/Instance.sol/Instance.json +56 -123
  60. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +166 -139
  62. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +57 -97
  64. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  65. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +459 -131
  66. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +77 -242
  68. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +75 -87
  70. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +330 -233
  72. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  74. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  76. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  77. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  78. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  79. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  80. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  81. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  87. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  88. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  89. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  90. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +137 -283
  91. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  92. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  93. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  94. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  95. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -80
  96. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  97. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +43 -9
  98. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +79 -265
  100. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +91 -159
  102. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +75 -83
  104. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  105. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +109 -330
  106. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +82 -22
  108. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  109. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +359 -194
  110. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  111. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +145 -97
  112. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  113. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +178 -23
  114. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  115. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +88 -130
  116. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  117. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +384 -179
  118. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  119. package/artifacts/contracts/pool/Pool.sol/Pool.json +99 -313
  120. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  121. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +506 -334
  122. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -87
  124. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  125. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +76 -168
  126. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +72 -92
  128. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  129. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +136 -281
  130. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  131. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  132. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  133. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +303 -187
  134. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  135. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +119 -103
  136. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  137. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +34 -0
  138. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  139. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +176 -6
  140. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +310 -118
  142. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +114 -85
  144. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  145. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +124 -97
  146. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  147. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +31 -2
  148. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  149. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +433 -327
  150. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +119 -103
  152. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  153. package/artifacts/contracts/product/PricingService.sol/PricingService.json +199 -309
  154. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -120
  156. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  157. package/artifacts/contracts/product/Product.sol/Product.json +136 -281
  158. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  159. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  160. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  162. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  163. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  164. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +286 -34
  166. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  167. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +114 -35
  168. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  169. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  170. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/Registry.sol/Registry.json +492 -95
  172. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +283 -143
  174. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  175. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +78 -284
  176. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +67 -75
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +129 -221
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  186. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  187. package/artifacts/contracts/shared/Component.sol/Component.json +65 -236
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  189. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +355 -283
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  191. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +122 -120
  192. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +47 -112
  194. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  195. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  196. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
  198. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +321 -19
  200. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +66 -80
  202. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  204. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  206. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  207. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  208. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  210. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
  212. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
  215. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  216. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  217. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  218. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +79 -265
  219. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  220. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  221. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  222. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  223. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  224. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  225. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  226. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  227. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  228. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  229. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  230. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
  231. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  232. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  233. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Service.sol/Service.json +47 -112
  235. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  236. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
  237. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  238. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  239. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  240. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
  241. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  242. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +29 -21
  243. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  244. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +63 -93
  245. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  246. package/artifacts/contracts/staking/Staking.sol/Staking.json +176 -293
  247. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  249. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  250. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +106 -91
  251. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  252. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
  253. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +71 -165
  255. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  256. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +71 -79
  257. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  258. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +169 -128
  259. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  260. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +54 -23
  261. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  262. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  263. package/artifacts/contracts/type/Amount.sol/AmountLib.json +32 -8
  264. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  265. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  266. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  267. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  268. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  270. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  272. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  274. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  276. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  277. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  278. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  280. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  282. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  284. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  286. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  288. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  290. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  292. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  296. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  299. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  301. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +15 -2
  303. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  305. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  306. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  307. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +55 -70
  308. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  309. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  310. package/contracts/authorization/AccessAdmin.sol +64 -59
  311. package/contracts/authorization/Authorization.sol +111 -40
  312. package/contracts/authorization/IAccess.sol +1 -0
  313. package/contracts/authorization/IAccessAdmin.sol +4 -3
  314. package/contracts/authorization/IAuthorization.sol +13 -7
  315. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  316. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  317. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  318. package/contracts/distribution/BasicDistribution.sol +2 -1
  319. package/contracts/distribution/Distribution.sol +7 -17
  320. package/contracts/distribution/DistributionService.sol +83 -65
  321. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  322. package/contracts/distribution/IDistributionComponent.sol +1 -1
  323. package/contracts/distribution/IDistributionService.sol +9 -5
  324. package/contracts/examples/fire/DamageLevel.sol +59 -0
  325. package/contracts/examples/fire/FirePool.sol +75 -0
  326. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  327. package/contracts/examples/fire/FireProduct.sol +418 -0
  328. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  329. package/contracts/examples/fire/FireUSD.sol +26 -0
  330. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  331. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  332. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  333. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  334. package/contracts/instance/IInstance.sol +10 -30
  335. package/contracts/instance/IInstanceService.sol +0 -20
  336. package/contracts/instance/Instance.sol +29 -51
  337. package/contracts/instance/InstanceAdmin.sol +42 -31
  338. package/contracts/instance/InstanceAuthorizationV3.sol +11 -21
  339. package/contracts/instance/InstanceReader.sol +115 -25
  340. package/contracts/instance/InstanceService.sol +65 -97
  341. package/contracts/instance/InstanceServiceManager.sol +6 -7
  342. package/contracts/instance/InstanceStore.sol +11 -1
  343. package/contracts/instance/base/ObjectLifecycle.sol +9 -4
  344. package/contracts/instance/module/IBundle.sol +1 -1
  345. package/contracts/instance/module/IComponents.sol +10 -10
  346. package/contracts/instance/module/IPolicy.sol +24 -24
  347. package/contracts/mock/Dip.sol +1 -1
  348. package/contracts/oracle/BasicOracle.sol +0 -1
  349. package/contracts/oracle/IOracleService.sol +2 -1
  350. package/contracts/oracle/Oracle.sol +6 -16
  351. package/contracts/oracle/OracleService.sol +47 -34
  352. package/contracts/oracle/OracleServiceManager.sol +6 -6
  353. package/contracts/pool/BasicPool.sol +21 -31
  354. package/contracts/pool/BasicPoolAuthorization.sol +5 -3
  355. package/contracts/pool/BundleService.sol +213 -61
  356. package/contracts/pool/BundleServiceManager.sol +6 -6
  357. package/contracts/pool/IBundleService.sol +31 -8
  358. package/contracts/pool/IPoolComponent.sol +18 -8
  359. package/contracts/pool/IPoolService.sol +56 -39
  360. package/contracts/pool/Pool.sol +60 -53
  361. package/contracts/pool/PoolService.sol +250 -140
  362. package/contracts/pool/PoolServiceManager.sol +4 -4
  363. package/contracts/product/ApplicationService.sol +59 -30
  364. package/contracts/product/ApplicationServiceManager.sol +4 -4
  365. package/contracts/product/BasicProduct.sol +7 -6
  366. package/contracts/product/BasicProductAuthorization.sol +0 -1
  367. package/contracts/product/ClaimService.sol +313 -118
  368. package/contracts/product/ClaimServiceManager.sol +4 -4
  369. package/contracts/product/IApplicationService.sol +1 -0
  370. package/contracts/product/IClaimService.sol +31 -7
  371. package/contracts/product/IPolicyService.sol +34 -34
  372. package/contracts/product/IPricingService.sol +10 -10
  373. package/contracts/product/IProductComponent.sol +23 -4
  374. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  375. package/contracts/product/PolicyService.sol +394 -196
  376. package/contracts/product/PolicyServiceManager.sol +4 -4
  377. package/contracts/product/PricingService.sol +54 -54
  378. package/contracts/product/PricingServiceManager.sol +3 -3
  379. package/contracts/product/Product.sol +125 -71
  380. package/contracts/product/{ProductService.sol → RiskService.sol} +7 -10
  381. package/contracts/product/RiskServiceManager.sol +39 -0
  382. package/contracts/registry/ChainNft.sol +68 -38
  383. package/contracts/registry/IRegistry.sol +55 -18
  384. package/contracts/registry/IRegistryService.sol +5 -12
  385. package/contracts/registry/ITransferInterceptor.sol +1 -2
  386. package/contracts/registry/Registry.sol +342 -201
  387. package/contracts/registry/RegistryAdmin.sol +134 -51
  388. package/contracts/registry/RegistryService.sol +35 -46
  389. package/contracts/registry/RegistryServiceManager.sol +2 -2
  390. package/contracts/registry/ReleaseLifecycle.sol +6 -3
  391. package/contracts/registry/ReleaseRegistry.sol +204 -188
  392. package/contracts/registry/ServiceAuthorizationV3.sol +16 -22
  393. package/contracts/shared/Component.sol +40 -55
  394. package/contracts/shared/ComponentService.sol +235 -151
  395. package/contracts/shared/ComponentServiceManager.sol +8 -5
  396. package/contracts/shared/ComponentVerifyingService.sol +23 -14
  397. package/contracts/shared/ContractLib.sol +38 -0
  398. package/contracts/shared/IComponent.sol +10 -6
  399. package/contracts/shared/IComponentService.sol +25 -13
  400. package/contracts/shared/IInstanceLinkedComponent.sol +7 -22
  401. package/contracts/shared/ILifecycle.sol +3 -1
  402. package/contracts/shared/INftOwnable.sol +2 -0
  403. package/contracts/shared/IPolicyHolder.sol +12 -22
  404. package/contracts/shared/IRegisterable.sol +11 -0
  405. package/contracts/shared/InitializableERC165.sol +2 -2
  406. package/contracts/shared/InstanceLinkedComponent.sol +72 -31
  407. package/contracts/shared/KeyValueStore.sol +1 -1
  408. package/contracts/shared/Lifecycle.sol +15 -4
  409. package/contracts/shared/NftOwnable.sol +27 -7
  410. package/contracts/shared/PolicyHolder.sol +15 -52
  411. package/contracts/shared/Registerable.sol +19 -9
  412. package/contracts/shared/RegistryLinked.sol +3 -2
  413. package/contracts/shared/Service.sol +20 -18
  414. package/contracts/shared/TokenHandler.sol +100 -19
  415. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  416. package/contracts/staking/IStaking.sol +2 -1
  417. package/contracts/staking/IStakingService.sol +0 -3
  418. package/contracts/staking/StakeManagerLib.sol +18 -25
  419. package/contracts/staking/Staking.sol +13 -32
  420. package/contracts/staking/StakingManager.sol +8 -6
  421. package/contracts/staking/StakingReader.sol +12 -5
  422. package/contracts/staking/StakingService.sol +11 -29
  423. package/contracts/staking/StakingServiceManager.sol +2 -2
  424. package/contracts/staking/TargetManagerLib.sol +7 -3
  425. package/contracts/type/Amount.sol +15 -0
  426. package/contracts/type/Blocknumber.sol +7 -1
  427. package/contracts/type/ClaimId.sol +6 -1
  428. package/contracts/type/NftId.sol +1 -0
  429. package/contracts/type/ObjectType.sol +16 -11
  430. package/contracts/type/PayoutId.sol +10 -10
  431. package/contracts/type/RiskId.sol +15 -1
  432. package/contracts/type/RoleId.sol +0 -12
  433. package/contracts/type/Seconds.sol +21 -1
  434. package/contracts/type/StateId.sol +15 -1
  435. package/contracts/type/Timestamp.sol +11 -1
  436. package/contracts/type/UFixed.sol +4 -0
  437. package/contracts/upgradeability/ProxyManager.sol +68 -34
  438. package/contracts/upgradeability/Versionable.sol +2 -2
  439. package/package.json +2 -1
  440. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  441. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  442. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  443. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  444. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  445. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  446. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  447. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  448. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  449. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  450. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  451. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  452. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  453. package/contracts/product/ProductServiceManager.sol +0 -39
  454. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -14,6 +14,30 @@
14
14
  "name": "ErrorSecondsLibDurationTooBig",
15
15
  "type": "error"
16
16
  },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "Seconds",
21
+ "name": "duration1",
22
+ "type": "uint40"
23
+ },
24
+ {
25
+ "internalType": "Seconds",
26
+ "name": "duration2",
27
+ "type": "uint40"
28
+ }
29
+ ],
30
+ "name": "add",
31
+ "outputs": [
32
+ {
33
+ "internalType": "Seconds",
34
+ "name": "",
35
+ "type": "uint40"
36
+ }
37
+ ],
38
+ "stateMutability": "pure",
39
+ "type": "function"
40
+ },
17
41
  {
18
42
  "inputs": [
19
43
  {
@@ -100,6 +124,30 @@
100
124
  "stateMutability": "pure",
101
125
  "type": "function"
102
126
  },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "Seconds",
131
+ "name": "duration1",
132
+ "type": "uint40"
133
+ },
134
+ {
135
+ "internalType": "Seconds",
136
+ "name": "duration2",
137
+ "type": "uint40"
138
+ }
139
+ ],
140
+ "name": "lt",
141
+ "outputs": [
142
+ {
143
+ "internalType": "bool",
144
+ "name": "",
145
+ "type": "bool"
146
+ }
147
+ ],
148
+ "stateMutability": "pure",
149
+ "type": "function"
150
+ },
103
151
  {
104
152
  "inputs": [],
105
153
  "name": "max",
@@ -191,8 +239,8 @@
191
239
  "type": "function"
192
240
  }
193
241
  ],
194
- "bytecode": "0x610288610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a6575f3560e01c80638d38cd4b1161006e5780638d38cd4b146101325780639df876391461014c578063bc1b392d14610169578063da09d4841461016f578063f27c3bf614610195575f80fd5b80630c67422c146100aa5780634bd9351b146100d85780636ac5db19146100e1578063790a38ad146100ec57806383ffcdef14610115575b5f80fd5b6100bd6100b83660046101d1565b61019f565b60405164ffffffffff90911681526020015b60405180910390f35b620151806100bd565b64ffffffffff6100bd565b6101056100fa366004610201565b64ffffffffff161590565b60405190151581526020016100cf565b610105610123366004610221565b64ffffffffff90811691161190565b610105610140366004610201565b64ffffffffff16151590565b61010561015a366004610221565b64ffffffffff90811691161490565b5f6100bd565b61018761017d366004610201565b64ffffffffff1690565b6040519081526020016100cf565b6301e133806100bd565b5f64ffffffffff8211156101cd576040516385cb094d60e01b81526004810183905260240160405180910390fd5b5090565b5f602082840312156101e1575f80fd5b5035919050565b803564ffffffffff811681146101fc575f80fd5b919050565b5f60208284031215610211575f80fd5b61021a826101e8565b9392505050565b5f8060408385031215610232575f80fd5b61023b836101e8565b9150610249602084016101e8565b9050925092905056fea2646970667358221220af860ac37e7f950f0b00ff996884014bb6a63951c43b119e3093fd80dc1ea32e64736f6c634300081a0033",
195
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a6575f3560e01c80638d38cd4b1161006e5780638d38cd4b146101325780639df876391461014c578063bc1b392d14610169578063da09d4841461016f578063f27c3bf614610195575f80fd5b80630c67422c146100aa5780634bd9351b146100d85780636ac5db19146100e1578063790a38ad146100ec57806383ffcdef14610115575b5f80fd5b6100bd6100b83660046101d1565b61019f565b60405164ffffffffff90911681526020015b60405180910390f35b620151806100bd565b64ffffffffff6100bd565b6101056100fa366004610201565b64ffffffffff161590565b60405190151581526020016100cf565b610105610123366004610221565b64ffffffffff90811691161190565b610105610140366004610201565b64ffffffffff16151590565b61010561015a366004610221565b64ffffffffff90811691161490565b5f6100bd565b61018761017d366004610201565b64ffffffffff1690565b6040519081526020016100cf565b6301e133806100bd565b5f64ffffffffff8211156101cd576040516385cb094d60e01b81526004810183905260240160405180910390fd5b5090565b5f602082840312156101e1575f80fd5b5035919050565b803564ffffffffff811681146101fc575f80fd5b919050565b5f60208284031215610211575f80fd5b61021a826101e8565b9392505050565b5f8060408385031215610232575f80fd5b61023b836101e8565b9150610249602084016101e8565b9050925092905056fea2646970667358221220af860ac37e7f950f0b00ff996884014bb6a63951c43b119e3093fd80dc1ea32e64736f6c634300081a0033",
242
+ "bytecode": "0x61030c610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100bc575f3560e01c806398f647b11161007957806398f647b1146101585780639df876391461016b578063add9ce9914610188578063bc1b392d146101a5578063da09d484146101ab578063f27c3bf6146101d1575f80fd5b80630c67422c146100c05780634bd9351b146100ee5780636ac5db19146100f7578063790a38ad1461010257806383ffcdef1461012b5780638d38cd4b1461013e575b5f80fd5b6100d36100ce366004610233565b6101db565b60405164ffffffffff90911681526020015b60405180910390f35b620151806100d3565b64ffffffffff6100d3565b61011b610110366004610263565b64ffffffffff161590565b60405190151581526020016100e5565b61011b61013936600461027c565b61020d565b61011b61014c366004610263565b64ffffffffff16151590565b6100d361016636600461027c565b610221565b61011b61017936600461027c565b64ffffffffff90811691161490565b61011b61019636600461027c565b64ffffffffff90811691161090565b5f6100d3565b6101c36101b9366004610263565b64ffffffffff1690565b6040519081526020016100e5565b6301e133806100d3565b5f64ffffffffff821115610209576040516385cb094d60e01b81526004810183905260240160405180910390fd5b5090565b64ffffffffff808216908316115b92915050565b5f61022c82846102ad565b9392505050565b5f60208284031215610243575f80fd5b5035919050565b803564ffffffffff8116811461025e575f80fd5b919050565b5f60208284031215610273575f80fd5b61022c8261024a565b5f806040838503121561028d575f80fd5b6102968361024a565b91506102a46020840161024a565b90509250929050565b64ffffffffff818116838216019081111561021b57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220e689048f990175fceb299fa6c3c40a51da59d53a90b40ebf651ff1814520cd2164736f6c634300081a0033",
243
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100bc575f3560e01c806398f647b11161007957806398f647b1146101585780639df876391461016b578063add9ce9914610188578063bc1b392d146101a5578063da09d484146101ab578063f27c3bf6146101d1575f80fd5b80630c67422c146100c05780634bd9351b146100ee5780636ac5db19146100f7578063790a38ad1461010257806383ffcdef1461012b5780638d38cd4b1461013e575b5f80fd5b6100d36100ce366004610233565b6101db565b60405164ffffffffff90911681526020015b60405180910390f35b620151806100d3565b64ffffffffff6100d3565b61011b610110366004610263565b64ffffffffff161590565b60405190151581526020016100e5565b61011b61013936600461027c565b61020d565b61011b61014c366004610263565b64ffffffffff16151590565b6100d361016636600461027c565b610221565b61011b61017936600461027c565b64ffffffffff90811691161490565b61011b61019636600461027c565b64ffffffffff90811691161090565b5f6100d3565b6101c36101b9366004610263565b64ffffffffff1690565b6040519081526020016100e5565b6301e133806100d3565b5f64ffffffffff821115610209576040516385cb094d60e01b81526004810183905260240160405180910390fd5b5090565b64ffffffffff808216908316115b92915050565b5f61022c82846102ad565b9392505050565b5f60208284031215610243575f80fd5b5035919050565b803564ffffffffff8116811461025e575f80fd5b919050565b5f60208284031215610273575f80fd5b61022c8261024a565b5f806040838503121561028d575f80fd5b6102968361024a565b91506102a46020840161024a565b90509250929050565b64ffffffffff818116838216019081111561021b57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220e689048f990175fceb299fa6c3c40a51da59d53a90b40ebf651ff1814520cd2164736f6c634300081a0033",
196
244
  "linkReferences": {},
197
245
  "deployedLinkReferences": {}
198
246
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -83,10 +83,23 @@
83
83
  ],
84
84
  "stateMutability": "pure",
85
85
  "type": "function"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "zero",
90
+ "outputs": [
91
+ {
92
+ "internalType": "StateId",
93
+ "name": "",
94
+ "type": "uint8"
95
+ }
96
+ ],
97
+ "stateMutability": "pure",
98
+ "type": "function"
86
99
  }
87
100
  ],
88
- "bytecode": "0x610184610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80632c2f8a67146100595780636f91962014610081578063ac43d83414610096578063b2466acf146100c7575b5f80fd5b61006c610067366004610104565b6100dd565b60405190151581526020015b60405180910390f35b61006c61008f366004610135565b60ff161590565b6100aa6100a4366004610135565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610078565b61006c6100d5366004610135565b60ff16151590565b5f60ff808416908316145b9392505050565b803560ff811681146100ff575f80fd5b919050565b5f8060408385031215610115575f80fd5b61011e836100ef565b915061012c602084016100ef565b90509250929050565b5f60208284031215610145575f80fd5b6100e8826100ef56fea264697066735822122006b46b33ddb2f4701fd0151c656584e781bb09d86522fc52637fd83aab71fb0464736f6c634300081a0033",
89
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80632c2f8a67146100595780636f91962014610081578063ac43d83414610096578063b2466acf146100c7575b5f80fd5b61006c610067366004610104565b6100dd565b60405190151581526020015b60405180910390f35b61006c61008f366004610135565b60ff161590565b6100aa6100a4366004610135565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610078565b61006c6100d5366004610135565b60ff16151590565b5f60ff808416908316145b9392505050565b803560ff811681146100ff575f80fd5b919050565b5f8060408385031215610115575f80fd5b61011e836100ef565b915061012c602084016100ef565b90509250929050565b5f60208284031215610145575f80fd5b6100e8826100ef56fea264697066735822122006b46b33ddb2f4701fd0151c656584e781bb09d86522fc52637fd83aab71fb0464736f6c634300081a0033",
101
+ "bytecode": "0x61019d610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c2f8a67146100645780636f9196201461008c578063ac43d834146100a1578063b2466acf146100d2578063bc1b392d146100e8575b5f80fd5b61007761007236600461011d565b6100f6565b60405190151581526020015b60405180910390f35b61007761009a36600461014e565b60ff161590565b6100b56100af36600461014e565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610083565b6100776100e036600461014e565b60ff16151590565b6040515f8152602001610083565b5f60ff808416908316145b9392505050565b803560ff81168114610118575f80fd5b919050565b5f806040838503121561012e575f80fd5b61013783610108565b915061014560208401610108565b90509250929050565b5f6020828403121561015e575f80fd5b6101018261010856fea2646970667358221220211c23dcbdad234946892312c2da9de3ea1288517cda6fcb025045d54b9f259c64736f6c634300081a0033",
102
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c2f8a67146100645780636f9196201461008c578063ac43d834146100a1578063b2466acf146100d2578063bc1b392d146100e8575b5f80fd5b61007761007236600461011d565b6100f6565b60405190151581526020015b60405180910390f35b61007761009a36600461014e565b60ff161590565b6100b56100af36600461014e565b60ff1690565b6040516bffffffffffffffffffffffff9091168152602001610083565b6100776100e036600461014e565b60ff16151590565b6040515f8152602001610083565b5f60ff808416908316145b9392505050565b803560ff81168114610118575f80fd5b919050565b5f806040838503121561012e575f80fd5b61013783610108565b915061014560208401610108565b90509250929050565b5f6020828403121561015e575f80fd5b6101018261010856fea2646970667358221220211c23dcbdad234946892312c2da9de3ea1288517cda6fcb025045d54b9f259c64736f6c634300081a0033",
90
103
  "linkReferences": {},
91
104
  "deployedLinkReferences": {}
92
105
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -254,6 +254,25 @@
254
254
  "stateMutability": "pure",
255
255
  "type": "function"
256
256
  },
257
+ {
258
+ "inputs": [
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "timestamp",
262
+ "type": "uint256"
263
+ }
264
+ ],
265
+ "name": "toTimestamp",
266
+ "outputs": [
267
+ {
268
+ "internalType": "Timestamp",
269
+ "name": "",
270
+ "type": "uint40"
271
+ }
272
+ ],
273
+ "stateMutability": "pure",
274
+ "type": "function"
275
+ },
257
276
  {
258
277
  "inputs": [],
259
278
  "name": "zero",
@@ -268,14 +287,14 @@
268
287
  "type": "function"
269
288
  }
270
289
  ],
271
- "bytecode": "0x6103dc610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101a4578063c24922ce146101aa578063da09d484146101bd578063ddf3d631146101e3575f80fd5b8063a5798b4e14610178578063adb618321461018b578063add9ce9914610191575f80fd5b80636ac5db19146100da578063790a38ad146100fc57806383ffcdef146101255780638d38cd4b1461013857806394335b1a146101525780639df8763914610165575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011561010a366004610317565b64ffffffffff161590565b60405190151581526020016100f3565b610115610133366004610339565b6101f6565b610115610146366004610317565b64ffffffffff16151590565b610115610160366004610339565b61020e565b610115610173366004610339565b610222565b6100e1610186366004610339565b610235565b426100e1565b61011561019f366004610339565b6102c7565b5f6100e1565b6101156101b8366004610339565b6102da565b6101d56101cb366004610317565b64ffffffffff1690565b6040519081526020016100f3565b6101156101f1366004610339565b6102ee565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610205565b5f64ffffffffff80841690831614610205565b604051633682752160e21b815264ffffffffff821660048201525f906102059073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561028f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b39190610370565b6102c49064ffffffffff8616610387565b90565b5f64ffffffffff80831690841610610205565b5f64ffffffffff8083169084161015610205565b5f64ffffffffff8084169083161415610205565b64ffffffffff81168114610314575f80fd5b50565b5f60208284031215610327575f80fd5b813561033281610302565b9392505050565b5f806040838503121561034a575f80fd5b823561035581610302565b9150602083013561036581610302565b809150509250929050565b5f60208284031215610380575f80fd5b5051919050565b8082018082111561020857634e487b7160e01b5f52601160045260245ffdfea2646970667358221220178c0d987f4f1d3fdb44d3a94a6db5ec1f1270fc65fc8ea13f2e5ad50a0303d164736f6c634300081a0033",
272
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101a4578063c24922ce146101aa578063da09d484146101bd578063ddf3d631146101e3575f80fd5b8063a5798b4e14610178578063adb618321461018b578063add9ce9914610191575f80fd5b80636ac5db19146100da578063790a38ad146100fc57806383ffcdef146101255780638d38cd4b1461013857806394335b1a146101525780639df8763914610165575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61011561010a366004610317565b64ffffffffff161590565b60405190151581526020016100f3565b610115610133366004610339565b6101f6565b610115610146366004610317565b64ffffffffff16151590565b610115610160366004610339565b61020e565b610115610173366004610339565b610222565b6100e1610186366004610339565b610235565b426100e1565b61011561019f366004610339565b6102c7565b5f6100e1565b6101156101b8366004610339565b6102da565b6101d56101cb366004610317565b64ffffffffff1690565b6040519081526020016100f3565b6101156101f1366004610339565b6102ee565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610205565b5f64ffffffffff80841690831614610205565b604051633682752160e21b815264ffffffffff821660048201525f906102059073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af415801561028f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b39190610370565b6102c49064ffffffffff8616610387565b90565b5f64ffffffffff80831690841610610205565b5f64ffffffffff8083169084161015610205565b5f64ffffffffff8084169083161415610205565b64ffffffffff81168114610314575f80fd5b50565b5f60208284031215610327575f80fd5b813561033281610302565b9392505050565b5f806040838503121561034a575f80fd5b823561035581610302565b9150602083013561036581610302565b809150509250929050565b5f60208284031215610380575f80fd5b5051919050565b8082018082111561020857634e487b7160e01b5f52601160045260245ffdfea2646970667358221220178c0d987f4f1d3fdb44d3a94a6db5ec1f1270fc65fc8ea13f2e5ad50a0303d164736f6c634300081a0033",
290
+ "bytecode": "0x61041b610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100f0575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101cf578063c24922ce146101d5578063da09d484146101e8578063ddf3d6311461020e575f80fd5b8063a5798b4e146101a3578063adb61832146101b6578063add9ce99146101bc575f80fd5b806385523ac7116100ce57806385523ac7146101525780638d38cd4b1461016357806394335b1a1461017d5780639df8763914610190575f80fd5b80636ac5db19146100f4578063790a38ad1461011657806383ffcdef1461013f575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61012f61012436600461033f565b64ffffffffff161590565b604051901515815260200161010d565b61012f61014d366004610361565b610221565b6100fb610160366004610398565b90565b61012f61017136600461033f565b64ffffffffff16151590565b61012f61018b366004610361565b610239565b61012f61019e366004610361565b61024d565b6100fb6101b1366004610361565b610260565b426100fb565b61012f6101ca366004610361565b6102ef565b5f6100fb565b61012f6101e3366004610361565b610302565b6102006101f636600461033f565b64ffffffffff1690565b60405190815260200161010d565b61012f61021c366004610361565b610316565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610230565b5f64ffffffffff80841690831614610230565b604051633682752160e21b815264ffffffffff821660048201525f906102309073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af41580156102ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102de91906103af565b6101609064ffffffffff86166103c6565b5f64ffffffffff80831690841610610230565b5f64ffffffffff8083169084161015610230565b5f64ffffffffff8084169083161415610230565b64ffffffffff8116811461033c575f80fd5b50565b5f6020828403121561034f575f80fd5b813561035a8161032a565b9392505050565b5f8060408385031215610372575f80fd5b823561037d8161032a565b9150602083013561038d8161032a565b809150509250929050565b5f602082840312156103a8575f80fd5b5035919050565b5f602082840312156103bf575f80fd5b5051919050565b8082018082111561023357634e487b7160e01b5f52601160045260245ffdfea26469706673582212207de3fc84b4b883e05f28dc9f431edbf85091e7691ba2096e74df34effa83cf2964736f6c634300081a0033",
291
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100f0575f3560e01c8063a5798b4e11610093578063bc1b392d1161006e578063bc1b392d146101cf578063c24922ce146101d5578063da09d484146101e8578063ddf3d6311461020e575f80fd5b8063a5798b4e146101a3578063adb61832146101b6578063add9ce99146101bc575f80fd5b806385523ac7116100ce57806385523ac7146101525780638d38cd4b1461016357806394335b1a1461017d5780639df8763914610190575f80fd5b80636ac5db19146100f4578063790a38ad1461011657806383ffcdef1461013f575b5f80fd5b64ffffffffff5b60405164ffffffffff90911681526020015b60405180910390f35b61012f61012436600461033f565b64ffffffffff161590565b604051901515815260200161010d565b61012f61014d366004610361565b610221565b6100fb610160366004610398565b90565b61012f61017136600461033f565b64ffffffffff16151590565b61012f61018b366004610361565b610239565b61012f61019e366004610361565b61024d565b6100fb6101b1366004610361565b610260565b426100fb565b61012f6101ca366004610361565b6102ef565b5f6100fb565b61012f6101e3366004610361565b610302565b6102006101f636600461033f565b64ffffffffff1690565b60405190815260200161010d565b61012f61021c366004610361565b610316565b5f64ffffffffff808316908416115b90505b92915050565b5f64ffffffffff8083169084161115610230565b5f64ffffffffff80841690831614610230565b604051633682752160e21b815264ffffffffff821660048201525f906102309073__$71e292c09eace9601b3e21e68a1278917a$__9063da09d48490602401602060405180830381865af41580156102ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102de91906103af565b6101609064ffffffffff86166103c6565b5f64ffffffffff80831690841610610230565b5f64ffffffffff8083169084161015610230565b5f64ffffffffff8084169083161415610230565b64ffffffffff8116811461033c575f80fd5b50565b5f6020828403121561034f575f80fd5b813561035a8161032a565b9392505050565b5f8060408385031215610372575f80fd5b823561037d8161032a565b9150602083013561038d8161032a565b809150509250929050565b5f602082840312156103a8575f80fd5b5035919050565b5f602082840312156103bf575f80fd5b5051919050565b8082018082111561023357634e487b7160e01b5f52601160045260245ffdfea26469706673582212207de3fc84b4b883e05f28dc9f431edbf85091e7691ba2096e74df34effa83cf2964736f6c634300081a0033",
273
292
  "linkReferences": {
274
293
  "contracts/type/Seconds.sol": {
275
294
  "SecondsLib": [
276
295
  {
277
296
  "length": 20,
278
- "start": 651
297
+ "start": 694
279
298
  }
280
299
  ]
281
300
  }
@@ -285,7 +304,7 @@
285
304
  "SecondsLib": [
286
305
  {
287
306
  "length": 20,
288
- "start": 599
307
+ "start": 642
289
308
  }
290
309
  ]
291
310
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -9,8 +9,8 @@
9
9
  "type": "error"
10
10
  }
11
11
  ],
12
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
13
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
12
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122041a87c5fff5c3a69ede34cc3e88c78f804023ed51b6a8a62c0d2afed246830b164736f6c634300081a0033",
13
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122041a87c5fff5c3a69ede34cc3e88c78f804023ed51b6a8a62c0d2afed246830b164736f6c634300081a0033",
14
14
  "linkReferences": {},
15
15
  "deployedLinkReferences": {}
16
16
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -385,6 +385,19 @@
385
385
  "stateMutability": "pure",
386
386
  "type": "function"
387
387
  },
388
+ {
389
+ "inputs": [],
390
+ "name": "one",
391
+ "outputs": [
392
+ {
393
+ "internalType": "UFixed",
394
+ "name": "",
395
+ "type": "uint256"
396
+ }
397
+ ],
398
+ "stateMutability": "pure",
399
+ "type": "function"
400
+ },
388
401
  {
389
402
  "inputs": [
390
403
  {
@@ -528,8 +541,8 @@
528
541
  "type": "function"
529
542
  }
530
543
  ],
531
- "bytecode": "0x61095e610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
532
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
544
+ "bytecode": "0x610992610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610192575f3560e01c806389fa8ed7116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c1461031c578063cc8b7b731461032f578063ea6515c414610342578063eb646d7114610355575f80fd5b8063b67d77c5146102fc578063bc1b392d1461030f578063bdbb463014610315575f80fd5b806389fa8ed7146102a0578063901717d1146102b5578063916c5c57146102bd57806393aa8725146102d0578063a391c15b146102d6578063b4773329146102e9575f80fd5b8063313ce5671161014f57806345ebb61e1161012a57806345ebb61e14610254578063753b14a514610267578063771602f71461027a5780637a858b971461028d575f80fd5b8063313ce5671461022757806332148d731461022e57806344aa683614610241575f80fd5b8063059f8b161461019657806308c76ec4146101b1578063118fc88c146101c45780631488c845146101e75780631a12cd47146101fa57806321e5749b14610214575b5f80fd5b61019e61035d565b6040519081526020015b60405180910390f35b61019e6101bf366004610716565b61036c565b6101d76101d2366004610749565b6103f2565b60405190151581526020016101a8565b61019e6101f5366004610769565b6103fe565b610202601281565b6040515f9190910b81526020016101a8565b6101d7610222366004610749565b610489565b601261019e565b6101d761023c366004610749565b610492565b61019e61024f366004610791565b61049b565b61019e610262366004610791565b6104a7565b6101d7610275366004610791565b6104be565b61019e610288366004610749565b6104c6565b6101d761029b366004610791565b6104d1565b60025b60405160ff90911681526020016101a8565b61019e6104da565b61019e6102cb366004610791565b6104ec565b5f6102a3565b61019e6102e4366004610749565b61050b565b6101d76102f7366004610749565b610516565b61019e61030a366004610749565b610520565b5f61019e565b60016102a3565b61019e61032a366004610749565b61052b565b61019e61033d366004610749565b610536565b6101d7610350366004610749565b610541565b61019e61054b565b6103696012600a61089f565b81565b5f60011960ff8316016103b9576103b2600261038a6012600a61089f565b61039491906108be565b61039e90856108dd565b60016103ac6012600a61089f565b5f610563565b90506103ec565b60ff82166103d3576103b28360016103ac6012600a61089f565b6103b28360016103e56012600a61089f565b6001610563565b92915050565b5f8282115b9392505050565b5f8061040b8360126108f0565b5f0b121561043657604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104438360126108f0565b5f0b13156104695760405163e39f5db560e01b81525f83900b600482015260240161042d565b6104748260126108f0565b61047f90600a610910565b6103f7908461091e565b5f8282106103f7565b5f8183146103f7565b5f6103ec82600261036c565b5f6104b46012600a61089f565b6103ec908361091e565b5f81156103ec565b5f6103f783836105be565b5f8115156103ec565b5f6104e76012600a61089f565b905090565b5f6103ec6105046104fe6103e86104a7565b846105c9565b600261036c565b5f6103f783836105dd565b5f828211156103f7565b5f6103f78383610611565b5f6103f783836105c9565b5f6103f7838361063d565b5f828210156103f7565b60026105596012600a61089f565b61036991906108be565b5f8061057086868661065a565b9050600183600281111561058657610586610935565b1480156105a257505f848061059d5761059d6108aa565b868809115b156105b5576105b26001826108dd565b90505b95945050505050565b5f6103f782846108dd565b5f6103f78383670de0b6b3a764000061065a565b5f815f036105fe57604051630f6c8fc360e21b815260040160405180910390fd5b6103f783670de0b6b3a76400008461065a565b5f828211156106335760405163117efe6d60e31b815260040160405180910390fd5b6103f78284610949565b5f82821015610650576103b28383610611565b6103f78284610611565b5f80805f19858709858702925082811083820303915050805f0361069157838281610687576106876108aa565b04925050506103f7565b8084116106b057604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f8060408385031215610727575f80fd5b82359150602083013560ff8116811461073e575f80fd5b809150509250929050565b5f806040838503121561075a575f80fd5b50508035926020909101359150565b5f806040838503121561077a575f80fd5b8235915060208301355f81900b811461073e575f80fd5b5f602082840312156107a1575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107f7578085048111156107db576107db6107a8565b60018416156107e957908102905b60019390931c9280026107c0565b935093915050565b5f8261080d575060016103ec565b8161081957505f6103ec565b816001811461082f576002811461083957610855565b60019150506103ec565b60ff84111561084a5761084a6107a8565b50506001821b6103ec565b5060208310610133831016604e8410600b8410161715610878575081810a6103ec565b6108845f1984846107bc565b805f1904821115610897576108976107a8565b029392505050565b5f6103f783836107ff565b634e487b7160e01b5f52601260045260245ffd5b5f826108d857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ec576103ec6107a8565b5f81810b9083900b01607f8113607f19821217156103ec576103ec6107a8565b5f6103f760ff8416836107ff565b80820281158282048414176103ec576103ec6107a8565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ec576103ec6107a856fea264697066735822122009a1585f31bb1d890ae7134d65a6178c1dfffd05c161d8b82901a87bfeddbd9264736f6c634300081a0033",
545
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610192575f3560e01c806389fa8ed7116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c1461031c578063cc8b7b731461032f578063ea6515c414610342578063eb646d7114610355575f80fd5b8063b67d77c5146102fc578063bc1b392d1461030f578063bdbb463014610315575f80fd5b806389fa8ed7146102a0578063901717d1146102b5578063916c5c57146102bd57806393aa8725146102d0578063a391c15b146102d6578063b4773329146102e9575f80fd5b8063313ce5671161014f57806345ebb61e1161012a57806345ebb61e14610254578063753b14a514610267578063771602f71461027a5780637a858b971461028d575f80fd5b8063313ce5671461022757806332148d731461022e57806344aa683614610241575f80fd5b8063059f8b161461019657806308c76ec4146101b1578063118fc88c146101c45780631488c845146101e75780631a12cd47146101fa57806321e5749b14610214575b5f80fd5b61019e61035d565b6040519081526020015b60405180910390f35b61019e6101bf366004610716565b61036c565b6101d76101d2366004610749565b6103f2565b60405190151581526020016101a8565b61019e6101f5366004610769565b6103fe565b610202601281565b6040515f9190910b81526020016101a8565b6101d7610222366004610749565b610489565b601261019e565b6101d761023c366004610749565b610492565b61019e61024f366004610791565b61049b565b61019e610262366004610791565b6104a7565b6101d7610275366004610791565b6104be565b61019e610288366004610749565b6104c6565b6101d761029b366004610791565b6104d1565b60025b60405160ff90911681526020016101a8565b61019e6104da565b61019e6102cb366004610791565b6104ec565b5f6102a3565b61019e6102e4366004610749565b61050b565b6101d76102f7366004610749565b610516565b61019e61030a366004610749565b610520565b5f61019e565b60016102a3565b61019e61032a366004610749565b61052b565b61019e61033d366004610749565b610536565b6101d7610350366004610749565b610541565b61019e61054b565b6103696012600a61089f565b81565b5f60011960ff8316016103b9576103b2600261038a6012600a61089f565b61039491906108be565b61039e90856108dd565b60016103ac6012600a61089f565b5f610563565b90506103ec565b60ff82166103d3576103b28360016103ac6012600a61089f565b6103b28360016103e56012600a61089f565b6001610563565b92915050565b5f8282115b9392505050565b5f8061040b8360126108f0565b5f0b121561043657604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104438360126108f0565b5f0b13156104695760405163e39f5db560e01b81525f83900b600482015260240161042d565b6104748260126108f0565b61047f90600a610910565b6103f7908461091e565b5f8282106103f7565b5f8183146103f7565b5f6103ec82600261036c565b5f6104b46012600a61089f565b6103ec908361091e565b5f81156103ec565b5f6103f783836105be565b5f8115156103ec565b5f6104e76012600a61089f565b905090565b5f6103ec6105046104fe6103e86104a7565b846105c9565b600261036c565b5f6103f783836105dd565b5f828211156103f7565b5f6103f78383610611565b5f6103f783836105c9565b5f6103f7838361063d565b5f828210156103f7565b60026105596012600a61089f565b61036991906108be565b5f8061057086868661065a565b9050600183600281111561058657610586610935565b1480156105a257505f848061059d5761059d6108aa565b868809115b156105b5576105b26001826108dd565b90505b95945050505050565b5f6103f782846108dd565b5f6103f78383670de0b6b3a764000061065a565b5f815f036105fe57604051630f6c8fc360e21b815260040160405180910390fd5b6103f783670de0b6b3a76400008461065a565b5f828211156106335760405163117efe6d60e31b815260040160405180910390fd5b6103f78284610949565b5f82821015610650576103b28383610611565b6103f78284610611565b5f80805f19858709858702925082811083820303915050805f0361069157838281610687576106876108aa565b04925050506103f7565b8084116106b057604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f8060408385031215610727575f80fd5b82359150602083013560ff8116811461073e575f80fd5b809150509250929050565b5f806040838503121561075a575f80fd5b50508035926020909101359150565b5f806040838503121561077a575f80fd5b8235915060208301355f81900b811461073e575f80fd5b5f602082840312156107a1575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107f7578085048111156107db576107db6107a8565b60018416156107e957908102905b60019390931c9280026107c0565b935093915050565b5f8261080d575060016103ec565b8161081957505f6103ec565b816001811461082f576002811461083957610855565b60019150506103ec565b60ff84111561084a5761084a6107a8565b50506001821b6103ec565b5060208310610133831016604e8410600b8410161715610878575081810a6103ec565b6108845f1984846107bc565b805f1904821115610897576108976107a8565b029392505050565b5f6103f783836107ff565b634e487b7160e01b5f52601260045260245ffd5b5f826108d857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ec576103ec6107a8565b5f81810b9083900b01607f8113607f19821217156103ec576103ec6107a8565b5f6103f760ff8416836107ff565b80820281158282048414176103ec576103ec6107a8565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ec576103ec6107a856fea264697066735822122009a1585f31bb1d890ae7134d65a6178c1dfffd05c161d8b82901a87bfeddbd9264736f6c634300081a0033",
533
546
  "linkReferences": {},
534
547
  "deployedLinkReferences": {}
535
548
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/8dd0451613123196cbb8bbbf43a69f7a.json"
3
+ "buildInfo": "../../../build-info/a6d6cd4ecddd52b065a4c4f7775ca962.json"
4
4
  }