@etherisc/gif-next 3.0.0-61b9ecf-774 → 3.0.0-6580d8b-637
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 +9 -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 +119 -119
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
- 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/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 +49 -129
- 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 +231 -66
- 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 +131 -132
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +82 -35
- 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 +379 -753
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +83 -36
- 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 +25 -100
- 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 +197 -197
- 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 -34
- 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 +141 -91
- 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 +66 -79
- 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 +38 -2
- 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 +55 -43
- 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 +113 -101
- 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 +37 -37
- 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 +2 -77
- 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 +11 -11
- 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 +2 -2
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +2 -77
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +15 -28
- 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 +20 -12
- 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 +34 -34
- 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 +2 -77
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +37 -50
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +42 -42
- 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 +188 -188
- 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 +205 -205
- 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 +122 -119
- 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 +2 -2
- 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 +16 -33
- package/contracts/authorization/AccessAdminLib.sol +18 -1
- 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/flight/FlightLib.sol +85 -74
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +20 -62
- package/contracts/examples/flight/FlightOracleAuthorization.sol +27 -5
- package/contracts/examples/flight/FlightPool.sol +1 -1
- package/contracts/examples/flight/FlightProduct.sol +254 -242
- package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- 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 -2
- package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
- package/contracts/instance/InstanceReader.sol +34 -5
- package/contracts/instance/InstanceService.sol +68 -36
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- 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/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 -5
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/RiskService.sol +2 -2
- package/contracts/registry/ChainNft.sol +10 -9
- package/contracts/registry/IRegistry.sol +11 -10
- package/contracts/registry/Registry.sol +16 -13
- package/contracts/registry/RegistryAdmin.sol +7 -1
- package/contracts/registry/RegistryAuthorization.sol +0 -2
- package/contracts/registry/ReleaseAdmin.sol +12 -5
- 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/upgradeability/ProxyManager.sol +2 -2
- package/package.json +3 -3
@@ -0,0 +1,234 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
|
5
|
+
import {IERC721Metadata} from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
|
6
|
+
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
|
7
|
+
|
8
|
+
import {IPolicy} from "../../instance/module/IPolicy.sol";
|
9
|
+
import {IRegistry} from "../../registry/IRegistry.sol";
|
10
|
+
|
11
|
+
import {Amount} from "../../type/Amount.sol";
|
12
|
+
import {ChainNft} from "../../registry/ChainNft.sol";
|
13
|
+
import {FlightProduct} from "./FlightProduct.sol";
|
14
|
+
import {InstanceReader} from "../../instance/InstanceReader.sol";
|
15
|
+
import {NftId, NftIdLib} from "../../type/NftId.sol";
|
16
|
+
import {RiskId} from "../../type/RiskId.sol";
|
17
|
+
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @title FlightNft
|
21
|
+
* @dev FlightNft provides NFT data for flight delay policies.
|
22
|
+
*/
|
23
|
+
// contract FlightNft is IERC721Metadata {
|
24
|
+
contract FlightNft is
|
25
|
+
ERC721,
|
26
|
+
Ownable
|
27
|
+
{
|
28
|
+
|
29
|
+
error ErrorFlightNftNotMinter();
|
30
|
+
error ErrorFlightNftAlreadyMinted(uint256 tokenId);
|
31
|
+
error ErrorFlightNftNotAvailable(uint256 tokenId);
|
32
|
+
error ErrorFlightNftNotFlightPolicy(uint256 tokenId);
|
33
|
+
|
34
|
+
ChainNft public immutable chainNft;
|
35
|
+
FlightProduct public immutable flightProduct;
|
36
|
+
InstanceReader public immutable instanceReader;
|
37
|
+
IRegistry public registry;
|
38
|
+
|
39
|
+
address public minter;
|
40
|
+
string private _baseUri;
|
41
|
+
|
42
|
+
|
43
|
+
modifier onlyMinter() {
|
44
|
+
if(msg.sender != minter) {
|
45
|
+
revert ErrorFlightNftNotMinter();
|
46
|
+
}
|
47
|
+
_;
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
constructor(
|
52
|
+
address flightProductAddress,
|
53
|
+
string memory nftName,
|
54
|
+
string memory nftSymbol,
|
55
|
+
string memory baseUri
|
56
|
+
)
|
57
|
+
ERC721(nftName, nftSymbol)
|
58
|
+
Ownable(msg.sender)
|
59
|
+
{
|
60
|
+
flightProduct = FlightProduct(flightProductAddress);
|
61
|
+
registry = flightProduct.getRegistry();
|
62
|
+
chainNft = ChainNft(registry.getChainNftAddress());
|
63
|
+
instanceReader = flightProduct.getInstance().getInstanceReader();
|
64
|
+
|
65
|
+
minter = msg.sender;
|
66
|
+
_baseUri = baseUri;
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Set the base URI to the specified value.
|
72
|
+
* Once set, this results in tokenURI() to return <baseUri><tokenId>.
|
73
|
+
*/
|
74
|
+
function setBaseURI(string memory baseUri)
|
75
|
+
public
|
76
|
+
onlyOwner()
|
77
|
+
{
|
78
|
+
_baseUri = baseUri;
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Set the minter address.
|
84
|
+
*/
|
85
|
+
function setMinter(address minterAddress)
|
86
|
+
public
|
87
|
+
onlyOwner()
|
88
|
+
{
|
89
|
+
minter = minterAddress;
|
90
|
+
}
|
91
|
+
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Mints a metadata NFT for the specified chainNft NFT.
|
95
|
+
* Only the minter can mint such NFTs.
|
96
|
+
*/
|
97
|
+
function mint(uint256 tokenId)
|
98
|
+
external
|
99
|
+
onlyMinter()
|
100
|
+
{
|
101
|
+
// verify nft does not yet exist
|
102
|
+
if (_ownerOf(tokenId) != address(0)) {
|
103
|
+
revert ErrorFlightNftAlreadyMinted(tokenId);
|
104
|
+
}
|
105
|
+
|
106
|
+
// verify nft on chainNft exists
|
107
|
+
// also checks if nft exists (ERC721NonexistentToken)
|
108
|
+
address nftOwner = chainNft.ownerOf(tokenId);
|
109
|
+
|
110
|
+
// verify nft is flight delay policy
|
111
|
+
if (registry.getParentNftId(NftIdLib.toNftId(tokenId)) != registry.getNftIdForAddress(address(flightProduct))) {
|
112
|
+
revert ErrorFlightNftNotFlightPolicy(tokenId);
|
113
|
+
}
|
114
|
+
|
115
|
+
_mint(nftOwner, tokenId);
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/**
|
120
|
+
* @dev Return the NFT token URI for the specified token.
|
121
|
+
* No check is performed to ensure the token exists.
|
122
|
+
*/
|
123
|
+
function tokenURI(uint256 tokenId) public view override returns (string memory) {
|
124
|
+
string memory baseURI = _baseURI();
|
125
|
+
return bytes(baseURI).length > 0 ? string.concat(baseURI, toString(tokenId)) : "";
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
/**
|
130
|
+
* @dev Base URI for computing {tokenURI}. If set, the resulting URI for each
|
131
|
+
* token will be the concatenation of the `baseURI` and the `tokenId`. Empty
|
132
|
+
* by default, can be overridden in child contracts.
|
133
|
+
*/
|
134
|
+
function _baseURI() internal override view returns (string memory) {
|
135
|
+
return _baseUri;
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
function approve(address to, uint256 tokenId) public override { _revert(); }
|
140
|
+
function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public override { _revert(); }
|
141
|
+
function setApprovalForAll(address operator, bool approved) public override { _revert(); }
|
142
|
+
function transferFrom(address from, address to, uint256 tokenId) public override { _revert(); }
|
143
|
+
|
144
|
+
function balanceOf(address owner) public override view returns (uint256 balance) {
|
145
|
+
return chainNft.balanceOf(owner);
|
146
|
+
}
|
147
|
+
|
148
|
+
function getApproved(uint256 tokenId) public override view returns (address operator) {
|
149
|
+
return chainNft.getApproved(tokenId);
|
150
|
+
}
|
151
|
+
|
152
|
+
function isApprovedForAll(address owner, address operator) public override view returns (bool) {
|
153
|
+
return chainNft.isApprovedForAll(owner, operator);
|
154
|
+
}
|
155
|
+
|
156
|
+
function ownerOf(uint256 tokenId) public override view returns (address owner) {
|
157
|
+
return chainNft.ownerOf(tokenId);
|
158
|
+
}
|
159
|
+
|
160
|
+
function supportsInterface(bytes4 interfaceId) public override view returns (bool) {
|
161
|
+
return chainNft.supportsInterface(interfaceId);
|
162
|
+
}
|
163
|
+
|
164
|
+
|
165
|
+
function getPolicyData(NftId policyNftId)
|
166
|
+
public
|
167
|
+
view
|
168
|
+
returns (
|
169
|
+
RiskId riskId,
|
170
|
+
string memory flightData,
|
171
|
+
string memory departureTimeLocal,
|
172
|
+
string memory arrivalTimeLocal,
|
173
|
+
Amount premiumAmount,
|
174
|
+
Amount[5] memory payoutAmounts,
|
175
|
+
bytes1 status,
|
176
|
+
int256 delayMinutes
|
177
|
+
)
|
178
|
+
{
|
179
|
+
IPolicy.PolicyInfo memory info = instanceReader.getPolicyInfo(policyNftId);
|
180
|
+
|
181
|
+
// get financial data
|
182
|
+
premiumAmount = info.premiumAmount;
|
183
|
+
|
184
|
+
if (info.applicationData.length > 0) {
|
185
|
+
(, payoutAmounts) = abi.decode(info.applicationData, (Amount, Amount[5]));
|
186
|
+
}
|
187
|
+
|
188
|
+
// get risk data
|
189
|
+
riskId = info.riskId;
|
190
|
+
bytes memory data = instanceReader.getRiskInfo(riskId).data;
|
191
|
+
|
192
|
+
if (data.length > 0) {
|
193
|
+
FlightProduct.FlightRisk memory flightRisk = flightProduct.decodeFlightRiskData(data);
|
194
|
+
flightData = flightRisk.flightData.toString();
|
195
|
+
departureTimeLocal = flightRisk.departureTimeLocal;
|
196
|
+
arrivalTimeLocal = flightRisk.arrivalTimeLocal;
|
197
|
+
status = flightRisk.status;
|
198
|
+
delayMinutes = flightRisk.delayMinutes;
|
199
|
+
}
|
200
|
+
}
|
201
|
+
|
202
|
+
|
203
|
+
function toString(uint256 value) public pure returns (string memory) {
|
204
|
+
if (value == 0) {
|
205
|
+
return "0";
|
206
|
+
}
|
207
|
+
|
208
|
+
uint256 temp = value;
|
209
|
+
uint256 digits = 0;
|
210
|
+
while (temp != 0) {
|
211
|
+
digits++;
|
212
|
+
temp /= 10;
|
213
|
+
}
|
214
|
+
|
215
|
+
bytes memory buffer = new bytes(digits);
|
216
|
+
uint index = digits - 1;
|
217
|
+
|
218
|
+
temp = value;
|
219
|
+
while (temp != 0) {
|
220
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
221
|
+
temp /= 10;
|
222
|
+
|
223
|
+
if (index > 0) {
|
224
|
+
index--;
|
225
|
+
}
|
226
|
+
}
|
227
|
+
|
228
|
+
return string(buffer);
|
229
|
+
}
|
230
|
+
|
231
|
+
function _revert() private pure {
|
232
|
+
revert("FlightNft: Use GIF Chain NFT contract to interact with NFTs. See function getChainNft()");
|
233
|
+
}
|
234
|
+
}
|
@@ -3,14 +3,14 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
5
5
|
|
6
|
-
import {
|
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";
|
11
|
+
import {StateId} from "../../type/StateId.sol";
|
12
12
|
import {Str} from "../../type/String.sol";
|
13
|
-
import {Timestamp} from "../../type/Timestamp.sol";
|
13
|
+
import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
|
14
14
|
|
15
15
|
contract FlightOracle is
|
16
16
|
BasicOracle
|
@@ -32,9 +32,6 @@ contract FlightOracle is
|
|
32
32
|
event LogFlightOracleResponseSent(RequestId requestId, bytes1 status, int256 delay);
|
33
33
|
event LogFlightOracleRequestCancelled(RequestId requestId);
|
34
34
|
|
35
|
-
// TODO decide if this variable should be moved to instance store
|
36
|
-
// if so it need to manage active requests by requestor nft id
|
37
|
-
LibRequestIdSet.Set internal _activeRequests;
|
38
35
|
|
39
36
|
|
40
37
|
constructor(
|
@@ -98,74 +95,35 @@ contract FlightOracle is
|
|
98
95
|
|
99
96
|
// effects + interaction (via framework to receiving component)
|
100
97
|
_respond(requestId, responseData);
|
101
|
-
|
102
|
-
// TODO decide if the code below should be moved to GIF
|
103
|
-
// check callback result
|
104
|
-
bool requestFulfilled = _getInstanceReader().getRequestState(
|
105
|
-
requestId) == FULFILLED();
|
106
|
-
|
107
|
-
// remove from active requests when successful
|
108
|
-
if (requestFulfilled) {
|
109
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
110
|
-
}
|
111
98
|
}
|
112
99
|
|
113
100
|
//--- view functions ----------------------------------------------------//
|
114
101
|
|
115
|
-
|
116
|
-
function activeRequests()
|
102
|
+
function getRequestState(RequestId requestId)
|
117
103
|
external
|
118
104
|
view
|
119
|
-
returns(
|
105
|
+
returns (
|
106
|
+
RiskId riskId,
|
107
|
+
string memory flightData,
|
108
|
+
StateId requestState,
|
109
|
+
bool readyForResponse,
|
110
|
+
bool waitingForResend
|
111
|
+
)
|
120
112
|
{
|
121
|
-
|
113
|
+
bytes memory requestData = _getInstanceReader().getRequestInfo(requestId).requestData;
|
114
|
+
Str fltData;
|
115
|
+
Timestamp departureTime;
|
116
|
+
(riskId, fltData, departureTime) = abi.decode(requestData, (RiskId, Str, Timestamp));
|
117
|
+
|
118
|
+
flightData = fltData.toString();
|
119
|
+
requestState = _getInstanceReader().getRequestState(requestId);
|
120
|
+
readyForResponse = requestState == ACTIVE() && TimestampLib.current() >= departureTime;
|
121
|
+
waitingForResend = requestState == FAILED();
|
122
122
|
}
|
123
123
|
|
124
124
|
|
125
|
-
// TODO decide if the code below should be moved to GIF
|
126
|
-
function getActiveRequest(uint256 idx)
|
127
|
-
external
|
128
|
-
view
|
129
|
-
returns(RequestId requestId)
|
130
|
-
{
|
131
|
-
return LibRequestIdSet.getElementAt(_activeRequests, idx);
|
132
|
-
}
|
133
|
-
|
134
125
|
function decodeFlightStatusRequestData(bytes memory data) external pure returns (FlightStatusRequest memory) {
|
135
126
|
return abi.decode(data, (FlightStatusRequest));
|
136
127
|
}
|
137
128
|
|
138
|
-
//--- internal functions ------------------------------------------------//
|
139
|
-
|
140
|
-
/// @dev use case specific handling of oracle requests
|
141
|
-
/// for now only log is emitted to verify that request has been received by oracle component
|
142
|
-
function _request(
|
143
|
-
RequestId requestId,
|
144
|
-
NftId requesterId,
|
145
|
-
bytes calldata requestData,
|
146
|
-
Timestamp expiryAt
|
147
|
-
)
|
148
|
-
internal
|
149
|
-
virtual override
|
150
|
-
{
|
151
|
-
FlightStatusRequest memory request = abi.decode(requestData, (FlightStatusRequest));
|
152
|
-
|
153
|
-
// TODO decide if the line below should be moved to GIF
|
154
|
-
LibRequestIdSet.add(_activeRequests, requestId);
|
155
|
-
emit LogFlightOracleRequestReceived(requestId, requesterId);
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
|
-
/// @dev use case specific handling of oracle requests
|
160
|
-
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
161
|
-
function _cancel(
|
162
|
-
RequestId requestId
|
163
|
-
)
|
164
|
-
internal
|
165
|
-
virtual override
|
166
|
-
{
|
167
|
-
// TODO decide if the line below should be moved to GIF
|
168
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
169
|
-
emit LogFlightOracleRequestCancelled(requestId);
|
170
|
-
}
|
171
129
|
}
|
@@ -5,17 +5,38 @@ pragma solidity ^0.8.20;
|
|
5
5
|
|
6
6
|
import {IAccess} from "../../../contracts/authorization/IAccess.sol";
|
7
7
|
|
8
|
+
import {AccessAdminLib} from "../../authorization/AccessAdminLib.sol";
|
8
9
|
import {BasicOracleAuthorization} from "../../oracle/BasicOracleAuthorization.sol";
|
9
10
|
import {FlightOracle} from "./FlightOracle.sol";
|
10
|
-
import {PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
11
|
+
import {RoleId, ADMIN_ROLE, PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
11
12
|
|
12
13
|
contract FlightOracleAuthorization
|
13
14
|
is BasicOracleAuthorization
|
14
15
|
{
|
15
16
|
|
17
|
+
uint64 public constant STATUS_PROVIDER_ROLE_IDX = 2; // 2nd custom role for flight oracle
|
18
|
+
string public constant STATUS_PROVIDER_ROLE_NAME = "StatusProviderRole";
|
19
|
+
RoleId public STATUS_PROVIDER_ROLE;
|
20
|
+
|
16
21
|
constructor(string memory oracleName, string memory commitHash)
|
17
22
|
BasicOracleAuthorization(oracleName, commitHash)
|
18
|
-
{}
|
23
|
+
{ }
|
24
|
+
|
25
|
+
|
26
|
+
function _setupRoles()
|
27
|
+
internal
|
28
|
+
override
|
29
|
+
{
|
30
|
+
STATUS_PROVIDER_ROLE = AccessAdminLib.getCustomRoleId(STATUS_PROVIDER_ROLE_IDX);
|
31
|
+
|
32
|
+
_addRole(
|
33
|
+
STATUS_PROVIDER_ROLE,
|
34
|
+
AccessAdminLib.roleInfo(
|
35
|
+
ADMIN_ROLE(),
|
36
|
+
TargetType.Custom,
|
37
|
+
1, // max member count special case: instance nft owner is sole role owner
|
38
|
+
STATUS_PROVIDER_ROLE_NAME));
|
39
|
+
}
|
19
40
|
|
20
41
|
|
21
42
|
function _setupTargetAuthorizations()
|
@@ -25,10 +46,11 @@ contract FlightOracleAuthorization
|
|
25
46
|
super._setupTargetAuthorizations();
|
26
47
|
IAccess.FunctionInfo[] storage functions;
|
27
48
|
|
28
|
-
|
29
|
-
// authorize public role (also protected by onlyOwner)
|
30
|
-
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
49
|
+
functions = _authorizeForTarget(getMainTargetName(), STATUS_PROVIDER_ROLE);
|
31
50
|
_authorize(functions, FlightOracle.respondWithFlightStatus.selector, "respondWithFlightStatus");
|
51
|
+
|
52
|
+
// // authorize public role (additional authz via onlyOwner)
|
53
|
+
// functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
32
54
|
}
|
33
55
|
}
|
34
56
|
|
@@ -35,7 +35,7 @@ contract FlightPool is
|
|
35
35
|
maxBalanceAmount: AmountLib.max(),
|
36
36
|
isInterceptingBundleTransfers: false,
|
37
37
|
isProcessingConfirmedClaims: false,
|
38
|
-
isExternallyManaged:
|
38
|
+
isExternallyManaged: true,
|
39
39
|
isVerifyingApplications: false,
|
40
40
|
collateralizationLevel: UFixedLib.one(),
|
41
41
|
retentionLevel: UFixedLib.one()
|