@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab0fcb2-112
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 +1 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +59 -107
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +59 -156
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +13 -61
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +58 -90
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +80 -59
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +14 -46
- 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 +45 -85
- 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 +13 -61
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +119 -175
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -190
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +13 -61
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +13 -61
- 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 +54 -103
- 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 +104 -153
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +18 -18
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +604 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1255 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +825 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2635 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +820 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +57 -119
- 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 +51 -113
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +59 -121
- 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 +63 -125
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +18 -18
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +14 -62
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +13 -61
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +42 -95
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +158 -182
- 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 +179 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +51 -99
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +55 -152
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- 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/Cloneable.sol/Cloneable.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 +3 -8
- 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 +41 -81
- 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 +13 -61
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -103
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -61
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +61 -175
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -169
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +13 -61
- 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 +95 -151
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +78 -179
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -61
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +13 -61
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +25 -104
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +13 -61
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -252
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +143 -190
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +89 -170
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +59 -99
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +59 -152
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +13 -61
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +18 -18
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +103 -151
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +81 -178
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -61
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -61
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -61
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -61
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +13 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +83 -152
- 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 +71 -168
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -119
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +65 -162
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +13 -61
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -95
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +58 -147
- 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/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -61
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +140 -169
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -99
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -157
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +146 -183
- 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 +98 -185
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -71
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +13 -61
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +81 -137
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +70 -171
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +411 -139
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +13 -61
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +13 -61
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -61
- 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 +1 -70
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -54
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +13 -61
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -54
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +13 -61
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -61
- 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 +15 -76
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -56
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +13 -61
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -79
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +13 -61
- 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/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +13 -61
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +13 -61
- 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 -121
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +66 -163
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -64
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +49 -97
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +54 -151
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -266
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/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/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 +22 -25
- 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 +23 -4
- 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 +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- 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 +21 -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/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +29 -121
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -3
- package/contracts/authorization/AccessAdmin.sol +3 -3
- package/contracts/authorization/AccessAdminLib.sol +14 -11
- package/contracts/authorization/IAccessAdmin.sol +1 -0
- package/contracts/distribution/BasicDistribution.sol +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +14 -13
- package/contracts/distribution/DistributionServiceManager.sol +1 -3
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/flight/FlightLib.sol +322 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +163 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +85 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +650 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +45 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +6 -7
- package/contracts/instance/InstanceAdmin.sol +6 -8
- package/contracts/instance/InstanceReader.sol +40 -18
- package/contracts/instance/InstanceService.sol +14 -16
- package/contracts/instance/InstanceServiceManager.sol +1 -3
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/IOracleService.sol +12 -16
- package/contracts/oracle/Oracle.sol +0 -2
- package/contracts/oracle/OracleService.sol +36 -66
- package/contracts/oracle/OracleServiceManager.sol +1 -3
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/BundleService.sol +20 -14
- package/contracts/pool/BundleServiceManager.sol +2 -4
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +4 -104
- package/contracts/pool/PoolService.sol +66 -100
- package/contracts/pool/PoolServiceManager.sol +1 -3
- package/contracts/product/ApplicationService.sol +9 -29
- package/contracts/product/ApplicationServiceManager.sol +1 -3
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +4 -3
- package/contracts/product/ClaimService.sol +9 -33
- package/contracts/product/ClaimServiceManager.sol +2 -4
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +43 -56
- package/contracts/product/PolicyServiceManager.sol +1 -3
- package/contracts/product/PricingService.sol +6 -7
- package/contracts/product/PricingServiceManager.sol +1 -3
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +7 -39
- package/contracts/product/RiskServiceManager.sol +1 -3
- package/contracts/registry/RegistryAdmin.sol +6 -11
- package/contracts/registry/RegistryAuthorization.sol +2 -2
- package/contracts/registry/RegistryService.sol +14 -15
- package/contracts/registry/RegistryServiceManager.sol +1 -8
- package/contracts/registry/ReleaseAdmin.sol +2 -11
- package/contracts/registry/ReleaseRegistry.sol +14 -26
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +3 -5
- package/contracts/shared/ComponentService.sol +18 -30
- package/contracts/shared/ComponentServiceManager.sol +2 -4
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -6
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +6 -0
- package/contracts/shared/IRegistryLinked.sol +1 -5
- package/contracts/shared/InstanceLinkedComponent.sol +73 -22
- package/contracts/shared/NftOwnable.sol +8 -8
- package/contracts/shared/PolicyHolder.sol +0 -2
- package/contracts/shared/Registerable.sol +5 -6
- package/contracts/shared/RegistryLinked.sol +4 -30
- package/contracts/shared/Service.sol +2 -4
- package/contracts/staking/Staking.sol +22 -17
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +0 -3
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +6 -6
- package/contracts/staking/StakingServiceManager.sol +1 -4
- package/contracts/staking/StakingStore.sol +4 -6
- package/contracts/staking/TargetHandler.sol +4 -5
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/upgradeability/ProxyManager.sol +1 -5
- package/package.json +2 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
@@ -12,11 +12,11 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
12
12
|
|
13
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
14
14
|
import {BundleSet} from "../instance/BundleSet.sol";
|
15
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
15
16
|
import {Fee} from "../type/Fee.sol";
|
16
17
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
17
18
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
18
19
|
import {ObjectType, ACCOUNTING, COMPONENT, POOL, BUNDLE, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
19
|
-
import {PoolLib} from "./PoolLib.sol";
|
20
20
|
import {Seconds} from "../type/Seconds.sol";
|
21
21
|
import {Service} from "../shared/Service.sol";
|
22
22
|
import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../type/StateId.sol";
|
@@ -44,11 +44,10 @@ contract BundleService is
|
|
44
44
|
onlyInitializing()
|
45
45
|
{
|
46
46
|
(
|
47
|
-
address authority
|
48
|
-
|
49
|
-
) = abi.decode(data, (address, address));
|
47
|
+
address authority
|
48
|
+
) = abi.decode(data, (address));
|
50
49
|
|
51
|
-
__Service_init(authority,
|
50
|
+
__Service_init(authority, owner);
|
52
51
|
|
53
52
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
54
53
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
@@ -66,9 +65,12 @@ contract BundleService is
|
|
66
65
|
virtual
|
67
66
|
restricted()
|
68
67
|
{
|
69
|
-
|
68
|
+
(
|
69
|
+
NftId poolNftId,
|
70
|
+
IInstance instance
|
71
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
72
|
+
bundleNftId, getRelease());
|
70
73
|
|
71
|
-
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
72
74
|
InstanceReader instanceReader = instance.getInstanceReader();
|
73
75
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
74
76
|
if(bundleInfo.poolNftId.eqz()) {
|
@@ -97,7 +99,10 @@ contract BundleService is
|
|
97
99
|
restricted()
|
98
100
|
returns(NftId bundleNftId)
|
99
101
|
{
|
100
|
-
(
|
102
|
+
(
|
103
|
+
NftId poolNftId,
|
104
|
+
IInstance instance
|
105
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
101
106
|
|
102
107
|
// register bundle with registry
|
103
108
|
bundleNftId = _registryService.registerBundle(
|
@@ -191,9 +196,8 @@ contract BundleService is
|
|
191
196
|
restricted()
|
192
197
|
{
|
193
198
|
// checks
|
194
|
-
|
195
|
-
|
196
|
-
(, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
199
|
+
(, IInstance instance) = ContractLib.getAndVerifyPoolForBundle(
|
200
|
+
bundleNftId, getRelease());
|
197
201
|
|
198
202
|
// effects
|
199
203
|
// update set of active bundles
|
@@ -331,9 +335,12 @@ contract BundleService is
|
|
331
335
|
returns (Timestamp extendedExpiredAt)
|
332
336
|
{
|
333
337
|
// checks
|
334
|
-
|
338
|
+
(
|
339
|
+
NftId poolNftId,
|
340
|
+
IInstance instance
|
341
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
342
|
+
bundleNftId, getRelease());
|
335
343
|
|
336
|
-
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
337
344
|
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
338
345
|
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
339
346
|
|
@@ -379,7 +386,6 @@ contract BundleService is
|
|
379
386
|
emit LogBundleServiceCollateralReleased(bundleNftId, policyNftId, collateralAmount);
|
380
387
|
}
|
381
388
|
|
382
|
-
|
383
389
|
function _getDomain() internal pure override returns(ObjectType) {
|
384
390
|
return BUNDLE();
|
385
391
|
}
|
@@ -11,15 +11,13 @@ contract BundleServiceManager is ProxyManager {
|
|
11
11
|
|
12
12
|
/// @dev initializes proxy manager with pool service implementation
|
13
13
|
constructor(
|
14
|
-
address authority,
|
15
|
-
address registry,
|
14
|
+
address authority,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
BundleService svc = new BundleService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
19
|
+
bytes memory data = abi.encode(authority);
|
21
20
|
IUpgradeable upgradeable = initialize(
|
22
|
-
registry,
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
@@ -18,15 +18,14 @@ interface IPoolService is IService {
|
|
18
18
|
event LogPoolServiceWalletFunded(NftId poolNftId, address poolOwner, Amount amount);
|
19
19
|
event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
|
20
20
|
|
21
|
-
event
|
22
|
-
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
21
|
+
event LogPoolServiceBundleClosed(NftId poolNftId, NftId bundleNftId);
|
23
22
|
|
24
|
-
event LogPoolServiceBundleStaked(NftId
|
25
|
-
event LogPoolServiceBundleUnstaked(NftId
|
23
|
+
event LogPoolServiceBundleStaked(NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
24
|
+
event LogPoolServiceBundleUnstaked(NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
26
25
|
|
27
|
-
event LogPoolServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
|
26
|
+
event LogPoolServiceFeesWithdrawn(NftId poolNftId, NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
|
28
27
|
|
29
|
-
event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
28
|
+
event LogPoolServiceProcessFundedClaim(NftId poolNftId, NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
30
29
|
|
31
30
|
event LogPoolServiceApplicationVerified(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount);
|
32
31
|
event LogPoolServiceCollateralLocked(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
|
package/contracts/pool/Pool.sol
CHANGED
@@ -35,7 +35,7 @@ abstract contract Pool is
|
|
35
35
|
|
36
36
|
|
37
37
|
modifier onlyBundleOwner(NftId bundleNftId) {
|
38
|
-
if(msg.sender !=
|
38
|
+
if(msg.sender != _getRegistry().ownerOf(bundleNftId)) {
|
39
39
|
revert ErrorPoolNotBundleOwner(bundleNftId, msg.sender);
|
40
40
|
}
|
41
41
|
_;
|
@@ -124,7 +124,6 @@ abstract contract Pool is
|
|
124
124
|
// Internals
|
125
125
|
|
126
126
|
function __Pool_init(
|
127
|
-
address registry,
|
128
127
|
NftId productNftId,
|
129
128
|
string memory name,
|
130
129
|
IComponents.PoolInfo memory poolInfo,
|
@@ -136,7 +135,6 @@ abstract contract Pool is
|
|
136
135
|
onlyInitializing()
|
137
136
|
{
|
138
137
|
__InstanceLinkedComponent_init(
|
139
|
-
registry,
|
140
138
|
productNftId,
|
141
139
|
name,
|
142
140
|
POOL(),
|
@@ -77,7 +77,6 @@ library PoolLib {
|
|
77
77
|
|
78
78
|
|
79
79
|
function calculateStakingAmounts(
|
80
|
-
IRegistry registry,
|
81
80
|
InstanceReader instanceReader,
|
82
81
|
NftId poolNftId,
|
83
82
|
Amount stakingAmount
|
@@ -89,7 +88,7 @@ library PoolLib {
|
|
89
88
|
Amount netStakingAmount
|
90
89
|
)
|
91
90
|
{
|
92
|
-
NftId productNftId =
|
91
|
+
NftId productNftId = ContractLib.getRegistry().getParentNftId(poolNftId);
|
93
92
|
Fee memory stakingFee = instanceReader.getFeeInfo(productNftId).stakingFee;
|
94
93
|
(
|
95
94
|
feeAmount,
|
@@ -101,7 +100,6 @@ library PoolLib {
|
|
101
100
|
|
102
101
|
|
103
102
|
function calculatePayoutAmounts(
|
104
|
-
IRegistry registry,
|
105
103
|
InstanceReader instanceReader,
|
106
104
|
NftId productNftId,
|
107
105
|
NftId policyNftId,
|
@@ -122,7 +120,7 @@ library PoolLib {
|
|
122
120
|
netPayoutAmount = payoutAmount;
|
123
121
|
|
124
122
|
if (payoutBeneficiary == address(0)) {
|
125
|
-
beneficiary =
|
123
|
+
beneficiary = ContractLib.getRegistry().ownerOf(policyNftId);
|
126
124
|
} else {
|
127
125
|
beneficiary = payoutBeneficiary;
|
128
126
|
}
|
@@ -137,14 +135,13 @@ library PoolLib {
|
|
137
135
|
|
138
136
|
|
139
137
|
function getPolicyHolder(
|
140
|
-
IRegistry registry,
|
141
138
|
NftId policyNftId
|
142
139
|
)
|
143
140
|
internal
|
144
141
|
view
|
145
142
|
returns (IPolicyHolder policyHolder)
|
146
143
|
{
|
147
|
-
address policyHolderAddress =
|
144
|
+
address policyHolderAddress = ContractLib.getRegistry().ownerOf(policyNftId);
|
148
145
|
policyHolder = IPolicyHolder(policyHolderAddress);
|
149
146
|
|
150
147
|
if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
|
@@ -152,101 +149,7 @@ library PoolLib {
|
|
152
149
|
}
|
153
150
|
}
|
154
151
|
|
155
|
-
|
156
|
-
function checkAndGetPoolInfo(
|
157
|
-
IRegistry registry,
|
158
|
-
address sender,
|
159
|
-
NftId bundleNftId,
|
160
|
-
VersionPart release
|
161
|
-
)
|
162
|
-
public
|
163
|
-
view
|
164
|
-
returns (
|
165
|
-
InstanceReader instanceReader,
|
166
|
-
InstanceStore instanceStore,
|
167
|
-
NftId instanceNftId,
|
168
|
-
NftId poolNftId,
|
169
|
-
IComponents.PoolInfo memory poolInfo
|
170
|
-
)
|
171
|
-
{
|
172
|
-
checkNftType(registry, bundleNftId, BUNDLE(), release);
|
173
|
-
|
174
|
-
IInstance instance;
|
175
|
-
(poolNftId, instance) = getAndVerifyActivePool(registry, sender);
|
176
|
-
instanceReader = instance.getInstanceReader();
|
177
|
-
instanceStore = instance.getInstanceStore();
|
178
|
-
instanceNftId = instance.getNftId();
|
179
|
-
poolInfo = instanceReader.getPoolInfo(poolNftId);
|
180
|
-
|
181
|
-
if (registry.getParentNftId(bundleNftId) != poolNftId) {
|
182
|
-
revert IPoolService.ErrorPoolServiceBundlePoolMismatch(bundleNftId, poolNftId);
|
183
|
-
}
|
184
|
-
}
|
185
|
-
|
186
|
-
|
187
|
-
function getAndVerifyActivePool(
|
188
|
-
IRegistry registry,
|
189
|
-
address sender
|
190
|
-
)
|
191
|
-
public
|
192
|
-
view
|
193
|
-
returns (
|
194
|
-
NftId poolNftId,
|
195
|
-
IInstance instance
|
196
|
-
)
|
197
|
-
{
|
198
|
-
(
|
199
|
-
IRegistry.ObjectInfo memory info,
|
200
|
-
address instanceAddress
|
201
|
-
) = ContractLib.getAndVerifyComponent(
|
202
|
-
registry,
|
203
|
-
sender,
|
204
|
-
POOL(),
|
205
|
-
true); // only active pools
|
206
|
-
|
207
|
-
poolNftId = info.nftId;
|
208
|
-
instance = IInstance(instanceAddress);
|
209
|
-
}
|
210
|
-
|
211
|
-
|
212
|
-
function getAndVerifyActiveComponent(
|
213
|
-
IRegistry registry,
|
214
|
-
address sender,
|
215
|
-
ObjectType expectedComponentType
|
216
|
-
)
|
217
|
-
public
|
218
|
-
view
|
219
|
-
returns (
|
220
|
-
NftId componentNftId,
|
221
|
-
IInstance instance
|
222
|
-
)
|
223
|
-
{
|
224
|
-
(
|
225
|
-
IRegistry.ObjectInfo memory info,
|
226
|
-
address instanceAddress
|
227
|
-
) = ContractLib.getAndVerifyComponent(
|
228
|
-
registry,
|
229
|
-
sender,
|
230
|
-
expectedComponentType,
|
231
|
-
true); // only active components
|
232
|
-
|
233
|
-
componentNftId = info.nftId;
|
234
|
-
instance = IInstance(instanceAddress);
|
235
|
-
}
|
236
|
-
|
237
|
-
function checkNftType(
|
238
|
-
IRegistry registry,
|
239
|
-
NftId nftId,
|
240
|
-
ObjectType expectedObjectType,
|
241
|
-
VersionPart expectedRelease
|
242
|
-
) internal view {
|
243
|
-
if(!registry.isObjectType(nftId, expectedObjectType, expectedRelease)) {
|
244
|
-
revert INftOwnable.ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
245
|
-
}
|
246
|
-
}
|
247
|
-
|
248
152
|
function transferTokenAndNotifyPolicyHolder(
|
249
|
-
IRegistry registry,
|
250
153
|
InstanceReader instanceReader,
|
251
154
|
TokenHandler poolTokenHandler,
|
252
155
|
NftId productNftId,
|
@@ -268,7 +171,6 @@ library PoolLib {
|
|
268
171
|
processingFeeAmount,
|
269
172
|
beneficiary
|
270
173
|
) = calculatePayoutAmounts(
|
271
|
-
registry,
|
272
174
|
instanceReader,
|
273
175
|
productNftId,
|
274
176
|
policyNftId,
|
@@ -290,7 +192,6 @@ library PoolLib {
|
|
290
192
|
|
291
193
|
// callback to policy holder if applicable
|
292
194
|
policyHolderPayoutExecuted(
|
293
|
-
registry,
|
294
195
|
policyNftId,
|
295
196
|
payoutId,
|
296
197
|
beneficiary,
|
@@ -298,7 +199,6 @@ library PoolLib {
|
|
298
199
|
}
|
299
200
|
|
300
201
|
function policyHolderPayoutExecuted(
|
301
|
-
IRegistry registry,
|
302
202
|
NftId policyNftId,
|
303
203
|
PayoutId payoutId,
|
304
204
|
address beneficiary,
|
@@ -306,7 +206,7 @@ library PoolLib {
|
|
306
206
|
)
|
307
207
|
private
|
308
208
|
{
|
309
|
-
IPolicyHolder policyHolder = getPolicyHolder(
|
209
|
+
IPolicyHolder policyHolder = getPolicyHolder(policyNftId);
|
310
210
|
if(address(policyHolder) != address(0)) {
|
311
211
|
policyHolder.payoutExecuted(policyNftId, payoutId, payoutAmount, beneficiary);
|
312
212
|
}
|
@@ -45,16 +45,15 @@ contract PoolService is
|
|
45
45
|
onlyInitializing()
|
46
46
|
{
|
47
47
|
(
|
48
|
-
address authority
|
49
|
-
|
50
|
-
) = abi.decode(data, (address, address));
|
48
|
+
address authority
|
49
|
+
) = abi.decode(data, (address));
|
51
50
|
|
52
|
-
__Service_init(authority,
|
51
|
+
__Service_init(authority, owner);
|
53
52
|
|
54
53
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
55
54
|
_bundleService = IBundleService(_getServiceAddress(BUNDLE()));
|
56
55
|
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
57
|
-
_staking = IStaking(
|
56
|
+
_staking = IStaking(_getRegistry().getStakingAddress());
|
58
57
|
|
59
58
|
_registerInterface(type(IPoolService).interfaceId);
|
60
59
|
}
|
@@ -66,7 +65,11 @@ contract PoolService is
|
|
66
65
|
virtual
|
67
66
|
restricted()
|
68
67
|
{
|
69
|
-
(
|
68
|
+
(
|
69
|
+
NftId poolNftId,
|
70
|
+
IInstance instance
|
71
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
72
|
+
|
70
73
|
InstanceReader instanceReader = instance.getInstanceReader();
|
71
74
|
IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
|
72
75
|
|
@@ -78,15 +81,20 @@ contract PoolService is
|
|
78
81
|
}
|
79
82
|
|
80
83
|
|
84
|
+
// TODO closing bundle here but creating in bundle service
|
81
85
|
function closeBundle(NftId bundleNftId)
|
82
86
|
external
|
83
87
|
restricted()
|
84
88
|
virtual
|
85
89
|
{
|
86
|
-
|
87
|
-
|
88
|
-
|
90
|
+
// checks
|
91
|
+
(
|
92
|
+
NftId poolNftId,
|
93
|
+
IInstance instance
|
94
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
95
|
+
bundleNftId, getRelease());
|
89
96
|
|
97
|
+
// effects
|
90
98
|
// TODO get performance fee for pool (#477)
|
91
99
|
|
92
100
|
// releasing collateral in bundle
|
@@ -95,15 +103,15 @@ contract PoolService is
|
|
95
103
|
_accountingService.decreasePoolBalance(
|
96
104
|
instance.getInstanceStore(),
|
97
105
|
poolNftId,
|
98
|
-
unstakedAmount +
|
106
|
+
unstakedAmount + feeAmount,
|
99
107
|
AmountLib.zero());
|
100
108
|
|
101
|
-
emit LogPoolServiceBundleClosed(
|
109
|
+
emit LogPoolServiceBundleClosed(poolNftId, bundleNftId);
|
102
110
|
|
103
|
-
if ((unstakedAmount + feeAmount).gtz()){
|
104
|
-
|
105
|
-
|
106
|
-
|
111
|
+
if ((unstakedAmount + feeAmount).gtz()) {
|
112
|
+
TokenHandler tokenHandler = instance.getInstanceReader().getTokenHandler(poolNftId);
|
113
|
+
tokenHandler.pushToken(
|
114
|
+
_getRegistry().ownerOf(bundleNftId),
|
107
115
|
unstakedAmount + feeAmount);
|
108
116
|
}
|
109
117
|
}
|
@@ -119,56 +127,25 @@ contract PoolService is
|
|
119
127
|
restricted()
|
120
128
|
virtual
|
121
129
|
{
|
122
|
-
|
130
|
+
(
|
131
|
+
NftId poolNftId,
|
132
|
+
IInstance instance
|
133
|
+
) = ContractLib.getAndVerifyPoolForPolicy(
|
134
|
+
policyNftId, getRelease());
|
123
135
|
|
124
|
-
(NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
125
136
|
InstanceReader instanceReader = instance.getInstanceReader();
|
126
|
-
NftId productNftId =
|
127
|
-
|
128
|
-
// check policy matches with calling pool
|
129
|
-
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
130
|
-
if(policyInfo.productNftId != productNftId) {
|
131
|
-
revert ErrorPoolServicePolicyPoolMismatch(
|
132
|
-
policyNftId,
|
133
|
-
policyInfo.productNftId,
|
134
|
-
productNftId);
|
135
|
-
}
|
137
|
+
NftId productNftId = _getRegistry().getParentNftId(poolNftId);
|
136
138
|
|
137
|
-
emit LogPoolServiceProcessFundedClaim(policyNftId, claimId, availableAmount);
|
139
|
+
emit LogPoolServiceProcessFundedClaim(poolNftId, policyNftId, claimId, availableAmount);
|
138
140
|
|
141
|
+
// TODO reading the whole struct for just 1 check
|
139
142
|
// callback to product component if applicable
|
140
143
|
if (instanceReader.getProductInfo(productNftId).isProcessingFundedClaims) {
|
141
|
-
address productAddress =
|
144
|
+
address productAddress = _getRegistry().getObjectAddress(productNftId);
|
142
145
|
IProductComponent(productAddress).processFundedClaim(policyNftId, claimId, availableAmount);
|
143
146
|
}
|
144
147
|
}
|
145
148
|
|
146
|
-
|
147
|
-
// function _checkAndGetPoolInfo(NftId bundleNftId)
|
148
|
-
// internal
|
149
|
-
// view
|
150
|
-
// returns (
|
151
|
-
// InstanceReader instanceReader,
|
152
|
-
// InstanceStore instanceStore,
|
153
|
-
// NftId instanceNftId,
|
154
|
-
// NftId poolNftId,
|
155
|
-
// IComponents.PoolInfo memory poolInfo
|
156
|
-
// )
|
157
|
-
// {
|
158
|
-
// _checkNftType(bundleNftId, BUNDLE());
|
159
|
-
|
160
|
-
// (NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
161
|
-
// instanceReader = instance.getInstanceReader();
|
162
|
-
// instanceStore = instance.getInstanceStore();
|
163
|
-
// instanceNftId = instance.getNftId();
|
164
|
-
// poolInfo = instanceReader.getPoolInfo(poolNftId);
|
165
|
-
|
166
|
-
// if (getRegistry().getParentNftId(bundleNftId) != poolNftId) {
|
167
|
-
// revert ErrorPoolServiceBundlePoolMismatch(bundleNftId, poolNftId);
|
168
|
-
// }
|
169
|
-
// }
|
170
|
-
|
171
|
-
|
172
149
|
/// @inheritdoc IPoolService
|
173
150
|
function stake(NftId bundleNftId, Amount amount)
|
174
151
|
external
|
@@ -179,12 +156,14 @@ contract PoolService is
|
|
179
156
|
)
|
180
157
|
{
|
181
158
|
(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
159
|
+
NftId poolNftId,
|
160
|
+
IInstance instance
|
161
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
162
|
+
bundleNftId, getRelease());
|
163
|
+
|
164
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
165
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
166
|
+
IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
|
188
167
|
|
189
168
|
{
|
190
169
|
Amount currentPoolBalance = instanceReader.getBalanceAmount(poolNftId);
|
@@ -199,7 +178,6 @@ contract PoolService is
|
|
199
178
|
feeAmount,
|
200
179
|
netAmount
|
201
180
|
) = PoolLib.calculateStakingAmounts(
|
202
|
-
getRegistry(),
|
203
181
|
instanceReader,
|
204
182
|
poolNftId,
|
205
183
|
amount);
|
@@ -213,13 +191,13 @@ contract PoolService is
|
|
213
191
|
|
214
192
|
_bundleService.stake(instanceReader, instanceStore, bundleNftId, netAmount);
|
215
193
|
|
216
|
-
emit LogPoolServiceBundleStaked(
|
194
|
+
emit LogPoolServiceBundleStaked(poolNftId, bundleNftId, amount, netAmount);
|
217
195
|
|
218
196
|
// only collect staking amount when pool is not externally managed
|
219
197
|
if (!poolInfo.isExternallyManaged) {
|
220
198
|
|
221
199
|
// collect tokens from bundle owner
|
222
|
-
address bundleOwner =
|
200
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
223
201
|
PoolLib.pullStakingAmount(
|
224
202
|
instanceReader,
|
225
203
|
poolNftId,
|
@@ -237,11 +215,13 @@ contract PoolService is
|
|
237
215
|
returns(Amount netAmount)
|
238
216
|
{
|
239
217
|
(
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
218
|
+
NftId poolNftId,
|
219
|
+
IInstance instance
|
220
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
221
|
+
bundleNftId, getRelease());
|
222
|
+
|
223
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
224
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
245
225
|
|
246
226
|
// call bundle service for bookkeeping and additional checks
|
247
227
|
Amount unstakedAmount = _bundleService.unstake(instanceStore, bundleNftId, amount);
|
@@ -260,13 +240,13 @@ contract PoolService is
|
|
260
240
|
AmountLib.zero());
|
261
241
|
|
262
242
|
|
263
|
-
emit LogPoolServiceBundleUnstaked(
|
243
|
+
emit LogPoolServiceBundleUnstaked(poolNftId, bundleNftId, unstakedAmount, netAmount);
|
264
244
|
|
265
245
|
// only distribute staking amount when pool is not externally managed
|
266
246
|
if (!instanceReader.getPoolInfo(poolNftId).isExternallyManaged) {
|
267
247
|
|
268
248
|
// transfer amount to bundle owner
|
269
|
-
address bundleOwner =
|
249
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
270
250
|
PoolLib.pushUnstakingAmount(
|
271
251
|
instanceReader,
|
272
252
|
poolNftId,
|
@@ -284,7 +264,7 @@ contract PoolService is
|
|
284
264
|
(
|
285
265
|
NftId poolNftId,
|
286
266
|
IInstance instance
|
287
|
-
) =
|
267
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
288
268
|
|
289
269
|
// check that pool is externally managed
|
290
270
|
InstanceReader reader = instance.getInstanceReader();
|
@@ -292,7 +272,7 @@ contract PoolService is
|
|
292
272
|
revert ErrorPoolServicePoolNotExternallyManaged(poolNftId);
|
293
273
|
}
|
294
274
|
|
295
|
-
address poolOwner =
|
275
|
+
address poolOwner = _getRegistry().ownerOf(poolNftId);
|
296
276
|
emit LogPoolServiceWalletFunded(poolNftId, poolOwner, amount);
|
297
277
|
|
298
278
|
PoolLib.pullStakingAmount(
|
@@ -311,7 +291,7 @@ contract PoolService is
|
|
311
291
|
(
|
312
292
|
NftId poolNftId,
|
313
293
|
IInstance instance
|
314
|
-
) =
|
294
|
+
) = ContractLib.getAndVerifyPool(getRelease());
|
315
295
|
|
316
296
|
// check that pool is externally managed
|
317
297
|
InstanceReader reader = instance.getInstanceReader();
|
@@ -319,7 +299,7 @@ contract PoolService is
|
|
319
299
|
revert ErrorPoolServicePoolNotExternallyManaged(poolNftId);
|
320
300
|
}
|
321
301
|
|
322
|
-
address poolOwner =
|
302
|
+
address poolOwner = _getRegistry().ownerOf(poolNftId);
|
323
303
|
emit LogPoolServiceWalletDefunded(poolNftId, poolOwner, amount);
|
324
304
|
|
325
305
|
PoolLib.pushUnstakingAmount(
|
@@ -340,10 +320,8 @@ contract PoolService is
|
|
340
320
|
{
|
341
321
|
_checkNftType(bundleNftId, BUNDLE());
|
342
322
|
|
343
|
-
|
344
|
-
|
345
|
-
(, address instanceAddress) = ContractLib.getInfoAndInstance(registry, poolNftId, true);
|
346
|
-
IInstance instance = IInstance(instanceAddress);
|
323
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
324
|
+
(, IInstance instance) = ContractLib.getInfoAndInstance(poolNftId, getRelease(), true);
|
347
325
|
|
348
326
|
Amount poolFeeAmount = premium.poolFeeFixAmount + premium.poolFeeVarAmount;
|
349
327
|
Amount bundleFeeAmount = premium.bundleFeeFixAmount + premium.bundleFeeVarAmount;
|
@@ -414,7 +392,7 @@ contract PoolService is
|
|
414
392
|
// pool callback when required
|
415
393
|
if (poolIsVerifyingApplications) {
|
416
394
|
IPoolComponent pool = IPoolComponent(
|
417
|
-
|
395
|
+
_getRegistry().getObjectAddress(poolNftId));
|
418
396
|
|
419
397
|
pool.verifyApplication(
|
420
398
|
applicationNftId,
|
@@ -454,7 +432,7 @@ contract PoolService is
|
|
454
432
|
_checkNftType(policyNftId, POLICY());
|
455
433
|
|
456
434
|
// effects
|
457
|
-
NftId poolNftId =
|
435
|
+
NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
|
458
436
|
|
459
437
|
_accountingService.decreasePoolBalance(
|
460
438
|
instanceStore,
|
@@ -484,7 +462,6 @@ contract PoolService is
|
|
484
462
|
|
485
463
|
// interactions
|
486
464
|
(netPayoutAmount, processingFeeAmount) = PoolLib.transferTokenAndNotifyPolicyHolder(
|
487
|
-
getRegistry(),
|
488
465
|
instanceReader,
|
489
466
|
poolTokenHandler,
|
490
467
|
productNftId,
|
@@ -522,9 +499,12 @@ contract PoolService is
|
|
522
499
|
returns (Amount withdrawnAmount)
|
523
500
|
{
|
524
501
|
// checks
|
525
|
-
|
502
|
+
(
|
503
|
+
NftId poolNftId,
|
504
|
+
IInstance instance
|
505
|
+
) = ContractLib.getAndVerifyPoolForBundle(
|
506
|
+
bundleNftId, getRelease());
|
526
507
|
|
527
|
-
(NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
528
508
|
InstanceReader reader = instance.getInstanceReader();
|
529
509
|
|
530
510
|
// determine withdrawn amount
|
@@ -550,10 +530,10 @@ contract PoolService is
|
|
550
530
|
// interactions
|
551
531
|
// transfer amount to bundle owner
|
552
532
|
{
|
553
|
-
address bundleOwner =
|
533
|
+
address bundleOwner = _getRegistry().ownerOf(bundleNftId);
|
554
534
|
TokenHandler tokenHandler = reader.getTokenHandler(poolNftId);
|
555
535
|
address token = address(tokenHandler.TOKEN());
|
556
|
-
emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner, token, withdrawnAmount);
|
536
|
+
emit LogPoolServiceFeesWithdrawn(poolNftId, bundleNftId, bundleOwner, token, withdrawnAmount);
|
557
537
|
|
558
538
|
tokenHandler.pushToken(bundleOwner, withdrawnAmount);
|
559
539
|
}
|
@@ -594,20 +574,6 @@ contract PoolService is
|
|
594
574
|
remainingCollateralAmount);
|
595
575
|
}
|
596
576
|
|
597
|
-
|
598
|
-
function _getAndVerifyActivePool()
|
599
|
-
internal
|
600
|
-
virtual
|
601
|
-
view
|
602
|
-
returns (
|
603
|
-
NftId poolNftId,
|
604
|
-
IInstance instance
|
605
|
-
)
|
606
|
-
{
|
607
|
-
return PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
608
|
-
}
|
609
|
-
|
610
|
-
|
611
577
|
function _getDomain() internal pure override returns(ObjectType) {
|
612
578
|
return POOL();
|
613
579
|
}
|