@etherisc/gif-next 3.0.0-1a70cc3-381 → 3.0.0-1ad7d45-663
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 +14 -14
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +44 -44
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +4 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +20 -20
- 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 -2
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +101 -101
- 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 -2
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +9 -9
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +15 -15
- 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 +20 -20
- 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 +1 -1
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +2 -2
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +57 -102
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +20 -20
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +15 -15
- 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 +45 -45
- 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/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 +26 -26
- 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 +104 -21
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +23 -23
- 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 +14 -14
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +52 -65
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +16 -3
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +28 -2
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +33 -15
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +76 -76
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +119 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +48 -22
- 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 +37 -37
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +11 -11
- 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 +57 -70
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +9 -9
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +100 -17
- 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 +85 -2
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +3 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +86 -3
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +41 -41
- 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 +3 -3
- 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 +75 -82
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +61 -61
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +17 -24
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +3 -3
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +11 -11
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +3 -3
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +63 -63
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +62 -62
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +22 -22
- 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 -2
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +41 -41
- 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 +2 -2
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +5 -5
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +8 -8
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +2 -2
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +2 -2
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +6 -19
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +60 -60
- 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 -2
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +28 -41
- 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 +25 -25
- 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 +124 -68
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +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 +93 -93
- 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 +96 -103
- 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 +20 -20
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +2 -2
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +86 -86
- 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 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +2 -2
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +28 -28
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +2 -2
- 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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +2 -2
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +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 +38 -38
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +21 -21
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +26 -26
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +69 -75
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +12 -18
- 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 +117 -123
- 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 +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 +32 -38
- 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 -9
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +22 -22
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/IAccountingService.sol +2 -2
- package/contracts/distribution/IDistributionService.sol +5 -5
- package/contracts/examples/crop/AccountingToken.sol +26 -0
- package/contracts/examples/crop/CropPool.sol +89 -0
- package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
- package/contracts/examples/crop/CropProduct.sol +513 -0
- package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
- package/contracts/examples/crop/Location.sol +50 -0
- package/contracts/examples/flight/FlightOracle.sol +1 -98
- package/contracts/examples/flight/FlightOracleAuthorization.sol +2 -3
- package/contracts/examples/flight/FlightProduct.sol +2 -2
- package/contracts/examples/flight/FlightProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +3 -4
- package/contracts/instance/IInstance.sol +4 -1
- package/contracts/instance/IInstanceService.sol +6 -1
- package/contracts/instance/Instance.sol +8 -0
- package/contracts/instance/InstanceAdmin.sol +2 -1
- package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
- package/contracts/instance/InstanceReader.sol +36 -3
- package/contracts/instance/InstanceService.sol +61 -37
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/RiskSet.sol +3 -4
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/ObjectSet.sol +9 -1
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +1 -1
- package/contracts/oracle/Oracle.sol +49 -25
- package/contracts/oracle/OracleService.sol +26 -23
- package/contracts/pool/BundleService.sol +2 -2
- package/contracts/pool/IBundleService.sol +8 -9
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +7 -7
- package/contracts/product/IClaimService.sol +3 -3
- package/contracts/product/IPolicyService.sol +5 -5
- package/contracts/product/IRiskService.sol +1 -2
- package/contracts/product/RiskService.sol +2 -2
- package/contracts/registry/ChainNft.sol +9 -8
- package/contracts/registry/IRegistry.sol +11 -10
- package/contracts/registry/Registry.sol +11 -10
- 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 +2 -2
- package/contracts/shared/IComponentService.sol +11 -11
- 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 +32 -32
- package/contracts/staking/IStakingService.sol +5 -5
- package/contracts/staking/Staking.sol +4 -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 +1 -1
@@ -17,8 +17,7 @@ contract RiskSet is
|
|
17
17
|
event LogRiskSetPolicyUnlinked(RiskId indexed riskId, NftId indexed policyNftId);
|
18
18
|
|
19
19
|
event LogRiskSetRiskAdded(NftId indexed productNftId, RiskId indexed riskId);
|
20
|
-
event LogRiskSetRiskActivated(NftId indexed poolNftId, RiskId indexed riskId);
|
21
|
-
event LogRiskSetRiskPaused(NftId indexed poolNftId, RiskId indexed riskId);
|
20
|
+
event LogRiskSetRiskActivated(NftId indexed poolNftId, RiskId indexed riskId, bool indexed active);
|
22
21
|
|
23
22
|
error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
|
24
23
|
error ErrorRiskSetRiskUnknown(RiskId riskId);
|
@@ -68,14 +67,14 @@ contract RiskSet is
|
|
68
67
|
function activate(RiskId riskId) external restricted() {
|
69
68
|
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
70
69
|
_activate(productNftId, riskId.toKey32());
|
71
|
-
emit LogRiskSetRiskActivated(productNftId, riskId);
|
70
|
+
emit LogRiskSetRiskActivated(productNftId, riskId, true);
|
72
71
|
}
|
73
72
|
|
74
73
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
75
74
|
function deactivate(RiskId riskId) external restricted() {
|
76
75
|
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
77
76
|
_deactivate(productNftId, riskId.toKey32());
|
78
|
-
emit
|
77
|
+
emit LogRiskSetRiskActivated(productNftId, riskId, false);
|
79
78
|
}
|
80
79
|
|
81
80
|
function checkRisk(NftId productNftId, RiskId riskId)
|
@@ -7,4 +7,5 @@ string constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
|
7
7
|
string constant PRODUCT_STORE_TARGET_NAME = "ProductStore";
|
8
8
|
string constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
9
9
|
string constant RISK_SET_TARGET_NAME = "RiskSet";
|
10
|
+
string constant REQUEST_SET_TARGET_NAME = "RequestSet";
|
10
11
|
|
@@ -10,16 +10,16 @@ contract BalanceStore {
|
|
10
10
|
error ErrorBalanceStoreTargetAlreadyRegistered(NftId targetNftId);
|
11
11
|
error ErrorBalanceStoreTargetNotRegistered(NftId targetNftId);
|
12
12
|
|
13
|
-
event LogBalanceStoreTargetRegistered(NftId targetNftId);
|
13
|
+
event LogBalanceStoreTargetRegistered(NftId indexed targetNftId);
|
14
14
|
|
15
|
-
event LogBalanceStoreFeesIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
16
|
-
event LogBalanceStoreFeesDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
15
|
+
event LogBalanceStoreFeesIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
16
|
+
event LogBalanceStoreFeesDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
17
17
|
|
18
|
-
event LogBalanceStoreLockedIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
19
|
-
event LogBalanceStoreLockedDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
18
|
+
event LogBalanceStoreLockedIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
19
|
+
event LogBalanceStoreLockedDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
20
20
|
|
21
|
-
event LogBalanceStoreBalanceIncreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
22
|
-
event LogBalanceStoreBalanceDecreased(NftId targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
21
|
+
event LogBalanceStoreBalanceIncreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
22
|
+
event LogBalanceStoreBalanceDecreased(NftId indexed targetNftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
23
23
|
|
24
24
|
mapping(NftId nftId => Amount balance) private _balanceAmount;
|
25
25
|
mapping(NftId nftId => Amount locked) private _lockedAmount;
|
@@ -12,7 +12,7 @@ contract ObjectSet is
|
|
12
12
|
{
|
13
13
|
using LibKey32Set for LibKey32Set.Set;
|
14
14
|
|
15
|
-
event LogObjectSetInitialized(address instance);
|
15
|
+
event LogObjectSetInitialized(address indexed instance);
|
16
16
|
|
17
17
|
error ErrorObjectSetNftIdInvalid(NftId instanceNftId);
|
18
18
|
|
@@ -43,6 +43,14 @@ contract ObjectSet is
|
|
43
43
|
activeSet.add(key);
|
44
44
|
}
|
45
45
|
|
46
|
+
function _remove(NftId componentNftId, Key32 key) internal {
|
47
|
+
LibKey32Set.Set storage allSet = _allObjects[componentNftId];
|
48
|
+
LibKey32Set.Set storage activeSet = _activeObjects[componentNftId];
|
49
|
+
|
50
|
+
allSet.remove(key);
|
51
|
+
activeSet.remove(key);
|
52
|
+
}
|
53
|
+
|
46
54
|
function _activate(NftId componentNftId, Key32 key) internal {
|
47
55
|
_activeObjects[componentNftId].add(key);
|
48
56
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IBundle} from "../module/IBundle.sol";
|
5
|
+
import {IComponents} from "../module/IComponents.sol";
|
5
6
|
import {IInstance} from "../IInstance.sol";
|
6
7
|
import {IRisk} from "../module/IRisk.sol";
|
7
8
|
import {NftId} from "../../type/NftId.sol";
|
@@ -11,7 +12,6 @@ import {RiskId} from "../../type/RiskId.sol";
|
|
11
12
|
library ObjectSetHelperLib {
|
12
13
|
|
13
14
|
function getRiskInfo(address instanceAddress, RiskId riskId) public view returns (IRisk.RiskInfo memory) {
|
14
|
-
|
15
15
|
return IInstance(instanceAddress).getInstanceReader().getRiskInfo(riskId);
|
16
16
|
}
|
17
17
|
|
@@ -27,4 +27,8 @@ library ObjectSetHelperLib {
|
|
27
27
|
return getBundleInfo(instanceAddress, bundleNftId).poolNftId;
|
28
28
|
}
|
29
29
|
|
30
|
+
function getComponentInfo(address instanceAddress, NftId componentNftId) public view returns (IComponents.ComponentInfo memory) {
|
31
|
+
return IInstance(instanceAddress).getInstanceReader().getComponentInfo(componentNftId);
|
32
|
+
}
|
33
|
+
|
30
34
|
}
|
@@ -13,6 +13,10 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
13
13
|
interface IOracleComponent is IInstanceLinkedComponent {
|
14
14
|
error ErrorOracleNotImplemented(string methodName);
|
15
15
|
|
16
|
+
event LogOracleRequestReceived(RequestId indexed requestId, NftId indexed requesterId);
|
17
|
+
event LogOracleRequestCancelled(RequestId indexed requestId);
|
18
|
+
|
19
|
+
|
16
20
|
/// @dev callback method for requesting some data from the oracle
|
17
21
|
function request(
|
18
22
|
RequestId requestId,
|
@@ -30,4 +34,10 @@ interface IOracleComponent is IInstanceLinkedComponent {
|
|
30
34
|
|
31
35
|
/// @dev returns true iff the component needs to be called when selling/renewing policis
|
32
36
|
function isVerifying() external view returns (bool verifying);
|
37
|
+
|
38
|
+
function activeRequests() external view returns(uint256 numberOfRequests);
|
39
|
+
|
40
|
+
function getActiveRequest(uint256 idx) external view returns(RequestId requestId);
|
41
|
+
|
42
|
+
function isActiveRequest(RequestId requestId) external view returns(bool isActive);
|
33
43
|
}
|
@@ -13,7 +13,7 @@ interface IOracleService is IService {
|
|
13
13
|
|
14
14
|
event LogOracleServiceRequestCreated(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId, Timestamp expiryAt);
|
15
15
|
event LogOracleServiceResponseProcessed(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId);
|
16
|
-
event LogOracleServiceDeliveryFailed(RequestId indexed requestId, address indexed requesterAddress, string
|
16
|
+
event LogOracleServiceDeliveryFailed(RequestId indexed requestId, address indexed requesterAddress, string functionSignature);
|
17
17
|
event LogOracleServiceResponseResent(RequestId indexed requestId, NftId indexed requesterNftId);
|
18
18
|
event LogOracleServiceRequestCancelled(RequestId indexed requestId, NftId indexed requesterNftId);
|
19
19
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {COMPONENT,
|
5
|
+
import {COMPONENT, ORACLE} from "../type/ObjectType.sol";
|
6
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
8
8
|
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
@@ -63,7 +63,7 @@ abstract contract Oracle is
|
|
63
63
|
}
|
64
64
|
|
65
65
|
/// @dev Not relevant for oracle components
|
66
|
-
function withdrawFees(Amount
|
66
|
+
function withdrawFees(Amount)
|
67
67
|
external
|
68
68
|
virtual
|
69
69
|
override(IInstanceLinkedComponent, InstanceLinkedComponent)
|
@@ -74,7 +74,32 @@ abstract contract Oracle is
|
|
74
74
|
revert ErrorOracleNotImplemented("withdrawFees");
|
75
75
|
}
|
76
76
|
|
77
|
+
function activeRequests()
|
78
|
+
external
|
79
|
+
view
|
80
|
+
returns(uint256 numberOfRequests)
|
81
|
+
{
|
82
|
+
return _getInstanceReader().getActiveRequests(getNftId());
|
83
|
+
}
|
77
84
|
|
85
|
+
|
86
|
+
function getActiveRequest(uint256 idx)
|
87
|
+
external
|
88
|
+
view
|
89
|
+
returns(RequestId requestId)
|
90
|
+
{
|
91
|
+
return _getInstanceReader().getActiveRequestAt(getNftId(), idx);
|
92
|
+
}
|
93
|
+
|
94
|
+
function isActiveRequest(RequestId requestId)
|
95
|
+
external
|
96
|
+
view
|
97
|
+
returns(bool isActive)
|
98
|
+
{
|
99
|
+
return _getInstanceReader().isRequestActive(getNftId(), requestId);
|
100
|
+
}
|
101
|
+
|
102
|
+
// solhint-disable-next-line func-name-mixedcase
|
78
103
|
function __Oracle_init(
|
79
104
|
address registry,
|
80
105
|
NftId productNftId,
|
@@ -102,49 +127,48 @@ abstract contract Oracle is
|
|
102
127
|
_registerInterface(type(IOracleComponent).interfaceId);
|
103
128
|
}
|
104
129
|
|
105
|
-
|
106
|
-
///
|
107
|
-
///
|
108
|
-
|
109
|
-
function _request(
|
130
|
+
/// @dev Internal function for handling oracle responses.
|
131
|
+
/// Default implementation sends response back to oracle service.
|
132
|
+
/// Use this function in use case specific external/public functions to handle use case specific response handling.
|
133
|
+
function _respond(
|
110
134
|
RequestId requestId,
|
111
|
-
|
112
|
-
bytes calldata requestData,
|
113
|
-
Timestamp expiryAt
|
135
|
+
bytes memory responseData
|
114
136
|
)
|
115
137
|
internal
|
116
138
|
virtual
|
117
139
|
{
|
140
|
+
_getOracleStorage()._oracleService.respond(requestId, responseData);
|
118
141
|
}
|
119
142
|
|
120
|
-
|
121
|
-
///
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
143
|
+
/// @dev use case specific handling of oracle requests
|
144
|
+
/// for now only log is emitted to verify that request has been received by oracle component
|
145
|
+
function _request(
|
146
|
+
RequestId requestId,
|
147
|
+
NftId requesterId,
|
148
|
+
bytes calldata,
|
149
|
+
Timestamp
|
126
150
|
)
|
127
151
|
internal
|
128
|
-
virtual
|
152
|
+
virtual
|
129
153
|
{
|
154
|
+
emit LogOracleRequestReceived(requestId, requesterId);
|
130
155
|
}
|
131
156
|
|
132
157
|
|
133
|
-
/// @dev
|
134
|
-
///
|
135
|
-
|
136
|
-
|
137
|
-
RequestId requestId,
|
138
|
-
bytes memory responseData
|
158
|
+
/// @dev use case specific handling of oracle requests
|
159
|
+
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
160
|
+
function _cancel(
|
161
|
+
RequestId requestId
|
139
162
|
)
|
140
163
|
internal
|
141
|
-
virtual
|
164
|
+
virtual
|
142
165
|
{
|
143
|
-
|
166
|
+
emit LogOracleRequestCancelled(requestId);
|
144
167
|
}
|
145
168
|
|
146
169
|
|
147
170
|
function _getOracleStorage() private pure returns (OracleStorage storage $) {
|
171
|
+
// solhint-disable-next-line no-inline-assembly
|
148
172
|
assembly {
|
149
173
|
$.slot := ORACLE_STORAGE_LOCATION_V1
|
150
174
|
}
|
@@ -2,16 +2,14 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {ContractLib} from "../shared/ContractLib.sol";
|
5
|
-
import {IComponent} from "../shared/IComponent.sol";
|
6
5
|
import {IInstance} from "../instance/IInstance.sol";
|
7
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
8
6
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
9
7
|
import {IOracle} from "./IOracle.sol";
|
10
8
|
import {IOracleComponent} from "./IOracleComponent.sol";
|
11
9
|
import {IOracleService} from "./IOracleService.sol";
|
12
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
11
|
import {NftId} from "../type/NftId.sol";
|
14
|
-
import {ObjectType,
|
12
|
+
import {ObjectType, ORACLE, PRODUCT} from "../type/ObjectType.sol";
|
15
13
|
import {RequestId} from "../type/RequestId.sol";
|
16
14
|
import {Service} from "../shared/Service.sol";
|
17
15
|
import {StateId, ACTIVE, KEEP_STATE, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
|
@@ -56,7 +54,7 @@ contract OracleService is
|
|
56
54
|
// get and check active caller
|
57
55
|
(
|
58
56
|
IRegistry.ObjectInfo memory requesterInfo,
|
59
|
-
address
|
57
|
+
address instanceAddress
|
60
58
|
) = ContractLib.getAndVerifyAnyComponent(
|
61
59
|
getRegistry(), msg.sender, true);
|
62
60
|
|
@@ -69,7 +67,7 @@ contract OracleService is
|
|
69
67
|
// effects
|
70
68
|
{
|
71
69
|
// create request info
|
72
|
-
IOracle.RequestInfo memory
|
70
|
+
IOracle.RequestInfo memory requestInfo = IOracle.RequestInfo({
|
73
71
|
requesterNftId: requesterNftId,
|
74
72
|
callbackMethodName: callbackMethodName,
|
75
73
|
oracleNftId: oracleNftId,
|
@@ -80,8 +78,9 @@ contract OracleService is
|
|
80
78
|
isCancelled: false
|
81
79
|
});
|
82
80
|
|
83
|
-
// store request with instance
|
84
|
-
requestId = IInstance(
|
81
|
+
// store request with instance
|
82
|
+
requestId = IInstance(instanceAddress).getInstanceStore().createRequest(requestInfo);
|
83
|
+
IInstance(instanceAddress).getRequestSet().add(oracleNftId, requestId);
|
85
84
|
}
|
86
85
|
|
87
86
|
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
@@ -116,22 +115,23 @@ contract OracleService is
|
|
116
115
|
NftId oracleNftId = info.nftId;
|
117
116
|
IInstance instance = IInstance(instanceAddress);
|
118
117
|
bool callerIsOracle = true;
|
119
|
-
IOracle.RequestInfo memory
|
120
|
-
|
121
|
-
|
118
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
119
|
+
requestInfo.responseData = responseData;
|
120
|
+
requestInfo.respondedAt = TimestampLib.current();
|
122
121
|
|
123
122
|
instance.getInstanceStore().updateRequest(
|
124
|
-
requestId,
|
123
|
+
requestId, requestInfo, KEEP_STATE());
|
125
124
|
|
126
125
|
IRegistry.ObjectInfo memory requesterInfo = getRegistry().getObjectInfo(
|
127
|
-
|
126
|
+
requestInfo.requesterNftId);
|
128
127
|
|
129
128
|
string memory functionSignature = string(
|
130
129
|
abi.encodePacked(
|
131
|
-
|
130
|
+
requestInfo.callbackMethodName,
|
132
131
|
"(uint64,bytes)"
|
133
132
|
));
|
134
133
|
|
134
|
+
// solhint-disable-next-line avoid-low-level-calls
|
135
135
|
(success, ) = requesterInfo.objectAddress.call(
|
136
136
|
abi.encodeWithSignature(
|
137
137
|
functionSignature,
|
@@ -141,12 +141,13 @@ contract OracleService is
|
|
141
141
|
// check that calling requestor was successful
|
142
142
|
if (success) {
|
143
143
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
144
|
+
instance.getRequestSet().remove(oracleNftId, requestId);
|
144
145
|
} else {
|
145
146
|
instance.getInstanceStore().updateRequestState(requestId, FAILED());
|
146
147
|
emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
|
147
148
|
}
|
148
149
|
|
149
|
-
emit LogOracleServiceResponseProcessed(requestId,
|
150
|
+
emit LogOracleServiceResponseProcessed(requestId, requesterInfo.nftId, oracleNftId);
|
150
151
|
}
|
151
152
|
|
152
153
|
|
@@ -164,24 +165,26 @@ contract OracleService is
|
|
164
165
|
NftId requesterNftId = info.nftId;
|
165
166
|
IInstance instance = IInstance(instanceAddress);
|
166
167
|
bool callerIsOracle = false;
|
167
|
-
IOracle.RequestInfo memory
|
168
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
168
169
|
|
169
170
|
// attempt to deliver response to requester
|
170
171
|
string memory functionSignature = string(
|
171
172
|
abi.encodePacked(
|
172
|
-
|
173
|
+
requestInfo.callbackMethodName,
|
173
174
|
"(uint64,bytes)"
|
174
175
|
));
|
175
176
|
|
176
|
-
|
177
|
+
// solhint-disable-next-line avoid-low-level-calls
|
178
|
+
(bool success, ) = info.objectAddress.call(
|
177
179
|
abi.encodeWithSignature(
|
178
180
|
functionSignature,
|
179
181
|
requestId,
|
180
|
-
|
182
|
+
requestInfo.responseData));
|
181
183
|
|
182
184
|
// check that calling requestor was successful
|
183
185
|
if (success) {
|
184
186
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
187
|
+
instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
|
185
188
|
emit LogOracleServiceResponseResent(requestId, requesterNftId);
|
186
189
|
} else {
|
187
190
|
emit LogOracleServiceDeliveryFailed(requestId, info.objectAddress, functionSignature);
|
@@ -204,20 +207,20 @@ contract OracleService is
|
|
204
207
|
IInstance instance = IInstance(instanceAddress);
|
205
208
|
bool callerIsOracle = false;
|
206
209
|
// TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
|
207
|
-
IOracle.RequestInfo memory
|
208
|
-
|
210
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
211
|
+
requestInfo.isCancelled = true;
|
209
212
|
|
210
|
-
instance.getInstanceStore().updateRequest(requestId,
|
213
|
+
instance.getInstanceStore().updateRequest(requestId, requestInfo, CANCELLED());
|
214
|
+
instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
|
211
215
|
|
212
216
|
// call oracle component
|
213
217
|
// TODO add check that oracle is active?
|
214
|
-
address oracleAddress = getRegistry().getObjectAddress(
|
218
|
+
address oracleAddress = getRegistry().getObjectAddress(requestInfo.oracleNftId);
|
215
219
|
IOracleComponent(oracleAddress).cancel(requestId);
|
216
220
|
|
217
221
|
emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
|
218
222
|
}
|
219
223
|
|
220
|
-
|
221
224
|
function _checkRequestParams(
|
222
225
|
IRegistry registry,
|
223
226
|
NftId oracleNftId,
|
@@ -201,10 +201,10 @@ contract BundleService is
|
|
201
201
|
|
202
202
|
if (locked) {
|
203
203
|
bundleManager.lock(bundleNftId);
|
204
|
-
emit LogBundleServiceBundleLocked(bundleNftId);
|
204
|
+
emit LogBundleServiceBundleLocked(bundleNftId, true);
|
205
205
|
} else {
|
206
206
|
bundleManager.unlock(bundleNftId);
|
207
|
-
emit
|
207
|
+
emit LogBundleServiceBundleLocked(bundleNftId, false);
|
208
208
|
}
|
209
209
|
}
|
210
210
|
|
@@ -30,16 +30,15 @@ interface IBundleService is IService {
|
|
30
30
|
|
31
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
32
32
|
|
33
|
-
event LogBundleServiceBundleCreated(NftId indexed bundleNftId, NftId indexed poolNftId, Seconds
|
33
|
+
event LogBundleServiceBundleCreated(NftId indexed bundleNftId, NftId indexed poolNftId, Seconds lifetime, Amount fixedFee, UFixed fractionalFee);
|
34
34
|
event LogBundleServiceBundleClosed(NftId indexed bundleNftId);
|
35
|
-
event LogBundleServiceBundleLocked(NftId indexed bundleNftId);
|
36
|
-
event
|
37
|
-
event
|
38
|
-
event
|
39
|
-
event
|
40
|
-
event
|
41
|
-
event
|
42
|
-
event LogBundleServiceBundleUnstaked(NftId indexed bundleNftId, Amount indexed amount);
|
35
|
+
event LogBundleServiceBundleLocked(NftId indexed bundleNftId, bool indexed locked);
|
36
|
+
event LogBundleServiceBundleExtended(NftId indexed bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
|
37
|
+
event LogBundleServiceBundleFeeUpdated(NftId indexed bundleNftId, Amount fixedFee, UFixed fractionalFee);
|
38
|
+
event LogBundleServiceCollateralLocked(NftId indexed bundleNftId, NftId indexed policyNftId, Amount collateralAmount);
|
39
|
+
event LogBundleServiceCollateralReleased(NftId indexed bundleNftId, NftId indexed policyNftId, Amount collateralAmount);
|
40
|
+
event LogBundleServiceBundleStaked(NftId indexed bundleNftId, Amount amount);
|
41
|
+
event LogBundleServiceBundleUnstaked(NftId indexed bundleNftId, Amount amount);
|
43
42
|
|
44
43
|
/// @dev Create a new bundle for the specified attributes.
|
45
44
|
function create(
|
@@ -19,7 +19,7 @@ interface IPoolComponent is IInstanceLinkedComponent {
|
|
19
19
|
error ErrorPoolNotPoolService(address caller);
|
20
20
|
error ErrorPoolApplicationBundleMismatch(NftId applicationNftId);
|
21
21
|
|
22
|
-
event LogPoolVerifiedByPool(address indexed pool, NftId indexed applicationNftId, Amount
|
22
|
+
event LogPoolVerifiedByPool(address indexed pool, NftId indexed applicationNftId, Amount collateralizationAmount);
|
23
23
|
|
24
24
|
/// @dev This is a callback function that is called by the product service when underwriting a policy.
|
25
25
|
/// The pool has the option to check the details and object to underwriting by reverting.
|
@@ -14,9 +14,9 @@ import {PayoutId} from "../type/PayoutId.sol";
|
|
14
14
|
|
15
15
|
interface IPoolService is IService {
|
16
16
|
|
17
|
-
event LogPoolServiceMaxBalanceAmountUpdated(NftId indexed poolNftId, Amount
|
18
|
-
event LogPoolServiceWalletFunded(NftId indexed poolNftId, address indexed poolOwner, Amount
|
19
|
-
event LogPoolServiceWalletDefunded(NftId indexed poolNftId, address indexed poolOwner, Amount
|
17
|
+
event LogPoolServiceMaxBalanceAmountUpdated(NftId indexed poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
|
18
|
+
event LogPoolServiceWalletFunded(NftId indexed poolNftId, address indexed poolOwner, Amount amount);
|
19
|
+
event LogPoolServiceWalletDefunded(NftId indexed poolNftId, address indexed poolOwner, Amount amount);
|
20
20
|
|
21
21
|
event LogPoolServiceBundleCreated(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId);
|
22
22
|
event LogPoolServiceBundleClosed(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount balanceAmount, Amount feeAmount);
|
@@ -24,14 +24,14 @@ interface IPoolService is IService {
|
|
24
24
|
event LogPoolServiceBundleStaked(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount amount, Amount netAmount);
|
25
25
|
event LogPoolServiceBundleUnstaked(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount amount, Amount netAmount);
|
26
26
|
|
27
|
-
event LogPoolServiceFeesWithdrawn(NftId indexed bundleNftId, address indexed recipient, Amount
|
27
|
+
event LogPoolServiceFeesWithdrawn(NftId indexed bundleNftId, address indexed recipient, Amount amount, address indexed tokenAddress);
|
28
28
|
|
29
|
-
event LogPoolServiceProcessFundedClaim(NftId indexed policyNftId, ClaimId indexed claimId, Amount
|
29
|
+
event LogPoolServiceProcessFundedClaim(NftId indexed policyNftId, ClaimId indexed claimId, Amount availableAmount);
|
30
30
|
|
31
31
|
event LogPoolServiceApplicationVerified(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed applicationNftId, Amount totalCollateralAmount);
|
32
32
|
event LogPoolServiceCollateralLocked(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
|
33
|
-
event LogPoolServiceCollateralReleased(NftId indexed bundleNftId, NftId indexed policyNftId, Amount
|
34
|
-
event LogPoolServiceSaleProcessed(NftId indexed poolNftId, NftId indexed bundleNftId, Amount
|
33
|
+
event LogPoolServiceCollateralReleased(NftId indexed bundleNftId, NftId indexed policyNftId, Amount releasedCollateralAmount);
|
34
|
+
event LogPoolServiceSaleProcessed(NftId indexed poolNftId, NftId indexed bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
|
35
35
|
event LogPoolServicePayoutProcessed(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
|
36
36
|
|
37
37
|
error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
|
@@ -19,14 +19,14 @@ import {Fee} from "../type/Fee.sol";
|
|
19
19
|
interface IClaimService is
|
20
20
|
IService
|
21
21
|
{
|
22
|
-
event LogClaimServiceClaimSubmitted(NftId indexed policyNftId, ClaimId indexed claimId, Amount
|
23
|
-
event LogClaimServiceClaimConfirmed(NftId indexed policyNftId, ClaimId indexed claimId, Amount
|
22
|
+
event LogClaimServiceClaimSubmitted(NftId indexed policyNftId, ClaimId indexed claimId, Amount claimAmount);
|
23
|
+
event LogClaimServiceClaimConfirmed(NftId indexed policyNftId, ClaimId indexed claimId, Amount confirmedAmount);
|
24
24
|
event LogClaimServiceClaimDeclined(NftId indexed policyNftId, ClaimId indexed claimId);
|
25
25
|
event LogClaimServiceClaimRevoked(NftId indexed policyNftId, ClaimId indexed claimId);
|
26
26
|
event LogClaimServiceClaimCancelled(NftId indexed policyNftId, ClaimId indexed claimId);
|
27
27
|
|
28
28
|
event LogClaimServicePayoutCreated(NftId indexed policyNftId, ClaimId indexed claimId, PayoutId indexed payoutId, Amount amount, address beneficiary);
|
29
|
-
event LogClaimServicePayoutProcessed(NftId indexed policyNftId, PayoutId indexed payoutId, Amount
|
29
|
+
event LogClaimServicePayoutProcessed(NftId indexed policyNftId, PayoutId indexed payoutId, Amount amount);
|
30
30
|
event LogClaimServicePayoutCancelled(NftId indexed policyNftId, PayoutId indexed payoutId);
|
31
31
|
|
32
32
|
error ErrorClaimServiceBeneficiarySet(NftId policyNftId, PayoutId payoutId, address beneficiary);
|
@@ -11,12 +11,12 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IPolicyService is IService {
|
13
13
|
|
14
|
-
event LogPolicyServicePolicyCreated(NftId indexed policyNftId, Amount
|
14
|
+
event LogPolicyServicePolicyCreated(NftId indexed policyNftId, Amount premiumAmount, Timestamp activatedAt);
|
15
15
|
event LogPolicyServicePolicyDeclined(NftId indexed policyNftId);
|
16
|
-
event LogPolicyServicePolicyPremiumCollected(NftId indexed policyNftId, NftId indexed productNftId, Amount
|
17
|
-
event LogPolicyServicePolicyActivated(NftId indexed policyNftId, Timestamp
|
18
|
-
event LogPolicyServicePolicyActivatedUpdated(NftId indexed policyNftId, Timestamp
|
19
|
-
event LogPolicyServicePolicyExpirationUpdated(NftId indexed policyNftId, Timestamp
|
16
|
+
event LogPolicyServicePolicyPremiumCollected(NftId indexed policyNftId, NftId indexed productNftId, Amount premiumAmount, Timestamp activateAt);
|
17
|
+
event LogPolicyServicePolicyActivated(NftId indexed policyNftId, Timestamp activatedAt);
|
18
|
+
event LogPolicyServicePolicyActivatedUpdated(NftId indexed policyNftId, Timestamp activatedAt);
|
19
|
+
event LogPolicyServicePolicyExpirationUpdated(NftId indexed policyNftId, Timestamp expiredAt);
|
20
20
|
event LogPolicyServicePolicyClosed(NftId indexed policyNftId);
|
21
21
|
|
22
22
|
error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
|
@@ -11,8 +11,7 @@ interface IRiskService is IService {
|
|
11
11
|
|
12
12
|
event LogRiskServiceRiskCreated(NftId indexed productNftId, RiskId indexed riskId);
|
13
13
|
event LogRiskServiceRiskUpdated(NftId indexed productNftId, RiskId indexed riskId);
|
14
|
-
event LogRiskServiceRiskLocked(NftId indexed productNftId, RiskId indexed riskId);
|
15
|
-
event LogRiskServiceRiskUnlocked(NftId indexed productNftId, RiskId indexed riskId);
|
14
|
+
event LogRiskServiceRiskLocked(NftId indexed productNftId, RiskId indexed riskId, bool indexed locked);
|
16
15
|
event LogRiskServiceRiskClosed(NftId indexed productNftId, RiskId indexed riskId);
|
17
16
|
|
18
17
|
error ErrorRiskServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
|
@@ -119,10 +119,10 @@ contract RiskService is
|
|
119
119
|
|
120
120
|
if (locked) {
|
121
121
|
instance.getRiskSet().deactivate(riskId);
|
122
|
-
emit LogRiskServiceRiskLocked(productNftId, riskId);
|
122
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId, true);
|
123
123
|
} else {
|
124
124
|
instance.getRiskSet().activate(riskId);
|
125
|
-
emit
|
125
|
+
emit LogRiskServiceRiskLocked(productNftId, riskId, false);
|
126
126
|
}
|
127
127
|
}
|
128
128
|
|
@@ -4,11 +4,12 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {ERC721, ERC721Enumerable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
|
5
5
|
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
|
6
6
|
|
7
|
+
import {ChainId, ChainIdLib} from "../type/ChainId.sol";
|
7
8
|
import {ITransferInterceptor} from "./ITransferInterceptor.sol";
|
8
9
|
|
9
10
|
contract ChainNft is ERC721Enumerable {
|
10
11
|
|
11
|
-
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
12
|
+
event LogTokenInterceptorAddress(uint256 indexed tokenId, address indexed interceptor);
|
12
13
|
|
13
14
|
// constants
|
14
15
|
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
@@ -53,7 +54,7 @@ contract ChainNft is ERC721Enumerable {
|
|
53
54
|
// NFT contract is deployed by the registry
|
54
55
|
_registry = registry;
|
55
56
|
|
56
|
-
_chainIdDigits = _calculateChainIdDigits(block.chainid);
|
57
|
+
_chainIdDigits = _calculateChainIdDigits(ChainIdLib.toChainId(block.chainid));
|
57
58
|
_chainIdMultiplier = 10 ** _chainIdDigits;
|
58
59
|
|
59
60
|
// the first object registered through normal registration starts with id 4
|
@@ -200,12 +201,12 @@ contract ChainNft is ERC721Enumerable {
|
|
200
201
|
* (42 * 10 ** 10 + 9876543210) * 100 + 10
|
201
202
|
* (index * 10 ** digits + chainid) * 100 + digits (1 < digits < 100)
|
202
203
|
*/
|
203
|
-
function calculateTokenId(uint256 idIndex,
|
204
|
-
if(chainId == block.chainid) {
|
205
|
-
return 100 * (idIndex * _chainIdMultiplier + chainId) + _chainIdDigits;
|
204
|
+
function calculateTokenId(uint256 idIndex, ChainId chainId) public view returns (uint256 id) {
|
205
|
+
if(chainId.toInt() == block.chainid) {
|
206
|
+
return 100 * (idIndex * _chainIdMultiplier + chainId.toInt()) + _chainIdDigits;
|
206
207
|
} else {
|
207
208
|
uint256 chainIdDigits = _calculateChainIdDigits(chainId);
|
208
|
-
return 100 * (idIndex * (10 ** chainIdDigits) + chainId) + chainIdDigits;
|
209
|
+
return 100 * (idIndex * (10 ** chainIdDigits) + chainId.toInt()) + chainIdDigits;
|
209
210
|
}
|
210
211
|
}
|
211
212
|
|
@@ -224,8 +225,8 @@ contract ChainNft is ERC721Enumerable {
|
|
224
225
|
_idNext++;
|
225
226
|
}
|
226
227
|
|
227
|
-
function _calculateChainIdDigits(
|
228
|
-
uint256 num = chainId;
|
228
|
+
function _calculateChainIdDigits(ChainId chainId) private pure returns (uint256) {
|
229
|
+
uint256 num = chainId.toInt();
|
229
230
|
uint256 digits = 0;
|
230
231
|
while (num != 0) {
|
231
232
|
digits++;
|