@etherisc/gif-next 0.0.2-9e6b423-414 → 0.0.2-9f1b659-471
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 +3 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +86 -34
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +73 -35
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +52 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2 -2
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +37 -18
- 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 +19 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +311 -151
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +112 -86
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +19 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +199 -15
- 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 +65 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +16 -16
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +79 -44
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +16 -16
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.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 +57 -22
- 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 +27 -8
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +69 -50
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +16 -16
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +248 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +16 -16
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +26 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +96 -4
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +37 -12
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +16 -16
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +56 -56
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +118 -26
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -31
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +106 -98
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- 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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +23 -4
- 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 +19 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +49 -20
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +78 -40
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +37 -26
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +19 -19
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +280 -119
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +106 -48
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +180 -27
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +19 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +220 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +19 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +36 -52
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +292 -65
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +94 -52
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +202 -61
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +75 -33
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +19 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +19 -19
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +128 -104
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +95 -65
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +109 -46
- 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 +91 -49
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +79 -74
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +82 -40
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +19 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +70 -32
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +18 -7
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- 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 +56 -45
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +29 -21
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +65 -27
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2 -2
- 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 +81 -81
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +17 -17
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +120 -56
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +96 -50
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +9 -9
- 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/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +48 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +6 -6
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +6 -6
- 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 +21 -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/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- 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/IStaking.sol/IStaking.json +1146 -53
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +91 -111
- package/artifacts/contracts/staking/ITargetManager.sol/ITargetManager.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetManager.sol/ITargetManager.json +69 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1392 -181
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +73 -72
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +138 -56
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +174 -180
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +115 -167
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +68 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1290 -599
- package/artifacts/contracts/staking/TargetManager.sol/TargetManager.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManager.sol/TargetManager.json +134 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +72 -32
- 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/Amount.sol/AmountLib.json +2 -2
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- 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 -2
- 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/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/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/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/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- 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/Timestamp.sol/TimestampLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- 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/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +55 -17
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +13 -0
- package/contracts/accounting/IAccountingService.sol +2 -0
- package/contracts/authorization/AccessAdmin.sol +5 -5
- package/contracts/authorization/AccessAdminLib.sol +2 -2
- package/contracts/authorization/Authorization.sol +2 -7
- package/contracts/authorization/IAuthorization.sol +0 -1
- package/contracts/authorization/ServiceAuthorization.sol +2 -2
- package/contracts/distribution/BasicDistribution.sol +2 -2
- package/contracts/distribution/Distribution.sol +5 -3
- package/contracts/distribution/DistributionService.sol +27 -21
- package/contracts/distribution/IDistributionService.sol +10 -4
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/IInstanceService.sol +7 -3
- package/contracts/instance/Instance.sol +6 -4
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -1
- package/contracts/instance/InstanceService.sol +21 -32
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/base/BalanceStore.sol +1 -1
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/oracle/BasicOracle.sol +1 -1
- package/contracts/oracle/Oracle.sol +2 -2
- package/contracts/oracle/OracleService.sol +4 -4
- package/contracts/pool/BasicPool.sol +3 -14
- package/contracts/pool/BasicPoolAuthorization.sol +1 -2
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +4 -14
- package/contracts/pool/PoolLib.sol +10 -22
- package/contracts/pool/PoolService.sol +35 -8
- package/contracts/product/ApplicationService.sol +58 -9
- package/contracts/product/BasicProduct.sol +1 -1
- package/contracts/product/BasicProductAuthorization.sol +2 -0
- package/contracts/product/ClaimService.sol +39 -40
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +13 -8
- package/contracts/product/PolicyServiceLib.sol +7 -7
- package/contracts/product/PricingService.sol +22 -25
- package/contracts/product/Product.sol +38 -12
- package/contracts/product/RiskService.sol +48 -12
- package/contracts/registry/IRegistry.sol +11 -9
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAuthorization.sol +55 -20
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseRegistry.sol +8 -3
- package/contracts/registry/ServiceAuthorizationV3.sol +10 -12
- package/contracts/registry/TokenRegistry.sol +52 -49
- package/contracts/shared/Component.sol +6 -2
- package/contracts/shared/ComponentService.sol +15 -6
- package/contracts/shared/ContractLib.sol +3 -2
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +1 -0
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/InstanceLinkedComponent.sol +4 -4
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +2 -0
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/staking/IStaking.sol +187 -65
- package/contracts/staking/IStakingService.sol +36 -84
- package/contracts/staking/ITargetManager.sol +28 -0
- package/contracts/staking/Staking.sol +458 -210
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +1 -2
- package/contracts/staking/StakingReader.sol +45 -74
- package/contracts/staking/StakingService.sol +39 -185
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +866 -327
- package/contracts/staking/TargetManager.sol +103 -0
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/Seconds.sol +14 -0
- package/contracts/type/Timestamp.sol +4 -2
- package/contracts/type/UFixed.sol +1 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +13 -1
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +6 -2
- package/contracts/upgradeability/Versionable.sol +2 -2
- package/package.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
@@ -19,7 +19,6 @@ contract RiskSet is
|
|
19
19
|
event LogRiskSetRiskAdded(NftId productNftId, RiskId riskId);
|
20
20
|
event LogRiskSetRiskActive(NftId poolNftId, RiskId riskId);
|
21
21
|
event LogRiskSetRiskPaused(NftId poolNftId, RiskId riskId);
|
22
|
-
event LogRiskSetRiskArchived(NftId poolNftId, RiskId riskId);
|
23
22
|
|
24
23
|
error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
|
25
24
|
error ErrorRiskSetRiskUnknown(RiskId riskId);
|
@@ -73,7 +72,7 @@ contract RiskSet is
|
|
73
72
|
}
|
74
73
|
|
75
74
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
76
|
-
function
|
75
|
+
function deactivate(RiskId riskId) external restricted() {
|
77
76
|
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
78
77
|
_deactivate(productNftId, riskId.toKey32());
|
79
78
|
emit LogRiskSetRiskPaused(productNftId, riskId);
|
@@ -92,6 +91,15 @@ contract RiskSet is
|
|
92
91
|
}
|
93
92
|
}
|
94
93
|
|
94
|
+
function hasRisk(NftId productNftId, RiskId riskId)
|
95
|
+
public
|
96
|
+
view
|
97
|
+
returns (bool)
|
98
|
+
{
|
99
|
+
Key32 riskKey32 = riskId.toKey32();
|
100
|
+
return _contains(productNftId, riskKey32);
|
101
|
+
}
|
102
|
+
|
95
103
|
function risks(NftId productNftId) external view returns(uint256) {
|
96
104
|
return _objects(productNftId);
|
97
105
|
}
|
@@ -116,6 +116,6 @@ contract BalanceStore {
|
|
116
116
|
|
117
117
|
//--- internal/private functions ----------------------------------------//
|
118
118
|
function _setLastUpdatedIn(NftId targetNftId) internal {
|
119
|
-
_lastUpdatedIn[targetNftId] = BlocknumberLib.
|
119
|
+
_lastUpdatedIn[targetNftId] = BlocknumberLib.current();
|
120
120
|
}
|
121
121
|
}
|
@@ -44,10 +44,7 @@ contract ObjectLifecycle is
|
|
44
44
|
|
45
45
|
function _setupBundleLifecycle() private {
|
46
46
|
setInitialState(BUNDLE(), ACTIVE());
|
47
|
-
setStateTransition(BUNDLE(), ACTIVE(), PAUSED());
|
48
47
|
setStateTransition(BUNDLE(), ACTIVE(), CLOSED());
|
49
|
-
setStateTransition(BUNDLE(), PAUSED(), ACTIVE());
|
50
|
-
setStateTransition(BUNDLE(), PAUSED(), CLOSED());
|
51
48
|
}
|
52
49
|
|
53
50
|
function _setupPolicyLifecycle() private {
|
@@ -69,6 +66,7 @@ contract ObjectLifecycle is
|
|
69
66
|
setStateTransition(CLAIM(), SUBMITTED(), CONFIRMED());
|
70
67
|
setStateTransition(CLAIM(), SUBMITTED(), DECLINED());
|
71
68
|
setStateTransition(CLAIM(), CONFIRMED(), CLOSED());
|
69
|
+
setStateTransition(CLAIM(), CONFIRMED(), CANCELLED());
|
72
70
|
}
|
73
71
|
|
74
72
|
function _setupPayoutLifecycle() private {
|
@@ -79,9 +77,7 @@ contract ObjectLifecycle is
|
|
79
77
|
|
80
78
|
function _setupRiskLifecycle() private {
|
81
79
|
setInitialState(RISK(), ACTIVE());
|
82
|
-
setStateTransition(RISK(), ACTIVE(),
|
83
|
-
setStateTransition(RISK(), PAUSED(), ACTIVE());
|
84
|
-
setStateTransition(RISK(), PAUSED(), ARCHIVED());
|
80
|
+
setStateTransition(RISK(), ACTIVE(), CLOSED());
|
85
81
|
}
|
86
82
|
|
87
83
|
function _setupRequestLifecycle() private {
|
@@ -75,7 +75,7 @@ abstract contract Oracle is
|
|
75
75
|
}
|
76
76
|
|
77
77
|
|
78
|
-
function
|
78
|
+
function __Oracle_init(
|
79
79
|
address registry,
|
80
80
|
NftId productNftId,
|
81
81
|
IAuthorization authorization,
|
@@ -87,7 +87,7 @@ abstract contract Oracle is
|
|
87
87
|
virtual
|
88
88
|
onlyInitializing()
|
89
89
|
{
|
90
|
-
|
90
|
+
__InstanceLinkedComponent_init(
|
91
91
|
registry,
|
92
92
|
productNftId,
|
93
93
|
name,
|
@@ -118,7 +118,7 @@ contract OracleService is
|
|
118
118
|
bool callerIsOracle = true;
|
119
119
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
120
120
|
request.responseData = responseData;
|
121
|
-
request.respondedAt = TimestampLib.
|
121
|
+
request.respondedAt = TimestampLib.current();
|
122
122
|
|
123
123
|
instance.getInstanceStore().updateRequest(
|
124
124
|
requestId, request, KEEP_STATE());
|
@@ -253,8 +253,8 @@ contract OracleService is
|
|
253
253
|
}
|
254
254
|
|
255
255
|
// check expiriyAt >= now
|
256
|
-
if (expiryAt < TimestampLib.
|
257
|
-
revert ErrorOracleServiceExpiryInThePast(TimestampLib.
|
256
|
+
if (expiryAt < TimestampLib.current()) {
|
257
|
+
revert ErrorOracleServiceExpiryInThePast(TimestampLib.current(), expiryAt);
|
258
258
|
}
|
259
259
|
|
260
260
|
// check callbackMethodName.length > 0
|
@@ -298,7 +298,7 @@ contract OracleService is
|
|
298
298
|
}
|
299
299
|
|
300
300
|
// check expiry
|
301
|
-
if (info.expiredAt < TimestampLib.
|
301
|
+
if (info.expiredAt < TimestampLib.current()) {
|
302
302
|
revert ErrorOracleServiceRequestExpired(requestId, info.expiredAt);
|
303
303
|
}
|
304
304
|
}
|
@@ -29,7 +29,7 @@ abstract contract BasicPool is
|
|
29
29
|
virtual
|
30
30
|
onlyInitializing()
|
31
31
|
{
|
32
|
-
|
32
|
+
__Pool_init(
|
33
33
|
registry,
|
34
34
|
productNftId,
|
35
35
|
name,
|
@@ -82,25 +82,14 @@ abstract contract BasicPool is
|
|
82
82
|
}
|
83
83
|
|
84
84
|
|
85
|
-
function
|
85
|
+
function setBundleLocked(NftId bundleNftId, bool locked)
|
86
86
|
public
|
87
87
|
virtual
|
88
88
|
restricted()
|
89
89
|
onlyBundleOwner(bundleNftId)
|
90
90
|
onlyNftOfType(bundleNftId, BUNDLE())
|
91
91
|
{
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
|
96
|
-
function unlockBundle(NftId bundleNftId)
|
97
|
-
public
|
98
|
-
virtual
|
99
|
-
restricted()
|
100
|
-
onlyBundleOwner(bundleNftId)
|
101
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
102
|
-
{
|
103
|
-
_unlockBundle(bundleNftId);
|
92
|
+
_setBundleLocked(bundleNftId, locked);
|
104
93
|
}
|
105
94
|
|
106
95
|
|
@@ -60,8 +60,7 @@ contract BasicPoolAuthorization
|
|
60
60
|
_authorize(functions, BasicPool.stake.selector, "stake");
|
61
61
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
62
62
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
63
|
-
_authorize(functions, BasicPool.
|
64
|
-
_authorize(functions, BasicPool.unlockBundle.selector, "unlockBundle");
|
63
|
+
_authorize(functions, BasicPool.setBundleLocked.selector, "setBundleLocked");
|
65
64
|
_authorize(functions, BasicPool.closeBundle.selector, "closeBundle");
|
66
65
|
_authorize(functions, BasicPool.setBundleFee.selector, "setBundleFee");
|
67
66
|
|
@@ -4,7 +4,6 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
5
5
|
import {IBundle} from "../instance/module/IBundle.sol";
|
6
6
|
import {IBundleService} from "./IBundleService.sol";
|
7
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
8
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
9
8
|
import {IRegistry} from "../registry/IRegistry.sol";
|
10
9
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
@@ -13,19 +12,19 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
13
12
|
|
14
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
15
14
|
import {BundleSet} from "../instance/BundleSet.sol";
|
16
|
-
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
17
15
|
import {Fee} from "../type/Fee.sol";
|
18
16
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
19
17
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
20
18
|
import {ObjectType, ACCOUNTING, COMPONENT, POOL, BUNDLE, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
21
|
-
import {
|
19
|
+
import {PoolLib} from "./PoolLib.sol";
|
22
20
|
import {Seconds} from "../type/Seconds.sol";
|
21
|
+
import {Service} from "../shared/Service.sol";
|
22
|
+
import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../type/StateId.sol";
|
23
23
|
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
24
24
|
|
25
|
-
string constant BUNDLE_SERVICE_NAME = "BundleService";
|
26
25
|
|
27
26
|
contract BundleService is
|
28
|
-
|
27
|
+
Service,
|
29
28
|
IBundleService
|
30
29
|
{
|
31
30
|
|
@@ -69,7 +68,7 @@ contract BundleService is
|
|
69
68
|
{
|
70
69
|
_checkNftType(bundleNftId, BUNDLE());
|
71
70
|
|
72
|
-
(NftId poolNftId
|
71
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
73
72
|
InstanceReader instanceReader = instance.getInstanceReader();
|
74
73
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
75
74
|
if(bundleInfo.poolNftId.eqz()) {
|
@@ -82,6 +81,8 @@ contract BundleService is
|
|
82
81
|
|
83
82
|
bundleInfo.fee = fee;
|
84
83
|
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
84
|
+
|
85
|
+
emit LogBundleServiceBundleFeeUpdated(bundleNftId, fee.fixedFee, fee.fractionalFee);
|
85
86
|
}
|
86
87
|
|
87
88
|
|
@@ -96,7 +97,7 @@ contract BundleService is
|
|
96
97
|
restricted()
|
97
98
|
returns(NftId bundleNftId)
|
98
99
|
{
|
99
|
-
(NftId poolNftId
|
100
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
100
101
|
|
101
102
|
// register bundle with registry
|
102
103
|
bundleNftId = _registryService.registerBundle(
|
@@ -119,8 +120,8 @@ contract BundleService is
|
|
119
120
|
poolNftId: poolNftId,
|
120
121
|
fee: bundleFee,
|
121
122
|
filter: filter,
|
122
|
-
activatedAt: TimestampLib.
|
123
|
-
expiredAt: TimestampLib.
|
123
|
+
activatedAt: TimestampLib.current(),
|
124
|
+
expiredAt: TimestampLib.current().addSeconds(lifetime),
|
124
125
|
closedAt: zeroTimestamp()
|
125
126
|
})
|
126
127
|
);
|
@@ -129,7 +130,7 @@ contract BundleService is
|
|
129
130
|
BundleSet bundleManager = instance.getBundleSet();
|
130
131
|
bundleManager.add(bundleNftId);
|
131
132
|
|
132
|
-
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId);
|
133
|
+
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime);
|
133
134
|
}
|
134
135
|
|
135
136
|
|
@@ -155,7 +156,7 @@ contract BundleService is
|
|
155
156
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
156
157
|
|
157
158
|
// ensure bundle is active and not yet expired
|
158
|
-
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.
|
159
|
+
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.current()) {
|
159
160
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
160
161
|
}
|
161
162
|
}
|
@@ -179,32 +180,12 @@ contract BundleService is
|
|
179
180
|
// effects
|
180
181
|
// updated locked amount
|
181
182
|
instanceStore.increaseLocked(bundleNftId, collateralAmount);
|
182
|
-
}
|
183
|
-
|
184
|
-
|
185
|
-
function lock(NftId bundleNftId)
|
186
|
-
external
|
187
|
-
virtual
|
188
|
-
restricted()
|
189
|
-
{
|
190
|
-
// checks
|
191
|
-
_checkNftType(bundleNftId, BUNDLE());
|
192
|
-
|
193
|
-
(,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
|
194
|
-
|
195
|
-
// udpate bundle state
|
196
|
-
instance.getInstanceStore().updateBundleState(bundleNftId, PAUSED());
|
197
183
|
|
198
|
-
|
199
|
-
// update set of active bundles
|
200
|
-
BundleSet bundleManager = instance.getBundleSet();
|
201
|
-
bundleManager.lock(bundleNftId);
|
202
|
-
|
203
|
-
emit LogBundleServiceBundleLocked(bundleNftId);
|
184
|
+
emit LogBundleServiceCollateralLocked(bundleNftId, policyNftId, collateralAmount);
|
204
185
|
}
|
205
186
|
|
206
187
|
|
207
|
-
function
|
188
|
+
function setLocked(NftId bundleNftId, bool locked)
|
208
189
|
external
|
209
190
|
virtual
|
210
191
|
restricted()
|
@@ -212,19 +193,21 @@ contract BundleService is
|
|
212
193
|
// checks
|
213
194
|
_checkNftType(bundleNftId, BUNDLE());
|
214
195
|
|
215
|
-
(
|
196
|
+
(, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
216
197
|
|
217
198
|
// effects
|
218
|
-
// udpate bundle state
|
219
|
-
instance.getInstanceStore().updateBundleState(bundleNftId, ACTIVE());
|
220
|
-
|
221
199
|
// update set of active bundles
|
222
200
|
BundleSet bundleManager = instance.getBundleSet();
|
223
|
-
bundleManager.unlock(bundleNftId);
|
224
201
|
|
225
|
-
|
202
|
+
if (locked) {
|
203
|
+
bundleManager.lock(bundleNftId);
|
204
|
+
emit LogBundleServiceBundleLocked(bundleNftId);
|
205
|
+
} else {
|
206
|
+
bundleManager.unlock(bundleNftId);
|
207
|
+
emit LogBundleServiceBundleUnlocked(bundleNftId);
|
208
|
+
}
|
226
209
|
}
|
227
|
-
|
210
|
+
|
228
211
|
|
229
212
|
function close(
|
230
213
|
IInstance instance,
|
@@ -260,6 +243,8 @@ contract BundleService is
|
|
260
243
|
unstakedAmount = balanceAmountWithFees - feeAmount;
|
261
244
|
_accountingService.decreaseBundleBalance(instanceStore, bundleNftId, unstakedAmount, feeAmount);
|
262
245
|
}
|
246
|
+
|
247
|
+
emit LogBundleServiceBundleClosed(bundleNftId);
|
263
248
|
}
|
264
249
|
|
265
250
|
/// @inheritdoc IBundleService
|
@@ -280,7 +265,7 @@ contract BundleService is
|
|
280
265
|
StateId bundleState = instanceReader.getBundleState(bundleNftId);
|
281
266
|
|
282
267
|
if( (bundleState != ACTIVE() && bundleState != PAUSED()) // locked bundles can be staked
|
283
|
-
|| bundleInfo.expiredAt < TimestampLib.
|
268
|
+
|| bundleInfo.expiredAt < TimestampLib.current()
|
284
269
|
|| bundleInfo.closedAt.gtz()) {
|
285
270
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
286
271
|
}
|
@@ -291,6 +276,8 @@ contract BundleService is
|
|
291
276
|
bundleNftId,
|
292
277
|
amount,
|
293
278
|
AmountLib.zero());
|
279
|
+
|
280
|
+
emit LogBundleServiceBundleStaked(bundleNftId, amount);
|
294
281
|
}
|
295
282
|
|
296
283
|
/// @inheritdoc IBundleService
|
@@ -332,6 +319,8 @@ contract BundleService is
|
|
332
319
|
bundleNftId,
|
333
320
|
unstakedAmount,
|
334
321
|
AmountLib.zero());
|
322
|
+
|
323
|
+
emit LogBundleServiceBundleUnstaked(bundleNftId, unstakedAmount);
|
335
324
|
}
|
336
325
|
|
337
326
|
/// @inheritdoc IBundleService
|
@@ -344,7 +333,7 @@ contract BundleService is
|
|
344
333
|
// checks
|
345
334
|
_checkNftType(bundleNftId, BUNDLE());
|
346
335
|
|
347
|
-
(NftId poolNftId
|
336
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
348
337
|
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
349
338
|
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
350
339
|
|
@@ -354,7 +343,7 @@ contract BundleService is
|
|
354
343
|
}
|
355
344
|
|
356
345
|
// ensure bundle is active and not yet expired
|
357
|
-
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.
|
346
|
+
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.current()) {
|
358
347
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
359
348
|
}
|
360
349
|
|
@@ -386,6 +375,8 @@ contract BundleService is
|
|
386
375
|
_checkNftType(bundleNftId, BUNDLE());
|
387
376
|
|
388
377
|
instanceStore.decreaseLocked(bundleNftId, collateralAmount);
|
378
|
+
|
379
|
+
emit LogBundleServiceCollateralReleased(bundleNftId, policyNftId, collateralAmount);
|
389
380
|
}
|
390
381
|
|
391
382
|
|
@@ -12,13 +12,10 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
12
12
|
import {Seconds} from "../type/Seconds.sol";
|
13
13
|
import {StateId} from "../type/StateId.sol";
|
14
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
15
|
+
import {UFixed} from "../type/UFixed.sol";
|
15
16
|
|
16
17
|
interface IBundleService is IService {
|
17
18
|
|
18
|
-
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId);
|
19
|
-
event LogBundleServiceBundleActivated(NftId bundleNftId);
|
20
|
-
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
21
|
-
|
22
19
|
error ErrorBundleServiceInsufficientAllowance(address bundleOwner, address tokenHandlerAddress, Amount amount);
|
23
20
|
error ErrorBundleServiceBundleNotOpen(NftId bundleNftId, StateId state, Timestamp expiredAt);
|
24
21
|
error ErrorBundleServiceCapacityInsufficient(NftId bundleNftId, Amount capacityAmount, Amount collateralAmount);
|
@@ -33,7 +30,16 @@ interface IBundleService is IService {
|
|
33
30
|
|
34
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
35
32
|
|
33
|
+
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime);
|
34
|
+
event LogBundleServiceBundleClosed(NftId bundleNftId);
|
35
|
+
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
36
|
+
event LogBundleServiceBundleUnlocked(NftId bundleNftId);
|
36
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);
|
37
43
|
|
38
44
|
/// @dev Create a new bundle for the specified attributes.
|
39
45
|
function create(
|
@@ -62,15 +68,10 @@ interface IBundleService is IService {
|
|
62
68
|
/// @dev extend the lifetime of the bundle by the specified time in seconds
|
63
69
|
function extend(NftId bundleNftId, Seconds lifetimeExtension) external returns (Timestamp extendedExpiredAt);
|
64
70
|
|
65
|
-
/// @dev locks the specified bundle
|
66
|
-
///
|
67
|
-
/// may only be called by registered and unlocked pool components
|
68
|
-
function
|
69
|
-
|
70
|
-
/// @dev activates the specified bundle
|
71
|
-
/// only locked bundles may be unlocked
|
72
|
-
/// may only be called by registered and unlocked pool components
|
73
|
-
function unlock(NftId bundleNftId) external;
|
71
|
+
/// @dev locks/unlocks the specified bundle.
|
72
|
+
/// locked bundles are not available to collateralize new policies.
|
73
|
+
/// may only be called by registered and unlocked pool components.
|
74
|
+
function setLocked(NftId bundleNftId, bool locked) external;
|
74
75
|
|
75
76
|
/// @dev closes the specified bundle
|
76
77
|
/// only open bundles (active or locked) may be closed
|
@@ -11,7 +11,6 @@ import {InstanceReader} from "../instance/InstanceReader.sol";
|
|
11
11
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
12
12
|
import {NftId} from "../type/NftId.sol";
|
13
13
|
import {PayoutId} from "../type/PayoutId.sol";
|
14
|
-
import {UFixed} from "../type/UFixed.sol";
|
15
14
|
|
16
15
|
interface IPoolService is IService {
|
17
16
|
|
@@ -29,6 +28,12 @@ interface IPoolService is IService {
|
|
29
28
|
|
30
29
|
event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
31
30
|
|
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
|
+
|
32
37
|
error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
|
33
38
|
error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
|
34
39
|
error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
|
@@ -81,7 +86,7 @@ interface IPoolService is IService {
|
|
81
86
|
PayoutId payoutId,
|
82
87
|
Amount payoutAmount,
|
83
88
|
address payoutBeneficiary
|
84
|
-
) external;
|
89
|
+
) external returns (Amount netPayoutAmount, Amount processingFeeAmount);
|
85
90
|
|
86
91
|
|
87
92
|
/// @dev increase stakes for bundle
|
package/contracts/pool/Pool.sol
CHANGED
@@ -123,7 +123,7 @@ abstract contract Pool is
|
|
123
123
|
|
124
124
|
// Internals
|
125
125
|
|
126
|
-
function
|
126
|
+
function __Pool_init(
|
127
127
|
address registry,
|
128
128
|
NftId productNftId,
|
129
129
|
string memory name,
|
@@ -136,7 +136,7 @@ abstract contract Pool is
|
|
136
136
|
virtual
|
137
137
|
onlyInitializing()
|
138
138
|
{
|
139
|
-
|
139
|
+
__InstanceLinkedComponent_init(
|
140
140
|
registry,
|
141
141
|
productNftId,
|
142
142
|
name,
|
@@ -283,21 +283,11 @@ abstract contract Pool is
|
|
283
283
|
/// @dev Locks the specified bundle.
|
284
284
|
/// A bundle to be locked MUST be in active state.
|
285
285
|
/// Locked bundles may not be used to collateralize any new policy.
|
286
|
-
function
|
286
|
+
function _setBundleLocked(NftId bundleNftId, bool locked)
|
287
287
|
internal
|
288
288
|
virtual
|
289
289
|
{
|
290
|
-
_getPoolStorage()._bundleService.
|
291
|
-
}
|
292
|
-
|
293
|
-
|
294
|
-
/// @dev Unlocks the specified bundle.
|
295
|
-
/// A bundle to be unlocked MUST be in locked state.
|
296
|
-
function _unlockBundle(NftId bundleNftId)
|
297
|
-
internal
|
298
|
-
virtual
|
299
|
-
{
|
300
|
-
_getPoolStorage()._bundleService.unlock(bundleNftId);
|
290
|
+
_getPoolStorage()._bundleService.setLocked(bundleNftId, locked);
|
301
291
|
}
|
302
292
|
|
303
293
|
|
@@ -129,7 +129,7 @@ library PoolLib {
|
|
129
129
|
// calculate processing fees if applicable
|
130
130
|
IComponents.FeeInfo memory feeInfo = instanceReader.getFeeInfo(productNftId);
|
131
131
|
if(FeeLib.gtz(feeInfo.processingFee)) {
|
132
|
-
|
132
|
+
(processingFeeAmount, netPayoutAmount) = FeeLib.calculateFee(feeInfo.processingFee, payoutAmount);
|
133
133
|
}
|
134
134
|
}
|
135
135
|
}
|
@@ -232,24 +232,6 @@ library PoolLib {
|
|
232
232
|
instance = IInstance(instanceAddress);
|
233
233
|
}
|
234
234
|
|
235
|
-
|
236
|
-
function getInstanceForComponent(
|
237
|
-
IRegistry registry,
|
238
|
-
NftId componentNftId
|
239
|
-
)
|
240
|
-
public
|
241
|
-
view
|
242
|
-
returns (
|
243
|
-
IInstance instance
|
244
|
-
)
|
245
|
-
{
|
246
|
-
NftId productNftId = registry.getParentNftId(componentNftId);
|
247
|
-
NftId instanceNftId = registry.getParentNftId(productNftId);
|
248
|
-
address instanceAddress = registry.getObjectAddress(instanceNftId);
|
249
|
-
return IInstance(instanceAddress);
|
250
|
-
}
|
251
|
-
|
252
|
-
|
253
235
|
function checkNftType(
|
254
236
|
IRegistry registry,
|
255
237
|
NftId nftId,
|
@@ -271,11 +253,17 @@ library PoolLib {
|
|
271
253
|
address payoutBeneficiary
|
272
254
|
)
|
273
255
|
external
|
256
|
+
returns (
|
257
|
+
Amount netPayoutAmount,
|
258
|
+
Amount processingFeeAmount
|
259
|
+
)
|
274
260
|
{
|
261
|
+
address beneficiary;
|
262
|
+
|
275
263
|
(
|
276
|
-
|
277
|
-
|
278
|
-
|
264
|
+
netPayoutAmount,
|
265
|
+
processingFeeAmount,
|
266
|
+
beneficiary
|
279
267
|
) = calculatePayoutAmounts(
|
280
268
|
registry,
|
281
269
|
instanceReader,
|
@@ -2,13 +2,11 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
5
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
6
5
|
import {IBundleService} from "./IBundleService.sol";
|
7
6
|
import {IComponents} from "../instance/module/IComponents.sol";
|
8
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
9
8
|
import {IInstance} from "../instance/IInstance.sol";
|
10
9
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
11
|
-
import {IPolicyHolder} from "../shared/IPolicyHolder.sol";
|
12
10
|
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
13
11
|
import {IPoolService} from "./IPoolService.sol";
|
14
12
|
import {IProductComponent} from "../product/IProductComponent.sol";
|
@@ -27,9 +25,6 @@ import {PayoutId} from "../type/PayoutId.sol";
|
|
27
25
|
import {PoolLib} from "./PoolLib.sol";
|
28
26
|
import {Service} from "../shared/Service.sol";
|
29
27
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
30
|
-
import {UFixed} from "../type/UFixed.sol";
|
31
|
-
|
32
|
-
string constant POOL_SERVICE_NAME = "PoolService";
|
33
28
|
|
34
29
|
|
35
30
|
contract PoolService is
|
@@ -366,6 +361,8 @@ contract PoolService is
|
|
366
361
|
bundleNftId,
|
367
362
|
bundleNetAmount,
|
368
363
|
bundleFeeAmount);
|
364
|
+
|
365
|
+
emit LogPoolServiceSaleProcessed(poolNftId, bundleNftId, bundleNetAmount, bundleFeeAmount, poolFeeAmount);
|
369
366
|
}
|
370
367
|
|
371
368
|
|
@@ -424,10 +421,15 @@ contract PoolService is
|
|
424
421
|
bundleNftId,
|
425
422
|
totalCollateralAmount);
|
426
423
|
|
427
|
-
|
424
|
+
emit LogPoolServiceApplicationVerified(poolNftId, bundleNftId, applicationNftId, totalCollateralAmount);
|
428
425
|
}
|
429
426
|
|
430
|
-
|
427
|
+
emit LogPoolServiceCollateralLocked(
|
428
|
+
poolNftId,
|
429
|
+
bundleNftId,
|
430
|
+
applicationNftId,
|
431
|
+
totalCollateralAmount,
|
432
|
+
localCollateralAmount);
|
431
433
|
}
|
432
434
|
|
433
435
|
function processPayout(
|
@@ -443,6 +445,10 @@ contract PoolService is
|
|
443
445
|
external
|
444
446
|
virtual
|
445
447
|
restricted()
|
448
|
+
returns (
|
449
|
+
Amount netPayoutAmount,
|
450
|
+
Amount processingFeeAmount
|
451
|
+
)
|
446
452
|
{
|
447
453
|
// checks
|
448
454
|
_checkNftType(policyNftId, POLICY());
|
@@ -477,7 +483,7 @@ contract PoolService is
|
|
477
483
|
payoutAmount);
|
478
484
|
|
479
485
|
// interactions
|
480
|
-
PoolLib.transferTokenAndNotifyPolicyHolder(
|
486
|
+
(netPayoutAmount, processingFeeAmount) = PoolLib.transferTokenAndNotifyPolicyHolder(
|
481
487
|
getRegistry(),
|
482
488
|
instanceReader,
|
483
489
|
poolTokenHandler,
|
@@ -486,6 +492,22 @@ contract PoolService is
|
|
486
492
|
payoutId,
|
487
493
|
payoutAmount,
|
488
494
|
payoutBeneficiary);
|
495
|
+
|
496
|
+
if (processingFeeAmount.gtz()) {
|
497
|
+
_accountingService.increaseProductFeesForPool(
|
498
|
+
instanceStore,
|
499
|
+
productNftId,
|
500
|
+
processingFeeAmount);
|
501
|
+
}
|
502
|
+
|
503
|
+
emit LogPoolServicePayoutProcessed(
|
504
|
+
poolNftId,
|
505
|
+
bundleNftId,
|
506
|
+
policyNftId,
|
507
|
+
payoutId,
|
508
|
+
netPayoutAmount,
|
509
|
+
processingFeeAmount,
|
510
|
+
payoutBeneficiary);
|
489
511
|
}
|
490
512
|
|
491
513
|
|
@@ -565,6 +587,11 @@ contract PoolService is
|
|
565
587
|
instanceReader.getInstanceNftId(),
|
566
588
|
address(instanceReader.getToken(policyInfo.productNftId)),
|
567
589
|
remainingCollateralAmount);
|
590
|
+
|
591
|
+
emit LogPoolServiceCollateralReleased(
|
592
|
+
policyInfo.bundleNftId,
|
593
|
+
policyNftId,
|
594
|
+
remainingCollateralAmount);
|
568
595
|
}
|
569
596
|
|
570
597
|
|