@etherisc/gif-next 0.0.2-7afe9ac-654 → 0.0.2-7b09b39-121
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 +16 -2
- 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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- 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/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
- 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 +30 -60
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +0 -38
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +93 -96
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +45 -49
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/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/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +80 -122
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +72 -194
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +18 -48
- 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/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -38
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +11 -99
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +288 -67
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +78 -34
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +134 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1 -57
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +189 -54
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1 -95
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +337 -90
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +75 -19
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +21 -32
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +9 -17
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -38
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +82 -58
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +34 -30
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +5 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +16 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +184 -88
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +291 -139
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +54 -26
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +0 -38
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
- 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/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 +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/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 +2 -2
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -38
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +148 -76
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +47 -39
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +56 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/{ERC165.sol/ERC165.json → InitializableERC165.sol/InitializableERC165.json} +4 -4
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -38
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +53 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +56 -70
- 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 +29 -17
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +22 -22
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +12 -12
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +17 -12
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -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/Amount.sol/AmountLib.json +13 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -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 +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -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/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/distribution/BasicDistribution.sol +4 -15
- package/contracts/distribution/Distribution.sol +3 -9
- package/contracts/distribution/DistributionService.sol +11 -13
- package/contracts/instance/InstanceReader.sol +10 -7
- package/contracts/instance/InstanceStore.sol +2 -1
- package/contracts/instance/base/ObjectLifecycle.sol +2 -3
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -6
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/Oracle.sol +2 -6
- package/contracts/pool/BasicPool.sol +7 -5
- package/contracts/pool/BasicPoolAuthorization.sol +5 -2
- package/contracts/pool/BundleService.sol +126 -16
- package/contracts/pool/IBundleService.sol +21 -6
- package/contracts/pool/IPoolService.sol +15 -16
- package/contracts/pool/Pool.sol +14 -14
- package/contracts/pool/PoolService.sol +174 -48
- package/contracts/product/ApplicationService.sol +35 -15
- package/contracts/product/BasicProduct.sol +3 -33
- package/contracts/product/ClaimService.sol +16 -8
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +1 -0
- package/contracts/product/IPolicyService.sol +19 -12
- package/contracts/product/PolicyService.sol +189 -108
- package/contracts/product/PricingService.sol +5 -1
- package/contracts/product/Product.sol +22 -1
- package/contracts/registry/ReleaseRegistry.sol +0 -2
- package/contracts/shared/Component.sol +8 -7
- package/contracts/shared/ComponentService.sol +34 -4
- package/contracts/shared/IComponent.sol +4 -3
- package/contracts/shared/IComponentService.sol +5 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +8 -8
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +2 -2
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/TokenHandler.sol +4 -0
- package/contracts/staking/Staking.sol +3 -1
- package/contracts/staking/StakingService.sol +8 -12
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/Seconds.sol +13 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +26 -8
- package/package.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
@@ -22,7 +22,7 @@ import {NftId, NftIdLib} from "../type/NftId.sol";
|
|
22
22
|
import {ObjectType, COMPONENT, POOL, BUNDLE, REGISTRY} from "../type/ObjectType.sol";
|
23
23
|
import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../type/StateId.sol";
|
24
24
|
import {Seconds} from "../type/Seconds.sol";
|
25
|
-
import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
25
|
+
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
26
26
|
|
27
27
|
string constant BUNDLE_SERVICE_NAME = "BundleService";
|
28
28
|
|
@@ -113,13 +113,15 @@ contract BundleService is
|
|
113
113
|
InstanceStore instanceStore = instance.getInstanceStore();
|
114
114
|
instanceStore.createBundle(
|
115
115
|
bundleNftId,
|
116
|
-
IBundle.BundleInfo(
|
117
|
-
poolNftId,
|
118
|
-
bundleFee,
|
119
|
-
filter,
|
120
|
-
|
121
|
-
TimestampLib.blockTimestamp().addSeconds(lifetime),
|
122
|
-
zeroTimestamp()
|
116
|
+
IBundle.BundleInfo({
|
117
|
+
poolNftId: poolNftId,
|
118
|
+
fee: bundleFee,
|
119
|
+
filter: filter,
|
120
|
+
activatedAt: TimestampLib.blockTimestamp(),
|
121
|
+
expiredAt: TimestampLib.blockTimestamp().addSeconds(lifetime),
|
122
|
+
closedAt: zeroTimestamp()
|
123
|
+
})
|
124
|
+
);
|
123
125
|
|
124
126
|
// bundle book keeping
|
125
127
|
_componentService.increaseBundleBalance(
|
@@ -131,7 +133,6 @@ contract BundleService is
|
|
131
133
|
// put bundle under bundle managemet
|
132
134
|
BundleSet bundleManager = instance.getBundleSet();
|
133
135
|
bundleManager.add(bundleNftId);
|
134
|
-
|
135
136
|
// TODO add logging
|
136
137
|
}
|
137
138
|
|
@@ -148,7 +149,7 @@ contract BundleService is
|
|
148
149
|
restricted()
|
149
150
|
{
|
150
151
|
InstanceReader instanceReader = instance.getInstanceReader();
|
151
|
-
StateId bundleState =
|
152
|
+
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
152
153
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
153
154
|
|
154
155
|
// ensure bundle is active and not yet expired
|
@@ -218,9 +219,9 @@ contract BundleService is
|
|
218
219
|
external
|
219
220
|
virtual
|
220
221
|
restricted
|
222
|
+
returns (Amount unstakedAmount, Amount feeAmount)
|
221
223
|
{
|
222
|
-
|
223
|
-
instance.getInstanceStore().updateBundleState(bundleNftId, CLOSED());
|
224
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
224
225
|
|
225
226
|
// ensure no open policies attached to bundle
|
226
227
|
BundleSet bundleManager = instance.getBundleSet();
|
@@ -229,8 +230,117 @@ contract BundleService is
|
|
229
230
|
revert ErrorBundleServiceBundleWithOpenPolicies(bundleNftId, openPolicies);
|
230
231
|
}
|
231
232
|
|
232
|
-
|
233
|
-
|
233
|
+
{
|
234
|
+
// update bundle state
|
235
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
236
|
+
instanceStore.updateBundleState(bundleNftId, CLOSED());
|
237
|
+
bundleManager.lock(bundleNftId);
|
238
|
+
|
239
|
+
// decrease bundle counters
|
240
|
+
Amount balanceAmountWithFees = instanceReader.getBalanceAmount(bundleNftId);
|
241
|
+
feeAmount = instanceReader.getFeeAmount(bundleNftId);
|
242
|
+
unstakedAmount = balanceAmountWithFees - feeAmount;
|
243
|
+
_componentService.decreaseBundleBalance(instanceStore, bundleNftId, unstakedAmount, feeAmount);
|
244
|
+
}
|
245
|
+
}
|
246
|
+
|
247
|
+
/// @inheritdoc IBundleService
|
248
|
+
function stake(
|
249
|
+
IInstance instance,
|
250
|
+
NftId bundleNftId,
|
251
|
+
Amount amount
|
252
|
+
)
|
253
|
+
external
|
254
|
+
virtual
|
255
|
+
// TODO: restricted() (once #462 is done)
|
256
|
+
{
|
257
|
+
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
258
|
+
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
259
|
+
|
260
|
+
if( (bundleState != ACTIVE() && bundleState != PAUSED()) // locked bundles can be staked
|
261
|
+
|| bundleInfo.expiredAt < TimestampLib.blockTimestamp()
|
262
|
+
|| bundleInfo.closedAt.gtz()) {
|
263
|
+
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
264
|
+
}
|
265
|
+
|
266
|
+
_componentService.increaseBundleBalance(
|
267
|
+
instance.getInstanceStore(),
|
268
|
+
bundleNftId,
|
269
|
+
amount,
|
270
|
+
AmountLib.zero());
|
271
|
+
}
|
272
|
+
|
273
|
+
/// @inheritdoc IBundleService
|
274
|
+
function unstake(
|
275
|
+
IInstance instance,
|
276
|
+
NftId bundleNftId,
|
277
|
+
Amount amount
|
278
|
+
)
|
279
|
+
external
|
280
|
+
virtual
|
281
|
+
// TODO: restricted() (once #462 is done)
|
282
|
+
returns (Amount unstakedAmount)
|
283
|
+
{
|
284
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
285
|
+
(
|
286
|
+
Amount balanceAmount,
|
287
|
+
Amount lockedAmount,
|
288
|
+
Amount feeAmount
|
289
|
+
) = instanceStore.getAmounts(bundleNftId);
|
290
|
+
|
291
|
+
Amount unstakedAmount = amount;
|
292
|
+
Amount availableAmount = balanceAmount - (lockedAmount + feeAmount);
|
293
|
+
|
294
|
+
// if amount is max, then unstake all available
|
295
|
+
if (amount.gte(AmountLib.max())) {
|
296
|
+
unstakedAmount = availableAmount;
|
297
|
+
}
|
298
|
+
|
299
|
+
// ensure unstaked amount does not exceed available amount
|
300
|
+
if (unstakedAmount > availableAmount) {
|
301
|
+
revert ErrorBundleServiceUnstakeAmountExceedsLimit(amount, availableAmount);
|
302
|
+
}
|
303
|
+
|
304
|
+
_componentService.decreaseBundleBalance(
|
305
|
+
instanceStore,
|
306
|
+
bundleNftId,
|
307
|
+
unstakedAmount,
|
308
|
+
AmountLib.zero());
|
309
|
+
|
310
|
+
return unstakedAmount;
|
311
|
+
}
|
312
|
+
|
313
|
+
/// @inheritdoc IBundleService
|
314
|
+
function extend(NftId bundleNftId, Seconds lifetimeExtension)
|
315
|
+
external
|
316
|
+
virtual
|
317
|
+
// TODO: restricted() (once #462 is done)
|
318
|
+
returns (Timestamp extendedExpiredAt)
|
319
|
+
{
|
320
|
+
(NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
|
321
|
+
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
322
|
+
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
323
|
+
|
324
|
+
// ensure bundle belongs to the pool
|
325
|
+
if (bundleInfo.poolNftId != poolNftId) {
|
326
|
+
revert ErrorBundleServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, poolNftId);
|
327
|
+
}
|
328
|
+
|
329
|
+
// ensure bundle is active and not yet expired
|
330
|
+
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.blockTimestamp()) {
|
331
|
+
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
332
|
+
}
|
333
|
+
|
334
|
+
if (lifetimeExtension.eqz()) {
|
335
|
+
revert ErrorBundleServiceExtensionLifetimeIsZero();
|
336
|
+
}
|
337
|
+
|
338
|
+
bundleInfo.expiredAt = bundleInfo.expiredAt.addSeconds(lifetimeExtension);
|
339
|
+
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
340
|
+
|
341
|
+
emit LogBundleServiceBundleExtended(bundleNftId, lifetimeExtension, bundleInfo.expiredAt);
|
342
|
+
|
343
|
+
return bundleInfo.expiredAt;
|
234
344
|
}
|
235
345
|
|
236
346
|
|
@@ -312,9 +422,9 @@ contract BundleService is
|
|
312
422
|
// transfer amount to bundle owner
|
313
423
|
{
|
314
424
|
address owner = getRegistry().ownerOf(bundleNftId);
|
315
|
-
poolInfo.tokenHandler.transfer(poolWallet, owner, withdrawnAmount);
|
316
|
-
|
317
425
|
emit LogBundleServiceFeesWithdrawn(bundleNftId, owner, address(token), withdrawnAmount);
|
426
|
+
// TODO: centralize token handling (issue #471)
|
427
|
+
poolInfo.tokenHandler.transfer(poolWallet, owner, withdrawnAmount);
|
318
428
|
}
|
319
429
|
}
|
320
430
|
|
@@ -26,12 +26,16 @@ interface IBundleService is IService {
|
|
26
26
|
|
27
27
|
error ErrorBundleServicePolicyNotCloseable(NftId policyNftId);
|
28
28
|
|
29
|
-
// error ErrorBundleServiceBundleNotActive(NftId distributorNftId);
|
30
29
|
error ErrorBundleServiceFeesWithdrawAmountExceedsLimit(Amount amount, Amount limit);
|
31
30
|
error ErrorBundleServiceFeesWithdrawAmountIsZero();
|
32
31
|
error ErrorBundleServiceWalletAllowanceTooSmall(address wallet, address tokenHandler, uint256 allowance, uint256 amount);
|
33
32
|
|
33
|
+
error ErrorBundleServiceUnstakeAmountExceedsLimit(Amount amount, Amount limit);
|
34
|
+
|
35
|
+
error ErrorBundleServiceExtensionLifetimeIsZero();
|
36
|
+
|
34
37
|
event LogBundleServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
|
38
|
+
event LogBundleServiceBundleExtended(NftId bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
|
35
39
|
|
36
40
|
/// @dev create a new bundle for the specified attributes
|
37
41
|
/// may only be called by pool service
|
@@ -48,11 +52,20 @@ interface IBundleService is IService {
|
|
48
52
|
returns(NftId bundleNftId); // the nft id of the newly created bundle
|
49
53
|
|
50
54
|
|
51
|
-
/// @dev increase bundle stakes by the specified amount
|
52
|
-
/// may only be called by the
|
53
|
-
|
55
|
+
/// @dev increase bundle stakes by the specified amount. bundle must not be expired or closed
|
56
|
+
/// may only be called by the pool service
|
57
|
+
function stake(IInstance instance, NftId bundleNftId, Amount amount) external;
|
54
58
|
|
55
|
-
|
59
|
+
/// @dev decrease bundle stakes by the specified amount
|
60
|
+
/// may only be called by the pool service
|
61
|
+
/// @param instance the instance relevant for the bundle
|
62
|
+
/// @param bundleNftId the bundle nft id
|
63
|
+
/// @param amount the amount to unstake (set to AmountLib.max() to unstake all available stakes)
|
64
|
+
/// @return unstakedAmount the effective unstaked amount
|
65
|
+
function unstake(IInstance instance, NftId bundleNftId, Amount amount) external returns (Amount unstakedAmount);
|
66
|
+
|
67
|
+
/// @dev extend the lifetime of the bundle by the specified time in seconds
|
68
|
+
function extend(NftId bundleNftId, Seconds lifetimeExtension) external returns (Timestamp extendedExpiredAt);
|
56
69
|
|
57
70
|
/// @dev locks the specified bundle, locked bundles are not available to collateralize new policies
|
58
71
|
/// only active bundles may be locked
|
@@ -68,10 +81,12 @@ interface IBundleService is IService {
|
|
68
81
|
/// only open bundles (active or locked) may be closed
|
69
82
|
/// to close a bundle it may not have any non-closed polices attached to it
|
70
83
|
/// may only be called by registered and unlocked pool components
|
84
|
+
/// @return balanceAmount the unstaked amount that was remaining in the bundle
|
85
|
+
/// @return feeAmount the fee amount that was remaining for the bundle
|
71
86
|
function close(
|
72
87
|
IInstance instance,
|
73
88
|
NftId bundleNftId
|
74
|
-
) external;
|
89
|
+
) external returns (Amount balanceAmount, Amount feeAmount);
|
75
90
|
|
76
91
|
/// @dev set bundle fee to provided value
|
77
92
|
/// may only be called by registered and unlocked pool components
|
@@ -17,29 +17,28 @@ import {UFixed} from "../type/UFixed.sol";
|
|
17
17
|
|
18
18
|
interface IPoolService is IService {
|
19
19
|
|
20
|
-
event
|
20
|
+
event LogPoolServiceMaxBalanceAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
|
21
21
|
event LogPoolServiceBundleOwnerRoleSet(NftId poolNftId, RoleId bundleOwnerRole);
|
22
22
|
|
23
23
|
event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
24
24
|
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
25
25
|
|
26
|
+
event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
27
|
+
event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount);
|
28
|
+
|
26
29
|
error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
|
27
30
|
error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
|
31
|
+
error ErrorPoolServiceBundlePoolMismatch(NftId bundleNftId, NftId poolNftId);
|
32
|
+
error ErrorPoolServiceMaxBalanceAmountExceeded(NftId poolNftId, Amount maxBalanceAmount, Amount currentBalanceAmount, Amount transferAmount);
|
33
|
+
error ErrorPoolServiceWalletAllowanceTooSmall(address wallet, address spender, uint256 allowance, uint256 amount);
|
34
|
+
error ErrorPoolServiceAmountIsZero();
|
28
35
|
|
29
36
|
/// @dev defines the required role for bundle owners for the calling pool
|
30
37
|
/// default implementation returns PUBLIC ROLE
|
31
38
|
function setBundleOwnerRole(RoleId bundleOwnerRole) external;
|
32
39
|
|
33
|
-
/// @dev sets the max
|
34
|
-
function
|
35
|
-
|
36
|
-
/// @dev set pool sepecific fees
|
37
|
-
function setFees(
|
38
|
-
Fee memory poolFee,
|
39
|
-
Fee memory stakingFee,
|
40
|
-
Fee memory performanceFee
|
41
|
-
) external;
|
42
|
-
|
40
|
+
/// @dev sets the max balance amount for the calling pool
|
41
|
+
function setMaxBalanceAmount(Amount maxBalanceAmount) external;
|
43
42
|
|
44
43
|
/// @dev locks required collateral to cover the specified application (and turn it into a policy)
|
45
44
|
/// - retention level == 1: the full collateral amount will be locked by the specified bundle
|
@@ -85,7 +84,8 @@ interface IPoolService is IService {
|
|
85
84
|
|
86
85
|
/// @dev create a new bundle for the provided parameters
|
87
86
|
/// staking fees will be deducted by the pool service from the staking amount
|
88
|
-
/// may only be called by registered and unlocked pool components
|
87
|
+
/// may only be called by registered and unlocked pool components.
|
88
|
+
/// The pool balance is equal to the pool fees plus the capital of all bundles.
|
89
89
|
function createBundle(
|
90
90
|
address owner, // initial bundle owner
|
91
91
|
Fee memory fee, // fees deducted from premium that go to bundle owner
|
@@ -94,7 +94,7 @@ interface IPoolService is IService {
|
|
94
94
|
bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
|
95
95
|
)
|
96
96
|
external
|
97
|
-
returns(NftId bundleNftId); // the nft id of the newly created bundle
|
97
|
+
returns(NftId bundleNftId, Amount netStakedAmount); // the nft id of the newly created bundle
|
98
98
|
|
99
99
|
|
100
100
|
/// @dev closes the specified bundle
|
@@ -111,13 +111,12 @@ interface IPoolService is IService {
|
|
111
111
|
/// @dev increase stakes for bundle
|
112
112
|
/// staking fees will be deducted by the pool service from the staking amount
|
113
113
|
/// may only be called by registered and unlocked pool components
|
114
|
-
|
115
|
-
|
114
|
+
function stake(NftId bundleNftId, Amount amount) external returns(Amount netAmount);
|
116
115
|
|
117
116
|
/// @dev decrease stakes for bundle
|
118
117
|
/// performance fees will be deducted by the pool service from the staking amount
|
119
118
|
/// may only be called by registered and unlocked pool components
|
120
|
-
|
119
|
+
function unstake(NftId bundleNftId, Amount amount) external returns(Amount netAmount);
|
121
120
|
|
122
121
|
|
123
122
|
/// @dev calulate required collateral for the provided parameters
|
package/contracts/pool/Pool.sol
CHANGED
@@ -14,6 +14,7 @@ import {Fee, FeeLib} from "../type/Fee.sol";
|
|
14
14
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
15
15
|
import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
16
|
import {Seconds} from "../type/Seconds.sol";
|
17
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
17
18
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
18
19
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
19
20
|
|
@@ -113,17 +114,13 @@ abstract contract Pool is
|
|
113
114
|
returns (IComponents.PoolInfo memory poolInfo)
|
114
115
|
{
|
115
116
|
return IComponents.PoolInfo(
|
116
|
-
NftIdLib.zero(), // will be set when GIF registers the related product
|
117
117
|
PUBLIC_ROLE(), // bundleOwnerRole
|
118
118
|
AmountLib.max(), // maxCapitalAmount,
|
119
119
|
isNftInterceptor(), // isInterceptingBundleTransfers
|
120
120
|
false, // isExternallyManaged,
|
121
121
|
false, // isVerifyingApplications,
|
122
122
|
UFixedLib.toUFixed(1), // collateralizationLevel,
|
123
|
-
UFixedLib.toUFixed(1)
|
124
|
-
FeeLib.zero(), // initialPoolFee,
|
125
|
-
FeeLib.zero(), // initialStakingFee,
|
126
|
-
FeeLib.zero() // initialPerformanceFee,
|
123
|
+
UFixedLib.toUFixed(1) // retentionLevel,
|
127
124
|
);
|
128
125
|
}
|
129
126
|
|
@@ -172,8 +169,9 @@ abstract contract Pool is
|
|
172
169
|
)
|
173
170
|
internal
|
174
171
|
virtual
|
172
|
+
returns(Amount netAmount)
|
175
173
|
{
|
176
|
-
|
174
|
+
_getPoolStorage()._poolService.stake(bundleNftId, amount);
|
177
175
|
}
|
178
176
|
|
179
177
|
|
@@ -185,8 +183,9 @@ abstract contract Pool is
|
|
185
183
|
)
|
186
184
|
internal
|
187
185
|
virtual
|
186
|
+
returns(Amount netAmount)
|
188
187
|
{
|
189
|
-
|
188
|
+
return _getPoolStorage()._poolService.unstake(bundleNftId, amount);
|
190
189
|
}
|
191
190
|
|
192
191
|
|
@@ -198,8 +197,9 @@ abstract contract Pool is
|
|
198
197
|
)
|
199
198
|
internal
|
200
199
|
virtual
|
200
|
+
returns (Timestamp extendedExpiredAt)
|
201
201
|
{
|
202
|
-
|
202
|
+
return _getPoolStorage()._bundleService.extend(bundleNftId, lifetimeExtension);
|
203
203
|
}
|
204
204
|
|
205
205
|
|
@@ -229,7 +229,7 @@ abstract contract Pool is
|
|
229
229
|
/// To close a bundle all all linked policies MUST be in closed state as well.
|
230
230
|
/// Closing a bundle finalizes the bundle bookkeeping including overall profit calculation.
|
231
231
|
/// Once a bundle is closed this action cannot be reversed.
|
232
|
-
function
|
232
|
+
function _closeBundle(NftId bundleNftId)
|
233
233
|
internal
|
234
234
|
virtual
|
235
235
|
{
|
@@ -251,13 +251,13 @@ abstract contract Pool is
|
|
251
251
|
}
|
252
252
|
|
253
253
|
|
254
|
-
/// @dev Sets the maximum
|
254
|
+
/// @dev Sets the maximum balance amound held by this pool.
|
255
255
|
/// Function may only be called by pool owner.
|
256
|
-
function
|
256
|
+
function _setMaxBalanceAmount(Amount maxBalanceAmount)
|
257
257
|
internal
|
258
258
|
virtual
|
259
259
|
{
|
260
|
-
_getPoolStorage()._poolService.
|
260
|
+
_getPoolStorage()._poolService.setMaxBalanceAmount(maxBalanceAmount);
|
261
261
|
}
|
262
262
|
|
263
263
|
/// @dev Sets the required role to create/own bundles.
|
@@ -296,9 +296,9 @@ abstract contract Pool is
|
|
296
296
|
bytes memory filter
|
297
297
|
)
|
298
298
|
internal
|
299
|
-
returns(NftId bundleNftId)
|
299
|
+
returns(NftId bundleNftId, Amount netStakedAmount)
|
300
300
|
{
|
301
|
-
bundleNftId = _getPoolStorage()._poolService.createBundle(
|
301
|
+
(bundleNftId, netStakedAmount) = _getPoolStorage()._poolService.createBundle(
|
302
302
|
bundleOwner,
|
303
303
|
fee,
|
304
304
|
amount,
|