@etherisc/gif-next 3.0.0-06d5e8b-738 → 3.0.0-0b94571-537
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.
- package/README.md +8 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +42 -56
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +44 -48
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +14 -20
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +99 -87
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +42 -29
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +75 -63
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +20 -114
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +2 -96
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +187 -114
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -75
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +2 -96
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +113 -40
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +21 -96
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +79 -159
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +123 -112
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +132 -133
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +23 -98
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +320 -587
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +28 -122
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +91 -83
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +29 -104
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +42 -122
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +59 -72
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +34 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +108 -9
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -33
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +191 -179
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +160 -42
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +151 -36
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +41 -41
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +171 -121
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +166 -107
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +92 -105
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +9 -9
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +40 -4
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +85 -77
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +67 -59
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +19 -13
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +71 -63
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +57 -51
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +50 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +4 -79
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +90 -85
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +62 -62
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -27
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +4 -79
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +56 -44
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +4 -79
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +4 -9
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +124 -112
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +44 -44
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +44 -44
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +4 -79
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +86 -80
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +67 -67
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +18 -18
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +24 -18
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +21 -9
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +4 -4
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +4 -79
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -45
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +81 -69
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +25 -17
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +60 -60
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +42 -42
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +51 -51
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +4 -79
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +53 -87
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +41 -49
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +58 -8
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +30 -24
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +2 -2
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +132 -66
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +168 -156
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +8 -8
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -37
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +198 -186
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +119 -110
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +19 -19
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +20 -20
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +2 -77
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +329 -113
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +61 -61
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +2 -77
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +2 -77
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +271 -55
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +2 -77
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -2
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +2 -2
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +2 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +2 -77
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -4
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +39 -66
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +22 -49
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +28 -28
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +91 -147
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +15 -221
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +139 -195
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -7
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +53 -53
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +35 -241
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +40 -40
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +220 -220
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +9 -14
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -7
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +17 -22
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +22 -22
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +17 -29
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +10 -29
- package/contracts/authorization/AccessManagerCloneable.sol +4 -0
- package/contracts/authorization/IAccessAdmin.sol +9 -8
- package/contracts/distribution/DistributionService.sol +24 -19
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/crop/AccountingToken.sol +26 -0
- package/contracts/examples/crop/CropPool.sol +89 -0
- package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
- package/contracts/examples/crop/CropProduct.sol +512 -0
- package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
- package/contracts/examples/crop/Location.sol +50 -0
- package/contracts/examples/fire/FireProduct.sol +1 -1
- package/contracts/examples/flight/FlightLib.sol +65 -56
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +20 -62
- package/contracts/examples/flight/FlightOracleAuthorization.sol +4 -1
- package/contracts/examples/flight/FlightPool.sol +1 -1
- package/contracts/examples/flight/FlightProduct.sol +191 -186
- package/contracts/examples/flight/FlightProductAuthorization.sol +3 -2
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +1 -5
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +10 -7
- package/contracts/instance/IInstanceService.sol +11 -4
- package/contracts/instance/Instance.sol +8 -0
- package/contracts/instance/InstanceAdmin.sol +2 -1
- package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
- package/contracts/instance/InstanceReader.sol +49 -8
- package/contracts/instance/InstanceService.sol +68 -36
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +16 -15
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/RiskSet.sol +6 -7
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/ObjectCounter.sol +7 -5
- package/contracts/instance/base/ObjectSet.sol +9 -1
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/BasicOracle.sol +1 -0
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +5 -5
- package/contracts/oracle/Oracle.sol +50 -26
- package/contracts/oracle/OracleService.sol +26 -23
- package/contracts/pool/BundleService.sol +3 -3
- package/contracts/pool/IBundleService.sol +9 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -14
- package/contracts/pool/PoolService.sol +2 -2
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +7 -7
- package/contracts/product/IRiskService.sol +4 -6
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/Product.sol +1 -5
- package/contracts/product/RiskService.sol +3 -8
- package/contracts/registry/ChainNft.sol +10 -9
- package/contracts/registry/IRegistry.sol +11 -10
- package/contracts/registry/Registry.sol +16 -13
- package/contracts/registry/RegistryAuthorization.sol +0 -2
- package/contracts/registry/ReleaseAdmin.sol +4 -4
- package/contracts/registry/ReleaseRegistry.sol +7 -8
- package/contracts/registry/TokenRegistry.sol +3 -3
- package/contracts/shared/ComponentService.sol +38 -4
- package/contracts/shared/IComponent.sol +0 -4
- package/contracts/shared/IComponentService.sol +31 -9
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +1 -1
- package/contracts/shared/TokenHandler.sol +5 -5
- package/contracts/staking/IStaking.sol +33 -31
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +5 -4
- package/contracts/staking/StakingService.sol +2 -3
- package/contracts/staking/StakingStore.sol +3 -3
- package/contracts/staking/TargetHandler.sol +2 -2
- package/contracts/type/RequestId.sol +6 -0
- package/contracts/type/RiskId.sol +8 -8
- package/contracts/upgradeability/ProxyManager.sol +2 -2
- package/package.json +3 -3
@@ -6,9 +6,11 @@ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IER
|
|
6
6
|
|
7
7
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
8
8
|
import {IComponents} from "../../instance/module/IComponents.sol";
|
9
|
+
import {IPolicy} from "../../instance/module/IPolicy.sol";
|
9
10
|
|
10
11
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
11
12
|
import {ClaimId} from "../../type/ClaimId.sol";
|
13
|
+
import {Component} from "../../shared/Component.sol";
|
12
14
|
import {FeeLib} from "../../type/Fee.sol";
|
13
15
|
import {FlightLib} from "./FlightLib.sol";
|
14
16
|
import {FlightMessageVerifier} from "./FlightMessageVerifier.sol";
|
@@ -21,7 +23,7 @@ import {ReferralLib} from "../../type/Referral.sol";
|
|
21
23
|
import {RiskId, RiskIdLib} from "../../type/RiskId.sol";
|
22
24
|
import {RequestId} from "../../type/RequestId.sol";
|
23
25
|
import {Seconds, SecondsLib} from "../../type/Seconds.sol";
|
24
|
-
import {Str} from "../../type/String.sol";
|
26
|
+
import {Str, StrLib} from "../../type/String.sol";
|
25
27
|
import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
|
26
28
|
|
27
29
|
|
@@ -30,68 +32,46 @@ contract FlightProduct is
|
|
30
32
|
Product
|
31
33
|
{
|
32
34
|
|
33
|
-
event
|
34
|
-
event
|
35
|
-
|
35
|
+
event LogFlightPolicyPurchased(NftId policyNftId, string flightData, Amount premiumAmount);
|
36
|
+
event LogFlightPolicyClosed(NftId policyNftId, Amount payoutAmount);
|
37
|
+
|
36
38
|
event LogFlightStatusProcessed(RequestId requestId, RiskId riskId, bytes1 status, int256 delayMinutes, uint8 payoutOption);
|
37
39
|
event LogFlightPoliciesProcessed(RiskId riskId, uint8 payoutOption, uint256 policiesProcessed, uint256 policiesRemaining);
|
38
40
|
|
39
|
-
// TODO convert error logs to custom errors
|
40
|
-
// event LogError(string error, uint256 index, uint256 stored, uint256 calculated);
|
41
|
-
event LogPolicyExpired(bytes32 bpKey);
|
42
|
-
|
43
|
-
event LogErrorRiskInvalid(RequestId requestId, RiskId riskId);
|
44
|
-
event LogErrorUnprocessableStatus(RequestId requestId, RiskId riskId, bytes1 status);
|
45
|
-
event LogErrorUnexpectedStatus(RequestId requestId, RiskId riskId, bytes1 status, int256 delayMinutes);
|
46
|
-
|
47
|
-
error ErrorApplicationDataSignatureMismatch(address expectedSigner, address actualSigner);
|
48
|
-
error ErrorFlightProductClusterRisk(Amount totalSumInsured, Amount maxTotalPayout);
|
49
|
-
error ErrorFlightProductPremiumAmountTooSmall(Amount premiumAmount, Amount minPremium);
|
50
|
-
error ErrorFlightProductPremiumAmountTooLarge(Amount premiumAmount, Amount maxPremium);
|
51
|
-
error ErrorFlightProductArrivalBeforeDepartureTime(Timestamp departureTime, Timestamp arrivalTime);
|
52
|
-
error ErrorFlightProductArrivalAfterMaxFlightDuration(Timestamp arrivalTime, Timestamp maxArrivalTime, Seconds maxDuration);
|
53
|
-
error ErrorFlightProductDepartureBeforeMinTimeBeforeDeparture(Timestamp departureTime, Timestamp now, Seconds minTimeBeforeDeparture);
|
54
|
-
error ErrorFlightProductDepartureAfterMaxTimeBeforeDeparture(Timestamp departureTime, Timestamp now, Seconds maxTimeBeforeDeparture);
|
55
|
-
error ErrorFlightProductNotEnoughObservations(uint256 observations, uint256 minObservations);
|
56
|
-
|
57
41
|
// solhint-disable
|
58
|
-
// Minimum observations for valid prediction
|
59
|
-
uint256 public immutable MIN_OBSERVATIONS = 10;
|
60
|
-
// Minimum time before departure for applying
|
61
|
-
Seconds public MIN_TIME_BEFORE_DEPARTURE = SecondsLib.fromDays(14);
|
62
|
-
// Maximum time before departure for applying
|
63
|
-
Seconds public MAX_TIME_BEFORE_DEPARTURE = SecondsLib.fromDays(90);
|
64
|
-
// Maximum duration of flight
|
65
|
-
Seconds public MAX_FLIGHT_DURATION = SecondsLib.fromDays(2);
|
66
|
-
// Check for delay after .. minutes after scheduled arrival
|
67
|
-
Seconds public CHECK_OFFSET = SecondsLib.fromHours(1);
|
68
|
-
// Max time to process claims after departure
|
69
|
-
Seconds public LIFETIME = SecondsLib.fromDays(30);
|
70
|
-
|
71
|
-
// uint256 public constant MIN_PREMIUM = 15 * 10 ** 18; // production
|
72
|
-
// All amounts in cent = multiplier is 10 ** 16!
|
73
42
|
Amount public MIN_PREMIUM;
|
74
43
|
Amount public MAX_PREMIUM;
|
75
44
|
Amount public MAX_PAYOUT;
|
76
|
-
Amount public MAX_TOTAL_PAYOUT; // Maximum risk per flight
|
45
|
+
Amount public MAX_TOTAL_PAYOUT; // Maximum risk per flight/risk
|
77
46
|
|
78
|
-
//
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
47
|
+
// Minimum time before departure for applying
|
48
|
+
Seconds public MIN_TIME_BEFORE_DEPARTURE;
|
49
|
+
// Maximum time before departure for applying
|
50
|
+
Seconds public MAX_TIME_BEFORE_DEPARTURE;
|
51
|
+
// Maximum duration of flight
|
52
|
+
Seconds public MAX_FLIGHT_DURATION;
|
53
|
+
// Max time to process claims after departure
|
54
|
+
Seconds public LIFETIME;
|
83
55
|
|
84
56
|
// ['observations','late15','late30','late45','cancelled','diverted']
|
85
57
|
// no payouts for delays of 30' or less
|
86
|
-
uint8[6] public WEIGHT_PATTERN
|
87
|
-
|
58
|
+
uint8[6] public WEIGHT_PATTERN;
|
59
|
+
// Minimum number of observations for valid prediction/premium calculation
|
60
|
+
uint256 public MIN_OBSERVATIONS;
|
61
|
+
// Maximum cumulated weighted premium per risk
|
62
|
+
uint256 public MARGIN_PERCENT;
|
63
|
+
// Maximum number of policies to process in one callback
|
64
|
+
uint8 public MAX_POLICIES_TO_PROCESS;
|
65
|
+
// solhint-enable
|
88
66
|
|
89
67
|
bool internal _testMode;
|
90
68
|
|
69
|
+
mapping(RiskId riskId => RequestId requestId) internal _requests;
|
70
|
+
mapping(bytes32 encodedRisk => RiskId) internal _risks;
|
71
|
+
|
91
72
|
// GIF V3 specifics
|
92
73
|
NftId internal _defaultBundleNftId;
|
93
74
|
NftId internal _oracleNftId;
|
94
|
-
// solhint-enable
|
95
75
|
|
96
76
|
|
97
77
|
struct FlightRisk {
|
@@ -103,16 +83,15 @@ contract FlightProduct is
|
|
103
83
|
// this field contains static data required by the frontend and is not directly used by the product
|
104
84
|
string arrivalTimeLocal; // example "2024-10-14T10:10:00.000 Asia/Seoul"
|
105
85
|
Amount sumOfSumInsuredAmounts;
|
106
|
-
// uint256 premiumMultiplier; // what is this? UFixed?
|
107
|
-
// uint256 weight; // what is this? UFixed?
|
108
86
|
bytes1 status; // 'L'ate, 'C'ancelled, 'D'iverted, ...
|
109
87
|
int256 delayMinutes;
|
110
88
|
uint8 payoutOption;
|
111
89
|
Timestamp statusUpdatedAt;
|
112
90
|
}
|
113
91
|
|
92
|
+
|
114
93
|
struct ApplicationData {
|
115
|
-
|
94
|
+
string flightData;
|
116
95
|
Timestamp departureTime;
|
117
96
|
string departureTimeLocal;
|
118
97
|
Timestamp arrivalTime;
|
@@ -135,7 +114,7 @@ contract FlightProduct is
|
|
135
114
|
|
136
115
|
constructor(
|
137
116
|
address registry,
|
138
|
-
NftId
|
117
|
+
NftId instanceNftId,
|
139
118
|
string memory componentName,
|
140
119
|
IAuthorization authorization
|
141
120
|
)
|
@@ -144,12 +123,13 @@ contract FlightProduct is
|
|
144
123
|
|
145
124
|
_initialize(
|
146
125
|
registry,
|
147
|
-
|
126
|
+
instanceNftId,
|
148
127
|
componentName,
|
149
128
|
authorization,
|
150
129
|
initialOwner);
|
151
130
|
}
|
152
131
|
|
132
|
+
|
153
133
|
//--- external functions ------------------------------------------------//
|
154
134
|
//--- unpermissioned functions ------------------------------------------//
|
155
135
|
|
@@ -160,6 +140,7 @@ contract FlightProduct is
|
|
160
140
|
getNftId()).oracleNftId[0];
|
161
141
|
}
|
162
142
|
|
143
|
+
|
163
144
|
function calculatePayoutAmounts(
|
164
145
|
FlightProduct flightProduct,
|
165
146
|
Amount premium,
|
@@ -205,7 +186,7 @@ contract FlightProduct is
|
|
205
186
|
policyNftId
|
206
187
|
) = _createPolicy(
|
207
188
|
policyHolder,
|
208
|
-
application.flightData,
|
189
|
+
StrLib.toStr(application.flightData),
|
209
190
|
application.departureTime,
|
210
191
|
application.departureTimeLocal,
|
211
192
|
application.arrivalTime,
|
@@ -215,66 +196,6 @@ contract FlightProduct is
|
|
215
196
|
}
|
216
197
|
|
217
198
|
|
218
|
-
function _createPolicy(
|
219
|
-
address policyHolder,
|
220
|
-
Str flightData,
|
221
|
-
Timestamp departureTime,
|
222
|
-
string memory departureTimeLocal,
|
223
|
-
Timestamp arrivalTime,
|
224
|
-
string memory arrivalTimeLocal,
|
225
|
-
Amount premiumAmount,
|
226
|
-
uint256[6] memory statistics
|
227
|
-
)
|
228
|
-
internal
|
229
|
-
virtual
|
230
|
-
returns (
|
231
|
-
RiskId riskId,
|
232
|
-
NftId policyNftId
|
233
|
-
)
|
234
|
-
{
|
235
|
-
// checks
|
236
|
-
// disabled for now - using rbac for security
|
237
|
-
FlightLib.checkApplicationData(
|
238
|
-
this,
|
239
|
-
flightData,
|
240
|
-
departureTime,
|
241
|
-
arrivalTime,
|
242
|
-
premiumAmount);
|
243
|
-
|
244
|
-
(riskId, policyNftId) = _prepareApplication(
|
245
|
-
policyHolder,
|
246
|
-
flightData,
|
247
|
-
departureTime,
|
248
|
-
departureTimeLocal,
|
249
|
-
arrivalTime,
|
250
|
-
arrivalTimeLocal,
|
251
|
-
premiumAmount,
|
252
|
-
statistics);
|
253
|
-
|
254
|
-
_createPolicy(
|
255
|
-
policyNftId,
|
256
|
-
TimestampLib.zero(), // do not ativate yet
|
257
|
-
premiumAmount); // max premium amount
|
258
|
-
|
259
|
-
// interactions (token transfer + callback to token holder, if contract)
|
260
|
-
_collectPremium(
|
261
|
-
policyNftId,
|
262
|
-
departureTime); // activate at scheduled departure time of flight
|
263
|
-
|
264
|
-
// send oracle request for flight status (interacts with flight oracle contract)
|
265
|
-
_sendRequest(
|
266
|
-
_oracleNftId,
|
267
|
-
abi.encode(
|
268
|
-
FlightOracle.FlightStatusRequest(
|
269
|
-
riskId,
|
270
|
-
flightData,
|
271
|
-
departureTime)),
|
272
|
-
// allow up to 30 days to process the claim
|
273
|
-
arrivalTime.addSeconds(SecondsLib.fromDays(30)),
|
274
|
-
"flightStatusCallback");
|
275
|
-
}
|
276
|
-
|
277
|
-
|
278
199
|
/// @dev Callback for flight status oracle.
|
279
200
|
/// Function may only be alled by oracle service.
|
280
201
|
function flightStatusCallback(
|
@@ -292,31 +213,17 @@ contract FlightProduct is
|
|
292
213
|
requestId,
|
293
214
|
response.riskId,
|
294
215
|
response.status,
|
295
|
-
response.delayMinutes
|
296
|
-
MAX_POLICIES_TO_PROCESS);
|
216
|
+
response.delayMinutes);
|
297
217
|
}
|
298
218
|
|
299
219
|
|
300
|
-
|
301
|
-
function processFlightStatus(
|
302
|
-
RequestId requestId,
|
303
|
-
RiskId riskId,
|
304
|
-
bytes1 status,
|
305
|
-
int256 delayMinutes,
|
306
|
-
uint8 maxPoliciesToProcess
|
307
|
-
)
|
220
|
+
function resendResponse(RequestId requestId)
|
308
221
|
external
|
309
222
|
virtual
|
310
223
|
restricted()
|
311
|
-
onlyOwner()
|
312
224
|
{
|
313
|
-
|
314
|
-
|
315
|
-
riskId,
|
316
|
-
status,
|
317
|
-
delayMinutes,
|
318
|
-
maxPoliciesToProcess);
|
319
|
-
}
|
225
|
+
_resendResponse(requestId);
|
226
|
+
}
|
320
227
|
|
321
228
|
|
322
229
|
/// @dev Manual fallback function for product owner.
|
@@ -339,22 +246,30 @@ contract FlightProduct is
|
|
339
246
|
|
340
247
|
/// @dev Call after product registration with the instance
|
341
248
|
/// when the product token/tokenhandler is available
|
342
|
-
function
|
249
|
+
function setConstants(
|
250
|
+
Amount minPremium,
|
251
|
+
Amount maxPremium,
|
252
|
+
Amount maxPayout,
|
253
|
+
Amount maxTotalPayout,
|
254
|
+
Seconds minTimeBeforeDeparture,
|
255
|
+
Seconds maxTimeBeforeDeparture,
|
256
|
+
uint8 maxPoliciesToProcess
|
257
|
+
)
|
343
258
|
external
|
344
259
|
virtual
|
345
260
|
restricted()
|
346
261
|
onlyOwner()
|
347
262
|
{
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
263
|
+
MIN_PREMIUM = minPremium;
|
264
|
+
MAX_PREMIUM = maxPremium;
|
265
|
+
MAX_PAYOUT = maxPayout;
|
266
|
+
MAX_TOTAL_PAYOUT = maxTotalPayout;
|
267
|
+
|
268
|
+
MIN_TIME_BEFORE_DEPARTURE = minTimeBeforeDeparture;
|
269
|
+
MAX_TIME_BEFORE_DEPARTURE = maxTimeBeforeDeparture;
|
270
|
+
MAX_POLICIES_TO_PROCESS = maxPoliciesToProcess;
|
355
271
|
}
|
356
272
|
|
357
|
-
|
358
273
|
function setDefaultBundle(NftId bundleNftId) external restricted() onlyOwner() { _defaultBundleNftId = bundleNftId; }
|
359
274
|
function setTestMode(bool testMode) external restricted() onlyOwner() { _testMode = testMode; }
|
360
275
|
|
@@ -382,6 +297,27 @@ contract FlightProduct is
|
|
382
297
|
|
383
298
|
function getOracleNftId() public view returns (NftId oracleNftId) { return _oracleNftId; }
|
384
299
|
function isTestMode() public view returns (bool) { return _testMode; }
|
300
|
+
|
301
|
+
|
302
|
+
function getFlightRisk(
|
303
|
+
RiskId riskId,
|
304
|
+
bool requireRiskExists
|
305
|
+
)
|
306
|
+
public
|
307
|
+
view
|
308
|
+
returns (
|
309
|
+
bool exists,
|
310
|
+
FlightRisk memory flightRisk
|
311
|
+
)
|
312
|
+
{
|
313
|
+
(exists, flightRisk) = FlightLib.getFlightRisk(
|
314
|
+
_getInstanceReader(),
|
315
|
+
getNftId(),
|
316
|
+
riskId,
|
317
|
+
requireRiskExists);
|
318
|
+
}
|
319
|
+
|
320
|
+
function getRequestForRisk(RiskId riskId) public view returns (RequestId requestId) { return _requests[riskId]; }
|
385
321
|
function decodeFlightRiskData(bytes memory data) public pure returns (FlightRisk memory) { return abi.decode(data, (FlightRisk)); }
|
386
322
|
|
387
323
|
//--- internal functions ------------------------------------------------//
|
@@ -408,6 +344,70 @@ contract FlightProduct is
|
|
408
344
|
}
|
409
345
|
|
410
346
|
|
347
|
+
function _createPolicy(
|
348
|
+
address policyHolder,
|
349
|
+
Str flightData,
|
350
|
+
Timestamp departureTime,
|
351
|
+
string memory departureTimeLocal,
|
352
|
+
Timestamp arrivalTime,
|
353
|
+
string memory arrivalTimeLocal,
|
354
|
+
Amount premiumAmount,
|
355
|
+
uint256[6] memory statistics
|
356
|
+
)
|
357
|
+
internal
|
358
|
+
virtual
|
359
|
+
returns (
|
360
|
+
RiskId riskId,
|
361
|
+
NftId policyNftId
|
362
|
+
)
|
363
|
+
{
|
364
|
+
// checks
|
365
|
+
// disabled for now - using rbac for security
|
366
|
+
FlightLib.checkApplicationData(
|
367
|
+
this,
|
368
|
+
flightData,
|
369
|
+
departureTime,
|
370
|
+
arrivalTime,
|
371
|
+
premiumAmount);
|
372
|
+
|
373
|
+
(riskId, policyNftId) = _prepareApplication(
|
374
|
+
policyHolder,
|
375
|
+
flightData,
|
376
|
+
departureTime,
|
377
|
+
departureTimeLocal,
|
378
|
+
arrivalTime,
|
379
|
+
arrivalTimeLocal,
|
380
|
+
premiumAmount,
|
381
|
+
statistics);
|
382
|
+
|
383
|
+
_createPolicy(
|
384
|
+
policyNftId,
|
385
|
+
TimestampLib.zero(), // do not ativate yet
|
386
|
+
premiumAmount); // max premium amount
|
387
|
+
|
388
|
+
// interactions (token transfer + callback to token holder, if contract)
|
389
|
+
_collectPremium(
|
390
|
+
policyNftId,
|
391
|
+
departureTime); // activate at scheduled departure time of flight
|
392
|
+
|
393
|
+
// send oracle request for for new risk to obtain flight status (interacts with flight oracle contract)
|
394
|
+
if (_requests[riskId].eqz()) {
|
395
|
+
_requests[riskId] = _sendRequest(
|
396
|
+
_oracleNftId,
|
397
|
+
abi.encode(
|
398
|
+
FlightOracle.FlightStatusRequest(
|
399
|
+
riskId,
|
400
|
+
flightData,
|
401
|
+
departureTime)),
|
402
|
+
// allow up to 30 days to process the claim
|
403
|
+
arrivalTime.addSeconds(SecondsLib.fromDays(30)),
|
404
|
+
"flightStatusCallback");
|
405
|
+
}
|
406
|
+
|
407
|
+
emit LogFlightPolicyPurchased(policyNftId, flightData.toString(), premiumAmount);
|
408
|
+
}
|
409
|
+
|
410
|
+
|
411
411
|
function _prepareApplication(
|
412
412
|
address policyHolder,
|
413
413
|
Str flightData,
|
@@ -508,26 +508,28 @@ contract FlightProduct is
|
|
508
508
|
returns (RiskId riskId)
|
509
509
|
{
|
510
510
|
bool exists;
|
511
|
-
FlightRisk memory flightRisk
|
512
|
-
(riskId, exists, flightRisk) = FlightLib.getFlightRisk(
|
513
|
-
_getInstanceReader(),
|
514
|
-
getNftId(),
|
511
|
+
FlightRisk memory flightRisk = FlightLib.getFlightRisk(
|
515
512
|
flightData,
|
516
513
|
departureTime,
|
517
514
|
departureTimeLocal,
|
518
515
|
arrivalTime,
|
519
516
|
arrivalTimeLocal);
|
520
517
|
|
518
|
+
bytes32 riskKey = FlightLib.getRiskKey(flightData);
|
519
|
+
exists = _risks[riskKey].gtz();
|
520
|
+
|
521
521
|
// create risk, if new
|
522
522
|
if (!exists) {
|
523
|
-
|
524
|
-
|
523
|
+
riskId = _createRisk(abi.encode(flightRisk));
|
524
|
+
_risks[riskKey] = riskId;
|
525
|
+
} else {
|
526
|
+
riskId = _risks[riskKey];
|
525
527
|
}
|
526
528
|
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
529
|
+
FlightLib.checkClusterRisk(
|
530
|
+
flightRisk.sumOfSumInsuredAmounts,
|
531
|
+
sumInsuredAmount,
|
532
|
+
MAX_TOTAL_PAYOUT);
|
531
533
|
|
532
534
|
// update existing risk with additional sum insured amount
|
533
535
|
flightRisk.sumOfSumInsuredAmounts = flightRisk.sumOfSumInsuredAmounts + sumInsuredAmount;
|
@@ -539,40 +541,28 @@ contract FlightProduct is
|
|
539
541
|
RequestId requestId,
|
540
542
|
RiskId riskId,
|
541
543
|
bytes1 status,
|
542
|
-
int256 delayMinutes
|
543
|
-
uint8 maxPoliciesToProcess
|
544
|
+
int256 delayMinutes
|
544
545
|
)
|
545
546
|
internal
|
546
547
|
virtual
|
547
548
|
{
|
548
549
|
// check risk exists
|
549
|
-
|
550
|
-
(
|
551
|
-
bool exists,
|
552
|
-
FlightRisk memory flightRisk
|
553
|
-
) = FlightLib.getFlightRisk(reader, getNftId(), riskId);
|
550
|
+
(, FlightRisk memory flightRisk) = getFlightRisk(riskId, true);
|
554
551
|
|
555
|
-
if
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
flightRisk.payoutOption = FlightLib.checkAndGetPayoutOption(
|
565
|
-
requestId, riskId, status, delayMinutes);
|
566
|
-
flightRisk.statusUpdatedAt = TimestampLib.current();
|
567
|
-
|
568
|
-
_updateRisk(riskId, abi.encode(flightRisk));
|
569
|
-
}
|
570
|
-
// TODO revert in else case?
|
552
|
+
// update status, if not yet set
|
553
|
+
if (flightRisk.statusUpdatedAt.eqz()) {
|
554
|
+
flightRisk.statusUpdatedAt = TimestampLib.current();
|
555
|
+
flightRisk.status = status;
|
556
|
+
flightRisk.delayMinutes = delayMinutes;
|
557
|
+
flightRisk.payoutOption = FlightLib.checkAndGetPayoutOption(
|
558
|
+
requestId, riskId, status, delayMinutes);
|
559
|
+
|
560
|
+
_updateRisk(riskId, abi.encode(flightRisk));
|
571
561
|
}
|
572
562
|
|
573
563
|
(,, uint8 payoutOption) = _processPayoutsAndClosePolicies(
|
574
564
|
riskId,
|
575
|
-
|
565
|
+
MAX_POLICIES_TO_PROCESS);
|
576
566
|
|
577
567
|
// logging
|
578
568
|
emit LogFlightStatusProcessed(requestId, riskId, status, delayMinutes, payoutOption);
|
@@ -603,25 +593,29 @@ contract FlightProduct is
|
|
603
593
|
uint256 policiesToProcess = reader.policiesForRisk(riskId);
|
604
594
|
uint256 policiesProcessed = policiesToProcess < maxPoliciesToProcess ? policiesToProcess : maxPoliciesToProcess;
|
605
595
|
|
606
|
-
//
|
596
|
+
// assemble array with policies to process
|
597
|
+
NftId [] memory policies = new NftId[](policiesProcessed);
|
607
598
|
for (uint256 i = 0; i < policiesProcessed; i++) {
|
608
|
-
|
599
|
+
policies[i] = reader.getPolicyForRisk(riskId, i);
|
600
|
+
}
|
609
601
|
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
602
|
+
// go through policies
|
603
|
+
for (uint256 i = 0; i < policiesProcessed; i++) {
|
604
|
+
NftId policyNftId = policies[i];
|
605
|
+
Amount payoutAmount = FlightLib.getPayoutAmount(
|
606
|
+
reader.getPolicyInfo(policyNftId).applicationData,
|
607
|
+
payoutOption);
|
614
608
|
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
payoutOption));
|
620
|
-
}
|
609
|
+
// create claim/payout (if applicable)
|
610
|
+
_resolvePayout(
|
611
|
+
policyNftId,
|
612
|
+
payoutAmount);
|
621
613
|
|
622
614
|
// expire and close policy
|
623
615
|
_expire(policyNftId, TimestampLib.current());
|
624
616
|
_close(policyNftId);
|
617
|
+
|
618
|
+
emit LogFlightPolicyClosed(policyNftId, payoutAmount);
|
625
619
|
}
|
626
620
|
|
627
621
|
// logging
|
@@ -636,6 +630,11 @@ contract FlightProduct is
|
|
636
630
|
internal
|
637
631
|
virtual
|
638
632
|
{
|
633
|
+
// no action if no payout
|
634
|
+
if (payoutAmount.eqz()) {
|
635
|
+
return;
|
636
|
+
}
|
637
|
+
|
639
638
|
// create confirmed claim
|
640
639
|
ClaimId claimId = _submitClaim(policyNftId, payoutAmount, "");
|
641
640
|
_confirmClaim(policyNftId, claimId, payoutAmount, "");
|
@@ -654,7 +653,7 @@ contract FlightProduct is
|
|
654
653
|
address initialOwner
|
655
654
|
)
|
656
655
|
internal
|
657
|
-
initializer
|
656
|
+
initializer()
|
658
657
|
{
|
659
658
|
__Product_init(
|
660
659
|
registry,
|
@@ -681,5 +680,11 @@ contract FlightProduct is
|
|
681
680
|
}),
|
682
681
|
authorization,
|
683
682
|
initialOwner); // number of oracles
|
683
|
+
|
684
|
+
MAX_FLIGHT_DURATION = SecondsLib.fromDays(2);
|
685
|
+
LIFETIME = SecondsLib.fromDays(30);
|
686
|
+
WEIGHT_PATTERN = [0, 0, 0, 30, 50, 50];
|
687
|
+
MIN_OBSERVATIONS = 10;
|
688
|
+
MARGIN_PERCENT = 30;
|
684
689
|
}
|
685
690
|
}
|
@@ -57,9 +57,10 @@ contract FlightProductAuthorization
|
|
57
57
|
|
58
58
|
// authorize public role (additional authz via onlyOwner)
|
59
59
|
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
60
|
-
_authorize(functions, FlightProduct.
|
60
|
+
_authorize(functions, FlightProduct.resendResponse.selector, "resendResponse");
|
61
61
|
_authorize(functions, FlightProduct.processPayoutsAndClosePolicies.selector, "processPayoutsAndClosePolicies");
|
62
|
-
_authorize(functions, FlightProduct.
|
62
|
+
_authorize(functions, FlightProduct.setConstants.selector, "setConstants");
|
63
|
+
_authorize(functions, FlightProduct.setTestMode.selector, "setTestMode");
|
63
64
|
_authorize(functions, FlightProduct.setDefaultBundle.selector, "setDefaultBundle");
|
64
65
|
_authorize(functions, FlightProduct.approveTokenHandler.selector, "approveTokenHandler");
|
65
66
|
_authorize(functions, FlightProduct.setLocked.selector, "setLocked");
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
5
|
+
import {IVersionable} from "../../upgradeability/IVersionable.sol";
|
6
|
+
|
7
|
+
import {NftId} from "../../type/NftId.sol";
|
8
|
+
import {ProxyManager} from "../../upgradeability/ProxyManager.sol";
|
9
|
+
import {FlightProduct} from "./FlightProduct.sol";
|
10
|
+
|
11
|
+
|
12
|
+
contract FlightProductManager is ProxyManager {
|
13
|
+
|
14
|
+
FlightProduct private _flightProduct;
|
15
|
+
bytes32 private _salt = "0x1234";
|
16
|
+
|
17
|
+
/// @dev initializes proxy manager with flight product implementation
|
18
|
+
constructor(
|
19
|
+
address registry,
|
20
|
+
NftId instanceNftId,
|
21
|
+
string memory componentName,
|
22
|
+
IAuthorization authorization
|
23
|
+
)
|
24
|
+
{
|
25
|
+
// FlightProduct prd = new FlightProduct{salt: _salt}();
|
26
|
+
// bytes memory data = abi.encode(
|
27
|
+
// registry,
|
28
|
+
// instanceNftId,
|
29
|
+
// componentName,
|
30
|
+
// authorization);
|
31
|
+
|
32
|
+
// IVersionable versionable = initialize(
|
33
|
+
// registry,
|
34
|
+
// address(prd),
|
35
|
+
// data,
|
36
|
+
// _salt);
|
37
|
+
|
38
|
+
// _flightProduct = FlightProduct(address(versionable));
|
39
|
+
}
|
40
|
+
|
41
|
+
//--- view functions ----------------------------------------------------//
|
42
|
+
function getFlightProduct()
|
43
|
+
external
|
44
|
+
view
|
45
|
+
returns (FlightProduct flightProduct)
|
46
|
+
{
|
47
|
+
return _flightProduct;
|
48
|
+
}
|
49
|
+
}
|
@@ -81,13 +81,9 @@ contract SimpleProduct is
|
|
81
81
|
|
82
82
|
|
83
83
|
function createRisk(
|
84
|
-
string memory id,
|
85
84
|
bytes memory data
|
86
85
|
) public returns (RiskId) {
|
87
|
-
return _createRisk(
|
88
|
-
bytes32(abi.encodePacked(id)),
|
89
|
-
data
|
90
|
-
);
|
86
|
+
return _createRisk(data);
|
91
87
|
}
|
92
88
|
|
93
89
|
function updateRisk(
|
@@ -42,6 +42,8 @@ abstract contract BaseStore is
|
|
42
42
|
metadata.objectType = objectType;
|
43
43
|
metadata.state = initialState;
|
44
44
|
metadata.updatedIn = blocknumber;
|
45
|
+
|
46
|
+
emit LogBaseStoreMetadataCreated(key32, objectType, initialState);
|
45
47
|
}
|
46
48
|
|
47
49
|
function _updateState(
|
@@ -73,6 +75,8 @@ abstract contract BaseStore is
|
|
73
75
|
|
74
76
|
// update metadata
|
75
77
|
metadata.updatedIn = BlocknumberLib.current();
|
78
|
+
|
79
|
+
emit LogBaseStoreMetadataUpdated(key32, oldState, state);
|
76
80
|
}
|
77
81
|
|
78
82
|
function exists(Key32 key32) public view returns (bool) {
|