@etherisc/gif-next 3.0.0-db9ffbc-172 → 3.0.0-eb61cc5-192
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/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +2 -2
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- 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 +55 -34
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +2 -2
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +2 -2
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- 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/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
- 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/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- 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/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +51 -26
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +14 -14
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +25 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +25 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- 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 +73 -48
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +25 -25
- 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 +2 -2
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +28 -8
- package/contracts/examples/flight/FlightOracleAuthorization.sol +5 -1
- package/contracts/examples/flight/FlightPool.sol +1 -1
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/shared/ComponentService.sol +5 -0
- package/contracts/shared/IComponentService.sol +1 -0
- package/contracts/staking/IStaking.sol +2 -0
- package/contracts/staking/Staking.sol +1 -0
- package/package.json +1 -1
@@ -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
|
+
}
|
@@ -101,17 +101,19 @@ contract FlightOracle is
|
|
101
101
|
_respond(requestId, responseData);
|
102
102
|
|
103
103
|
// TODO decide if the code below should be moved to GIF
|
104
|
-
|
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
|
-
}
|
104
|
+
_updateRequestState(requestId);
|
112
105
|
}
|
113
106
|
|
114
107
|
|
108
|
+
function updateRequestState(
|
109
|
+
RequestId requestId
|
110
|
+
)
|
111
|
+
external
|
112
|
+
restricted()
|
113
|
+
{
|
114
|
+
_updateRequestState(requestId);
|
115
|
+
}
|
116
|
+
|
115
117
|
//--- view functions ----------------------------------------------------//
|
116
118
|
|
117
119
|
// TODO decide if the code below should be moved to GIF
|
@@ -172,6 +174,24 @@ contract FlightOracle is
|
|
172
174
|
|
173
175
|
//--- internal functions ------------------------------------------------//
|
174
176
|
|
177
|
+
|
178
|
+
// TODO decide if the code below should be moved to GIF
|
179
|
+
// check callback result
|
180
|
+
function _updateRequestState(
|
181
|
+
RequestId requestId
|
182
|
+
)
|
183
|
+
internal
|
184
|
+
{
|
185
|
+
bool requestFulfilled = _getInstanceReader().getRequestState(
|
186
|
+
requestId) == FULFILLED();
|
187
|
+
|
188
|
+
// remove from active requests when successful
|
189
|
+
if (requestFulfilled && LibRequestIdSet.contains(_activeRequests, requestId)) {
|
190
|
+
LibRequestIdSet.remove(_activeRequests, requestId);
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
|
175
195
|
/// @dev use case specific handling of oracle requests
|
176
196
|
/// for now only log is emitted to verify that request has been received by oracle component
|
177
197
|
function _request(
|
@@ -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,10 @@ 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());
|
54
|
+
_authorize(functions, FlightOracle.updateRequestState.selector, "updateRequestState");
|
51
55
|
}
|
52
56
|
}
|
53
57
|
|
@@ -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()
|
@@ -11,7 +11,7 @@ contract ChainNft is ERC721Enumerable {
|
|
11
11
|
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
12
12
|
|
13
13
|
// constants
|
14
|
-
string public constant NAME = "
|
14
|
+
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
15
15
|
string public constant SYMBOL = "DIPNFT";
|
16
16
|
|
17
17
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
@@ -543,6 +543,11 @@ contract ComponentService is
|
|
543
543
|
address(component), // initially, component is its own wallet
|
544
544
|
token,
|
545
545
|
instanceAdmin.authority());
|
546
|
+
|
547
|
+
emit LogComponentServiceTokenHandlerDeployed(
|
548
|
+
componentNftId,
|
549
|
+
address(componentInfo.tokenHandler),
|
550
|
+
token);
|
546
551
|
|
547
552
|
// register component with instance
|
548
553
|
instanceStore.createComponent(
|
@@ -46,6 +46,7 @@ interface IComponentService is
|
|
46
46
|
error ErrorComponentServiceWalletAllowanceTooSmall(address wallet, address spender, uint256 allowance, uint256 amount);
|
47
47
|
|
48
48
|
event LogComponentServiceComponentLocked(address component, bool locked);
|
49
|
+
event LogComponentServiceTokenHandlerDeployed(NftId componentNftId, address tokenHandler, address token);
|
49
50
|
event LogComponentServiceRegistered(NftId instanceNftId, NftId componentNftId, ObjectType componentType, address component, address token, address initialOwner);
|
50
51
|
event LogComponentServiceWalletAddressChanged(NftId componentNftId, address currentWallet, address newWallet);
|
51
52
|
event LogComponentServiceWalletTokensTransferred(NftId componentNftId, address currentWallet, address newWallet, uint256 currentBalance);
|
@@ -25,6 +25,8 @@ interface IStaking is
|
|
25
25
|
IVersionable
|
26
26
|
{
|
27
27
|
|
28
|
+
event LogStakingTokenHandlerDeployed(NftId componentNftId, address tokenHandler, address token);
|
29
|
+
|
28
30
|
// owner functions
|
29
31
|
event LogStakingStakingRateSet(ChainId chainId, address token, UFixed newStakingRate, UFixed oldStakingRate, Blocknumber lastUpdateIn);
|
30
32
|
event LogStakingStakingServiceSet(address stakingService, VersionPart release, address oldStakingService);
|
package/package.json
CHANGED