@etherisc/gif-next 0.0.2-f13c010-035 → 0.0.2-f13d67f-541
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 +90 -317
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +729 -287
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +438 -35
- 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 +560 -220
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +191 -21
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +132 -300
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +427 -53
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +64 -173
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +585 -231
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +190 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +44 -135
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +401 -78
- 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 +160 -224
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +426 -52
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +308 -337
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +426 -52
- 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 +408 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2185 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -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 +215 -257
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -165
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +278 -233
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +946 -466
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +551 -50
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +417 -17
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +615 -105
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1121 -374
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +379 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1127 -557
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +434 -81
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -49
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1286 -1925
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +83 -175
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +425 -54
- 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 +48 -74
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -111
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +157 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +154 -46
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +106 -173
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +426 -52
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +317 -344
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -92
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +219 -146
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +63 -128
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +380 -214
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +76 -159
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +621 -413
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +186 -66
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +327 -62
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +143 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +199 -223
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +426 -52
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +294 -189
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +151 -83
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +268 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +181 -19
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +167 -56
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +175 -181
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +258 -22
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +296 -194
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +169 -77
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +131 -59
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +193 -217
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +338 -87
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +141 -41
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +78 -19
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- 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 +116 -57
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +848 -479
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +89 -37
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +119 -39
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
- 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 +398 -64
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +66 -96
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +308 -542
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +155 -83
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +544 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +48 -60
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +171 -356
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -74
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +139 -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/IService.sol/IService.json +56 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +66 -110
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +51 -11
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +289 -112
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +70 -30
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1446 -164
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +214 -110
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1583 -296
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +160 -69
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +257 -162
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +122 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1632 -818
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
- 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 +11 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- 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 +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- 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 +49 -50
- 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 +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +95 -25
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +389 -306
- package/contracts/authorization/AccessAdminLib.sol +678 -0
- package/contracts/authorization/AccessManagerCloneable.sol +128 -4
- package/contracts/authorization/Authorization.sol +161 -260
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +89 -84
- package/contracts/authorization/IAuthorization.sol +9 -43
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +19 -18
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +45 -85
- package/contracts/distribution/DistributionService.sol +192 -99
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +38 -24
- package/contracts/examples/fire/FirePool.sol +21 -8
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +38 -20
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/flight/FlightLib.sol +279 -0
- package/contracts/examples/flight/FlightOracle.sol +168 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +470 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
- package/contracts/examples/flight/FlightUSD.sol +26 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +32 -6
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +132 -46
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +109 -19
- package/contracts/instance/IInstanceService.sol +61 -14
- package/contracts/instance/Instance.sol +184 -65
- package/contracts/instance/InstanceAdmin.sol +221 -193
- package/contracts/instance/InstanceAuthorizationV3.sol +153 -72
- package/contracts/instance/InstanceReader.sol +447 -314
- package/contracts/instance/InstanceService.sol +315 -214
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +152 -116
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -8
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +19 -10
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -7
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +3 -6
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +5 -9
- package/contracts/oracle/OracleService.sol +98 -79
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +26 -19
- package/contracts/pool/BasicPoolAuthorization.sol +34 -10
- package/contracts/pool/BundleService.sol +75 -182
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +28 -55
- package/contracts/pool/IPoolComponent.sol +1 -7
- package/contracts/pool/IPoolService.sol +65 -62
- package/contracts/pool/Pool.sol +111 -115
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +299 -229
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +93 -25
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +10 -15
- package/contracts/product/BasicProductAuthorization.sol +33 -11
- package/contracts/product/ClaimService.sol +221 -207
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +28 -3
- package/contracts/product/IClaimService.sol +18 -5
- package/contracts/product/IPolicyService.sol +34 -12
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +25 -10
- package/contracts/product/PolicyService.sol +260 -306
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +52 -46
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +106 -70
- package/contracts/product/RiskService.sol +130 -37
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +25 -24
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/Registry.sol +31 -12
- package/contracts/registry/RegistryAdmin.sol +94 -369
- package/contracts/registry/RegistryAuthorization.sol +337 -0
- package/contracts/registry/RegistryService.sol +4 -4
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +199 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +158 -134
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -52
- package/contracts/registry/TokenRegistry.sol +61 -59
- package/contracts/shared/Component.sol +58 -119
- package/contracts/shared/ComponentService.sol +400 -395
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +277 -3
- package/contracts/shared/IComponent.sol +2 -18
- package/contracts/shared/IComponentService.sol +28 -38
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +15 -5
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +63 -44
- package/contracts/shared/NftOwnable.sol +8 -6
- package/contracts/shared/PolicyHolder.sol +4 -3
- package/contracts/shared/Registerable.sol +41 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +264 -105
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +270 -72
- package/contracts/staking/IStakingService.sol +45 -75
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +522 -222
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +62 -148
- package/contracts/staking/StakingServiceManager.sol +6 -4
- package/contracts/staking/StakingStore.sol +1093 -330
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +70 -68
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +63 -45
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -8
- package/contracts/type/UFixed.sol +35 -127
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +27 -13
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +4 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.json +0 -206
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/ComponentServiceHelperLib.sol +0 -118
- package/contracts/shared/ComponentVerifyingService.sol +0 -126
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,39 +1,46 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
6
|
-
import {Fee} from "../type/Fee.sol";
|
7
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
8
4
|
import {IInstance} from "../instance/IInstance.sol";
|
9
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
10
5
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
11
6
|
import {IService} from "../shared/IService.sol";
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {ClaimId} from "../type/ClaimId.sol";
|
10
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
11
|
+
import {InstanceStore} from "../instance/InstanceStore.sol";
|
12
12
|
import {NftId} from "../type/NftId.sol";
|
13
13
|
import {PayoutId} from "../type/PayoutId.sol";
|
14
|
-
import {RoleId} from "../type/RoleId.sol";
|
15
|
-
import {Seconds} from "../type/Seconds.sol";
|
16
|
-
import {StateId} from "../type/StateId.sol";
|
17
|
-
import {UFixed} from "../type/UFixed.sol";
|
18
14
|
|
19
15
|
interface IPoolService is IService {
|
20
16
|
|
21
17
|
event LogPoolServiceMaxBalanceAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
|
22
|
-
event
|
18
|
+
event LogPoolServiceWalletFunded(NftId poolNftId, address poolOwner, Amount amount);
|
19
|
+
event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
|
23
20
|
|
24
21
|
event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
25
22
|
event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
|
26
23
|
|
27
24
|
event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
28
|
-
event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount);
|
25
|
+
event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
|
26
|
+
|
27
|
+
event LogPoolServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
|
29
28
|
|
30
29
|
event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
31
30
|
|
31
|
+
event LogPoolServiceApplicationVerified(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount);
|
32
|
+
event LogPoolServiceCollateralLocked(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
|
33
|
+
event LogPoolServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount remainingCollateralAmount);
|
34
|
+
event LogPoolServiceSaleProcessed(NftId poolNftId, NftId bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
|
35
|
+
event LogPoolServicePayoutProcessed(NftId poolNftId, NftId bundleNftId, NftId policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
|
36
|
+
|
37
|
+
error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
|
32
38
|
error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
|
33
39
|
error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
|
34
40
|
error ErrorPoolServiceInvalidTransferAmount(Amount expectedAmount, Amount actualAmount);
|
35
41
|
error ErrorPoolServiceBundlePoolMismatch(NftId bundleNftId, NftId poolNftId);
|
36
42
|
error ErrorPoolServiceMaxBalanceAmountExceeded(NftId poolNftId, Amount maxBalanceAmount, Amount currentBalanceAmount, Amount transferAmount);
|
43
|
+
error ErrorPoolServiceFeesWithdrawAmountExceedsLimit(Amount amount, Amount limit);
|
37
44
|
|
38
45
|
/// @dev sets the max balance amount for the calling pool
|
39
46
|
function setMaxBalanceAmount(Amount maxBalanceAmount) external;
|
@@ -62,7 +69,6 @@ interface IPoolService is IService {
|
|
62
69
|
/// may only be called by the policy service for unlocked pool components
|
63
70
|
function releaseCollateral(
|
64
71
|
IInstance instance,
|
65
|
-
address token,
|
66
72
|
NftId policyNftId,
|
67
73
|
IPolicy.PolicyInfo memory policyInfo
|
68
74
|
) external;
|
@@ -72,24 +78,15 @@ interface IPoolService is IService {
|
|
72
78
|
/// every payout of a policy reduces the collateral by the payout amount
|
73
79
|
/// may only be called by the claim service for unlocked pool components
|
74
80
|
function processPayout(
|
75
|
-
|
76
|
-
|
81
|
+
InstanceReader instanceReader,
|
82
|
+
InstanceStore instanceStore,
|
83
|
+
NftId productNftId,
|
77
84
|
NftId policyNftId,
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
/// @dev create a new empty bundle with the provided parameters
|
84
|
-
/// may only be called by registered and unlocked pool components.
|
85
|
-
function createBundle(
|
86
|
-
address owner, // initial bundle owner
|
87
|
-
Fee memory fee, // fees deducted from premium that go to bundle owner
|
88
|
-
Seconds lifetime, // initial duration for which new policies are covered
|
89
|
-
bytes calldata filter // optional use case specific criteria that define if a policy may be covered by this bundle
|
90
|
-
)
|
91
|
-
external
|
92
|
-
returns(NftId bundleNftId); // the nft id of the newly created bundle
|
85
|
+
NftId bundleNftId,
|
86
|
+
PayoutId payoutId,
|
87
|
+
Amount payoutAmount,
|
88
|
+
address payoutBeneficiary
|
89
|
+
) external returns (Amount netPayoutAmount, Amount processingFeeAmount);
|
93
90
|
|
94
91
|
|
95
92
|
/// @dev increase stakes for bundle
|
@@ -112,56 +109,62 @@ interface IPoolService is IService {
|
|
112
109
|
function closeBundle(NftId bundleNftId) external;
|
113
110
|
|
114
111
|
|
112
|
+
/// @dev Withdraw bundle feeds for the specified bundle.
|
113
|
+
function withdrawBundleFees(NftId bundleNftId, Amount amount) external returns (Amount withdrawnAmount);
|
114
|
+
|
115
|
+
|
115
116
|
/// @dev Informs product about available funds to process a confirmed claim.
|
116
117
|
/// The function triggers a callback to the product component when the product's property isProcessingFundedClaims is set.
|
117
118
|
function processFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount) external;
|
118
119
|
|
119
120
|
|
120
|
-
/// @dev Fund the
|
121
|
-
/// This function will collect the amount from the
|
121
|
+
/// @dev Fund the pool wallet with the provided amount.
|
122
|
+
/// This function will collect the amount from the pool owner and transfers it to the pool wallet.
|
122
123
|
/// The function will not update balance amounts managed by the framework.
|
123
124
|
/// Only available for externally managed pools.
|
124
|
-
function fundPoolWallet(
|
125
|
+
function fundPoolWallet(Amount amount) external;
|
125
126
|
|
126
127
|
|
127
128
|
/// @dev Defund the specified pool wallet with the provided amount.
|
128
|
-
/// This function will transfer the amount from the pool wallet to the
|
129
|
+
/// This function will transfer the amount from the pool wallet to the pool owner.
|
129
130
|
/// The function will not update balance amounts managed by the framework.
|
130
131
|
/// Only available for externally managed pools.
|
131
|
-
function defundPoolWallet(
|
132
|
+
function defundPoolWallet(Amount amount) external;
|
132
133
|
|
133
134
|
|
134
135
|
/// @dev processes the sale of a bundle and track the pool fee and bundle fee amounts
|
135
136
|
function processSale(NftId bundleNftId, IPolicy.PremiumInfo memory premium) external;
|
136
137
|
|
137
138
|
|
138
|
-
/// @dev Calulate required collateral for the provided parameters.
|
139
|
-
function calculateRequiredCollateral(
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
)
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
///
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
139
|
+
// /// @dev Calulate required collateral for the provided parameters.
|
140
|
+
// function calculateRequiredCollateral(
|
141
|
+
// InstanceReader instanceReader,
|
142
|
+
// NftId productNftId,
|
143
|
+
// Amount sumInsuredAmount
|
144
|
+
// )
|
145
|
+
// external
|
146
|
+
// view
|
147
|
+
// returns(
|
148
|
+
// NftId poolNftId,
|
149
|
+
// Amount totalCollateralAmount,
|
150
|
+
// Amount localCollateralAmount,
|
151
|
+
// bool poolIsVerifyingApplications
|
152
|
+
// );
|
153
|
+
|
154
|
+
|
155
|
+
// /// @dev calulate required collateral for the provided parameters.
|
156
|
+
// /// Collateralization is applied to sum insured.
|
157
|
+
// /// Retention level defines the fraction of the collateral that is required locally.
|
158
|
+
// function calculateRequiredCollateral(
|
159
|
+
// UFixed collateralizationLevel,
|
160
|
+
// UFixed retentionLevel,
|
161
|
+
// Amount sumInsuredAmount
|
162
|
+
// )
|
163
|
+
// external
|
164
|
+
// pure
|
165
|
+
// returns(
|
166
|
+
// Amount totalCollateralAmount,
|
167
|
+
// Amount localCollateralAmount
|
168
|
+
// );
|
166
169
|
|
167
170
|
}
|
package/contracts/pool/Pool.sol
CHANGED
@@ -11,12 +11,13 @@ import {IPoolService} from "./IPoolService.sol";
|
|
11
11
|
import {IComponents} from "../instance/module/IComponents.sol";
|
12
12
|
import {IComponentService} from "../shared/IComponentService.sol";
|
13
13
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
14
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
14
15
|
import {Fee} from "../type/Fee.sol";
|
15
16
|
import {NftId} from "../type/NftId.sol";
|
16
17
|
import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
|
17
18
|
import {Seconds} from "../type/Seconds.sol";
|
18
19
|
import {Timestamp} from "../type/Timestamp.sol";
|
19
|
-
import {
|
20
|
+
import {UFixed} from "../type/UFixed.sol";
|
20
21
|
|
21
22
|
abstract contract Pool is
|
22
23
|
InstanceLinkedComponent,
|
@@ -26,6 +27,7 @@ abstract contract Pool is
|
|
26
27
|
bytes32 public constant POOL_STORAGE_LOCATION_V1 = 0x25e3e51823fbfffb988e0a2744bb93722d9f3e906c07cc0a9e77884c46c58300;
|
27
28
|
|
28
29
|
struct PoolStorage {
|
30
|
+
IComponents.PoolInfo _poolInfo;
|
29
31
|
IComponentService _componentService;
|
30
32
|
IPoolService _poolService;
|
31
33
|
IBundleService _bundleService;
|
@@ -40,12 +42,16 @@ abstract contract Pool is
|
|
40
42
|
}
|
41
43
|
|
42
44
|
|
45
|
+
// TODO remove function once this is no longer used to produce contract locations on the fly ...
|
46
|
+
function getContractLocation(bytes memory name) external pure returns (bytes32 hash) {
|
47
|
+
return keccak256(abi.encode(uint256(keccak256(name)) - 1)) & ~bytes32(uint256(0xff));
|
48
|
+
}
|
49
|
+
|
50
|
+
|
43
51
|
/// @dev see {IPoolComponent.verifyApplication}
|
44
52
|
function verifyApplication(
|
45
53
|
NftId applicationNftId,
|
46
|
-
bytes memory applicationData,
|
47
54
|
NftId bundleNftId,
|
48
|
-
bytes memory bundleFilter,
|
49
55
|
Amount collateralizationAmount
|
50
56
|
)
|
51
57
|
public
|
@@ -53,11 +59,12 @@ abstract contract Pool is
|
|
53
59
|
restricted()
|
54
60
|
onlyNftOfType(applicationNftId, POLICY())
|
55
61
|
{
|
62
|
+
InstanceReader reader = _getInstanceReader();
|
56
63
|
if(!applicationMatchesBundle(
|
57
64
|
applicationNftId,
|
58
|
-
applicationData,
|
65
|
+
reader.getPolicyInfo(applicationNftId).applicationData,
|
59
66
|
bundleNftId,
|
60
|
-
|
67
|
+
reader.getBundleInfo(bundleNftId).filter,
|
61
68
|
collateralizationAmount)
|
62
69
|
)
|
63
70
|
{
|
@@ -84,8 +91,9 @@ abstract contract Pool is
|
|
84
91
|
|
85
92
|
|
86
93
|
/// @dev see {IPoolComponent.applicationMatchesBundle}
|
87
|
-
///
|
88
|
-
///
|
94
|
+
/// Default implementation always returns true.
|
95
|
+
/// Override this function to implement any custom application verification.
|
96
|
+
/// Calling super.applicationMatchesBundle will ensure validation of application and bundle nft ids.
|
89
97
|
function applicationMatchesBundle(
|
90
98
|
NftId applicationNftId,
|
91
99
|
bytes memory applicationData,
|
@@ -103,18 +111,6 @@ abstract contract Pool is
|
|
103
111
|
return true;
|
104
112
|
}
|
105
113
|
|
106
|
-
/// @inheritdoc IPoolComponent
|
107
|
-
function withdrawBundleFees(NftId bundleNftId, Amount amount)
|
108
|
-
external
|
109
|
-
virtual
|
110
|
-
restricted()
|
111
|
-
onlyBundleOwner(bundleNftId)
|
112
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
113
|
-
returns (Amount withdrawnAmount)
|
114
|
-
{
|
115
|
-
return _withdrawBundleFees(bundleNftId, amount);
|
116
|
-
}
|
117
|
-
|
118
114
|
|
119
115
|
function getInitialPoolInfo()
|
120
116
|
public
|
@@ -122,46 +118,35 @@ abstract contract Pool is
|
|
122
118
|
view
|
123
119
|
returns (IComponents.PoolInfo memory poolInfo)
|
124
120
|
{
|
125
|
-
return
|
126
|
-
maxBalanceAmount: AmountLib.max(),
|
127
|
-
bundleOwnerRole: PUBLIC_ROLE(),
|
128
|
-
isInterceptingBundleTransfers: isNftInterceptor(),
|
129
|
-
isProcessingConfirmedClaims: false,
|
130
|
-
isExternallyManaged: false,
|
131
|
-
isVerifyingApplications: false,
|
132
|
-
collateralizationLevel: UFixedLib.toUFixed(1),
|
133
|
-
retentionLevel: UFixedLib.toUFixed(1)
|
134
|
-
});
|
121
|
+
return _getPoolStorage()._poolInfo;
|
135
122
|
}
|
136
123
|
|
137
124
|
// Internals
|
138
125
|
|
139
|
-
function
|
126
|
+
function __Pool_init(
|
140
127
|
address registry,
|
141
128
|
NftId productNftId,
|
142
129
|
string memory name,
|
143
|
-
|
130
|
+
IComponents.PoolInfo memory poolInfo,
|
144
131
|
IAuthorization authorization,
|
145
|
-
|
146
|
-
address initialOwner,
|
147
|
-
bytes memory componentData // component specifidc data
|
132
|
+
address initialOwner
|
148
133
|
)
|
149
134
|
internal
|
150
135
|
virtual
|
151
136
|
onlyInitializing()
|
152
137
|
{
|
153
|
-
|
138
|
+
__InstanceLinkedComponent_init(
|
154
139
|
registry,
|
155
140
|
productNftId,
|
156
141
|
name,
|
157
|
-
token,
|
158
142
|
POOL(),
|
159
143
|
authorization,
|
160
|
-
|
161
|
-
initialOwner
|
162
|
-
componentData);
|
144
|
+
poolInfo.isInterceptingBundleTransfers,
|
145
|
+
initialOwner);
|
163
146
|
|
164
147
|
PoolStorage storage $ = _getPoolStorage();
|
148
|
+
|
149
|
+
$._poolInfo = poolInfo;
|
165
150
|
$._poolService = IPoolService(_getServiceAddress(POOL()));
|
166
151
|
$._bundleService = IBundleService(_getServiceAddress(BUNDLE()));
|
167
152
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
@@ -169,79 +154,71 @@ abstract contract Pool is
|
|
169
154
|
_registerInterface(type(IPoolComponent).interfaceId);
|
170
155
|
}
|
171
156
|
|
172
|
-
/// @dev increases the staked tokens by the specified amount
|
173
|
-
/// bundle MUST be in active or locked state
|
174
|
-
function _stake(
|
175
|
-
NftId bundleNftId,
|
176
|
-
Amount amount
|
177
|
-
)
|
178
|
-
internal
|
179
|
-
virtual
|
180
|
-
returns(Amount)
|
181
|
-
{
|
182
|
-
return _getPoolStorage()._poolService.stake(bundleNftId, amount);
|
183
|
-
}
|
184
|
-
|
185
157
|
|
186
|
-
/// @dev
|
187
|
-
///
|
188
|
-
|
189
|
-
|
190
|
-
|
158
|
+
/// @dev Update pool fees to the specified values.
|
159
|
+
/// Pool fee: are deducted from the premium amount and goes to the pool owner.
|
160
|
+
/// Staking fee: are deducted from the staked tokens by a bundle owner and goes to the pool owner.
|
161
|
+
/// Performance fee: when a bundle is closed a bundle specific profit is calculated.
|
162
|
+
/// The performance fee is deducted from this profit and goes to the pool owner.
|
163
|
+
function _setPoolFees(
|
164
|
+
Fee memory poolFee,
|
165
|
+
Fee memory stakingFee,
|
166
|
+
Fee memory performanceFee
|
191
167
|
)
|
192
168
|
internal
|
193
169
|
virtual
|
194
|
-
returns(Amount netAmount)
|
195
170
|
{
|
196
|
-
|
171
|
+
_getPoolStorage()._componentService.setPoolFees(poolFee, stakingFee, performanceFee);
|
197
172
|
}
|
198
173
|
|
199
174
|
|
200
|
-
/// @dev
|
201
|
-
///
|
202
|
-
function
|
203
|
-
NftId bundleNftId,
|
204
|
-
Seconds lifetimeExtension
|
205
|
-
)
|
175
|
+
/// @dev Sets the maximum balance amound held by this pool.
|
176
|
+
/// Function may only be called by pool owner.
|
177
|
+
function _setMaxBalanceAmount(Amount maxBalanceAmount)
|
206
178
|
internal
|
207
179
|
virtual
|
208
|
-
returns (Timestamp extendedExpiredAt)
|
209
180
|
{
|
210
|
-
|
181
|
+
_getPoolStorage()._poolService.setMaxBalanceAmount(maxBalanceAmount);
|
211
182
|
}
|
212
183
|
|
213
184
|
|
214
|
-
/// @dev
|
215
|
-
///
|
216
|
-
|
217
|
-
function _lockBundle(NftId bundleNftId)
|
185
|
+
/// @dev Fund the pool wallet with the specified amount.
|
186
|
+
/// Function is only available for externally managed pools.
|
187
|
+
function _fundPoolWallet(Amount amount)
|
218
188
|
internal
|
219
189
|
virtual
|
220
190
|
{
|
221
|
-
_getPoolStorage().
|
191
|
+
_getPoolStorage()._poolService.fundPoolWallet(amount);
|
222
192
|
}
|
223
193
|
|
224
194
|
|
225
|
-
/// @dev
|
226
|
-
///
|
227
|
-
function
|
195
|
+
/// @dev Withdraw the specified amount from the pool wallet.
|
196
|
+
/// Function is only available for externally managed pools.
|
197
|
+
function _defundPoolWallet(Amount amount)
|
228
198
|
internal
|
229
199
|
virtual
|
230
200
|
{
|
231
|
-
_getPoolStorage().
|
201
|
+
_getPoolStorage()._poolService.defundPoolWallet(amount);
|
232
202
|
}
|
233
203
|
|
234
204
|
|
235
|
-
/// @dev
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
205
|
+
/// @dev Creates a new empty bundle using the provided parameter values.
|
206
|
+
function _createBundle(
|
207
|
+
address bundleOwner,
|
208
|
+
Fee memory fee,
|
209
|
+
Seconds lifetime,
|
210
|
+
bytes memory filter
|
211
|
+
)
|
241
212
|
internal
|
242
|
-
|
213
|
+
returns(NftId bundleNftId)
|
243
214
|
{
|
244
|
-
_getPoolStorage().
|
215
|
+
bundleNftId = _getPoolStorage()._bundleService.create(
|
216
|
+
bundleOwner,
|
217
|
+
fee,
|
218
|
+
lifetime,
|
219
|
+
filter);
|
220
|
+
|
221
|
+
// TODO add logging
|
245
222
|
}
|
246
223
|
|
247
224
|
|
@@ -259,63 +236,81 @@ abstract contract Pool is
|
|
259
236
|
}
|
260
237
|
|
261
238
|
|
262
|
-
/// @dev
|
263
|
-
///
|
264
|
-
function
|
239
|
+
/// @dev increases the staked tokens by the specified amount
|
240
|
+
/// bundle MUST be in active or locked state
|
241
|
+
function _stake(
|
242
|
+
NftId bundleNftId,
|
243
|
+
Amount amount
|
244
|
+
)
|
265
245
|
internal
|
266
246
|
virtual
|
247
|
+
returns(Amount)
|
267
248
|
{
|
268
|
-
_getPoolStorage()._poolService.
|
249
|
+
return _getPoolStorage()._poolService.stake(bundleNftId, amount);
|
269
250
|
}
|
270
251
|
|
271
252
|
|
272
|
-
/// @dev
|
273
|
-
///
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
function _setPoolFees(
|
278
|
-
Fee memory poolFee,
|
279
|
-
Fee memory stakingFee,
|
280
|
-
Fee memory performanceFee
|
253
|
+
/// @dev decreases the staked tokens by the specified amount
|
254
|
+
/// bundle MUST be in active, locked or closed state
|
255
|
+
function _unstake(
|
256
|
+
NftId bundleNftId,
|
257
|
+
Amount amount
|
281
258
|
)
|
282
259
|
internal
|
283
260
|
virtual
|
261
|
+
returns(Amount netAmount)
|
284
262
|
{
|
285
|
-
_getPoolStorage().
|
263
|
+
return _getPoolStorage()._poolService.unstake(bundleNftId, amount);
|
286
264
|
}
|
287
265
|
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
266
|
+
|
267
|
+
/// @dev extends the bundle lifetime of the bundle by the specified time
|
268
|
+
/// bundle MUST be in active or locked state
|
269
|
+
function _extend(
|
270
|
+
NftId bundleNftId,
|
271
|
+
Seconds lifetimeExtension
|
294
272
|
)
|
295
273
|
internal
|
296
|
-
|
274
|
+
virtual
|
275
|
+
returns (Timestamp extendedExpiredAt)
|
297
276
|
{
|
298
|
-
|
299
|
-
|
300
|
-
fee,
|
301
|
-
lifetime,
|
302
|
-
filter);
|
277
|
+
return _getPoolStorage()._bundleService.extend(bundleNftId, lifetimeExtension);
|
278
|
+
}
|
303
279
|
|
304
|
-
|
280
|
+
|
281
|
+
/// @dev Locks the specified bundle.
|
282
|
+
/// A bundle to be locked MUST be in active state.
|
283
|
+
/// Locked bundles may not be used to collateralize any new policy.
|
284
|
+
function _setBundleLocked(NftId bundleNftId, bool locked)
|
285
|
+
internal
|
286
|
+
virtual
|
287
|
+
{
|
288
|
+
_getPoolStorage()._bundleService.setLocked(bundleNftId, locked);
|
305
289
|
}
|
306
290
|
|
307
|
-
|
308
|
-
|
309
|
-
|
291
|
+
|
292
|
+
/// @dev Close the specified bundle.
|
293
|
+
/// A bundle to be closed MUST be in active or locked state.
|
294
|
+
/// To close a bundle all all linked policies MUST be in closed state as well.
|
295
|
+
/// Closing a bundle finalizes the bundle bookkeeping including overall profit calculation.
|
296
|
+
/// Once a bundle is closed this action cannot be reversed.
|
297
|
+
function _closeBundle(NftId bundleNftId)
|
298
|
+
internal
|
299
|
+
virtual
|
300
|
+
{
|
301
|
+
_getPoolStorage()._poolService.closeBundle(bundleNftId);
|
310
302
|
}
|
311
303
|
|
304
|
+
|
305
|
+
/// @dev Withdraws the specified amount of fees from the bundle.
|
312
306
|
function _withdrawBundleFees(NftId bundleNftId, Amount amount)
|
313
307
|
internal
|
314
308
|
returns (Amount withdrawnAmount)
|
315
309
|
{
|
316
|
-
return _getPoolStorage().
|
310
|
+
return _getPoolStorage()._poolService.withdrawBundleFees(bundleNftId, amount);
|
317
311
|
}
|
318
312
|
|
313
|
+
|
319
314
|
function _processFundedClaim(
|
320
315
|
NftId policyNftId,
|
321
316
|
ClaimId claimId,
|
@@ -327,6 +322,7 @@ abstract contract Pool is
|
|
327
322
|
policyNftId, claimId, availableAmount);
|
328
323
|
}
|
329
324
|
|
325
|
+
|
330
326
|
function _getPoolStorage() private pure returns (PoolStorage storage $) {
|
331
327
|
assembly {
|
332
328
|
$.slot := POOL_STORAGE_LOCATION_V1
|