@etherisc/gif-next 3.0.0-ed516f2-751 → 3.0.0-f7be7a6-419
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +42 -56
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +32 -36
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +14 -20
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +119 -119
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +42 -29
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +75 -63
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -96
- 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 +0 -94
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +205 -132
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +63 -63
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +0 -94
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +113 -40
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +12 -87
- 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 +47 -127
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +251 -56
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +185 -105
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +82 -35
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +14 -89
- 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 +441 -749
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +83 -36
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +15 -109
- 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 +12 -87
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +16 -91
- 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 +18 -93
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +56 -56
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +20 -20
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +81 -8
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +30 -30
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +197 -197
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +93 -34
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +124 -35
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +29 -29
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +164 -114
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +134 -84
- 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/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -77
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +0 -75
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +18 -12
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -75
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +56 -50
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +38 -38
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -75
- 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 +32 -20
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +50 -50
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +12 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +0 -75
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +12 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -75
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +4 -9
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +36 -24
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +51 -51
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +32 -32
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -75
- 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 +2 -2
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +55 -55
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +12 -0
- 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/IProductComponent.sol/IProductComponent.json +0 -75
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +56 -44
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +48 -48
- 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 +39 -39
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +0 -75
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +30 -30
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +6 -0
- 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 -37
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +188 -188
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +25 -25
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +198 -198
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +106 -96
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +19 -19
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -75
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +311 -95
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -49
- 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 +0 -75
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +255 -39
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -75
- 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/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -75
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +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 +23 -50
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +9 -36
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +28 -28
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +25 -75
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +5 -205
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +73 -123
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -7
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +41 -41
- 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 +19 -219
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +28 -28
- 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 -7
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -7
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +17 -29
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +16 -33
- package/contracts/authorization/AccessAdminLib.sol +18 -1
- package/contracts/authorization/AccessManagerCloneable.sol +4 -0
- package/contracts/authorization/IAccessAdmin.sol +9 -8
- package/contracts/distribution/DistributionService.sol +24 -19
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/flight/FlightLib.sol +90 -75
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +68 -9
- package/contracts/examples/flight/FlightOracleAuthorization.sol +28 -5
- package/contracts/examples/flight/FlightPool.sol +1 -1
- package/contracts/examples/flight/FlightProduct.sol +279 -243
- package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +6 -6
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +7 -7
- package/contracts/instance/IInstanceService.sol +6 -4
- package/contracts/instance/InstanceAdmin.sol +0 -1
- package/contracts/instance/InstanceReader.sol +19 -5
- package/contracts/instance/InstanceService.sol +8 -0
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- package/contracts/instance/RiskSet.sol +6 -6
- package/contracts/oracle/BasicOracle.sol +1 -0
- package/contracts/oracle/IOracleService.sol +5 -5
- package/contracts/oracle/Oracle.sol +2 -2
- package/contracts/oracle/OracleService.sol +1 -1
- package/contracts/pool/BundleService.sol +1 -1
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolService.sol +1 -1
- package/contracts/pool/PoolService.sol +1 -1
- package/contracts/product/IPolicyService.sol +1 -1
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +1 -1
- package/contracts/registry/Registry.sol +5 -3
- package/contracts/registry/RegistryAdmin.sol +7 -1
- package/contracts/registry/RegistryAuthorization.sol +0 -2
- package/contracts/registry/ReleaseAdmin.sol +8 -1
- package/contracts/shared/ComponentService.sol +36 -2
- package/contracts/shared/IComponent.sol +0 -4
- package/contracts/shared/IComponentService.sol +24 -2
- package/contracts/staking/IStaking.sol +2 -0
- package/contracts/staking/IStakingService.sol +1 -10
- package/contracts/staking/Staking.sol +1 -0
- package/contracts/staking/StakingService.sol +1 -1
- package/package.json +3 -3
@@ -3,19 +3,42 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAccess} from "../../../contracts/authorization/IAccess.sol";
|
5
5
|
|
6
|
+
import {AccessAdminLib} from "../../authorization/AccessAdminLib.sol";
|
6
7
|
import {BasicProductAuthorization} from "../../product/BasicProductAuthorization.sol";
|
7
8
|
import {FlightProduct} from "./FlightProduct.sol";
|
8
9
|
import {ORACLE} from "../../../contracts/type/ObjectType.sol";
|
9
|
-
import {PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
10
|
+
import {RoleId, ADMIN_ROLE, PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
|
10
11
|
|
11
12
|
|
12
13
|
contract FlightProductAuthorization
|
13
14
|
is BasicProductAuthorization
|
14
15
|
{
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
17
|
+
uint64 public constant STATISTICS_PROVIDER_ROLE_IDX = 1; // 1st custom role for flight product
|
18
|
+
string public constant STATISTICS_PROVIDER_ROLE_NAME = "StatisticsProviderRole";
|
19
|
+
RoleId public STATISTICS_PROVIDER_ROLE;
|
20
|
+
|
21
|
+
|
22
|
+
constructor(string memory productName)
|
23
|
+
BasicProductAuthorization(productName)
|
24
|
+
{ }
|
25
|
+
|
26
|
+
|
27
|
+
function _setupRoles()
|
28
|
+
internal
|
29
|
+
override
|
30
|
+
{
|
31
|
+
STATISTICS_PROVIDER_ROLE = AccessAdminLib.getCustomRoleId(STATISTICS_PROVIDER_ROLE_IDX);
|
32
|
+
|
33
|
+
_addRole(
|
34
|
+
STATISTICS_PROVIDER_ROLE,
|
35
|
+
AccessAdminLib.roleInfo(
|
36
|
+
ADMIN_ROLE(),
|
37
|
+
TargetType.Custom,
|
38
|
+
1, // max member count special case: instance nft owner is sole role owner
|
39
|
+
STATISTICS_PROVIDER_ROLE_NAME));
|
40
|
+
}
|
41
|
+
|
19
42
|
|
20
43
|
function _setupTargetAuthorizations()
|
21
44
|
internal
|
@@ -28,14 +51,16 @@ contract FlightProductAuthorization
|
|
28
51
|
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
|
29
52
|
_authorize(functions, FlightProduct.flightStatusCallback.selector, "flightStatusCallback");
|
30
53
|
|
31
|
-
// authorize
|
32
|
-
functions = _authorizeForTarget(getMainTargetName(),
|
33
|
-
_authorize(functions, FlightProduct.createPolicy.selector, "createPolicy");
|
54
|
+
// authorize statistics provider role
|
55
|
+
functions = _authorizeForTarget(getMainTargetName(), STATISTICS_PROVIDER_ROLE);
|
34
56
|
_authorize(functions, FlightProduct.createPolicyWithPermit.selector, "createPolicyWithPermit");
|
35
57
|
|
36
|
-
//
|
37
|
-
|
38
|
-
_authorize(functions, FlightProduct.
|
58
|
+
// authorize public role (additional authz via onlyOwner)
|
59
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
60
|
+
_authorize(functions, FlightProduct.resendRequest.selector, "resendRequest");
|
61
|
+
_authorize(functions, FlightProduct.processPayoutsAndClosePolicies.selector, "processPayoutsAndClosePolicies");
|
62
|
+
_authorize(functions, FlightProduct.setConstants.selector, "setConstants");
|
63
|
+
_authorize(functions, FlightProduct.setTestMode.selector, "setTestMode");
|
39
64
|
_authorize(functions, FlightProduct.setDefaultBundle.selector, "setDefaultBundle");
|
40
65
|
_authorize(functions, FlightProduct.approveTokenHandler.selector, "approveTokenHandler");
|
41
66
|
_authorize(functions, FlightProduct.setLocked.selector, "setLocked");
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
5
|
+
import {IVersionable} from "../../upgradeability/IVersionable.sol";
|
6
|
+
|
7
|
+
import {NftId} from "../../type/NftId.sol";
|
8
|
+
import {ProxyManager} from "../../upgradeability/ProxyManager.sol";
|
9
|
+
import {FlightProduct} from "./FlightProduct.sol";
|
10
|
+
|
11
|
+
|
12
|
+
contract FlightProductManager is ProxyManager {
|
13
|
+
|
14
|
+
FlightProduct private _flightProduct;
|
15
|
+
bytes32 private _salt = "0x1234";
|
16
|
+
|
17
|
+
/// @dev initializes proxy manager with flight product implementation
|
18
|
+
constructor(
|
19
|
+
address registry,
|
20
|
+
NftId instanceNftId,
|
21
|
+
string memory componentName,
|
22
|
+
IAuthorization authorization
|
23
|
+
)
|
24
|
+
{
|
25
|
+
// FlightProduct prd = new FlightProduct{salt: _salt}();
|
26
|
+
// bytes memory data = abi.encode(
|
27
|
+
// registry,
|
28
|
+
// instanceNftId,
|
29
|
+
// componentName,
|
30
|
+
// authorization);
|
31
|
+
|
32
|
+
// IVersionable versionable = initialize(
|
33
|
+
// registry,
|
34
|
+
// address(prd),
|
35
|
+
// data,
|
36
|
+
// _salt);
|
37
|
+
|
38
|
+
// _flightProduct = FlightProduct(address(versionable));
|
39
|
+
}
|
40
|
+
|
41
|
+
//--- view functions ----------------------------------------------------//
|
42
|
+
function getFlightProduct()
|
43
|
+
external
|
44
|
+
view
|
45
|
+
returns (FlightProduct flightProduct)
|
46
|
+
{
|
47
|
+
return _flightProduct;
|
48
|
+
}
|
49
|
+
}
|
@@ -42,6 +42,8 @@ abstract contract BaseStore is
|
|
42
42
|
metadata.objectType = objectType;
|
43
43
|
metadata.state = initialState;
|
44
44
|
metadata.updatedIn = blocknumber;
|
45
|
+
|
46
|
+
emit LogBaseStoreMetadataCreated(key32, objectType, initialState);
|
45
47
|
}
|
46
48
|
|
47
49
|
function _updateState(
|
@@ -73,6 +75,8 @@ abstract contract BaseStore is
|
|
73
75
|
|
74
76
|
// update metadata
|
75
77
|
metadata.updatedIn = BlocknumberLib.current();
|
78
|
+
|
79
|
+
emit LogBaseStoreMetadataUpdated(key32, oldState, state);
|
76
80
|
}
|
77
81
|
|
78
82
|
function exists(Key32 key32) public view returns (bool) {
|
@@ -14,13 +14,13 @@ contract BundleSet is
|
|
14
14
|
{
|
15
15
|
using LibNftIdSet for LibNftIdSet.Set;
|
16
16
|
|
17
|
-
event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
|
18
|
-
event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
|
17
|
+
event LogBundleSetPolicyLinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
18
|
+
event LogBundleSetPolicyUnlinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
19
19
|
|
20
|
-
event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
|
21
|
-
event LogBundleSetBundleUnlocked(NftId poolNftId, NftId bundleNftId);
|
22
|
-
event LogBundleSetBundleLocked(NftId poolNftId, NftId bundleNftId);
|
23
|
-
event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
|
20
|
+
event LogBundleSetBundleAdded(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
+
event LogBundleSetBundleUnlocked(NftId indexed poolNftId, NftId indexed bundleNftId);
|
22
|
+
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId);
|
23
|
+
event LogBundleSetBundleClosed(NftId indexed poolNftId, NftId indexed bundleNftId);
|
24
24
|
|
25
25
|
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
26
26
|
error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
|
@@ -17,6 +17,14 @@ interface IBaseStore is ILifecycle {
|
|
17
17
|
error ErrorBaseStoreStateZero(Key32 key);
|
18
18
|
error ErrorBaseStoreNotExisting(Key32 key);
|
19
19
|
|
20
|
+
event LogBaseStoreMetadataCreated(
|
21
|
+
Key32 indexed key,
|
22
|
+
ObjectType indexed objectType,
|
23
|
+
StateId indexed state);
|
24
|
+
event LogBaseStoreMetadataUpdated(
|
25
|
+
Key32 indexed key,
|
26
|
+
StateId indexed oldState,
|
27
|
+
StateId indexed newState);
|
20
28
|
|
21
29
|
struct Metadata {
|
22
30
|
// slot 0
|
@@ -21,15 +21,15 @@ interface IInstance is
|
|
21
21
|
IRegisterable
|
22
22
|
{
|
23
23
|
// role handling
|
24
|
-
event LogInstanceCustomRoleCreated(RoleId roleId, string roleName, RoleId adminRoleId, uint32 maxMemberCount);
|
25
|
-
event LogInstanceCustomRoleActiveSet(RoleId roleId, bool active, address caller);
|
26
|
-
event LogInstanceCustomRoleGranted(RoleId roleId, address account, address caller);
|
27
|
-
event LogInstanceCustomRoleRevoked(RoleId roleId, address account, address caller);
|
24
|
+
event LogInstanceCustomRoleCreated(RoleId indexed roleId, string indexed roleName, RoleId indexed adminRoleId, uint32 maxMemberCount);
|
25
|
+
event LogInstanceCustomRoleActiveSet(RoleId indexed roleId, bool indexed active, address indexed caller);
|
26
|
+
event LogInstanceCustomRoleGranted(RoleId indexed roleId, address indexed account, address indexed caller);
|
27
|
+
event LogInstanceCustomRoleRevoked(RoleId indexed roleId, address indexed account, address indexed caller);
|
28
28
|
|
29
29
|
// target handling
|
30
|
-
event LogInstanceCustomTargetCreated(address target, RoleId targetRoleId, string name);
|
31
|
-
event LogInstanceTargetLocked(address target, bool locked);
|
32
|
-
event LogInstanceCustomTargetFunctionRoleSet(address target, bytes4[] selectors, RoleId roleId);
|
30
|
+
event LogInstanceCustomTargetCreated(address indexed target, RoleId indexed targetRoleId, string indexed name);
|
31
|
+
event LogInstanceTargetLocked(address indexed target, bool indexed locked);
|
32
|
+
event LogInstanceCustomTargetFunctionRoleSet(address indexed target, bytes4[] indexed selectors, RoleId indexed roleId);
|
33
33
|
|
34
34
|
// modifier is onlyRoleAdmin
|
35
35
|
error ErrorInstanceNotCustomRole(RoleId roleId);
|
@@ -56,10 +56,12 @@ interface IInstanceService is IService {
|
|
56
56
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
57
57
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
58
58
|
|
59
|
-
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
60
|
-
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
61
|
-
event
|
62
|
-
|
59
|
+
event LogInstanceServiceInstanceLocked(NftId indexed instanceNftId, bool indexed locked);
|
60
|
+
event LogInstanceServiceInstanceCreated(NftId indexed instanceNftId, address indexed instance);
|
61
|
+
event LogInstanceServiceMasterInstanceRegistered(NftId indexed masterInstanceNftId, address indexed masterInstance, address indexed masterInstanceAdmin, address masterAccessManager,
|
62
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
|
63
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
64
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
63
65
|
|
64
66
|
/// @dev Creates a new custom role for the calling instance.
|
65
67
|
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
@@ -130,7 +130,6 @@ contract InstanceAdmin is
|
|
130
130
|
_createTarget(target, name, TargetType.Instance, true);
|
131
131
|
}
|
132
132
|
|
133
|
-
|
134
133
|
/// @dev Initializes the authorization for the specified component.
|
135
134
|
/// Important: The component MUST be registered.
|
136
135
|
function initializeComponentAuthorization(
|
@@ -34,6 +34,7 @@ import {RiskId} from "../type/RiskId.sol";
|
|
34
34
|
import {RiskSet} from "./RiskSet.sol";
|
35
35
|
import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
36
36
|
import {StateId} from "../type/StateId.sol";
|
37
|
+
import {Str, StrLib} from "../type/String.sol";
|
37
38
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
38
39
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
39
40
|
|
@@ -163,7 +164,9 @@ contract InstanceReader {
|
|
163
164
|
|
164
165
|
|
165
166
|
/// @dev Returns the currently locked amount for the given NFT ID.
|
166
|
-
///
|
167
|
+
/// Locked amounts are only tracked for bundles, not for pool. To get the
|
168
|
+
/// pool locked amount, then locked amounts of the bundles contained in the
|
169
|
+
/// pool must be summed up. The target NFT ID may only a bundle.
|
167
170
|
function getLockedAmount(NftId targetNftId) external view returns (Amount) {
|
168
171
|
return _store.getLockedAmount(targetNftId);
|
169
172
|
}
|
@@ -466,6 +469,12 @@ contract InstanceReader {
|
|
466
469
|
}
|
467
470
|
|
468
471
|
|
472
|
+
/// @dev Returns the role ID for the given index.
|
473
|
+
function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
|
474
|
+
return _instanceAdmin.getRoleForName(name);
|
475
|
+
}
|
476
|
+
|
477
|
+
|
469
478
|
/// @dev Returns the role ID for the instance owner role.
|
470
479
|
/// This role may be used as a "root" admin role for other custom roles defined for this instance.
|
471
480
|
function getInstanceOwnerRole() public pure returns (RoleId roleId) {
|
@@ -595,13 +604,18 @@ contract InstanceReader {
|
|
595
604
|
}
|
596
605
|
|
597
606
|
|
598
|
-
function
|
599
|
-
return UFixedLib.
|
607
|
+
function toInt(UFixed value) public pure returns (uint256) {
|
608
|
+
return UFixedLib.toInt(value);
|
600
609
|
}
|
601
610
|
|
602
611
|
|
603
|
-
function
|
604
|
-
return
|
612
|
+
function toString(Str str) public pure returns (string memory) {
|
613
|
+
return StrLib.toString(str);
|
614
|
+
}
|
615
|
+
|
616
|
+
|
617
|
+
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
618
|
+
return UFixedLib.toUFixed(value, exp);
|
605
619
|
}
|
606
620
|
|
607
621
|
//--- internal functions ----------------------------------------------------//
|
@@ -304,11 +304,13 @@ contract InstanceService is
|
|
304
304
|
InstanceReader upgradedInstanceReaderClone = InstanceReader(
|
305
305
|
Clones.clone(address(_masterInstanceReader)));
|
306
306
|
|
307
|
+
address oldInstanceReaderAddress = address(instance.getInstanceReader());
|
307
308
|
upgradedInstanceReaderClone.initializeWithInstance(instanceAddress);
|
308
309
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
309
310
|
|
310
311
|
emit LogInstanceServiceInstanceReaderUpgraded(
|
311
312
|
getRegistry().getNftIdForAddress(instanceAddress),
|
313
|
+
oldInstanceReaderAddress,
|
312
314
|
address(upgradedInstanceReaderClone));
|
313
315
|
}
|
314
316
|
|
@@ -372,6 +374,10 @@ contract InstanceService is
|
|
372
374
|
IInstance masterInstance = IInstance(_masterInstance);
|
373
375
|
IRegistry.ObjectInfo memory info = _registryService.registerInstance(masterInstance, getOwner());
|
374
376
|
masterInstanceNftId = info.nftId;
|
377
|
+
|
378
|
+
emit LogInstanceServiceMasterInstanceRegistered(
|
379
|
+
masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
|
380
|
+
_masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
|
375
381
|
}
|
376
382
|
}
|
377
383
|
|
@@ -388,10 +394,12 @@ contract InstanceService is
|
|
388
394
|
InstanceReader instanceReader = InstanceReader(instanceReaderAddress);
|
389
395
|
if(instanceReader.getInstance() != IInstance(_masterInstance)) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch(); }
|
390
396
|
|
397
|
+
address oldMasterInstanceReaderAddress = _masterInstanceReader;
|
391
398
|
_masterInstanceReader = instanceReaderAddress;
|
392
399
|
|
393
400
|
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
394
401
|
getRegistry().getNftIdForAddress(_masterInstance),
|
402
|
+
oldMasterInstanceReaderAddress,
|
395
403
|
instanceReaderAddress);
|
396
404
|
}
|
397
405
|
|
@@ -34,20 +34,20 @@ contract InstanceStore is
|
|
34
34
|
BaseStore
|
35
35
|
{
|
36
36
|
|
37
|
-
event LogProductStoreComponentInfoCreated(NftId componentNftId, StateId state, address createdby, address txOrigin);
|
38
|
-
event LogProductStoreComponentInfoUpdated(NftId componentNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
39
|
-
event LogProductStorePoolInfoCreated(NftId poolNftId, StateId state, address createdBy, address txOrigin);
|
40
|
-
event LogProductStorePoolInfoUpdated(NftId poolNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
41
|
-
event LogProductStoreDistributorTypeInfoCreated(DistributorType distributorType, StateId state, address createdBy, address txOrigin);
|
42
|
-
event LogProductStoreDistributorTypeInfoUpdated(DistributorType distributorType, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
43
|
-
event LogProductStoreDistributorInfoCreated(NftId distributorNftId, StateId state, address createdBy, address txOrigin);
|
44
|
-
event LogProductStoreDistributorInfoUpdated(NftId distributorNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
45
|
-
event LogProductStoreReferralInfoCreated(ReferralId referralId, StateId state, address createdBy, address txOrigin);
|
46
|
-
event LogProductStoreReferralInfoUpdated(ReferralId referralId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
47
|
-
event LogProductStoreBundleInfoCreated(NftId bundleNftId, StateId state, address createdBy, address txOrigin);
|
48
|
-
event LogProductStoreBundleInfoUpdated(NftId bundleNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
49
|
-
event LogProductStoreRequestInfoCreated(RequestId requestId, StateId state, address createdBy, address txOrigin);
|
50
|
-
event LogProductStoreRequestInfoUpdated(RequestId requestId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
37
|
+
event LogProductStoreComponentInfoCreated(NftId indexed componentNftId, StateId indexed state, address indexed createdby, address txOrigin);
|
38
|
+
event LogProductStoreComponentInfoUpdated(NftId indexed componentNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
39
|
+
event LogProductStorePoolInfoCreated(NftId indexed poolNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
40
|
+
event LogProductStorePoolInfoUpdated(NftId indexed poolNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
41
|
+
event LogProductStoreDistributorTypeInfoCreated(DistributorType indexed distributorType, StateId indexed state, address indexed createdBy, address txOrigin);
|
42
|
+
event LogProductStoreDistributorTypeInfoUpdated(DistributorType indexed distributorType, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
43
|
+
event LogProductStoreDistributorInfoCreated(NftId indexed distributorNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
44
|
+
event LogProductStoreDistributorInfoUpdated(NftId indexed distributorNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
45
|
+
event LogProductStoreReferralInfoCreated(ReferralId indexed referralId, StateId indexed state, address indexed createdBy, address txOrigin);
|
46
|
+
event LogProductStoreReferralInfoUpdated(ReferralId indexed referralId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
47
|
+
event LogProductStoreBundleInfoCreated(NftId indexed bundleNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
48
|
+
event LogProductStoreBundleInfoUpdated(NftId indexed bundleNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
49
|
+
event LogProductStoreRequestInfoCreated(RequestId indexed requestId, StateId indexed state, address indexed createdBy, address txOrigin);
|
50
|
+
event LogProductStoreRequestInfoUpdated(RequestId indexed requestId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
51
51
|
|
52
52
|
|
53
53
|
mapping(Key32 => IComponents.ComponentInfo) private _components;
|
@@ -29,20 +29,20 @@ contract ProductStore is
|
|
29
29
|
ObjectCounter,
|
30
30
|
ObjectLifecycle
|
31
31
|
{
|
32
|
-
event LogProductStoreProductInfoCreated(NftId productNftId, StateId state, address createdBy, address txOrigin);
|
33
|
-
event LogProductStoreProductInfoUpdated(NftId productNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
34
|
-
event LogProductStoreFeeInfoCreated(NftId productNftId, StateId state, address createdBy, address txOrigin);
|
35
|
-
event LogProductStoreFeeInfoUpdated(NftId productNftId, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
36
|
-
event LogProductStoreRiskInfoCreated(RiskId riskId, StateId state, address createdBy, address txOrigin);
|
37
|
-
event LogProductStoreRiskInfoUpdated(RiskId riskId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
38
|
-
event LogProductStorePolicyInfoCreated(NftId policyNftId, StateId state, address createdBy, address txOrigin);
|
39
|
-
event LogProductStorePolicyInfoUpdated(NftId policyNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
40
|
-
event LogProductStorePremiumInfoCreated(NftId policyNftId, StateId state, address createdBy, address txOrigin);
|
41
|
-
event LogProductStorePremiumInfoUpdated(NftId policyNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
42
|
-
event LogProductStoreClaimInfoCreated(NftId policyNftId, ClaimId claimId, StateId state, address createdBy, address txOrigin);
|
43
|
-
event LogProductStoreClaimInfoUpdated(NftId policyNftId, ClaimId claimId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
44
|
-
event LogProductStorePayoutInfoCreated(NftId policyNftId, PayoutId payoutId, StateId state, address createdBy, address txOrigin);
|
45
|
-
event LogProductStorePayoutInfoUpdated(NftId policyNftId, PayoutId payoutId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
32
|
+
event LogProductStoreProductInfoCreated(NftId indexed productNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
33
|
+
event LogProductStoreProductInfoUpdated(NftId indexed productNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
34
|
+
event LogProductStoreFeeInfoCreated(NftId indexed productNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
35
|
+
event LogProductStoreFeeInfoUpdated(NftId indexed productNftId, address indexed updatedBy, address indexed txOrigin, Blocknumber lastUpdatedIn);
|
36
|
+
event LogProductStoreRiskInfoCreated(RiskId indexed riskId, StateId indexed state, address indexed createdBy, address txOrigin);
|
37
|
+
event LogProductStoreRiskInfoUpdated(RiskId indexed riskId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
38
|
+
event LogProductStorePolicyInfoCreated(NftId indexed policyNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
39
|
+
event LogProductStorePolicyInfoUpdated(NftId indexed policyNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
40
|
+
event LogProductStorePremiumInfoCreated(NftId indexed policyNftId, StateId indexed state, address indexed createdBy, address txOrigin);
|
41
|
+
event LogProductStorePremiumInfoUpdated(NftId indexed policyNftId, StateId indexed oldState, StateId indexed newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
42
|
+
event LogProductStoreClaimInfoCreated(NftId indexed policyNftId, ClaimId indexed claimId, StateId indexed state, address createdBy, address txOrigin);
|
43
|
+
event LogProductStoreClaimInfoUpdated(NftId indexed policyNftId, ClaimId indexed claimId, StateId indexed oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
44
|
+
event LogProductStorePayoutInfoCreated(NftId indexed policyNftId, PayoutId indexed payoutId, StateId indexed state, address createdBy, address txOrigin);
|
45
|
+
event LogProductStorePayoutInfoUpdated(NftId indexed policyNftId, PayoutId indexed payoutId, StateId indexed oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
46
46
|
|
47
47
|
mapping(Key32 key32 => IComponents.ProductInfo) private _products;
|
48
48
|
mapping(Key32 key32 => IComponents.FeeInfo) private _fees;
|
@@ -13,12 +13,12 @@ contract RiskSet is
|
|
13
13
|
ObjectSet
|
14
14
|
{
|
15
15
|
|
16
|
-
event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
|
17
|
-
event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
|
16
|
+
event LogRiskSetPolicyLinked(RiskId indexed riskId, NftId indexed policyNftId);
|
17
|
+
event LogRiskSetPolicyUnlinked(RiskId indexed riskId, NftId indexed policyNftId);
|
18
18
|
|
19
|
-
event LogRiskSetRiskAdded(NftId productNftId, RiskId riskId);
|
20
|
-
event
|
21
|
-
event LogRiskSetRiskPaused(NftId poolNftId, RiskId riskId);
|
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);
|
22
22
|
|
23
23
|
error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
|
24
24
|
error ErrorRiskSetRiskUnknown(RiskId riskId);
|
@@ -68,7 +68,7 @@ contract RiskSet is
|
|
68
68
|
function activate(RiskId riskId) external restricted() {
|
69
69
|
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
70
70
|
_activate(productNftId, riskId.toKey32());
|
71
|
-
emit
|
71
|
+
emit LogRiskSetRiskActivated(productNftId, riskId);
|
72
72
|
}
|
73
73
|
|
74
74
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
@@ -11,11 +11,11 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IOracleService is IService {
|
13
13
|
|
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);
|
14
|
+
event LogOracleServiceRequestCreated(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId, Timestamp expiryAt);
|
15
|
+
event LogOracleServiceResponseProcessed(RequestId indexed requestId, NftId indexed requesterNftId, NftId indexed oracleNftId);
|
16
|
+
event LogOracleServiceDeliveryFailed(RequestId indexed requestId, address indexed requesterAddress, string indexed functionSignature);
|
17
|
+
event LogOracleServiceResponseResent(RequestId indexed requestId, NftId indexed requesterNftId);
|
18
|
+
event LogOracleServiceRequestCancelled(RequestId indexed requestId, NftId indexed requesterNftId);
|
19
19
|
|
20
20
|
// create request
|
21
21
|
error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
|
@@ -140,10 +140,10 @@ abstract contract Oracle is
|
|
140
140
|
internal
|
141
141
|
virtual
|
142
142
|
{
|
143
|
-
_getOracleStorage()._oracleService.respond(
|
144
|
-
requestId, responseData);
|
143
|
+
_getOracleStorage()._oracleService.respond(requestId, responseData);
|
145
144
|
}
|
146
145
|
|
146
|
+
|
147
147
|
function _getOracleStorage() private pure returns (OracleStorage storage $) {
|
148
148
|
assembly {
|
149
149
|
$.slot := ORACLE_STORAGE_LOCATION_V1
|
@@ -146,7 +146,7 @@ contract OracleService is
|
|
146
146
|
emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
|
147
147
|
}
|
148
148
|
|
149
|
-
emit LogOracleServiceResponseProcessed(requestId, oracleNftId);
|
149
|
+
emit LogOracleServiceResponseProcessed(requestId, request.requesterNftId, oracleNftId);
|
150
150
|
}
|
151
151
|
|
152
152
|
|
@@ -130,7 +130,7 @@ contract BundleService is
|
|
130
130
|
BundleSet bundleManager = instance.getBundleSet();
|
131
131
|
bundleManager.add(bundleNftId);
|
132
132
|
|
133
|
-
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime);
|
133
|
+
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime, bundleFee.fixedFee, bundleFee.fractionalFee);
|
134
134
|
}
|
135
135
|
|
136
136
|
|
@@ -30,7 +30,7 @@ interface IBundleService is IService {
|
|
30
30
|
|
31
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
32
32
|
|
33
|
-
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime);
|
33
|
+
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime, Amount fixedFee, UFixed fractionalFee);
|
34
34
|
event LogBundleServiceBundleClosed(NftId bundleNftId);
|
35
35
|
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
36
36
|
event LogBundleServiceBundleUnlocked(NftId bundleNftId);
|
@@ -19,7 +19,7 @@ interface IPoolService is IService {
|
|
19
19
|
event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
|
20
20
|
|
21
21
|
event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
22
|
-
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
22
|
+
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount balanceAmount, Amount feeAmount);
|
23
23
|
|
24
24
|
event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
25
25
|
event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
@@ -98,7 +98,7 @@ contract PoolService is
|
|
98
98
|
unstakedAmount + feeAmount,
|
99
99
|
AmountLib.zero());
|
100
100
|
|
101
|
-
emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
|
101
|
+
emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId, unstakedAmount, feeAmount);
|
102
102
|
|
103
103
|
if ((unstakedAmount + feeAmount).gtz()){
|
104
104
|
IComponents.ComponentInfo memory poolComponentInfo = instance.getInstanceReader().getComponentInfo(poolNftId);
|
@@ -13,7 +13,7 @@ interface IPolicyService is IService {
|
|
13
13
|
|
14
14
|
event LogPolicyServicePolicyCreated(NftId policyNftId, Amount premiumAmount, Timestamp activatedAt);
|
15
15
|
event LogPolicyServicePolicyDeclined(NftId policyNftId);
|
16
|
-
event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, Amount premiumAmount);
|
16
|
+
event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, NftId productNftId, Amount premiumAmount, Timestamp activateAt);
|
17
17
|
event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
|
18
18
|
event LogPolicyServicePolicyActivatedUpdated(NftId policyNftId, Timestamp activatedAt);
|
19
19
|
event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
|
@@ -247,7 +247,7 @@ contract PolicyService is
|
|
247
247
|
instance.getProductStore().updatePremiumState(policyNftId, PAID());
|
248
248
|
|
249
249
|
// log premium collection before interactions with token
|
250
|
-
emit LogPolicyServicePolicyPremiumCollected(policyNftId, premium.premiumAmount);
|
250
|
+
emit LogPolicyServicePolicyPremiumCollected(policyNftId, policyInfo.productNftId, premium.premiumAmount, activateAt);
|
251
251
|
|
252
252
|
// interactions
|
253
253
|
_transferPremiumAmounts(instanceReader, policyNftId, policyInfo.productNftId, premium);
|
@@ -95,13 +95,14 @@ library PolicyServiceLib {
|
|
95
95
|
{
|
96
96
|
if (policyState != COLLATERALIZED()) {
|
97
97
|
revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
98
|
-
}
|
99
|
-
|
98
|
+
}
|
99
|
+
|
100
|
+
if (policyInfo.activatedAt.eqz() || TimestampLib.current() < policyInfo.activatedAt) {
|
100
101
|
revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
|
101
102
|
}
|
102
103
|
|
103
104
|
// check expiredAt represents a valid expiry time
|
104
|
-
if (newExpiredAt
|
105
|
+
if (newExpiredAt > policyInfo.expiredAt) {
|
105
106
|
revert IPolicyService.ErrorPolicyServicePolicyExpirationTooLate(policyNftId, policyInfo.expiredAt, newExpiredAt);
|
106
107
|
}
|
107
108
|
|
@@ -110,6 +111,7 @@ library PolicyServiceLib {
|
|
110
111
|
}
|
111
112
|
}
|
112
113
|
|
114
|
+
|
113
115
|
function policyIsCloseable(InstanceReader instanceReader, NftId policyNftId)
|
114
116
|
external
|
115
117
|
view
|
@@ -11,7 +11,7 @@ contract ChainNft is ERC721Enumerable {
|
|
11
11
|
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
12
12
|
|
13
13
|
// constants
|
14
|
-
string public constant NAME = "
|
14
|
+
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
15
15
|
string public constant SYMBOL = "DIPNFT";
|
16
16
|
|
17
17
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
@@ -20,7 +20,7 @@ interface IRegistry is
|
|
20
20
|
{
|
21
21
|
|
22
22
|
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
-
event LogRegistryServiceRegistered(VersionPart majorVersion, ObjectType domain);
|
23
|
+
event LogRegistryServiceRegistered(NftId nftId, VersionPart majorVersion, ObjectType domain);
|
24
24
|
event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
|
25
25
|
|
26
26
|
// initialize
|
@@ -2,7 +2,6 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
5
|
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
7
6
|
import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
|
8
7
|
|
@@ -16,7 +15,6 @@ import {IRelease} from "./IRelease.sol";
|
|
16
15
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
17
16
|
import {IStaking} from "../staking/IStaking.sol";
|
18
17
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
19
|
-
import {TokenRegistry} from "./TokenRegistry.sol";
|
20
18
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
21
19
|
|
22
20
|
/// @dev IMPORTANT
|
@@ -231,7 +229,7 @@ contract Registry is
|
|
231
229
|
|
232
230
|
_service[version][domain] = service;
|
233
231
|
|
234
|
-
emit LogRegistryServiceRegistered(version, domain);
|
232
|
+
emit LogRegistryServiceRegistered(info.nftId,version, domain);
|
235
233
|
|
236
234
|
nftId = _register(info);
|
237
235
|
}
|
@@ -566,6 +564,8 @@ contract Registry is
|
|
566
564
|
initialOwner: NFT_LOCK_ADDRESS,
|
567
565
|
data: ""}),
|
568
566
|
true);
|
567
|
+
|
568
|
+
emit LogRegistryObjectRegistered(protocolNftId, NftIdLib.zero(), PROTOCOL(), false, address(0), NFT_LOCK_ADDRESS);
|
569
569
|
}
|
570
570
|
|
571
571
|
/// @dev register this registry
|
@@ -671,6 +671,8 @@ contract Registry is
|
|
671
671
|
|
672
672
|
// calls nft receiver
|
673
673
|
CHAIN_NFT.mint(info.initialOwner, info.nftId.toInt());
|
674
|
+
|
675
|
+
emit LogRegistryObjectRegistered(info.nftId, info.parentNftId, info.objectType, info.isInterceptor, info.objectAddress, info.initialOwner);
|
674
676
|
}
|
675
677
|
|
676
678
|
function _setAddressForNftId(NftId nftId, address objectAddress)
|