@etherisc/gif-next 3.0.0-10753eb-998 → 3.0.0-1607827-716
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +12 -12
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +42 -42
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +2 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
- 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 +2 -2
- 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/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 +2 -2
- 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/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +99 -99
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +59 -59
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +7 -7
- 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/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +13 -13
- 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 +66 -66
- 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/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +41 -101
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +7 -7
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +57 -102
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +13 -13
- 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 +85 -69
- 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 +1 -1
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +20 -20
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +2 -2
- 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 +102 -19
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +21 -21
- 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 +38 -43
- 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/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +52 -65
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +14 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +26 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +31 -13
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +76 -76
- 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 +127 -44
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +46 -20
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +39 -39
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +58 -58
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +74 -65
- 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 +83 -96
- 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/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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +98 -15
- 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 +83 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +39 -39
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +48 -48
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1 -1
- 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 +73 -80
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +60 -60
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +15 -22
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +10 -10
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +78 -78
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +61 -61
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +29 -29
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +42 -42
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +2 -2
- 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 +65 -65
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +65 -65
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +7 -7
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +3 -3
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +6 -6
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +2 -2
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +2 -2
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +16 -34
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +66 -66
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +7 -7
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +58 -58
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +40 -40
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +49 -49
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +2 -2
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +42 -76
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +39 -47
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +56 -6
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +16 -16
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- 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 +114 -58
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +35 -35
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +88 -95
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +10 -10
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +68 -68
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +59 -59
- 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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +10 -10
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- 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/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- 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/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- 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/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- 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/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/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +35 -35
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +10 -16
- 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 +71 -71
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +51 -51
- 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 +30 -36
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +38 -38
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +198 -198
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +9 -9
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- 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/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- 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 +20 -20
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/IAccountingService.sol +2 -2
- package/contracts/distribution/IDistributionService.sol +5 -5
- 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 +11 -39
- package/contracts/examples/flight/FlightOracle.sol +1 -98
- package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
- package/contracts/examples/flight/FlightProduct.sol +11 -8
- package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +1 -5
- package/contracts/instance/BundleSet.sol +3 -4
- package/contracts/instance/IInstance.sol +4 -1
- package/contracts/instance/IInstanceService.sol +6 -1
- 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 +36 -3
- package/contracts/instance/InstanceService.sol +61 -37
- package/contracts/instance/ProductStore.sol +2 -1
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/RiskSet.sol +3 -4
- 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/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +1 -1
- package/contracts/oracle/Oracle.sol +49 -25
- package/contracts/oracle/OracleService.sol +26 -23
- package/contracts/pool/BundleService.sol +2 -2
- package/contracts/pool/IBundleService.sol +8 -9
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +7 -7
- package/contracts/product/IClaimService.sol +3 -3
- package/contracts/product/IPolicyService.sol +5 -5
- package/contracts/product/IRiskService.sol +1 -3
- package/contracts/product/Product.sol +1 -5
- package/contracts/product/RiskService.sol +3 -8
- package/contracts/registry/ChainNft.sol +8 -7
- package/contracts/registry/IRegistry.sol +9 -8
- package/contracts/registry/Registry.sol +11 -10
- package/contracts/registry/ReleaseRegistry.sol +5 -6
- package/contracts/registry/TokenRegistry.sol +1 -1
- package/contracts/shared/IComponentService.sol +6 -6
- package/contracts/shared/InstanceLinkedComponent.sol +1 -1
- package/contracts/staking/IStaking.sol +23 -23
- package/contracts/staking/IStakingService.sol +5 -5
- package/contracts/staking/StakingService.sol +2 -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 +1 -1
@@ -0,0 +1,69 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccess} from "../../../contracts/authorization/IAccess.sol";
|
5
|
+
|
6
|
+
import {AccessAdminLib} from "../../authorization/AccessAdminLib.sol";
|
7
|
+
import {BasicProductAuthorization} from "../../product/BasicProductAuthorization.sol";
|
8
|
+
import {CropProduct} from "./CropProduct.sol";
|
9
|
+
import {RoleId, ADMIN_ROLE, PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
10
|
+
|
11
|
+
|
12
|
+
contract CropProductAuthorization
|
13
|
+
is BasicProductAuthorization
|
14
|
+
{
|
15
|
+
|
16
|
+
uint64 public constant PRODUCT_OPERATOR_ROLE_IDX = 1; // 1st custom role for flight product
|
17
|
+
string public constant PRODUCT_OPERATOR_ROLE_NAME = "ProductOperatorRole";
|
18
|
+
// solhint-disable-next-line var-name-mixedcase
|
19
|
+
RoleId public PRODUCT_OPERATOR_ROLE;
|
20
|
+
|
21
|
+
|
22
|
+
constructor(string memory productName)
|
23
|
+
BasicProductAuthorization(productName)
|
24
|
+
{ }
|
25
|
+
|
26
|
+
|
27
|
+
function _setupRoles()
|
28
|
+
internal
|
29
|
+
override
|
30
|
+
{
|
31
|
+
PRODUCT_OPERATOR_ROLE = AccessAdminLib.getCustomRoleId(PRODUCT_OPERATOR_ROLE_IDX);
|
32
|
+
|
33
|
+
_addRole(
|
34
|
+
PRODUCT_OPERATOR_ROLE,
|
35
|
+
AccessAdminLib.roleInfo(
|
36
|
+
ADMIN_ROLE(),
|
37
|
+
TargetType.Custom,
|
38
|
+
100, // max member count
|
39
|
+
PRODUCT_OPERATOR_ROLE_NAME));
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
function _setupTargetAuthorizations()
|
44
|
+
internal
|
45
|
+
virtual override
|
46
|
+
{
|
47
|
+
super._setupTargetAuthorizations();
|
48
|
+
IAccess.FunctionInfo[] storage functions;
|
49
|
+
|
50
|
+
// authorize product operator role
|
51
|
+
functions = _authorizeForTarget(getMainTargetName(), PRODUCT_OPERATOR_ROLE);
|
52
|
+
_authorize(functions, CropProduct.createSeason.selector, "createSeason");
|
53
|
+
_authorize(functions, CropProduct.createLocation.selector, "createLocation");
|
54
|
+
_authorize(functions, CropProduct.createCrop.selector, "createCrop");
|
55
|
+
_authorize(functions, CropProduct.createRisk.selector, "createRisk");
|
56
|
+
_authorize(functions, CropProduct.createPolicy.selector, "createPolicy");
|
57
|
+
_authorize(functions, CropProduct.updatePayoutFactor.selector, "updatePayoutFactor");
|
58
|
+
_authorize(functions, CropProduct.processPolicy.selector, "processPolicy");
|
59
|
+
|
60
|
+
// authorize public role (additional authz via onlyOwner)
|
61
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
62
|
+
_authorize(functions, CropProduct.setDefaultBundle.selector, "setDefaultBundle");
|
63
|
+
_authorize(functions, CropProduct.setConstants.selector, "setConstants");
|
64
|
+
_authorize(functions, CropProduct.approveTokenHandler.selector, "approveTokenHandler");
|
65
|
+
_authorize(functions, CropProduct.setLocked.selector, "setLocked");
|
66
|
+
_authorize(functions, CropProduct.setWallet.selector, "setWallet");
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
type Location is uint64;
|
5
|
+
|
6
|
+
using {
|
7
|
+
LocationLib.latitude,
|
8
|
+
LocationLib.longitude
|
9
|
+
} for Location global;
|
10
|
+
|
11
|
+
library LocationLib {
|
12
|
+
|
13
|
+
error ErrorLatitudeInvalid(int32 amount);
|
14
|
+
error ErrorLongitudeInvalid(int32 amount);
|
15
|
+
|
16
|
+
int32 public constant LATITUDE_MIN = -90000000;
|
17
|
+
int32 public constant LATITUDE_MAX = 90000000;
|
18
|
+
int32 public constant LONGITUDE_MIN = -180000000;
|
19
|
+
int32 public constant LONGITUDE_MAX = 180000000;
|
20
|
+
|
21
|
+
// Constants for bit manipulation
|
22
|
+
int64 public constant LATITUDE_MASK = int64(0x7FFFFFF);
|
23
|
+
int64 public constant LONGITUDE_MASK = int64(0xFFFFFFF);
|
24
|
+
|
25
|
+
function zero() public pure returns (Location) {
|
26
|
+
return Location.wrap(0);
|
27
|
+
}
|
28
|
+
|
29
|
+
function toLocation(int32 latitude, int32 longitude) public pure returns (Location) {
|
30
|
+
if (latitude < LATITUDE_MIN || latitude > LATITUDE_MAX) revert ErrorLatitudeInvalid(latitude);
|
31
|
+
if (longitude < LONGITUDE_MIN || longitude > LONGITUDE_MAX) revert ErrorLongitudeInvalid(longitude);
|
32
|
+
|
33
|
+
uint32 latPacked = uint32(latitude);
|
34
|
+
uint32 longPacked = uint32(longitude);
|
35
|
+
// uint64 packed = (uint64(latPacked) << 32) | uint64(longPacked);
|
36
|
+
return Location.wrap((uint64(latPacked) << 32) | uint64(longPacked));
|
37
|
+
}
|
38
|
+
|
39
|
+
function latitude(Location location) public pure returns (int32) {
|
40
|
+
return int32(uint32(Location.unwrap(location) >> 32));
|
41
|
+
}
|
42
|
+
|
43
|
+
function longitude(Location location) public pure returns (int32) {
|
44
|
+
return int32(uint32(Location.unwrap(location) & 0xFFFFFFFF));
|
45
|
+
}
|
46
|
+
|
47
|
+
function decimals() public pure returns (uint8) {
|
48
|
+
return uint8(6);
|
49
|
+
}
|
50
|
+
}
|
@@ -243,8 +243,6 @@ library FlightLib {
|
|
243
243
|
|
244
244
|
|
245
245
|
function getFlightRisk(
|
246
|
-
InstanceReader reader,
|
247
|
-
NftId productNftId,
|
248
246
|
Str flightData,
|
249
247
|
Timestamp departureTime,
|
250
248
|
string memory departureTimeLocal,
|
@@ -254,28 +252,20 @@ library FlightLib {
|
|
254
252
|
public
|
255
253
|
view
|
256
254
|
returns (
|
257
|
-
RiskId riskId,
|
258
|
-
bool exists,
|
259
255
|
FlightProduct.FlightRisk memory flightRisk
|
260
256
|
)
|
261
257
|
{
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
sumOfSumInsuredAmounts: AmountLib.toAmount(0),
|
274
|
-
status: bytes1(0),
|
275
|
-
delayMinutes: 0,
|
276
|
-
payoutOption: uint8(0),
|
277
|
-
statusUpdatedAt: TimestampLib.zero()});
|
278
|
-
}
|
258
|
+
flightRisk = FlightProduct.FlightRisk({
|
259
|
+
flightData: flightData,
|
260
|
+
departureTime: departureTime,
|
261
|
+
departureTimeLocal: departureTimeLocal,
|
262
|
+
arrivalTime: arrivalTime,
|
263
|
+
arrivalTimeLocal: arrivalTimeLocal,
|
264
|
+
sumOfSumInsuredAmounts: AmountLib.toAmount(0),
|
265
|
+
status: bytes1(0),
|
266
|
+
delayMinutes: 0,
|
267
|
+
payoutOption: uint8(0),
|
268
|
+
statusUpdatedAt: TimestampLib.zero()});
|
279
269
|
}
|
280
270
|
|
281
271
|
|
@@ -306,20 +296,6 @@ library FlightLib {
|
|
306
296
|
}
|
307
297
|
}
|
308
298
|
|
309
|
-
|
310
|
-
function getRiskId(
|
311
|
-
NftId productNftId,
|
312
|
-
Str flightData
|
313
|
-
)
|
314
|
-
public
|
315
|
-
view
|
316
|
-
returns (RiskId riskId)
|
317
|
-
{
|
318
|
-
bytes32 riskKey = getRiskKey(flightData);
|
319
|
-
riskId = getRiskId(productNftId, riskKey);
|
320
|
-
}
|
321
|
-
|
322
|
-
|
323
299
|
function getRiskKey(
|
324
300
|
Str flightData
|
325
301
|
)
|
@@ -330,8 +306,4 @@ library FlightLib {
|
|
330
306
|
return keccak256(abi.encode(flightData));
|
331
307
|
}
|
332
308
|
|
333
|
-
|
334
|
-
function getRiskId(NftId productNftId, bytes32 riskKey) internal view returns (RiskId riskId) {
|
335
|
-
return RiskIdLib.toRiskId(productNftId, riskKey);
|
336
|
-
}
|
337
309
|
}
|
@@ -3,11 +3,10 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
5
5
|
|
6
|
-
import {ACTIVE,
|
6
|
+
import {ACTIVE, FAILED} from "../../type/StateId.sol";
|
7
7
|
import {NftId} from "../../type/NftId.sol";
|
8
8
|
import {BasicOracle} from "../../oracle/BasicOracle.sol";
|
9
9
|
import {RequestId} from "../../type/RequestId.sol";
|
10
|
-
import {LibRequestIdSet} from "../../type/RequestIdSet.sol";
|
11
10
|
import {RiskId} from "../../type/RiskId.sol";
|
12
11
|
import {StateId} from "../../type/StateId.sol";
|
13
12
|
import {Str} from "../../type/String.sol";
|
@@ -33,9 +32,6 @@ contract FlightOracle is
|
|
33
32
|
event LogFlightOracleResponseSent(RequestId requestId, bytes1 status, int256 delay);
|
34
33
|
event LogFlightOracleRequestCancelled(RequestId requestId);
|
35
34
|
|
36
|
-
// TODO decide if this variable should be moved to instance store
|
37
|
-
// if so it need to manage active requests by requestor nft id
|
38
|
-
LibRequestIdSet.Set internal _activeRequests;
|
39
35
|
|
40
36
|
|
41
37
|
constructor(
|
@@ -99,52 +95,10 @@ contract FlightOracle is
|
|
99
95
|
|
100
96
|
// effects + interaction (via framework to receiving component)
|
101
97
|
_respond(requestId, responseData);
|
102
|
-
|
103
|
-
// TODO decide if the code below should be moved to GIF
|
104
|
-
_updateRequestState(requestId);
|
105
|
-
}
|
106
|
-
|
107
|
-
|
108
|
-
function updateRequestState(
|
109
|
-
RequestId requestId
|
110
|
-
)
|
111
|
-
external
|
112
|
-
restricted()
|
113
|
-
{
|
114
|
-
_updateRequestState(requestId);
|
115
98
|
}
|
116
99
|
|
117
100
|
//--- view functions ----------------------------------------------------//
|
118
101
|
|
119
|
-
// TODO decide if the code below should be moved to GIF
|
120
|
-
function activeRequests()
|
121
|
-
external
|
122
|
-
view
|
123
|
-
returns(uint256 numberOfRequests)
|
124
|
-
{
|
125
|
-
return LibRequestIdSet.size(_activeRequests);
|
126
|
-
}
|
127
|
-
|
128
|
-
|
129
|
-
// TODO decide if the code below should be moved to GIF
|
130
|
-
function getActiveRequest(uint256 idx)
|
131
|
-
external
|
132
|
-
view
|
133
|
-
returns(RequestId requestId)
|
134
|
-
{
|
135
|
-
return LibRequestIdSet.getElementAt(_activeRequests, idx);
|
136
|
-
}
|
137
|
-
|
138
|
-
|
139
|
-
function isActiveRequest(RequestId requestId)
|
140
|
-
external
|
141
|
-
view
|
142
|
-
returns(bool isActive)
|
143
|
-
{
|
144
|
-
return LibRequestIdSet.contains(_activeRequests, requestId);
|
145
|
-
}
|
146
|
-
|
147
|
-
|
148
102
|
function getRequestState(RequestId requestId)
|
149
103
|
external
|
150
104
|
view
|
@@ -172,55 +126,4 @@ contract FlightOracle is
|
|
172
126
|
return abi.decode(data, (FlightStatusRequest));
|
173
127
|
}
|
174
128
|
|
175
|
-
//--- internal functions ------------------------------------------------//
|
176
|
-
|
177
|
-
|
178
|
-
// TODO decide if the code below should be moved to GIF
|
179
|
-
// check callback result
|
180
|
-
function _updateRequestState(
|
181
|
-
RequestId requestId
|
182
|
-
)
|
183
|
-
internal
|
184
|
-
{
|
185
|
-
bool requestFulfilled = _getInstanceReader().getRequestState(
|
186
|
-
requestId) == FULFILLED();
|
187
|
-
|
188
|
-
// remove from active requests when successful
|
189
|
-
if (requestFulfilled && LibRequestIdSet.contains(_activeRequests, requestId)) {
|
190
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
|
194
|
-
|
195
|
-
/// @dev use case specific handling of oracle requests
|
196
|
-
/// for now only log is emitted to verify that request has been received by oracle component
|
197
|
-
function _request(
|
198
|
-
RequestId requestId,
|
199
|
-
NftId requesterId,
|
200
|
-
bytes calldata requestData,
|
201
|
-
Timestamp expiryAt
|
202
|
-
)
|
203
|
-
internal
|
204
|
-
virtual override
|
205
|
-
{
|
206
|
-
FlightStatusRequest memory request = abi.decode(requestData, (FlightStatusRequest));
|
207
|
-
|
208
|
-
// TODO decide if the line below should be moved to GIF
|
209
|
-
LibRequestIdSet.add(_activeRequests, requestId);
|
210
|
-
emit LogFlightOracleRequestReceived(requestId, requesterId);
|
211
|
-
}
|
212
|
-
|
213
|
-
|
214
|
-
/// @dev use case specific handling of oracle requests
|
215
|
-
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
216
|
-
function _cancel(
|
217
|
-
RequestId requestId
|
218
|
-
)
|
219
|
-
internal
|
220
|
-
virtual override
|
221
|
-
{
|
222
|
-
// TODO decide if the line below should be moved to GIF
|
223
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
224
|
-
emit LogFlightOracleRequestCancelled(requestId);
|
225
|
-
}
|
226
129
|
}
|
@@ -49,9 +49,8 @@ contract FlightOracleAuthorization
|
|
49
49
|
functions = _authorizeForTarget(getMainTargetName(), STATUS_PROVIDER_ROLE);
|
50
50
|
_authorize(functions, FlightOracle.respondWithFlightStatus.selector, "respondWithFlightStatus");
|
51
51
|
|
52
|
-
// authorize public role (additional authz via onlyOwner)
|
53
|
-
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
54
|
-
_authorize(functions, FlightOracle.updateRequestState.selector, "updateRequestState");
|
52
|
+
// // authorize public role (additional authz via onlyOwner)
|
53
|
+
// functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
55
54
|
}
|
56
55
|
}
|
57
56
|
|
@@ -67,6 +67,7 @@ contract FlightProduct is
|
|
67
67
|
bool internal _testMode;
|
68
68
|
|
69
69
|
mapping(RiskId riskId => RequestId requestId) internal _requests;
|
70
|
+
mapping(bytes32 encodedRisk => RiskId) internal _risks;
|
70
71
|
|
71
72
|
// GIF V3 specifics
|
72
73
|
NftId internal _defaultBundleNftId;
|
@@ -216,12 +217,12 @@ contract FlightProduct is
|
|
216
217
|
}
|
217
218
|
|
218
219
|
|
219
|
-
function
|
220
|
+
function resendResponse(RequestId requestId)
|
220
221
|
external
|
221
222
|
virtual
|
222
223
|
restricted()
|
223
224
|
{
|
224
|
-
|
225
|
+
_resendResponse(requestId);
|
225
226
|
}
|
226
227
|
|
227
228
|
|
@@ -507,20 +508,22 @@ contract FlightProduct is
|
|
507
508
|
returns (RiskId riskId)
|
508
509
|
{
|
509
510
|
bool exists;
|
510
|
-
FlightRisk memory flightRisk
|
511
|
-
(riskId, exists, flightRisk) = FlightLib.getFlightRisk(
|
512
|
-
_getInstanceReader(),
|
513
|
-
getNftId(),
|
511
|
+
FlightRisk memory flightRisk = FlightLib.getFlightRisk(
|
514
512
|
flightData,
|
515
513
|
departureTime,
|
516
514
|
departureTimeLocal,
|
517
515
|
arrivalTime,
|
518
516
|
arrivalTimeLocal);
|
519
517
|
|
518
|
+
bytes32 riskKey = FlightLib.getRiskKey(flightData);
|
519
|
+
exists = _risks[riskKey].gtz();
|
520
|
+
|
520
521
|
// create risk, if new
|
521
522
|
if (!exists) {
|
522
|
-
|
523
|
-
|
523
|
+
riskId = _createRisk(abi.encode(flightRisk));
|
524
|
+
_risks[riskKey] = riskId;
|
525
|
+
} else {
|
526
|
+
riskId = _risks[riskKey];
|
524
527
|
}
|
525
528
|
|
526
529
|
FlightLib.checkClusterRisk(
|
@@ -57,7 +57,7 @@ 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
62
|
_authorize(functions, FlightProduct.setConstants.selector, "setConstants");
|
63
63
|
_authorize(functions, FlightProduct.setTestMode.selector, "setTestMode");
|
@@ -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(
|
@@ -18,8 +18,7 @@ contract BundleSet is
|
|
18
18
|
event LogBundleSetPolicyUnlinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
19
19
|
|
20
20
|
event LogBundleSetBundleAdded(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
-
event
|
22
|
-
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
+
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId, bool locked);
|
23
22
|
event LogBundleSetBundleClosed(NftId indexed poolNftId, NftId indexed bundleNftId);
|
24
23
|
|
25
24
|
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
@@ -76,14 +75,14 @@ contract BundleSet is
|
|
76
75
|
function unlock(NftId bundleNftId) external restricted() {
|
77
76
|
NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
|
78
77
|
_activate(poolNftId, _toBundleKey32(bundleNftId));
|
79
|
-
emit
|
78
|
+
emit LogBundleSetBundleLocked(poolNftId, bundleNftId, false);
|
80
79
|
}
|
81
80
|
|
82
81
|
/// @dev locked (deactivated) bundles may not collateralize any new policies
|
83
82
|
function lock(NftId bundleNftId) external restricted() {
|
84
83
|
NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
|
85
84
|
_deactivate(poolNftId, _toBundleKey32(bundleNftId));
|
86
|
-
emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
|
85
|
+
emit LogBundleSetBundleLocked(poolNftId, bundleNftId, true);
|
87
86
|
}
|
88
87
|
|
89
88
|
|
@@ -12,6 +12,7 @@ import {InstanceReader} from "./InstanceReader.sol";
|
|
12
12
|
import {InstanceStore} from "./InstanceStore.sol";
|
13
13
|
import {NftId} from "../type/NftId.sol";
|
14
14
|
import {ProductStore} from "./ProductStore.sol";
|
15
|
+
import {RequestSet} from "./RequestSet.sol";
|
15
16
|
import {RoleId} from "../type/RoleId.sol";
|
16
17
|
import {Seconds} from "../type/Seconds.sol";
|
17
18
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -29,7 +30,7 @@ interface IInstance is
|
|
29
30
|
// target handling
|
30
31
|
event LogInstanceCustomTargetCreated(address indexed target, RoleId indexed targetRoleId, string indexed name);
|
31
32
|
event LogInstanceTargetLocked(address indexed target, bool indexed locked);
|
32
|
-
event LogInstanceCustomTargetFunctionRoleSet(address indexed target, bytes4[]
|
33
|
+
event LogInstanceCustomTargetFunctionRoleSet(address indexed target, bytes4[] selectors, RoleId indexed roleId);
|
33
34
|
|
34
35
|
// modifier is onlyRoleAdmin
|
35
36
|
error ErrorInstanceNotCustomRole(RoleId roleId);
|
@@ -58,6 +59,7 @@ interface IInstance is
|
|
58
59
|
ProductStore productStore;
|
59
60
|
BundleSet bundleSet;
|
60
61
|
RiskSet riskSet;
|
62
|
+
RequestSet requestSet;
|
61
63
|
InstanceReader instanceReader;
|
62
64
|
}
|
63
65
|
|
@@ -149,6 +151,7 @@ interface IInstance is
|
|
149
151
|
function getInstanceReader() external view returns (InstanceReader);
|
150
152
|
function getBundleSet() external view returns (BundleSet);
|
151
153
|
function getRiskSet() external view returns (RiskSet);
|
154
|
+
function getRequestSet() external view returns (RequestSet);
|
152
155
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
153
156
|
function getInstanceStore() external view returns (InstanceStore);
|
154
157
|
function getProductStore() external view returns (ProductStore);
|
@@ -26,6 +26,7 @@ interface IInstanceService is IService {
|
|
26
26
|
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
27
27
|
error ErrorInstanceServiceMasterBundleSetAlreadySet();
|
28
28
|
error ErrorInstanceServiceMasterRiskSetAlreadySet();
|
29
|
+
error ErrorInstanceServiceMasterRequestSetAlreadySet();
|
29
30
|
error ErrorInstanceServiceInstanceAddressZero();
|
30
31
|
|
31
32
|
error ErrorInstanceServiceMasterInstanceReaderNotSet();
|
@@ -38,15 +39,18 @@ interface IInstanceService is IService {
|
|
38
39
|
error ErrorInstanceServiceInstanceReaderZero();
|
39
40
|
error ErrorInstanceServiceBundleSetZero();
|
40
41
|
error ErrorInstanceServiceRiskSetZero();
|
42
|
+
error ErrorInstanceServiceRequestSetZero();
|
41
43
|
error ErrorInstanceServiceInstanceStoreZero();
|
42
44
|
error ErrorInstanceServiceProductStoreZero();
|
43
45
|
|
44
46
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
45
47
|
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
46
48
|
error ErrorInstanceServiceRiskSetAuthorityMismatch();
|
49
|
+
error ErrorInstanceServiceRequestSetAuthorityMismatch();
|
47
50
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
48
51
|
error ErrorInstanceServiceBundleSetInstanceMismatch();
|
49
52
|
error ErrorInstanceServiceRiskSetInstanceMismatch();
|
53
|
+
error ErrorInstanceServiceRequestSetInstanceMismatch();
|
50
54
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
51
55
|
error ErrorInstanceServiceProductStoreAuthorityMismatch();
|
52
56
|
|
@@ -56,10 +60,11 @@ interface IInstanceService is IService {
|
|
56
60
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
57
61
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
58
62
|
|
63
|
+
|
59
64
|
event LogInstanceServiceInstanceLocked(NftId indexed instanceNftId, bool indexed locked);
|
60
65
|
event LogInstanceServiceInstanceCreated(NftId indexed instanceNftId, address indexed instance);
|
61
66
|
event LogInstanceServiceMasterInstanceRegistered(NftId indexed masterInstanceNftId, address indexed masterInstance, address indexed masterInstanceAdmin, address masterAccessManager,
|
62
|
-
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
|
67
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceRequestSet, address masterInstanceStore, address masterProductStore);
|
63
68
|
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
64
69
|
event LogInstanceServiceInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
65
70
|
|
@@ -17,6 +17,7 @@ import {InstanceStore} from "./InstanceStore.sol";
|
|
17
17
|
import {NftId} from "../type/NftId.sol";
|
18
18
|
import {ProductStore} from "./ProductStore.sol";
|
19
19
|
import {Registerable} from "../shared/Registerable.sol";
|
20
|
+
import {RequestSet} from "./RequestSet.sol";
|
20
21
|
import {RoleId} from "../type/RoleId.sol";
|
21
22
|
import {Seconds} from "../type/Seconds.sol";
|
22
23
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -35,6 +36,7 @@ contract Instance is
|
|
35
36
|
InstanceReader internal _instanceReader;
|
36
37
|
BundleSet internal _bundleSet;
|
37
38
|
RiskSet internal _riskSet;
|
39
|
+
RequestSet internal _requestSet;
|
38
40
|
InstanceStore internal _instanceStore;
|
39
41
|
ProductStore internal _productStore;
|
40
42
|
NftId [] internal _products;
|
@@ -88,6 +90,7 @@ contract Instance is
|
|
88
90
|
_productStore = instanceContracts.productStore;
|
89
91
|
_bundleSet = instanceContracts.bundleSet;
|
90
92
|
_riskSet = instanceContracts.riskSet;
|
93
|
+
_requestSet = instanceContracts.requestSet;
|
91
94
|
_instanceReader = instanceContracts.instanceReader;
|
92
95
|
|
93
96
|
// initialize instance supporting contracts
|
@@ -95,6 +98,7 @@ contract Instance is
|
|
95
98
|
_productStore.initialize();
|
96
99
|
_bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
97
100
|
_riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
101
|
+
_requestSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
98
102
|
_instanceReader.initialize();
|
99
103
|
|
100
104
|
_componentService = IComponentService(
|
@@ -333,6 +337,10 @@ contract Instance is
|
|
333
337
|
return _riskSet;
|
334
338
|
}
|
335
339
|
|
340
|
+
function getRequestSet() external view returns (RequestSet) {
|
341
|
+
return _requestSet;
|
342
|
+
}
|
343
|
+
|
336
344
|
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
337
345
|
return _instanceAdmin;
|
338
346
|
}
|
@@ -13,7 +13,7 @@ import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
|
13
13
|
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
14
|
import {Str} from "../type/String.sol";
|
15
15
|
import {VersionPart} from "../type/Version.sol";
|
16
|
-
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
16
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
|
17
17
|
|
18
18
|
|
19
19
|
contract InstanceAdmin is
|
@@ -123,6 +123,7 @@ contract InstanceAdmin is
|
|
123
123
|
_createInstanceTarget(address(_instance.getProductStore()), PRODUCT_STORE_TARGET_NAME);
|
124
124
|
_createInstanceTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
125
125
|
_createInstanceTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
126
|
+
_createInstanceTarget(address(_instance.getRequestSet()), REQUEST_SET_TARGET_NAME);
|
126
127
|
}
|
127
128
|
|
128
129
|
|
@@ -10,9 +10,10 @@ import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION
|
|
10
10
|
import {BundleSet} from "../instance/BundleSet.sol";
|
11
11
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
12
12
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
13
|
-
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
13
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME, REQUEST_SET_TARGET_NAME} from "./TargetNames.sol";
|
14
14
|
import {ProductStore} from "../instance/ProductStore.sol";
|
15
15
|
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
|
+
import {RequestSet} from "../instance/RequestSet.sol";
|
16
17
|
import {RiskSet} from "../instance/RiskSet.sol";
|
17
18
|
|
18
19
|
|
@@ -71,6 +72,7 @@ contract InstanceAuthorizationV3
|
|
71
72
|
_addInstanceTarget(PRODUCT_STORE_TARGET_NAME);
|
72
73
|
_addInstanceTarget(BUNDLE_SET_TARGET_NAME);
|
73
74
|
_addInstanceTarget(RISK_SET_TARGET_NAME);
|
75
|
+
_addInstanceTarget(REQUEST_SET_TARGET_NAME);
|
74
76
|
}
|
75
77
|
|
76
78
|
|
@@ -84,6 +86,18 @@ contract InstanceAuthorizationV3
|
|
84
86
|
_setupProductStoreAuthorization();
|
85
87
|
_setupBundleSetAuthorization();
|
86
88
|
_setUpRiskSetAuthorization();
|
89
|
+
_setUpRequestIdSetAuthorization();
|
90
|
+
}
|
91
|
+
|
92
|
+
function _setUpRequestIdSetAuthorization()
|
93
|
+
internal
|
94
|
+
{
|
95
|
+
IAccess.FunctionInfo[] storage functions;
|
96
|
+
|
97
|
+
// authorize oracle service role
|
98
|
+
functions = _authorizeForTarget(REQUEST_SET_TARGET_NAME, getServiceRole(ORACLE()));
|
99
|
+
_authorize(functions, RequestSet.add.selector, "add");
|
100
|
+
_authorize(functions, RequestSet.remove.selector, "remove");
|
87
101
|
}
|
88
102
|
|
89
103
|
|