@etherisc/gif-next 0.0.2-91b514c-961 → 0.0.2-9272c43-568
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +34 -18
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +18 -10
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +267 -97
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +652 -36
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -47
- 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 +175 -27
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +85 -12
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +23 -7
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +221 -60
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +203 -118
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +88 -44
- 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/distribution/IDistributionService.sol/IDistributionService.json +29 -0
- 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 +20 -4
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +34 -18
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +220 -59
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +27 -11
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +24 -8
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +24 -8
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +220 -59
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +310 -32
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +182 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +322 -72
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +608 -295
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +242 -56
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +477 -289
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +208 -26
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +14 -14
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +68 -12
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +234 -56
- 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/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +54 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +28 -20
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +220 -59
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +122 -90
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +62 -30
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +104 -22
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +98 -66
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +50 -34
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -58
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +26 -14
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +220 -59
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +92 -76
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +47 -39
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +94 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +508 -18
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +48 -44
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +64 -72
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +33 -21
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +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/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +378 -249
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +243 -68
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +10 -10
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +384 -186
- 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 +128 -76
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- 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/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +54 -54
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +28 -28
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +16 -45
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- 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/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- 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/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +3 -3
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +22 -6
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +12 -4
- 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 +31 -15
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +15 -7
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +3 -3
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/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/accounting/AccountingService.sol +2 -3
- package/contracts/authorization/AccessAdmin.sol +261 -185
- package/contracts/authorization/AccessAdminLib.sol +220 -7
- package/contracts/authorization/Authorization.sol +38 -229
- package/contracts/authorization/IAccess.sol +14 -4
- package/contracts/authorization/IAccessAdmin.sol +19 -45
- package/contracts/authorization/IAuthorization.sol +3 -56
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +247 -33
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +2 -1
- package/contracts/distribution/DistributionService.sol +76 -28
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +10 -4
- package/contracts/instance/IInstance.sol +43 -4
- package/contracts/instance/IInstanceService.sol +28 -3
- package/contracts/instance/Instance.sol +80 -39
- package/contracts/instance/InstanceAdmin.sol +162 -229
- package/contracts/instance/InstanceAuthorizationV3.sol +58 -28
- package/contracts/instance/InstanceReader.sol +371 -389
- package/contracts/instance/InstanceService.sol +105 -53
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/OracleService.sol +4 -4
- package/contracts/pool/BasicPoolAuthorization.sol +9 -3
- package/contracts/pool/BundleService.sol +9 -10
- package/contracts/pool/PoolLib.sol +138 -1
- package/contracts/pool/PoolService.sol +13 -186
- package/contracts/product/ApplicationService.sol +30 -5
- package/contracts/product/BasicProductAuthorization.sol +9 -4
- package/contracts/product/ClaimService.sol +19 -20
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +18 -45
- package/contracts/product/PolicyServiceLib.sol +75 -1
- package/contracts/product/PricingService.sol +22 -25
- package/contracts/registry/RegistryAdmin.sol +27 -97
- package/contracts/registry/RegistryAuthorization.sol +35 -25
- package/contracts/registry/ReleaseAdmin.sol +42 -100
- package/contracts/registry/ReleaseRegistry.sol +12 -9
- package/contracts/registry/ServiceAuthorizationV3.sol +33 -20
- package/contracts/registry/TokenRegistry.sol +2 -4
- package/contracts/shared/ComponentService.sol +29 -5
- package/contracts/shared/ContractLib.sol +9 -45
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/NftOwnable.sol +1 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStakingService.sol +3 -0
- package/contracts/staking/Staking.sol +4 -5
- package/contracts/staking/StakingService.sol +3 -0
- package/contracts/staking/TargetManagerLib.sol +1 -1
- package/contracts/type/ObjectType.sol +16 -3
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/String.sol +12 -0
- package/contracts/upgradeability/ProxyManager.sol +2 -2
- package/contracts/upgradeability/Versionable.sol +4 -1
- package/package.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
@@ -2,13 +2,11 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
5
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
6
5
|
import {IBundleService} from "./IBundleService.sol";
|
7
6
|
import {IComponents} from "../instance/module/IComponents.sol";
|
8
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
9
8
|
import {IInstance} from "../instance/IInstance.sol";
|
10
9
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
11
|
-
import {IPolicyHolder} from "../shared/IPolicyHolder.sol";
|
12
10
|
import {IPoolComponent} from "../pool/IPoolComponent.sol";
|
13
11
|
import {IPoolService} from "./IPoolService.sol";
|
14
12
|
import {IProductComponent} from "../product/IProductComponent.sol";
|
@@ -27,9 +25,6 @@ import {PayoutId} from "../type/PayoutId.sol";
|
|
27
25
|
import {PoolLib} from "./PoolLib.sol";
|
28
26
|
import {Service} from "../shared/Service.sol";
|
29
27
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
30
|
-
import {UFixed} from "../type/UFixed.sol";
|
31
|
-
|
32
|
-
string constant POOL_SERVICE_NAME = "PoolService";
|
33
28
|
|
34
29
|
|
35
30
|
contract PoolService is
|
@@ -69,6 +64,7 @@ contract PoolService is
|
|
69
64
|
function setMaxBalanceAmount(Amount maxBalanceAmount)
|
70
65
|
external
|
71
66
|
virtual
|
67
|
+
restricted()
|
72
68
|
{
|
73
69
|
(NftId poolNftId, IInstance instance) = _getAndVerifyActivePool();
|
74
70
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -84,6 +80,7 @@ contract PoolService is
|
|
84
80
|
|
85
81
|
function closeBundle(NftId bundleNftId)
|
86
82
|
external
|
83
|
+
restricted()
|
87
84
|
virtual
|
88
85
|
{
|
89
86
|
_checkNftType(bundleNftId, BUNDLE());
|
@@ -119,6 +116,7 @@ contract PoolService is
|
|
119
116
|
Amount availableAmount
|
120
117
|
)
|
121
118
|
external
|
119
|
+
restricted()
|
122
120
|
virtual
|
123
121
|
{
|
124
122
|
_checkNftType(policyNftId, POLICY());
|
@@ -175,7 +173,7 @@ contract PoolService is
|
|
175
173
|
function stake(NftId bundleNftId, Amount amount)
|
176
174
|
external
|
177
175
|
virtual
|
178
|
-
|
176
|
+
restricted()
|
179
177
|
returns(
|
180
178
|
Amount netAmount
|
181
179
|
)
|
@@ -222,7 +220,7 @@ contract PoolService is
|
|
222
220
|
|
223
221
|
// collect tokens from bundle owner
|
224
222
|
address bundleOwner = getRegistry().ownerOf(bundleNftId);
|
225
|
-
|
223
|
+
PoolLib.pullStakingAmount(
|
226
224
|
instanceReader,
|
227
225
|
poolNftId,
|
228
226
|
bundleOwner,
|
@@ -235,7 +233,7 @@ contract PoolService is
|
|
235
233
|
function unstake(NftId bundleNftId, Amount amount)
|
236
234
|
external
|
237
235
|
virtual
|
238
|
-
|
236
|
+
restricted()
|
239
237
|
returns(Amount netAmount)
|
240
238
|
{
|
241
239
|
(
|
@@ -269,7 +267,7 @@ contract PoolService is
|
|
269
267
|
|
270
268
|
// transfer amount to bundle owner
|
271
269
|
address bundleOwner = getRegistry().ownerOf(bundleNftId);
|
272
|
-
|
270
|
+
PoolLib.pushUnstakingAmount(
|
273
271
|
instanceReader,
|
274
272
|
poolNftId,
|
275
273
|
bundleOwner,
|
@@ -281,7 +279,7 @@ contract PoolService is
|
|
281
279
|
function fundPoolWallet(Amount amount)
|
282
280
|
external
|
283
281
|
virtual
|
284
|
-
|
282
|
+
restricted()
|
285
283
|
{
|
286
284
|
(
|
287
285
|
NftId poolNftId,
|
@@ -297,7 +295,7 @@ contract PoolService is
|
|
297
295
|
address poolOwner = getRegistry().ownerOf(poolNftId);
|
298
296
|
emit LogPoolServiceWalletFunded(poolNftId, poolOwner, amount);
|
299
297
|
|
300
|
-
|
298
|
+
PoolLib.pullStakingAmount(
|
301
299
|
reader,
|
302
300
|
poolNftId,
|
303
301
|
poolOwner,
|
@@ -308,7 +306,7 @@ contract PoolService is
|
|
308
306
|
function defundPoolWallet(Amount amount)
|
309
307
|
external
|
310
308
|
virtual
|
311
|
-
|
309
|
+
restricted()
|
312
310
|
{
|
313
311
|
(
|
314
312
|
NftId poolNftId,
|
@@ -324,7 +322,7 @@ contract PoolService is
|
|
324
322
|
address poolOwner = getRegistry().ownerOf(poolNftId);
|
325
323
|
emit LogPoolServiceWalletDefunded(poolNftId, poolOwner, amount);
|
326
324
|
|
327
|
-
|
325
|
+
PoolLib.pushUnstakingAmount(
|
328
326
|
reader,
|
329
327
|
poolNftId,
|
330
328
|
poolOwner,
|
@@ -474,7 +472,8 @@ contract PoolService is
|
|
474
472
|
payoutAmount);
|
475
473
|
|
476
474
|
// interactions
|
477
|
-
|
475
|
+
PoolLib.transferTokenAndNotifyPolicyHolder(
|
476
|
+
getRegistry(),
|
478
477
|
instanceReader,
|
479
478
|
poolTokenHandler,
|
480
479
|
productNftId,
|
@@ -484,50 +483,6 @@ contract PoolService is
|
|
484
483
|
payoutBeneficiary);
|
485
484
|
}
|
486
485
|
|
487
|
-
function _transferTokenAndNotifyPolicyHolder(
|
488
|
-
InstanceReader instanceReader,
|
489
|
-
TokenHandler poolTokenHandler,
|
490
|
-
NftId productNftId,
|
491
|
-
NftId policyNftId,
|
492
|
-
PayoutId payoutId,
|
493
|
-
Amount payoutAmount,
|
494
|
-
address payoutBeneficiary
|
495
|
-
)
|
496
|
-
internal
|
497
|
-
{
|
498
|
-
(
|
499
|
-
Amount netPayoutAmount,
|
500
|
-
Amount processingFeeAmount,
|
501
|
-
address beneficiary
|
502
|
-
) = PoolLib.calculatePayoutAmounts(
|
503
|
-
getRegistry(),
|
504
|
-
instanceReader,
|
505
|
-
productNftId,
|
506
|
-
policyNftId,
|
507
|
-
payoutAmount,
|
508
|
-
payoutBeneficiary);
|
509
|
-
|
510
|
-
// 1st token tx to payout to beneficiary
|
511
|
-
poolTokenHandler.pushToken(
|
512
|
-
beneficiary,
|
513
|
-
netPayoutAmount);
|
514
|
-
|
515
|
-
// 2nd token tx to transfer processing fees to product wallet
|
516
|
-
// if processingFeeAmount > 0
|
517
|
-
if (processingFeeAmount.gtz()) {
|
518
|
-
poolTokenHandler.pushToken(
|
519
|
-
instanceReader.getWallet(productNftId),
|
520
|
-
processingFeeAmount);
|
521
|
-
}
|
522
|
-
|
523
|
-
// callback to policy holder if applicable
|
524
|
-
_policyHolderPayoutExecuted(
|
525
|
-
policyNftId,
|
526
|
-
payoutId,
|
527
|
-
beneficiary,
|
528
|
-
netPayoutAmount);
|
529
|
-
}
|
530
|
-
|
531
486
|
|
532
487
|
/// @inheritdoc IPoolService
|
533
488
|
function withdrawBundleFees(
|
@@ -608,112 +563,6 @@ contract PoolService is
|
|
608
563
|
}
|
609
564
|
|
610
565
|
|
611
|
-
// function calculateRequiredCollateral(
|
612
|
-
// InstanceReader instanceReader,
|
613
|
-
// NftId productNftId,
|
614
|
-
// Amount sumInsuredAmount
|
615
|
-
// )
|
616
|
-
// public
|
617
|
-
// view
|
618
|
-
// returns(
|
619
|
-
// NftId poolNftId,
|
620
|
-
// Amount totalCollateralAmount,
|
621
|
-
// Amount localCollateralAmount,
|
622
|
-
// bool poolIsVerifyingApplications
|
623
|
-
// )
|
624
|
-
// {
|
625
|
-
// return CollateralLib.calculateRequiredCollateral(
|
626
|
-
// instanceReader,
|
627
|
-
// productNftId,
|
628
|
-
// sumInsuredAmount);
|
629
|
-
// }
|
630
|
-
|
631
|
-
// _checkNftType(productNftId, PRODUCT());
|
632
|
-
|
633
|
-
// poolNftId = instanceReader.getProductInfo(productNftId).poolNftId;
|
634
|
-
// IComponents.PoolInfo memory poolInfo = instanceReader.getPoolInfo(poolNftId);
|
635
|
-
// poolIsVerifyingApplications = poolInfo.isVerifyingApplications;
|
636
|
-
|
637
|
-
// (
|
638
|
-
// totalCollateralAmount,
|
639
|
-
// localCollateralAmount
|
640
|
-
// ) = calculateRequiredCollateral(
|
641
|
-
// poolInfo.collateralizationLevel,
|
642
|
-
// poolInfo.retentionLevel,
|
643
|
-
// sumInsuredAmount);
|
644
|
-
// }
|
645
|
-
|
646
|
-
|
647
|
-
// function calculateRequiredCollateral(
|
648
|
-
// UFixed collateralizationLevel,
|
649
|
-
// UFixed retentionLevel,
|
650
|
-
// Amount sumInsuredAmount
|
651
|
-
// )
|
652
|
-
// public
|
653
|
-
// pure
|
654
|
-
// returns(
|
655
|
-
// Amount totalCollateralAmount,
|
656
|
-
// Amount localCollateralAmount
|
657
|
-
// )
|
658
|
-
// {
|
659
|
-
// // collateralization is applied to sum insured
|
660
|
-
// UFixed totalUFixed = collateralizationLevel * sumInsuredAmount.toUFixed();
|
661
|
-
// totalCollateralAmount = AmountLib.toAmount(totalUFixed.toInt());
|
662
|
-
|
663
|
-
// // retention level defines how much capital is required locally
|
664
|
-
// localCollateralAmount = AmountLib.toAmount(
|
665
|
-
// (retentionLevel * totalUFixed).toInt());
|
666
|
-
// }
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
function _policyHolderPayoutExecuted(
|
672
|
-
NftId policyNftId,
|
673
|
-
PayoutId payoutId,
|
674
|
-
address beneficiary,
|
675
|
-
Amount payoutAmount
|
676
|
-
)
|
677
|
-
internal
|
678
|
-
{
|
679
|
-
IPolicyHolder policyHolder = PoolLib.getPolicyHolder(getRegistry(), policyNftId);
|
680
|
-
if(address(policyHolder) != address(0)) {
|
681
|
-
policyHolder.payoutExecuted(policyNftId, payoutId, payoutAmount, beneficiary);
|
682
|
-
}
|
683
|
-
}
|
684
|
-
|
685
|
-
|
686
|
-
/// @dev Transfers the specified amount from the "from account" to the pool's wallet
|
687
|
-
function _pullStakingAmount(
|
688
|
-
InstanceReader reader,
|
689
|
-
NftId poolNftId,
|
690
|
-
address from,
|
691
|
-
Amount amount
|
692
|
-
)
|
693
|
-
internal
|
694
|
-
{
|
695
|
-
IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
|
696
|
-
info.tokenHandler.pullToken(
|
697
|
-
from,
|
698
|
-
amount);
|
699
|
-
}
|
700
|
-
|
701
|
-
/// @dev Transfers the specified amount from the pool's wallet to the "to account"
|
702
|
-
function _pushUnstakingAmount(
|
703
|
-
InstanceReader reader,
|
704
|
-
NftId poolNftId,
|
705
|
-
address to,
|
706
|
-
Amount amount
|
707
|
-
)
|
708
|
-
internal
|
709
|
-
{
|
710
|
-
IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
|
711
|
-
info.tokenHandler.pushToken(
|
712
|
-
to,
|
713
|
-
amount);
|
714
|
-
}
|
715
|
-
|
716
|
-
|
717
566
|
function _getAndVerifyActivePool()
|
718
567
|
internal
|
719
568
|
virtual
|
@@ -726,28 +575,6 @@ contract PoolService is
|
|
726
575
|
return PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
727
576
|
}
|
728
577
|
|
729
|
-
// function _getAndVerifyActivePool()
|
730
|
-
// internal
|
731
|
-
// virtual
|
732
|
-
// view
|
733
|
-
// returns (
|
734
|
-
// NftId poolNftId,
|
735
|
-
// IInstance instance
|
736
|
-
// )
|
737
|
-
// {
|
738
|
-
// (
|
739
|
-
// IRegistry.ObjectInfo memory info,
|
740
|
-
// address instanceAddress
|
741
|
-
// ) = ContractLib.getAndVerifyComponent(
|
742
|
-
// getRegistry(),
|
743
|
-
// msg.sender,
|
744
|
-
// POOL(),
|
745
|
-
// true); // only active pools
|
746
|
-
|
747
|
-
// poolNftId = info.nftId;
|
748
|
-
// instance = IInstance(instanceAddress);
|
749
|
-
// }
|
750
|
-
|
751
578
|
|
752
579
|
function _getDomain() internal pure override returns(ObjectType) {
|
753
580
|
return POOL();
|
@@ -11,6 +11,7 @@ import {IPricingService} from "./IPricingService.sol";
|
|
11
11
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
12
12
|
|
13
13
|
import {AmountLib} from "../type/Amount.sol";
|
14
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
14
15
|
import {Seconds} from "../type/Seconds.sol";
|
15
16
|
import {zeroTimestamp} from "../type/Timestamp.sol";
|
16
17
|
import {ObjectType, BUNDLE, DISTRIBUTION, PRODUCT, REGISTRY, APPLICATION, POLICY, PRICE} from "../type/ObjectType.sol";
|
@@ -19,13 +20,12 @@ import {NftId, NftIdLib} from "../type/NftId.sol";
|
|
19
20
|
import {ReferralId} from "../type/Referral.sol";
|
20
21
|
import {RiskId} from "../type/RiskId.sol";
|
21
22
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
22
|
-
import {
|
23
|
+
import {Service} from "../shared/Service.sol";
|
23
24
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
24
25
|
|
25
26
|
|
26
|
-
|
27
27
|
contract ApplicationService is
|
28
|
-
|
28
|
+
Service,
|
29
29
|
IApplicationService
|
30
30
|
{
|
31
31
|
IDistributionService private _distributionService;
|
@@ -149,12 +149,13 @@ contract ApplicationService is
|
|
149
149
|
)
|
150
150
|
external
|
151
151
|
virtual
|
152
|
+
restricted()
|
152
153
|
nonReentrant()
|
153
154
|
returns (NftId applicationNftId)
|
154
155
|
{
|
155
156
|
_checkNftType(bundleNftId, BUNDLE());
|
156
157
|
|
157
|
-
(NftId productNftId
|
158
|
+
(NftId productNftId, IInstance instance) = _getAndVerifyActiveProduct();
|
158
159
|
|
159
160
|
// check if provided references are valid and linked to calling product contract
|
160
161
|
InstanceReader instanceReader = instance.getInstanceReader();
|
@@ -227,6 +228,7 @@ contract ApplicationService is
|
|
227
228
|
)
|
228
229
|
external
|
229
230
|
virtual
|
231
|
+
restricted()
|
230
232
|
nonReentrant()
|
231
233
|
returns (NftId applicationNftId)
|
232
234
|
{
|
@@ -247,6 +249,7 @@ contract ApplicationService is
|
|
247
249
|
)
|
248
250
|
external
|
249
251
|
virtual
|
252
|
+
restricted()
|
250
253
|
nonReentrant()
|
251
254
|
{
|
252
255
|
_checkNftType(applicationNftId, POLICY());
|
@@ -257,16 +260,38 @@ contract ApplicationService is
|
|
257
260
|
function revoke(NftId applicationNftId)
|
258
261
|
external
|
259
262
|
virtual
|
263
|
+
restricted()
|
260
264
|
nonReentrant()
|
261
265
|
{
|
262
266
|
_checkNftType(applicationNftId, POLICY());
|
263
267
|
|
264
|
-
(
|
268
|
+
(, IInstance instance) = _getAndVerifyActiveProduct();
|
265
269
|
instance.getInstanceStore().updateApplicationState(applicationNftId, REVOKED());
|
266
270
|
}
|
267
271
|
|
268
272
|
// internal functions
|
269
273
|
|
274
|
+
function _getAndVerifyActiveProduct()
|
275
|
+
internal
|
276
|
+
view
|
277
|
+
returns (
|
278
|
+
NftId productNftId,
|
279
|
+
IInstance instance
|
280
|
+
)
|
281
|
+
{
|
282
|
+
(
|
283
|
+
IRegistry.ObjectInfo memory info,
|
284
|
+
address instanceAddress
|
285
|
+
) = ContractLib.getAndVerifyComponent(
|
286
|
+
getRegistry(),
|
287
|
+
msg.sender,
|
288
|
+
PRODUCT(),
|
289
|
+
true); // only active pools
|
290
|
+
|
291
|
+
productNftId = info.nftId;
|
292
|
+
instance = IInstance(instanceAddress);
|
293
|
+
}
|
294
|
+
|
270
295
|
|
271
296
|
function _getDomain() internal pure override returns(ObjectType) {
|
272
297
|
return APPLICATION();
|
@@ -14,17 +14,22 @@ import {TokenHandler} from "../shared/TokenHandler.sol";
|
|
14
14
|
contract BasicProductAuthorization
|
15
15
|
is Authorization
|
16
16
|
{
|
17
|
-
|
18
17
|
constructor(string memory componentName)
|
19
|
-
Authorization(
|
18
|
+
Authorization(
|
19
|
+
componentName,
|
20
|
+
PRODUCT(),
|
21
|
+
3,
|
22
|
+
COMMIT_HASH,
|
23
|
+
true,
|
24
|
+
true)
|
20
25
|
{}
|
21
26
|
|
22
27
|
function _setupServiceTargets()
|
23
28
|
internal
|
24
29
|
virtual override
|
25
30
|
{
|
26
|
-
|
27
|
-
|
31
|
+
_authorizeServiceDomain(COMPONENT(), address(10));
|
32
|
+
_authorizeServiceDomain(POLICY(), address(11));
|
28
33
|
}
|
29
34
|
|
30
35
|
function _setupTokenHandlerAuthorizations() internal virtual override {
|
@@ -2,7 +2,6 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IClaimService} from "./IClaimService.sol";
|
5
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
6
5
|
import {IInstance} from "../instance/IInstance.sol";
|
7
6
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
8
7
|
import {IPolicyHolder} from "../shared/IPolicyHolder.sol";
|
@@ -14,11 +13,10 @@ import {IRegistry} from "../registry/IRegistry.sol";
|
|
14
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
15
14
|
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
16
15
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
|
-
import {FeeLib} from "../type/Fee.sol";
|
18
16
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
19
17
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
20
18
|
import {NftId} from "../type/NftId.sol";
|
21
|
-
import {ObjectType,
|
19
|
+
import {ObjectType, CLAIM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
|
22
20
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
23
21
|
import {Service} from "../shared/Service.sol";
|
24
22
|
import {StateId} from "../type/StateId.sol";
|
@@ -68,8 +66,7 @@ contract ClaimService is
|
|
68
66
|
{
|
69
67
|
// checks
|
70
68
|
(
|
71
|
-
|
72
|
-
IInstance instance,,
|
69
|
+
,,,
|
73
70
|
InstanceStore instanceStore,
|
74
71
|
IPolicy.PolicyInfo memory policyInfo
|
75
72
|
) = _verifyCallerWithPolicy(policyNftId);
|
@@ -114,6 +111,7 @@ contract ClaimService is
|
|
114
111
|
)
|
115
112
|
external
|
116
113
|
virtual
|
114
|
+
restricted()
|
117
115
|
// nonReentrant() // prevents creating a reinsurance claim in a single tx
|
118
116
|
{
|
119
117
|
// checks
|
@@ -163,13 +161,13 @@ contract ClaimService is
|
|
163
161
|
)
|
164
162
|
external
|
165
163
|
virtual
|
164
|
+
restricted()
|
166
165
|
// nonReentrant() // prevents creating a reinsurance claim in a single tx
|
167
166
|
{
|
168
167
|
_checkNftType(policyNftId, POLICY());
|
169
168
|
|
170
169
|
(
|
171
|
-
|
172
|
-
IInstance instance,
|
170
|
+
,,
|
173
171
|
InstanceReader instanceReader,
|
174
172
|
InstanceStore instanceStore,
|
175
173
|
IPolicy.PolicyInfo memory policyInfo
|
@@ -195,11 +193,11 @@ contract ClaimService is
|
|
195
193
|
)
|
196
194
|
external
|
197
195
|
virtual
|
196
|
+
restricted()
|
198
197
|
// nonReentrant() // prevents creating a reinsurance claim in a single tx
|
199
198
|
{
|
200
199
|
(
|
201
|
-
|
202
|
-
IInstance instance,
|
200
|
+
,,
|
203
201
|
InstanceReader instanceReader,
|
204
202
|
InstanceStore instanceStore,
|
205
203
|
IPolicy.PolicyInfo memory policyInfo
|
@@ -224,16 +222,15 @@ contract ClaimService is
|
|
224
222
|
)
|
225
223
|
external
|
226
224
|
virtual
|
225
|
+
restricted()
|
227
226
|
// nonReentrant() // prevents creating a reinsurance claim in a single tx
|
228
227
|
{
|
229
228
|
_checkNftType(policyNftId, POLICY());
|
230
229
|
|
231
230
|
(
|
232
|
-
|
233
|
-
IInstance instance,
|
231
|
+
,,
|
234
232
|
InstanceReader instanceReader,
|
235
233
|
InstanceStore instanceStore,
|
236
|
-
IPolicy.PolicyInfo memory policyInfo
|
237
234
|
) = _verifyCallerWithPolicy(policyNftId);
|
238
235
|
|
239
236
|
// check/update claim info
|
@@ -270,6 +267,7 @@ contract ClaimService is
|
|
270
267
|
)
|
271
268
|
external
|
272
269
|
virtual
|
270
|
+
restricted()
|
273
271
|
// nonReentrant() // prevents creating a reinsurance claim in a single tx
|
274
272
|
returns (PayoutId payoutId)
|
275
273
|
{
|
@@ -294,6 +292,7 @@ contract ClaimService is
|
|
294
292
|
)
|
295
293
|
external
|
296
294
|
virtual
|
295
|
+
restricted()
|
297
296
|
// nonReentrant() // prevents creating a reinsurance payout in a single tx
|
298
297
|
returns (PayoutId payoutId)
|
299
298
|
{
|
@@ -314,12 +313,12 @@ contract ClaimService is
|
|
314
313
|
)
|
315
314
|
external
|
316
315
|
virtual
|
316
|
+
restricted()
|
317
317
|
// nonReentrant() // prevents creating a reinsurance payout in a single tx
|
318
318
|
{
|
319
319
|
// checks
|
320
320
|
(
|
321
|
-
|
322
|
-
// IInstance instance,
|
321
|
+
,,
|
323
322
|
InstanceReader instanceReader,
|
324
323
|
InstanceStore instanceStore,
|
325
324
|
IPolicy.PolicyInfo memory policyInfo
|
@@ -351,7 +350,8 @@ contract ClaimService is
|
|
351
350
|
Amount payoutAmount = payoutInfo.amount;
|
352
351
|
{
|
353
352
|
ClaimId claimId = payoutId.toClaimId();
|
354
|
-
|
353
|
+
// TODO cleanup
|
354
|
+
// IPolicy.ClaimInfo memory claimInfo = instanceReader.getClaimInfo(policyNftId, claimId);
|
355
355
|
claimInfo.paidAmount = claimInfo.paidAmount.add(payoutAmount);
|
356
356
|
claimInfo.openPayoutsCount -= 1;
|
357
357
|
|
@@ -392,14 +392,13 @@ contract ClaimService is
|
|
392
392
|
)
|
393
393
|
external
|
394
394
|
virtual
|
395
|
+
restricted()
|
395
396
|
{
|
396
397
|
// checks
|
397
398
|
(
|
398
|
-
|
399
|
-
IInstance instance,
|
399
|
+
,,
|
400
400
|
InstanceReader instanceReader,
|
401
401
|
InstanceStore instanceStore,
|
402
|
-
IPolicy.PolicyInfo memory policyInfo
|
403
402
|
) = _verifyCallerWithPolicy(policyNftId);
|
404
403
|
|
405
404
|
StateId payoutState = instanceReader.getPayoutState(policyNftId, payoutId);
|
@@ -522,7 +521,7 @@ contract ClaimService is
|
|
522
521
|
IPolicy.PolicyInfo memory policyInfo
|
523
522
|
)
|
524
523
|
{
|
525
|
-
(productNftId, instance) =
|
524
|
+
(productNftId, instance) = _getAndVerifyActiveProduct();
|
526
525
|
instanceReader = instance.getInstanceReader();
|
527
526
|
instanceStore = instance.getInstanceStore();
|
528
527
|
|
@@ -536,7 +535,7 @@ contract ClaimService is
|
|
536
535
|
}
|
537
536
|
|
538
537
|
|
539
|
-
function
|
538
|
+
function _getAndVerifyActiveProduct()
|
540
539
|
internal
|
541
540
|
view
|
542
541
|
returns (
|
@@ -5,7 +5,6 @@ import {IService} from "../shared/IService.sol";
|
|
5
5
|
|
6
6
|
import {Amount} from "../type/Amount.sol";
|
7
7
|
import {IInstance} from "../instance/IInstance.sol";
|
8
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
9
8
|
import {NftId} from "../type/NftId.sol";
|
10
9
|
import {StateId} from "../type/StateId.sol";
|
11
10
|
import {Timestamp} from "../type/Timestamp.sol";
|