@etherisc/gif-next 3.0.0-40f24e1-212 → 3.0.0-42b16db-137
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 +2 -2
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +2 -2
- 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/AccessAdmin.sol/AccessAdmin.json +87 -99
- 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/IAccessAdmin.sol/IAccessAdmin.json +63 -75
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +143 -131
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +47 -47
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +51 -39
- 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 +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 +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 +54 -99
- 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 +15 -15
- 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 +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 +101 -18
- 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 +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/BundleSet.sol/BundleSet.json +56 -56
- 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 +33 -20
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +37 -23
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -32
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +170 -182
- 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 +103 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +59 -45
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +12 -12
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +114 -114
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +84 -84
- 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 +61 -61
- 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/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 +2 -2
- 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 +97 -14
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +83 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +12 -18
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +83 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +50 -56
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +20 -20
- 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 +80 -80
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +30 -30
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +22 -22
- 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 +48 -48
- 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 +106 -106
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +30 -30
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +35 -35
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +14 -14
- 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/ClaimService.sol/ClaimService.json +81 -87
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +32 -32
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +9 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -25
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +14 -14
- 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/IRiskService.sol/IRiskService.json +10 -10
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +74 -74
- 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 +31 -31
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- 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/RiskService.sol/RiskService.json +32 -32
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +12 -12
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +4 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +9 -9
- 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 +47 -47
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +147 -159
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +177 -189
- 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 +90 -90
- 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 +2 -2
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/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 +2 -2
- 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 +2 -2
- 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/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 +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +8 -10
- package/contracts/authorization/IAccessAdmin.sol +8 -9
- package/contracts/distribution/DistributionService.sol +19 -22
- package/contracts/distribution/IDistributionService.sol +8 -8
- package/contracts/examples/flight/FlightOracle.sol +0 -97
- 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 +6 -6
- package/contracts/instance/IInstance.sol +10 -7
- package/contracts/instance/IInstanceService.sol +10 -6
- 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 +15 -0
- package/contracts/instance/InstanceService.sol +61 -41
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/RiskSet.sol +6 -6
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/ObjectSet.sol +8 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +5 -5
- package/contracts/oracle/Oracle.sol +47 -23
- package/contracts/oracle/OracleService.sol +26 -23
- package/contracts/pool/IBundleService.sol +10 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -14
- package/contracts/pool/PoolService.sol +1 -1
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +7 -7
- package/contracts/product/IRiskService.sol +5 -5
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +4 -4
- package/contracts/registry/ReleaseRegistry.sol +6 -6
- package/contracts/shared/InstanceLinkedComponent.sol +1 -1
- package/contracts/type/RequestId.sol +6 -0
- package/package.json +1 -1
@@ -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
|
}
|
@@ -11,11 +11,11 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IOracleService is IService {
|
13
13
|
|
14
|
-
event LogOracleServiceRequestCreated(RequestId
|
15
|
-
event LogOracleServiceResponseProcessed(RequestId
|
16
|
-
event LogOracleServiceDeliveryFailed(RequestId
|
17
|
-
event LogOracleServiceResponseResent(RequestId
|
18
|
-
event LogOracleServiceRequestCancelled(RequestId
|
14
|
+
event LogOracleServiceRequestCreated(RequestId requestId, NftId requesterNftId, NftId oracleNftId, Timestamp expiryAt);
|
15
|
+
event LogOracleServiceResponseProcessed(RequestId requestId, NftId oracleNftId);
|
16
|
+
event LogOracleServiceDeliveryFailed(RequestId requestId, address requesterAddress, string functionSignature);
|
17
|
+
event LogOracleServiceResponseResent(RequestId requestId, NftId requesterNftId);
|
18
|
+
event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
|
19
19
|
|
20
20
|
// create request
|
21
21
|
error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
|
@@ -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";
|
@@ -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,10 +127,21 @@ abstract contract Oracle is
|
|
102
127
|
_registerInterface(type(IOracleComponent).interfaceId);
|
103
128
|
}
|
104
129
|
|
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(
|
134
|
+
RequestId requestId,
|
135
|
+
bytes memory responseData
|
136
|
+
)
|
137
|
+
internal
|
138
|
+
virtual
|
139
|
+
{
|
140
|
+
_getOracleStorage()._oracleService.respond(requestId, responseData);
|
141
|
+
}
|
105
142
|
|
106
|
-
/// @dev
|
107
|
-
///
|
108
|
-
/// Overwrite this function to implement use case specific handling for oracle calls.
|
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
|
109
145
|
function _request(
|
110
146
|
RequestId requestId,
|
111
147
|
NftId requesterId,
|
@@ -113,38 +149,26 @@ abstract contract Oracle is
|
|
113
149
|
Timestamp expiryAt
|
114
150
|
)
|
115
151
|
internal
|
116
|
-
virtual
|
152
|
+
virtual
|
117
153
|
{
|
154
|
+
emit LogOracleRequestReceived(requestId, requesterId);
|
118
155
|
}
|
119
156
|
|
120
157
|
|
121
|
-
/// @dev
|
122
|
-
///
|
123
|
-
/// Overwrite this function to implement use case specific cancelling.
|
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
|
124
160
|
function _cancel(
|
125
161
|
RequestId requestId
|
126
162
|
)
|
127
163
|
internal
|
128
|
-
virtual
|
129
|
-
{
|
130
|
-
}
|
131
|
-
|
132
|
-
|
133
|
-
/// @dev Internal function for handling oracle responses.
|
134
|
-
/// Default implementation sends response back to oracle service.
|
135
|
-
/// Use this function in use case specific external/public functions to handle use case specific response handling.
|
136
|
-
function _respond(
|
137
|
-
RequestId requestId,
|
138
|
-
bytes memory responseData
|
139
|
-
)
|
140
|
-
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, 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,
|
@@ -30,16 +30,16 @@ interface IBundleService is IService {
|
|
30
30
|
|
31
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
32
32
|
|
33
|
-
event LogBundleServiceBundleCreated(NftId
|
34
|
-
event LogBundleServiceBundleClosed(NftId
|
35
|
-
event LogBundleServiceBundleLocked(NftId
|
36
|
-
event LogBundleServiceBundleUnlocked(NftId
|
37
|
-
event LogBundleServiceBundleExtended(NftId
|
38
|
-
event LogBundleServiceBundleFeeUpdated(NftId
|
39
|
-
event LogBundleServiceCollateralLocked(NftId
|
40
|
-
event LogBundleServiceCollateralReleased(NftId
|
41
|
-
event LogBundleServiceBundleStaked(NftId
|
42
|
-
event LogBundleServiceBundleUnstaked(NftId
|
33
|
+
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime, Amount fixedFee, UFixed fractionalFee);
|
34
|
+
event LogBundleServiceBundleClosed(NftId bundleNftId);
|
35
|
+
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
36
|
+
event LogBundleServiceBundleUnlocked(NftId bundleNftId);
|
37
|
+
event LogBundleServiceBundleExtended(NftId bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
|
38
|
+
event LogBundleServiceBundleFeeUpdated(NftId bundleNftId, Amount fixedFee, UFixed fractionalFee);
|
39
|
+
event LogBundleServiceCollateralLocked(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
|
40
|
+
event LogBundleServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
|
41
|
+
event LogBundleServiceBundleStaked(NftId bundleNftId, Amount amount);
|
42
|
+
event LogBundleServiceBundleUnstaked(NftId bundleNftId, Amount amount);
|
43
43
|
|
44
44
|
/// @dev Create a new bundle for the specified attributes.
|
45
45
|
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
|
22
|
+
event LogPoolVerifiedByPool(address pool, NftId 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,25 +14,25 @@ import {PayoutId} from "../type/PayoutId.sol";
|
|
14
14
|
|
15
15
|
interface IPoolService is IService {
|
16
16
|
|
17
|
-
event LogPoolServiceMaxBalanceAmountUpdated(NftId
|
18
|
-
event LogPoolServiceWalletFunded(NftId
|
19
|
-
event LogPoolServiceWalletDefunded(NftId
|
17
|
+
event LogPoolServiceMaxBalanceAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
|
18
|
+
event LogPoolServiceWalletFunded(NftId poolNftId, address poolOwner, Amount amount);
|
19
|
+
event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
|
20
20
|
|
21
|
-
event LogPoolServiceBundleCreated(NftId
|
22
|
-
event LogPoolServiceBundleClosed(NftId
|
21
|
+
event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
22
|
+
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount balanceAmount, Amount feeAmount);
|
23
23
|
|
24
|
-
event LogPoolServiceBundleStaked(NftId
|
25
|
-
event LogPoolServiceBundleUnstaked(NftId
|
24
|
+
event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
25
|
+
event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
26
26
|
|
27
|
-
event LogPoolServiceFeesWithdrawn(NftId
|
27
|
+
event LogPoolServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
|
28
28
|
|
29
|
-
event LogPoolServiceProcessFundedClaim(NftId
|
29
|
+
event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
30
30
|
|
31
|
-
event LogPoolServiceApplicationVerified(NftId
|
32
|
-
event LogPoolServiceCollateralLocked(NftId
|
33
|
-
event LogPoolServiceCollateralReleased(NftId
|
34
|
-
event LogPoolServiceSaleProcessed(NftId
|
35
|
-
event LogPoolServicePayoutProcessed(NftId
|
31
|
+
event LogPoolServiceApplicationVerified(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount);
|
32
|
+
event LogPoolServiceCollateralLocked(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
|
33
|
+
event LogPoolServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount remainingCollateralAmount);
|
34
|
+
event LogPoolServiceSaleProcessed(NftId poolNftId, NftId bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
|
35
|
+
event LogPoolServicePayoutProcessed(NftId poolNftId, NftId bundleNftId, NftId policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
|
36
36
|
|
37
37
|
error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
|
38
38
|
error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
|
@@ -553,7 +553,7 @@ contract PoolService is
|
|
553
553
|
address bundleOwner = getRegistry().ownerOf(bundleNftId);
|
554
554
|
TokenHandler tokenHandler = reader.getTokenHandler(poolNftId);
|
555
555
|
address token = address(tokenHandler.TOKEN());
|
556
|
-
emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner,
|
556
|
+
emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner, token, withdrawnAmount);
|
557
557
|
|
558
558
|
tokenHandler.pushToken(bundleOwner, withdrawnAmount);
|
559
559
|
}
|
@@ -496,7 +496,7 @@ contract ClaimService is
|
|
496
496
|
claimInfo.openPayoutsCount += 1;
|
497
497
|
instanceContracts.productStore.updateClaim(policyNftId, claimId, claimInfo, KEEP_STATE());
|
498
498
|
|
499
|
-
emit LogClaimServicePayoutCreated(policyNftId,
|
499
|
+
emit LogClaimServicePayoutCreated(policyNftId, payoutId, amount, beneficiary);
|
500
500
|
}
|
501
501
|
|
502
502
|
/// @dev Verifies the caller is a product and the policy is active.
|
@@ -15,24 +15,24 @@ import {Seconds} from "../type/Seconds.sol";
|
|
15
15
|
interface IApplicationService is IService {
|
16
16
|
|
17
17
|
event LogApplicationServiceApplicationCreated(
|
18
|
-
NftId
|
19
|
-
NftId
|
20
|
-
NftId
|
18
|
+
NftId applicationNftId,
|
19
|
+
NftId productNftId,
|
20
|
+
NftId bundleNftId,
|
21
21
|
RiskId riskId,
|
22
22
|
ReferralId referralId,
|
23
23
|
address applicationOwner,
|
24
24
|
Amount sumInsuredAmount,
|
25
25
|
Amount premiumAmount,
|
26
26
|
Seconds lifetime);
|
27
|
-
event LogApplicationServiceApplicationRenewed(NftId
|
27
|
+
event LogApplicationServiceApplicationRenewed(NftId policyNftId, NftId bundleNftId);
|
28
28
|
event LogApplicationServiceApplicationAdjusted(
|
29
|
-
NftId
|
30
|
-
NftId
|
31
|
-
RiskId
|
29
|
+
NftId applicationNftId,
|
30
|
+
NftId bundleNftId,
|
31
|
+
RiskId riskId,
|
32
32
|
ReferralId referralId,
|
33
33
|
Amount sumInsuredAmount,
|
34
34
|
Seconds lifetime);
|
35
|
-
event LogApplicationServiceApplicationRevoked(NftId
|
35
|
+
event LogApplicationServiceApplicationRevoked(NftId applicationNftId);
|
36
36
|
|
37
37
|
// _checkLinkedApplicationParameters
|
38
38
|
error ErrorApplicationServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
|
@@ -19,15 +19,15 @@ import {Fee} from "../type/Fee.sol";
|
|
19
19
|
interface IClaimService is
|
20
20
|
IService
|
21
21
|
{
|
22
|
-
event LogClaimServiceClaimSubmitted(NftId
|
23
|
-
event LogClaimServiceClaimConfirmed(NftId
|
24
|
-
event LogClaimServiceClaimDeclined(NftId
|
25
|
-
event LogClaimServiceClaimRevoked(NftId
|
26
|
-
event LogClaimServiceClaimCancelled(NftId
|
27
|
-
|
28
|
-
event LogClaimServicePayoutCreated(NftId
|
29
|
-
event LogClaimServicePayoutProcessed(NftId
|
30
|
-
event LogClaimServicePayoutCancelled(NftId
|
22
|
+
event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
|
23
|
+
event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
|
24
|
+
event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
|
25
|
+
event LogClaimServiceClaimRevoked(NftId policyNftId, ClaimId claimId);
|
26
|
+
event LogClaimServiceClaimCancelled(NftId policyNftId, ClaimId claimId);
|
27
|
+
|
28
|
+
event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary);
|
29
|
+
event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount);
|
30
|
+
event LogClaimServicePayoutCancelled(NftId policyNftId, PayoutId payoutId);
|
31
31
|
|
32
32
|
error ErrorClaimServiceBeneficiarySet(NftId policyNftId, PayoutId payoutId, address beneficiary);
|
33
33
|
|
@@ -11,13 +11,13 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IPolicyService is IService {
|
13
13
|
|
14
|
-
event LogPolicyServicePolicyCreated(NftId
|
15
|
-
event LogPolicyServicePolicyDeclined(NftId
|
16
|
-
event LogPolicyServicePolicyPremiumCollected(NftId
|
17
|
-
event LogPolicyServicePolicyActivated(NftId
|
18
|
-
event LogPolicyServicePolicyActivatedUpdated(NftId
|
19
|
-
event LogPolicyServicePolicyExpirationUpdated(NftId
|
20
|
-
event LogPolicyServicePolicyClosed(NftId
|
14
|
+
event LogPolicyServicePolicyCreated(NftId policyNftId, Amount premiumAmount, Timestamp activatedAt);
|
15
|
+
event LogPolicyServicePolicyDeclined(NftId policyNftId);
|
16
|
+
event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, NftId productNftId, Amount premiumAmount, Timestamp activateAt);
|
17
|
+
event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
|
18
|
+
event LogPolicyServicePolicyActivatedUpdated(NftId policyNftId, Timestamp activatedAt);
|
19
|
+
event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
|
20
|
+
event LogPolicyServicePolicyClosed(NftId policyNftId);
|
21
21
|
|
22
22
|
error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
|
23
23
|
error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
|
@@ -9,11 +9,11 @@ import {StateId} from "../type/StateId.sol";
|
|
9
9
|
|
10
10
|
interface IRiskService is IService {
|
11
11
|
|
12
|
-
event LogRiskServiceRiskCreated(NftId
|
13
|
-
event LogRiskServiceRiskUpdated(NftId
|
14
|
-
event LogRiskServiceRiskLocked(NftId
|
15
|
-
event LogRiskServiceRiskUnlocked(NftId
|
16
|
-
event LogRiskServiceRiskClosed(NftId
|
12
|
+
event LogRiskServiceRiskCreated(NftId productNftId, RiskId riskId);
|
13
|
+
event LogRiskServiceRiskUpdated(NftId productNftId, RiskId riskId);
|
14
|
+
event LogRiskServiceRiskLocked(NftId productNftId, RiskId riskId);
|
15
|
+
event LogRiskServiceRiskUnlocked(NftId productNftId, RiskId riskId);
|
16
|
+
event LogRiskServiceRiskClosed(NftId productNftId, RiskId riskId);
|
17
17
|
|
18
18
|
error ErrorRiskServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
|
19
19
|
error ErrorRiskServiceRiskNotActive(NftId productNftId, RiskId riskId);
|
@@ -8,7 +8,7 @@ import {ITransferInterceptor} from "./ITransferInterceptor.sol";
|
|
8
8
|
|
9
9
|
contract ChainNft is ERC721Enumerable {
|
10
10
|
|
11
|
-
event LogTokenInterceptorAddress(uint256
|
11
|
+
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
12
12
|
|
13
13
|
// constants
|
14
14
|
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
@@ -19,9 +19,9 @@ interface IRegistry is
|
|
19
19
|
IERC165
|
20
20
|
{
|
21
21
|
|
22
|
-
event LogRegistryObjectRegistered(NftId
|
23
|
-
event LogRegistryServiceRegistered(NftId
|
24
|
-
event LogRegistryChainRegistryRegistered(NftId
|
22
|
+
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
+
event LogRegistryServiceRegistered(NftId nftId, VersionPart majorVersion, ObjectType domain);
|
24
|
+
event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
|
25
25
|
|
26
26
|
// initialize
|
27
27
|
error ErrorRegistryCallerNotDeployer();
|
@@ -21,8 +21,8 @@ import {VersionPart} from "../type/Version.sol";
|
|
21
21
|
contract ReleaseAdmin is
|
22
22
|
AccessAdmin
|
23
23
|
{
|
24
|
-
event
|
25
|
-
event
|
24
|
+
event LogReleaseAdminReleaseLockChanged(VersionPart release, bool locked);
|
25
|
+
event LogReleaseAdminServiceLockChanged(VersionPart release, address service, bool locked);
|
26
26
|
|
27
27
|
error ErrorReleaseAdminCallerNotReleaseRegistry(address caller);
|
28
28
|
error ErrorReleaseAdminNotService(address notService);
|
@@ -137,7 +137,7 @@ contract ReleaseAdmin is
|
|
137
137
|
// effects
|
138
138
|
accessManager.setLocked(locked);
|
139
139
|
|
140
|
-
emit
|
140
|
+
emit LogReleaseAdminReleaseLockChanged(getRelease(), locked);
|
141
141
|
}
|
142
142
|
|
143
143
|
|
@@ -155,7 +155,7 @@ contract ReleaseAdmin is
|
|
155
155
|
|
156
156
|
_setTargetLocked(address(service), locked);
|
157
157
|
|
158
|
-
emit
|
158
|
+
emit LogReleaseAdminServiceLockChanged(service.getRelease(), address(service), locked);
|
159
159
|
}
|
160
160
|
|
161
161
|
//--- private functions -------------------------------------------------//
|
@@ -38,10 +38,10 @@ contract ReleaseRegistry is
|
|
38
38
|
{
|
39
39
|
uint256 public constant INITIAL_GIF_VERSION = 3;// first active release version
|
40
40
|
|
41
|
-
event
|
42
|
-
event
|
43
|
-
event LogReleaseDisabled(VersionPart
|
44
|
-
event LogReleaseEnabled(VersionPart
|
41
|
+
event LogReleaseCreation(IAccessAdmin admin, VersionPart release, bytes32 salt);
|
42
|
+
event LogReleaseActivation(VersionPart release);
|
43
|
+
event LogReleaseDisabled(VersionPart release);
|
44
|
+
event LogReleaseEnabled(VersionPart release);
|
45
45
|
|
46
46
|
// constructor
|
47
47
|
error ErrorReleaseRegistryNotRegistry(Registry registry);
|
@@ -168,7 +168,7 @@ contract ReleaseRegistry is
|
|
168
168
|
_releaseInfo[releaseVersion].auth = serviceAuthorization;
|
169
169
|
_releaseInfo[releaseVersion].releaseAdmin = address(releaseAdmin);
|
170
170
|
|
171
|
-
emit
|
171
|
+
emit LogReleaseCreation(releaseAdmin, releaseVersion, releaseSalt);
|
172
172
|
}
|
173
173
|
|
174
174
|
function registerService(IService service)
|
@@ -270,7 +270,7 @@ contract ReleaseRegistry is
|
|
270
270
|
|
271
271
|
_setReleaseLocked(release, false);
|
272
272
|
|
273
|
-
emit
|
273
|
+
emit LogReleaseActivation(release);
|
274
274
|
}
|
275
275
|
|
276
276
|
/// @dev stop/resume operations with restricted functions
|
@@ -72,4 +72,10 @@ library RequestIdLib {
|
|
72
72
|
function toKeyId(RequestId id) public pure returns (KeyId keyId) {
|
73
73
|
return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
|
74
74
|
}
|
75
|
+
|
76
|
+
function toRequestId(KeyId keyId) public pure returns (RequestId requestId) {
|
77
|
+
uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId)));
|
78
|
+
assert(keyIdInt < type(uint64).max);
|
79
|
+
return RequestId.wrap(uint64(keyIdInt));
|
80
|
+
}
|
75
81
|
}
|
package/package.json
CHANGED