@etherisc/gif-next 3.0.0-0fefe0d-162 → 3.0.0-1cf51f6-275

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/README.md +2 -3
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +2 -2
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +2 -2
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  33. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +12 -12
  35. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  37. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +34 -34
  39. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +20 -20
  41. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  42. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  43. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +17 -17
  44. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  45. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  46. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  47. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +14 -14
  48. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +18 -18
  50. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  51. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +20 -20
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +20 -20
  56. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  58. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  59. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  60. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1 -1
  62. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  64. package/artifacts/contracts/instance/Instance.sol/Instance.json +5 -5
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  66. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  68. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  70. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +75 -177
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  77. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  78. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  79. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  80. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  81. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  82. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  83. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  84. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  85. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  86. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  88. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  90. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  92. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  97. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  108. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  110. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  118. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  120. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  122. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
  123. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
  125. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
  127. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  128. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  129. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  131. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  132. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  133. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +20 -20
  134. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  135. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
  136. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
  138. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  139. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  140. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  143. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  145. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  146. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  147. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  148. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  150. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  151. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  152. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  154. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  155. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  156. package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
  157. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +2 -2
  159. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  161. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  162. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  163. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  164. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  166. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  167. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  168. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  169. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
  170. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  172. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  174. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  175. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
  176. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  178. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  180. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  181. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  182. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  183. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  184. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  186. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +2 -2
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
  189. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  190. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
  191. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  194. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  195. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  196. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  198. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  204. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  205. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  207. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  208. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  209. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  210. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  211. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  212. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  213. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  214. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  215. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  216. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  217. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  218. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  219. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  220. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  221. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  222. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  223. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  224. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  225. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  226. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  227. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  228. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  229. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  230. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  231. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  232. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  233. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  234. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  235. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  236. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  237. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  238. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  239. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  240. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  241. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  242. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  243. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  244. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  245. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  246. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  247. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  248. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  249. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  250. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  251. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  252. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  254. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  255. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  256. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  257. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  259. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  260. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  261. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +25 -22
  263. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  265. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -23
  267. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  269. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  271. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  273. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -21
  275. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/String.sol/StrLib.json +2 -21
  280. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
  282. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  285. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  286. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  287. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  288. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  289. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  290. package/contracts/instance/IInstance.sol +1 -1
  291. package/contracts/instance/Instance.sol +1 -1
  292. package/contracts/instance/InstanceReader.sol +3 -25
  293. package/contracts/oracle/IOracleService.sol +12 -12
  294. package/contracts/product/BasicProductAuthorization.sol +2 -3
  295. package/contracts/shared/InstanceLinkedComponent.sol +19 -59
  296. package/contracts/type/ObjectType.sol +31 -2
  297. package/contracts/type/Referral.sol +0 -6
  298. package/contracts/type/Seconds.sol +0 -4
  299. package/contracts/type/String.sol +0 -30
  300. package/contracts/type/Timestamp.sol +1 -10
  301. package/package.json +1 -2
  302. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
  303. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -500
  304. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
  305. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
  306. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
  307. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
  308. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
  309. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
  310. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
  311. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
  312. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
  313. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
  314. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
  315. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2347
  316. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
  317. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
  318. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
  319. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
  320. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
  321. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
  322. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
  323. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
  324. package/contracts/examples/flight/FlightLib.sol +0 -311
  325. package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
  326. package/contracts/examples/flight/FlightOracle.sol +0 -167
  327. package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
  328. package/contracts/examples/flight/FlightPool.sol +0 -89
  329. package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
  330. package/contracts/examples/flight/FlightProduct.sol +0 -625
  331. package/contracts/examples/flight/FlightProductAuthorization.sol +0 -44
  332. package/contracts/examples/flight/FlightUSD.sol +0 -28
  333. package/contracts/examples/flight/originalV1.sol +0 -396
  334. package/contracts/shared/EcdsaChecker.sol +0 -5
  335. package/contracts/type/RequestIdSet.sol +0 -62
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b83db860010d36c1a300ed3141eea291.json"
4
- }
@@ -1,33 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "LibRequestIdSet",
4
- "sourceName": "contracts/type/RequestIdSet.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "RequestId",
10
- "name": "requestId",
11
- "type": "uint64"
12
- }
13
- ],
14
- "name": "ErrorRequestIdSetAlreadyAdded",
15
- "type": "error"
16
- },
17
- {
18
- "inputs": [
19
- {
20
- "internalType": "RequestId",
21
- "name": "requestId",
22
- "type": "uint64"
23
- }
24
- ],
25
- "name": "ErrorRequestIdSetNotInSet",
26
- "type": "error"
27
- }
28
- ],
29
- "bytecode": "0x61049f610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c806308232dd51461006f5780630c9483551461009f5780632ca83175146100c05780634d82eed9146100e0578063ed26c4ed146100ff578063f196b9cb14610122575b5f80fd5b61008261007d3660046103b2565b610150565b6040516001600160401b0390911681526020015b60405180910390f35b8180156100aa575f80fd5b506100be6100b93660046103d2565b610195565b005b6100d26100ce36600461040b565b5490565b604051908152602001610096565b8180156100eb575f80fd5b506100be6100fa3660046103d2565b61031c565b61011261010d36600461040b565b541590565b6040519015158152602001610096565b6101126101303660046103d2565b6001600160401b03165f9081526001919091016020526040902054151590565b5f825f01828154811061016557610165610422565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b031690505b92915050565b6001600160401b0381165f908152600183016020526040812054908190036101e0576040516342fa237960e01b81526001600160401b03831660048201526024015b60405180910390fd5b5f6101ec600183610436565b84549091505f906101ff90600190610436565b90508181146102be575f855f01828154811061021d5761021d610422565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b0316905080865f01848154811061025b5761025b610422565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555083866001015f836001600160401b03166001600160401b031681526020019081526020015f2081905550505b84548590806102cf576102cf610455565b5f828152602080822060045f199094019384040180546001600160401b03600860038716026101000a81021990911690915592909355951685526001959095019094525050604081205550565b6001600160401b0381165f9081526001830160205260409020541561035f57604051634c1046a360e11b81526001600160401b03821660048201526024016101d7565b8154600181810184555f8481526020808220600485040180546001600160401b0396871660086003909716969096026101000a868102970219169590951790945584549281529301909152604090912055565b5f80604083850312156103c3575f80fd5b50508035926020909101359150565b5f80604083850312156103e3575f80fd5b8235915060208301356001600160401b0381168114610400575f80fd5b809150509250929050565b5f6020828403121561041b575f80fd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561018f57634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220087983d3b1444033562e8671f5062ef9fadb026ce6ee916bd4c23def3f62934864736f6c634300081a0033",
30
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c806308232dd51461006f5780630c9483551461009f5780632ca83175146100c05780634d82eed9146100e0578063ed26c4ed146100ff578063f196b9cb14610122575b5f80fd5b61008261007d3660046103b2565b610150565b6040516001600160401b0390911681526020015b60405180910390f35b8180156100aa575f80fd5b506100be6100b93660046103d2565b610195565b005b6100d26100ce36600461040b565b5490565b604051908152602001610096565b8180156100eb575f80fd5b506100be6100fa3660046103d2565b61031c565b61011261010d36600461040b565b541590565b6040519015158152602001610096565b6101126101303660046103d2565b6001600160401b03165f9081526001919091016020526040902054151590565b5f825f01828154811061016557610165610422565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b031690505b92915050565b6001600160401b0381165f908152600183016020526040812054908190036101e0576040516342fa237960e01b81526001600160401b03831660048201526024015b60405180910390fd5b5f6101ec600183610436565b84549091505f906101ff90600190610436565b90508181146102be575f855f01828154811061021d5761021d610422565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b0316905080865f01848154811061025b5761025b610422565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555083866001015f836001600160401b03166001600160401b031681526020019081526020015f2081905550505b84548590806102cf576102cf610455565b5f828152602080822060045f199094019384040180546001600160401b03600860038716026101000a81021990911690915592909355951685526001959095019094525050604081205550565b6001600160401b0381165f9081526001830160205260409020541561035f57604051634c1046a360e11b81526001600160401b03821660048201526024016101d7565b8154600181810184555f8481526020808220600485040180546001600160401b0396871660086003909716969096026101000a868102970219169590951790945584549281529301909152604090912055565b5f80604083850312156103c3575f80fd5b50508035926020909101359150565b5f80604083850312156103e3575f80fd5b8235915060208301356001600160401b0381168114610400575f80fd5b809150509250929050565b5f6020828403121561041b575f80fd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561018f57634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220087983d3b1444033562e8671f5062ef9fadb026ce6ee916bd4c23def3f62934864736f6c634300081a0033",
31
- "linkReferences": {},
32
- "deployedLinkReferences": {}
33
- }
@@ -1,311 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IPolicy} from "../../instance/module/IPolicy.sol";
5
- import {IPolicyService} from "../../product/IPolicyService.sol";
6
-
7
- import {Amount, AmountLib} from "../../type/Amount.sol";
8
- import {FlightMessageVerifier} from "./FlightMessageVerifier.sol";
9
- import {FlightProduct} from "./FlightProduct.sol";
10
- import {InstanceReader} from "../../instance/InstanceReader.sol";
11
- import {NftId} from "../../type/NftId.sol";
12
- import {RequestId} from "../../type/RequestId.sol";
13
- import {RiskId, RiskIdLib} from "../../type/RiskId.sol";
14
- import {StateId} from "../../type/StateId.sol";
15
- import {Str} from "../../type/String.sol";
16
- import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
17
-
18
-
19
- library FlightLib {
20
-
21
- function checkApplicationDataAndSignature(
22
- FlightProduct flightProduct,
23
- Str flightData,
24
- Timestamp departureTime,
25
- Timestamp arrivalTime,
26
- Amount premiumAmount,
27
- uint256[6] memory statistics,
28
- // signature fields
29
- uint8 v,
30
- bytes32 r,
31
- bytes32 s
32
- )
33
- public
34
- view
35
- {
36
- _checkApplicationData(flightProduct, premiumAmount, arrivalTime, departureTime);
37
-
38
- (
39
- address actualSigner,,
40
- bool success
41
- ) = flightProduct.getFlightMessageVerifier().verifyRatingsHash(
42
- flightData,
43
- departureTime,
44
- arrivalTime,
45
- premiumAmount,
46
- statistics,
47
- v, r, s);
48
-
49
- if (!success) {
50
- revert FlightProduct.ErrorApplicationDataSignatureMismatch(
51
- flightProduct.getFlightMessageVerifier().getExpectedSigner(),
52
- actualSigner);
53
- }
54
- }
55
-
56
-
57
- function _checkApplicationData(
58
- FlightProduct flightProduct,
59
- Amount premiumAmount,
60
- Timestamp arrivalTime,
61
- Timestamp departureTime
62
- )
63
- internal
64
- view
65
- {
66
- // solhint-disable
67
- require(premiumAmount >= flightProduct.MIN_PREMIUM(), "ERROR:FDD-001:INVALID_PREMIUM");
68
- require(premiumAmount <= flightProduct.MAX_PREMIUM(), "ERROR:FDD-002:INVALID_PREMIUM");
69
- require(arrivalTime > departureTime, "ERROR:FDD-003:ARRIVAL_BEFORE_DEPARTURE_TIME");
70
-
71
- // TODO decide how to handle demo mode
72
- require(
73
- arrivalTime <= departureTime.addSeconds(flightProduct.MAX_FLIGHT_DURATION()),
74
- "ERROR:FDD-004:INVALID_ARRIVAL/DEPARTURE_TIME");
75
- require(
76
- TimestampLib.current() >= departureTime.subtractSeconds(flightProduct.MAX_TIME_BEFORE_DEPARTURE()),
77
- "ERROR:FDD-005:INVALID_ARRIVAL/DEPARTURE_TIME");
78
- require(
79
- TimestampLib.current() <= departureTime.subtractSeconds(flightProduct.MIN_TIME_BEFORE_DEPARTURE()),
80
- "ERROR:FDD-012:INVALID_ARRIVAL/DEPARTURE_TIME");
81
- // solhint-enable
82
- }
83
-
84
-
85
- // TODO fix or cleanup
86
- // function checkApplication(
87
- // FlightProduct flightProduct,
88
- // Str carrierFlightNumber,
89
- // Timestamp departureTime,
90
- // Timestamp arrivalTime,
91
- // Amount premium
92
- // )
93
- // external
94
- // view
95
- // returns (uint256 errors)
96
- // {
97
- // // Validate input parameters
98
- // if (premium < flightProduct.MIN_PREMIUM()) { errors = errors | (uint256(1) << 0); }
99
- // if (premium > flightProduct.MAX_PREMIUM()) { errors = errors | (uint256(1) << 1); }
100
- // if (arrivalTime < departureTime) { errors = errors | (uint256(1) << 2); }
101
- // if (arrivalTime > departureTime.addSeconds(flightProduct.MAX_FLIGHT_DURATION())) { errors = errors | (uint256(1) << 3); }
102
- // if (departureTime < TimestampLib.current().addSeconds(flightProduct.MIN_TIME_BEFORE_DEPARTURE())) { errors = errors | (uint256(1) << 4); }
103
- // if (departureTime > TimestampLib.current().addSeconds(flightProduct.MAX_TIME_BEFORE_DEPARTURE())) { errors = errors | (uint256(1) << 5); }
104
-
105
- // (, bool exists, FlightProduct.FlightRisk memory flightRisk) = getFlightRisk(
106
- // flightProduct.getInstanceReader(), flightProduct.getNftId(), carrierFlightNumber, departureTime, arrivalTime);
107
-
108
- // if (exists) {
109
- // Amount sumInsured = AmountLib.toAmount(premium.toInt() * flightRisk.premiumMultiplier);
110
- // if (flightRisk.sumOfSumInsuredAmounts + sumInsured > flightProduct.MAX_TOTAL_PAYOUT()) {
111
- // errors = errors | (uint256(1) << 6);
112
- // }
113
- // }
114
-
115
- // return errors;
116
- // }
117
-
118
-
119
- /// @dev calculates payout option based on flight status and delay minutes.
120
- /// Is not a view function as it emits log evens in case of unexpected status.
121
- // TODO decide if reverts instead of log events could work too (and convert the function into a view function)
122
- function checkAndGetPayoutOption(
123
- RequestId requestId,
124
- RiskId riskId,
125
- bytes1 status,
126
- int256 delayMinutes
127
- )
128
- public
129
- returns (uint8 payoutOption)
130
- {
131
- // default: no payout
132
- payoutOption = type(uint8).max;
133
-
134
- // check status
135
- if (status != "L" && status != "A" && status != "C" && status != "D") {
136
- emit FlightProduct.LogErrorUnprocessableStatus(requestId, riskId, status);
137
- return payoutOption;
138
- }
139
-
140
- if (status == "A") {
141
- // todo: active, reschedule oracle call + 45 min
142
- emit FlightProduct.LogErrorUnexpectedStatus(requestId, riskId, status, delayMinutes);
143
- return payoutOption;
144
- }
145
-
146
- // trigger payout if applicable
147
- if (status == "C") { payoutOption = 3; }
148
- else if (status == "D") { payoutOption = 4; }
149
- else if (delayMinutes >= 15 && delayMinutes < 30) { payoutOption = 0; }
150
- else if (delayMinutes >= 30 && delayMinutes < 45) { payoutOption = 1; }
151
- else if (delayMinutes >= 45) { payoutOption = 2; }
152
- }
153
-
154
-
155
- function calculateWeight(
156
- FlightProduct flightProduct,
157
- uint256[6] memory statistics
158
- )
159
- public
160
- view
161
- returns (uint256 weight)
162
- {
163
- // check we have enough observations
164
- require(statistics[0] >= flightProduct.MIN_OBSERVATIONS(), "ERROR:FDD-011:LOW_OBSERVATIONS");
165
-
166
- weight = 0;
167
- for (uint256 i = 1; i < 6; i++) {
168
- weight += flightProduct.WEIGHT_PATTERN(i) * statistics[i] * 10000 / statistics[0];
169
- }
170
-
171
- // To avoid div0 in the payout section, we have to make a minimal assumption on weight
172
- if (weight == 0) {
173
- weight = 100000 / statistics[0];
174
- }
175
-
176
- // TODO comment on intended effect
177
- weight = (weight * (100 + flightProduct.MARGIN_PERCENT())) / 100;
178
- }
179
-
180
-
181
- // REMARK: each flight may get different payouts depending on the latest statics
182
- function calculatePayoutAmounts(
183
- FlightProduct flightProduct,
184
- Amount premium,
185
- uint256[6] memory statistics
186
- )
187
- public
188
- view
189
- returns (
190
- uint256 weight,
191
- Amount[5] memory payoutAmounts,
192
- Amount sumInsuredAmount // simply the max of payoutAmounts
193
- )
194
- {
195
- require(premium >= flightProduct.MIN_PREMIUM(), "ERROR:FDD-009:INVALID_PREMIUM");
196
- require(premium <= flightProduct.MAX_PREMIUM(), "ERROR:FDD-010:INVALID_PREMIUM");
197
-
198
- sumInsuredAmount = AmountLib.zero();
199
- weight = calculateWeight(flightProduct, statistics);
200
-
201
- for (uint256 i = 0; i < 5; i++) {
202
- Amount payoutAmount = AmountLib.toAmount(
203
- premium.toInt() * flightProduct.WEIGHT_PATTERN(i + 1) * 10000 / weight);
204
-
205
- // cap payout and update sum insured if applicable
206
- if (payoutAmount > flightProduct.MAX_PAYOUT()) { payoutAmount = flightProduct.MAX_PAYOUT(); }
207
- if (payoutAmount > sumInsuredAmount) { sumInsuredAmount = payoutAmount; }
208
-
209
- payoutAmounts[i] = payoutAmount;
210
- }
211
- }
212
-
213
-
214
- function getPayoutAmount(
215
- bytes memory applicationData,
216
- uint8 payoutOption
217
- )
218
- public
219
- returns (Amount payoutAmount)
220
- {
221
- // retrieve payout amounts from application data
222
- (, Amount[5] memory payoutAmounts) = abi.decode(
223
- applicationData, (Amount, Amount[5]));
224
-
225
- // get payout amount for selected option
226
- payoutAmount = payoutAmounts[payoutOption];
227
- }
228
-
229
-
230
- function getFlightRisk(
231
- InstanceReader reader,
232
- NftId productNftId,
233
- Str flightData,
234
- Timestamp departureTime,
235
- Timestamp arrivalTime
236
- )
237
- public
238
- view
239
- returns (
240
- RiskId riskId,
241
- bool exists,
242
- FlightProduct.FlightRisk memory flightRisk
243
- )
244
- {
245
- riskId = getRiskId(productNftId, flightData);
246
- (exists, flightRisk) = getFlightRisk(reader, productNftId, riskId);
247
-
248
- // create new risk if not existing
249
- if (!exists) {
250
- flightRisk = FlightProduct.FlightRisk({
251
- flightData: flightData,
252
- departureTime: departureTime,
253
- arrivalTime: arrivalTime,
254
- sumOfSumInsuredAmounts: AmountLib.toAmount(0),
255
- status: bytes1(0),
256
- delayMinutes: 0});
257
- }
258
- }
259
-
260
-
261
- function getFlightRisk(
262
- InstanceReader reader,
263
- NftId productNftId,
264
- RiskId riskId
265
- )
266
- public
267
- view
268
- returns (
269
- bool exists,
270
- FlightProduct.FlightRisk memory flightRisk
271
- )
272
- {
273
- // check if risk exists
274
- exists = reader.isProductRisk(productNftId, riskId);
275
-
276
- // get risk data if risk exists
277
- if (exists) {
278
- flightRisk = abi.decode(
279
- reader.getRiskInfo(riskId).data, (FlightProduct.FlightRisk));
280
- }
281
- }
282
-
283
-
284
- function getRiskId(
285
- NftId productNftId,
286
- Str flightData
287
- )
288
- public
289
- view
290
- returns (RiskId riskId)
291
- {
292
- bytes32 riskKey = getRiskKey(flightData);
293
- riskId = getRiskId(productNftId, riskKey);
294
- }
295
-
296
-
297
- function getRiskKey(
298
- Str flightData
299
- )
300
- internal
301
- pure
302
- returns (bytes32 riskKey)
303
- {
304
- return keccak256(abi.encode(flightData));
305
- }
306
-
307
-
308
- function getRiskId(NftId productNftId, bytes32 riskKey) internal view returns (RiskId riskId) {
309
- return RiskIdLib.toRiskId(productNftId, riskKey);
310
- }
311
- }
@@ -1,128 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
- import {MessageHashUtils} from "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol";
6
- import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
7
-
8
-
9
- import {Amount} from "../../type/Amount.sol";
10
- import {Str} from "../../type/String.sol";
11
- import {Timestamp} from "../../type/Timestamp.sol";
12
-
13
- contract FlightMessageVerifier is
14
- Ownable
15
- {
16
-
17
- error ErrorFlightMessageVerifierSignerZero();
18
- error ErrorFlightMessageVerifierContractSignerNotSupported();
19
-
20
- address private _expectedSigner;
21
-
22
-
23
- constructor() Ownable(msg.sender) { }
24
-
25
-
26
- function setExpectedSigner(address signer) external onlyOwner {
27
- if (signer == address(0)) { revert ErrorFlightMessageVerifierSignerZero(); }
28
- if (signer.code.length > 0) { revert ErrorFlightMessageVerifierContractSignerNotSupported(); }
29
- _expectedSigner = signer;
30
- }
31
-
32
-
33
- function getExpectedSigner() external view returns(address) {
34
- return _expectedSigner;
35
- }
36
-
37
- /// @dev creates digest hash based on application parameters
38
- /// proposal:
39
- /// use "LX 180 ZRH BKK 20241104" (23 chars, should be enough for all flights)
40
- /// carriers, airports: https://www.iata.org/en/publications/directories/code-search/
41
- /// flight numbers: https://en.wikipedia.org/wiki/Flight_number
42
- /// instead of separate strings, coding/decoding done anyway off-chain
43
- function getRatingsHash(
44
- Str flightData,
45
- Timestamp departureTime,
46
- Timestamp arrivalTime,
47
- Amount premiumAmount,
48
- uint256[6] memory statistics
49
- )
50
- public
51
- view
52
- returns(bytes32)
53
- {
54
- return MessageHashUtils.toEthSignedMessageHash(
55
- abi.encode(
56
- flightData,
57
- departureTime,
58
- arrivalTime,
59
- premiumAmount,
60
- statistics));
61
- }
62
-
63
-
64
- function verifyRatingsHash(
65
- Str flightData,
66
- Timestamp departureTime,
67
- Timestamp arrivalTime,
68
- Amount premiumAmount,
69
- uint256[6] memory statistics,
70
- // bytes memory signature,
71
- uint8 v,
72
- bytes32 r,
73
- bytes32 s
74
- )
75
- public
76
- view
77
- returns (
78
- address actualSigner,
79
- ECDSA.RecoverError errorStatus,
80
- bool success
81
- )
82
- {
83
- bytes32 messageHash = getRatingsHash(
84
- flightData,
85
- departureTime,
86
- arrivalTime,
87
- premiumAmount,
88
- statistics);
89
-
90
- (
91
- actualSigner,
92
- errorStatus,
93
- ) = ECDSA.tryRecover(messageHash, v, r, s);
94
-
95
- success = (
96
- errorStatus == ECDSA.RecoverError.NoError
97
- && actualSigner == _expectedSigner);
98
- }
99
-
100
-
101
- // TODO re-enable or cleanup
102
- // function checkAndRegisterSignature (
103
- // address policyHolder,
104
- // address protectedWallet,
105
- // uint256 protectedBalance,
106
- // uint256 duration,
107
- // uint256 bundleId,
108
- // bytes32 signatureId,
109
- // bytes calldata signature
110
- // )
111
- // external
112
- // {
113
- // bytes32 signatureHash = keccak256(abi.encode(signature));
114
- // require(!_signatureIsUsed[signatureHash], "ERROR:DMH-001:SIGNATURE_USED");
115
-
116
- // address signer = getSignerFromDigestAndSignature(
117
- // protectedWallet,
118
- // protectedBalance,
119
- // duration,
120
- // bundleId,
121
- // signatureId,
122
- // signature);
123
-
124
- // require(policyHolder == signer, "ERROR:DMH-002:SIGNATURE_INVALID");
125
-
126
- // _signatureIsUsed[signatureHash] = true;
127
- // }
128
- }
@@ -1,167 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IAuthorization} from "../../authorization/IAuthorization.sol";
5
-
6
- import {FULFILLED} from "../../type/StateId.sol";
7
- import {NftId} from "../../type/NftId.sol";
8
- import {BasicOracle} from "../../oracle/BasicOracle.sol";
9
- import {RequestId} from "../../type/RequestId.sol";
10
- import {LibRequestIdSet} from "../../type/RequestIdSet.sol";
11
- import {RiskId} from "../../type/RiskId.sol";
12
- import {Str} from "../../type/String.sol";
13
- import {Timestamp} from "../../type/Timestamp.sol";
14
-
15
- contract FlightOracle is
16
- BasicOracle
17
- {
18
-
19
- struct FlightStatusRequest {
20
- RiskId riskId;
21
- Str flightData; // "LX 180 ZRH BKK 20241104"
22
- Timestamp departureTime; // is this needed or is flight number and date unique aready?
23
- }
24
-
25
- struct FlightStatusResponse {
26
- RiskId riskId;
27
- bytes1 status;
28
- int256 delayMinutes;
29
- }
30
-
31
- event LogFlightOracleRequestReceived(RequestId requestId, NftId requesterId);
32
- event LogFlightOracleResponseSent(RequestId requestId, bytes1 status, int256 delay);
33
- event LogFlightOracleRequestCancelled(RequestId requestId);
34
-
35
- // TODO decide if this variable should be moved to instance store
36
- // if so it need to manage active requests by requestor nft id
37
- LibRequestIdSet.Set internal _activeRequests;
38
-
39
-
40
- constructor(
41
- address registry,
42
- NftId productNftId,
43
- string memory componentName,
44
- IAuthorization authorization
45
- )
46
- {
47
- address initialOwner = msg.sender;
48
- initialize(
49
- registry,
50
- productNftId,
51
- authorization,
52
- initialOwner,
53
- componentName
54
- );
55
- }
56
-
57
-
58
- function initialize(
59
- address registry,
60
- NftId productNftId,
61
- IAuthorization authorization,
62
- address initialOwner,
63
- string memory name
64
- )
65
- public
66
- virtual
67
- initializer()
68
- {
69
- _initializeBasicOracle(
70
- registry,
71
- productNftId,
72
- authorization,
73
- initialOwner,
74
- name);
75
- }
76
-
77
-
78
- function respondWithFlightStatus(
79
- RequestId requestId,
80
- bytes1 status,
81
- int256 delayMinutes
82
- )
83
- external
84
- restricted()
85
- {
86
- // obtain riskId for request
87
- bytes memory requestData = _getInstanceReader().getRequestInfo(requestId).requestData;
88
- (RiskId riskId,,) = abi.decode(requestData, (RiskId, Str, Timestamp));
89
- // assemble response data
90
- bytes memory responseData = abi.encode(
91
- FlightStatusResponse ({
92
- riskId: riskId,
93
- status: status,
94
- delayMinutes: delayMinutes}));
95
-
96
- // logging
97
- emit LogFlightOracleResponseSent(requestId, status, delayMinutes);
98
-
99
- // effects + interaction (via framework to receiving component)
100
- _respond(requestId, responseData);
101
-
102
- // TODO decide if the code below should be moved to GIF
103
- // check callback result
104
- bool requestFulfilled = _getInstanceReader().getRequestState(
105
- requestId) == FULFILLED();
106
-
107
- // remove from active requests when successful
108
- if (requestFulfilled) {
109
- LibRequestIdSet.remove(_activeRequests, requestId);
110
- }
111
- }
112
-
113
- //--- view functions ----------------------------------------------------//
114
-
115
- // TODO decide if the code below should be moved to GIF
116
- function activeRequests()
117
- external
118
- view
119
- returns(uint256 numberOfRequests)
120
- {
121
- return LibRequestIdSet.size(_activeRequests);
122
- }
123
-
124
-
125
- // TODO decide if the code below should be moved to GIF
126
- function getActiveRequest(uint256 idx)
127
- external
128
- view
129
- returns(RequestId requestId)
130
- {
131
- return LibRequestIdSet.getElementAt(_activeRequests, idx);
132
- }
133
-
134
- //--- internal functions ------------------------------------------------//
135
-
136
- /// @dev use case specific handling of oracle requests
137
- /// for now only log is emitted to verify that request has been received by oracle component
138
- function _request(
139
- RequestId requestId,
140
- NftId requesterId,
141
- bytes calldata requestData,
142
- Timestamp expiryAt
143
- )
144
- internal
145
- virtual override
146
- {
147
- FlightStatusRequest memory request = abi.decode(requestData, (FlightStatusRequest));
148
-
149
- // TODO decide if the line below should be moved to GIF
150
- LibRequestIdSet.add(_activeRequests, requestId);
151
- emit LogFlightOracleRequestReceived(requestId, requesterId);
152
- }
153
-
154
-
155
- /// @dev use case specific handling of oracle requests
156
- /// for now only log is emitted to verify that cancelling has been received by oracle component
157
- function _cancel(
158
- RequestId requestId
159
- )
160
- internal
161
- virtual override
162
- {
163
- // TODO decide if the line below should be moved to GIF
164
- LibRequestIdSet.remove(_activeRequests, requestId);
165
- emit LogFlightOracleRequestCancelled(requestId);
166
- }
167
- }
@@ -1,34 +0,0 @@
1
-
2
-
3
- // SPDX-License-Identifier: Apache-2.0
4
- pragma solidity ^0.8.20;
5
-
6
- import {IAccess} from "../../../contracts/authorization/IAccess.sol";
7
-
8
- import {BasicOracleAuthorization} from "../../oracle/BasicOracleAuthorization.sol";
9
- import {FlightOracle} from "./FlightOracle.sol";
10
- import {PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
11
-
12
- contract FlightOracleAuthorization
13
- is BasicOracleAuthorization
14
- {
15
-
16
- constructor(string memory oracleName, string memory commitHash)
17
- BasicOracleAuthorization(oracleName, commitHash)
18
- {}
19
-
20
-
21
- function _setupTargetAuthorizations()
22
- internal
23
- virtual override
24
- {
25
- super._setupTargetAuthorizations();
26
- IAccess.FunctionInfo[] storage functions;
27
-
28
- // TODO IMPORTANT must not be public role for prod!!!
29
- // authorize public role (also protected by onlyOwner)
30
- functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
31
- _authorize(functions, FlightOracle.respondWithFlightStatus.selector, "respondWithFlightStatus");
32
- }
33
- }
34
-