@etherisc/gif-next 3.0.0-db9ffbc-172 → 3.0.0-dcde6c5-549
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 +42 -56
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +44 -48
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +14 -20
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +99 -87
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +42 -29
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +75 -63
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +20 -114
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +2 -96
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +187 -114
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -75
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +2 -96
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +113 -40
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +21 -96
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +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 +2 -2
- 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 +59 -158
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +23 -98
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +67 -142
- 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 +22 -22
- 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 +191 -179
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +120 -37
- 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 +2 -2
- 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 +168 -156
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +8 -8
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -37
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +198 -186
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +119 -110
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +19 -19
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +20 -20
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +2 -77
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +329 -113
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +61 -61
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +2 -77
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +2 -77
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +271 -55
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +2 -77
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -2
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +2 -2
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +2 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +2 -77
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -4
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +39 -66
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +22 -49
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +28 -28
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +91 -147
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +15 -221
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +139 -195
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -7
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +53 -53
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +35 -241
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +40 -40
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +220 -220
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +9 -14
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -7
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +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 +10 -8
- package/contracts/authorization/AccessManagerCloneable.sol +4 -0
- package/contracts/authorization/IAccessAdmin.sol +9 -8
- package/contracts/distribution/DistributionService.sol +24 -19
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/crop/AccountingToken.sol +26 -0
- package/contracts/examples/crop/CropPool.sol +89 -0
- package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
- package/contracts/examples/crop/CropProduct.sol +513 -0
- package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
- package/contracts/examples/crop/Location.sol +50 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +1 -78
- package/contracts/examples/flight/FlightOracleAuthorization.sol +4 -1
- package/contracts/examples/flight/FlightPool.sol +1 -1
- package/contracts/examples/flight/FlightProduct.sol +2 -2
- package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +10 -7
- package/contracts/instance/IInstanceService.sol +11 -4
- package/contracts/instance/Instance.sol +8 -0
- package/contracts/instance/InstanceAdmin.sol +2 -1
- package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
- package/contracts/instance/InstanceReader.sol +43 -8
- 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/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +5 -5
- package/contracts/oracle/Oracle.sol +49 -25
- 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/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/RegistryAuthorization.sol +0 -2
- package/contracts/registry/ReleaseAdmin.sol +4 -4
- package/contracts/registry/ReleaseRegistry.sol +7 -8
- package/contracts/registry/TokenRegistry.sol +3 -3
- package/contracts/shared/ComponentService.sol +38 -4
- package/contracts/shared/IComponent.sol +0 -4
- package/contracts/shared/IComponentService.sol +31 -9
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +1 -1
- package/contracts/shared/TokenHandler.sol +5 -5
- package/contracts/staking/IStaking.sol +33 -31
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +5 -4
- package/contracts/staking/StakingService.sol +2 -3
- package/contracts/staking/StakingStore.sol +3 -3
- package/contracts/staking/TargetHandler.sol +2 -2
- package/contracts/type/RequestId.sol +6 -0
- package/contracts/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,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,50 +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
|
-
// check callback result
|
105
|
-
bool requestFulfilled = _getInstanceReader().getRequestState(
|
106
|
-
requestId) == FULFILLED();
|
107
|
-
|
108
|
-
// remove from active requests when successful
|
109
|
-
if (requestFulfilled) {
|
110
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
111
|
-
}
|
112
98
|
}
|
113
99
|
|
114
|
-
|
115
100
|
//--- view functions ----------------------------------------------------//
|
116
101
|
|
117
|
-
// TODO decide if the code below should be moved to GIF
|
118
|
-
function activeRequests()
|
119
|
-
external
|
120
|
-
view
|
121
|
-
returns(uint256 numberOfRequests)
|
122
|
-
{
|
123
|
-
return LibRequestIdSet.size(_activeRequests);
|
124
|
-
}
|
125
|
-
|
126
|
-
|
127
|
-
// TODO decide if the code below should be moved to GIF
|
128
|
-
function getActiveRequest(uint256 idx)
|
129
|
-
external
|
130
|
-
view
|
131
|
-
returns(RequestId requestId)
|
132
|
-
{
|
133
|
-
return LibRequestIdSet.getElementAt(_activeRequests, idx);
|
134
|
-
}
|
135
|
-
|
136
|
-
|
137
|
-
function isActiveRequest(RequestId requestId)
|
138
|
-
external
|
139
|
-
view
|
140
|
-
returns(bool isActive)
|
141
|
-
{
|
142
|
-
return LibRequestIdSet.contains(_activeRequests, requestId);
|
143
|
-
}
|
144
|
-
|
145
|
-
|
146
102
|
function getRequestState(RequestId requestId)
|
147
103
|
external
|
148
104
|
view
|
@@ -170,37 +126,4 @@ contract FlightOracle is
|
|
170
126
|
return abi.decode(data, (FlightStatusRequest));
|
171
127
|
}
|
172
128
|
|
173
|
-
//--- internal functions ------------------------------------------------//
|
174
|
-
|
175
|
-
/// @dev use case specific handling of oracle requests
|
176
|
-
/// for now only log is emitted to verify that request has been received by oracle component
|
177
|
-
function _request(
|
178
|
-
RequestId requestId,
|
179
|
-
NftId requesterId,
|
180
|
-
bytes calldata requestData,
|
181
|
-
Timestamp expiryAt
|
182
|
-
)
|
183
|
-
internal
|
184
|
-
virtual override
|
185
|
-
{
|
186
|
-
FlightStatusRequest memory request = abi.decode(requestData, (FlightStatusRequest));
|
187
|
-
|
188
|
-
// TODO decide if the line below should be moved to GIF
|
189
|
-
LibRequestIdSet.add(_activeRequests, requestId);
|
190
|
-
emit LogFlightOracleRequestReceived(requestId, requesterId);
|
191
|
-
}
|
192
|
-
|
193
|
-
|
194
|
-
/// @dev use case specific handling of oracle requests
|
195
|
-
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
196
|
-
function _cancel(
|
197
|
-
RequestId requestId
|
198
|
-
)
|
199
|
-
internal
|
200
|
-
virtual override
|
201
|
-
{
|
202
|
-
// TODO decide if the line below should be moved to GIF
|
203
|
-
LibRequestIdSet.remove(_activeRequests, requestId);
|
204
|
-
emit LogFlightOracleRequestCancelled(requestId);
|
205
|
-
}
|
206
129
|
}
|
@@ -8,7 +8,7 @@ import {IAccess} from "../../../contracts/authorization/IAccess.sol";
|
|
8
8
|
import {AccessAdminLib} from "../../authorization/AccessAdminLib.sol";
|
9
9
|
import {BasicOracleAuthorization} from "../../oracle/BasicOracleAuthorization.sol";
|
10
10
|
import {FlightOracle} from "./FlightOracle.sol";
|
11
|
-
import {RoleId, ADMIN_ROLE} from "../../../contracts/type/RoleId.sol";
|
11
|
+
import {RoleId, ADMIN_ROLE, PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
12
12
|
|
13
13
|
contract FlightOracleAuthorization
|
14
14
|
is BasicOracleAuthorization
|
@@ -48,6 +48,9 @@ contract FlightOracleAuthorization
|
|
48
48
|
|
49
49
|
functions = _authorizeForTarget(getMainTargetName(), STATUS_PROVIDER_ROLE);
|
50
50
|
_authorize(functions, FlightOracle.respondWithFlightStatus.selector, "respondWithFlightStatus");
|
51
|
+
|
52
|
+
// // authorize public role (additional authz via onlyOwner)
|
53
|
+
// functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
51
54
|
}
|
52
55
|
}
|
53
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()
|
@@ -216,12 +216,12 @@ contract FlightProduct is
|
|
216
216
|
}
|
217
217
|
|
218
218
|
|
219
|
-
function
|
219
|
+
function resendResponse(RequestId requestId)
|
220
220
|
external
|
221
221
|
virtual
|
222
222
|
restricted()
|
223
223
|
{
|
224
|
-
|
224
|
+
_resendResponse(requestId);
|
225
225
|
}
|
226
226
|
|
227
227
|
|
@@ -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");
|
@@ -42,6 +42,8 @@ abstract contract BaseStore is
|
|
42
42
|
metadata.objectType = objectType;
|
43
43
|
metadata.state = initialState;
|
44
44
|
metadata.updatedIn = blocknumber;
|
45
|
+
|
46
|
+
emit LogBaseStoreMetadataCreated(key32, objectType, initialState);
|
45
47
|
}
|
46
48
|
|
47
49
|
function _updateState(
|
@@ -73,6 +75,8 @@ abstract contract BaseStore is
|
|
73
75
|
|
74
76
|
// update metadata
|
75
77
|
metadata.updatedIn = BlocknumberLib.current();
|
78
|
+
|
79
|
+
emit LogBaseStoreMetadataUpdated(key32, oldState, state);
|
76
80
|
}
|
77
81
|
|
78
82
|
function exists(Key32 key32) public view returns (bool) {
|
@@ -14,13 +14,12 @@ contract BundleSet is
|
|
14
14
|
{
|
15
15
|
using LibNftIdSet for LibNftIdSet.Set;
|
16
16
|
|
17
|
-
event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
|
18
|
-
event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
|
17
|
+
event LogBundleSetPolicyLinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
18
|
+
event LogBundleSetPolicyUnlinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
19
19
|
|
20
|
-
event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
|
21
|
-
event
|
22
|
-
event
|
23
|
-
event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
|
20
|
+
event LogBundleSetBundleAdded(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
+
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId, bool locked);
|
22
|
+
event LogBundleSetBundleClosed(NftId indexed poolNftId, NftId indexed bundleNftId);
|
24
23
|
|
25
24
|
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
26
25
|
error ErrorBundleSetBundleLocked(NftId bundleNftId, 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
|
|
@@ -17,6 +17,14 @@ interface IBaseStore is ILifecycle {
|
|
17
17
|
error ErrorBaseStoreStateZero(Key32 key);
|
18
18
|
error ErrorBaseStoreNotExisting(Key32 key);
|
19
19
|
|
20
|
+
event LogBaseStoreMetadataCreated(
|
21
|
+
Key32 indexed key,
|
22
|
+
ObjectType indexed objectType,
|
23
|
+
StateId indexed state);
|
24
|
+
event LogBaseStoreMetadataUpdated(
|
25
|
+
Key32 indexed key,
|
26
|
+
StateId indexed oldState,
|
27
|
+
StateId indexed newState);
|
20
28
|
|
21
29
|
struct Metadata {
|
22
30
|
// slot 0
|
@@ -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";
|
@@ -21,15 +22,15 @@ interface IInstance is
|
|
21
22
|
IRegisterable
|
22
23
|
{
|
23
24
|
// role handling
|
24
|
-
event LogInstanceCustomRoleCreated(RoleId roleId, string roleName, RoleId adminRoleId, uint32 maxMemberCount);
|
25
|
-
event LogInstanceCustomRoleActiveSet(RoleId roleId, bool active, address caller);
|
26
|
-
event LogInstanceCustomRoleGranted(RoleId roleId, address account, address caller);
|
27
|
-
event LogInstanceCustomRoleRevoked(RoleId roleId, address account, address caller);
|
25
|
+
event LogInstanceCustomRoleCreated(RoleId indexed roleId, string indexed roleName, RoleId indexed adminRoleId, uint32 maxMemberCount);
|
26
|
+
event LogInstanceCustomRoleActiveSet(RoleId indexed roleId, bool indexed active, address indexed caller);
|
27
|
+
event LogInstanceCustomRoleGranted(RoleId indexed roleId, address indexed account, address indexed caller);
|
28
|
+
event LogInstanceCustomRoleRevoked(RoleId indexed roleId, address indexed account, address indexed caller);
|
28
29
|
|
29
30
|
// target handling
|
30
|
-
event LogInstanceCustomTargetCreated(address target, RoleId targetRoleId, string name);
|
31
|
-
event LogInstanceTargetLocked(address target, bool locked);
|
32
|
-
event LogInstanceCustomTargetFunctionRoleSet(address target, bytes4[] selectors, RoleId roleId);
|
31
|
+
event LogInstanceCustomTargetCreated(address indexed target, RoleId indexed targetRoleId, string indexed name);
|
32
|
+
event LogInstanceTargetLocked(address indexed target, bool indexed locked);
|
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,13 @@ interface IInstanceService is IService {
|
|
56
60
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
57
61
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
58
62
|
|
59
|
-
|
60
|
-
event
|
61
|
-
event
|
62
|
-
event
|
63
|
+
|
64
|
+
event LogInstanceServiceInstanceLocked(NftId indexed instanceNftId, bool indexed locked);
|
65
|
+
event LogInstanceServiceInstanceCreated(NftId indexed instanceNftId, address indexed instance);
|
66
|
+
event LogInstanceServiceMasterInstanceRegistered(NftId indexed masterInstanceNftId, address indexed masterInstance, address indexed masterInstanceAdmin, address masterAccessManager,
|
67
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceRequestSet, address masterInstanceStore, address masterProductStore);
|
68
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
69
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
63
70
|
|
64
71
|
/// @dev Creates a new custom role for the calling instance.
|
65
72
|
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
@@ -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
|
|