@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
@@ -1,8 +1,6 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
-
|
6
4
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
7
5
|
import {IComponentService} from "../shared/IComponentService.sol";
|
8
6
|
import {IComponents} from "../instance/module/IComponents.sol";
|
@@ -26,7 +24,6 @@ import {PolicyServiceLib} from "./PolicyServiceLib.sol";
|
|
26
24
|
import {ReferralId} from "../type/Referral.sol";
|
27
25
|
import {RiskId} from "../type/RiskId.sol";
|
28
26
|
import {Service} from "../shared/Service.sol";
|
29
|
-
import {StateId} from "../type/StateId.sol";
|
30
27
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
31
28
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
32
29
|
import {VersionPart} from "../type/Version.sol";
|
@@ -73,6 +70,7 @@ contract PolicyService is
|
|
73
70
|
)
|
74
71
|
external
|
75
72
|
virtual
|
73
|
+
restricted()
|
76
74
|
nonReentrant()
|
77
75
|
{
|
78
76
|
// checks
|
@@ -100,6 +98,7 @@ contract PolicyService is
|
|
100
98
|
)
|
101
99
|
external
|
102
100
|
virtual
|
101
|
+
restricted()
|
103
102
|
nonReentrant()
|
104
103
|
returns (Amount premiumAmount)
|
105
104
|
{
|
@@ -128,7 +127,7 @@ contract PolicyService is
|
|
128
127
|
|
129
128
|
// optional activation of policy
|
130
129
|
if(activateAt.gtz()) {
|
131
|
-
applicationInfo =
|
130
|
+
applicationInfo = PolicyServiceLib.activate(applicationNftId, applicationInfo, activateAt);
|
132
131
|
}
|
133
132
|
|
134
133
|
// update policy and set state to collateralized
|
@@ -186,6 +185,7 @@ contract PolicyService is
|
|
186
185
|
)
|
187
186
|
external
|
188
187
|
virtual
|
188
|
+
restricted()
|
189
189
|
nonReentrant()
|
190
190
|
{
|
191
191
|
// checks
|
@@ -202,7 +202,7 @@ contract PolicyService is
|
|
202
202
|
}
|
203
203
|
|
204
204
|
// check if premium has already been collected
|
205
|
-
if (instanceReader.
|
205
|
+
if (instanceReader.getPremiumState(policyNftId) == PAID()) {
|
206
206
|
revert ErrorPolicyServicePremiumAlreadyPaid(policyNftId);
|
207
207
|
}
|
208
208
|
|
@@ -232,7 +232,7 @@ contract PolicyService is
|
|
232
232
|
|
233
233
|
// optionally activate policy
|
234
234
|
if(activateAt.gtz()) {
|
235
|
-
policyInfo =
|
235
|
+
policyInfo = PolicyServiceLib.activate(policyNftId, policyInfo, activateAt);
|
236
236
|
}
|
237
237
|
|
238
238
|
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
@@ -250,6 +250,7 @@ contract PolicyService is
|
|
250
250
|
function activate(NftId policyNftId, Timestamp activateAt)
|
251
251
|
external
|
252
252
|
virtual
|
253
|
+
restricted()
|
253
254
|
nonReentrant()
|
254
255
|
{
|
255
256
|
// checks
|
@@ -259,7 +260,7 @@ contract PolicyService is
|
|
259
260
|
) = _getAndVerifyCallerForPolicy(policyNftId);
|
260
261
|
|
261
262
|
// effects
|
262
|
-
policyInfo =
|
263
|
+
policyInfo = PolicyServiceLib.activate(policyNftId, policyInfo, activateAt);
|
263
264
|
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
264
265
|
|
265
266
|
// log policy activation before interactions with policy holder
|
@@ -277,6 +278,7 @@ contract PolicyService is
|
|
277
278
|
)
|
278
279
|
external
|
279
280
|
virtual
|
281
|
+
restricted()
|
280
282
|
nonReentrant()
|
281
283
|
{
|
282
284
|
// checks
|
@@ -317,6 +319,7 @@ contract PolicyService is
|
|
317
319
|
)
|
318
320
|
external
|
319
321
|
virtual
|
322
|
+
restricted()
|
320
323
|
nonReentrant()
|
321
324
|
returns (Timestamp expiredAt)
|
322
325
|
{
|
@@ -344,6 +347,7 @@ contract PolicyService is
|
|
344
347
|
)
|
345
348
|
external
|
346
349
|
virtual
|
350
|
+
restricted()
|
347
351
|
nonReentrant()
|
348
352
|
returns (Timestamp expiredAt)
|
349
353
|
{
|
@@ -368,6 +372,7 @@ contract PolicyService is
|
|
368
372
|
)
|
369
373
|
external
|
370
374
|
virtual
|
375
|
+
restricted()
|
371
376
|
nonReentrant()
|
372
377
|
{
|
373
378
|
// checks
|
@@ -387,7 +392,7 @@ contract PolicyService is
|
|
387
392
|
RiskId riskId = policyInfo.riskId;
|
388
393
|
NftId bundleNftId = policyInfo.bundleNftId;
|
389
394
|
|
390
|
-
if (instanceReader.
|
395
|
+
if (instanceReader.getPremiumState(policyNftId) != PAID()) {
|
391
396
|
revert ErrorPolicyServicePremiumNotPaid(policyNftId, policyInfo.premiumAmount);
|
392
397
|
}
|
393
398
|
|
@@ -412,6 +417,7 @@ contract PolicyService is
|
|
412
417
|
emit LogPolicyServicePolicyClosed(policyNftId);
|
413
418
|
}
|
414
419
|
|
420
|
+
|
415
421
|
/// @dev shared functionality for expire() and policyExpire().
|
416
422
|
function _expire(
|
417
423
|
IInstance instance,
|
@@ -422,19 +428,12 @@ contract PolicyService is
|
|
422
428
|
internal
|
423
429
|
returns (Timestamp)
|
424
430
|
{
|
425
|
-
PolicyServiceLib.
|
426
|
-
|
431
|
+
policyInfo = PolicyServiceLib.expire(
|
432
|
+
instance.getInstanceReader(),
|
427
433
|
policyNftId,
|
428
|
-
|
429
|
-
|
434
|
+
policyInfo,
|
435
|
+
expireAt);
|
430
436
|
|
431
|
-
// effects
|
432
|
-
// update policyInfo with new expiredAt timestamp
|
433
|
-
if (expireAt.gtz()) {
|
434
|
-
policyInfo.expiredAt = expireAt;
|
435
|
-
} else {
|
436
|
-
policyInfo.expiredAt = TimestampLib.blockTimestamp();
|
437
|
-
}
|
438
437
|
instance.getInstanceStore().updatePolicy(policyNftId, policyInfo, KEEP_STATE());
|
439
438
|
|
440
439
|
emit LogPolicyServicePolicyExpirationUpdated(policyNftId, policyInfo.expiredAt);
|
@@ -446,32 +445,6 @@ contract PolicyService is
|
|
446
445
|
}
|
447
446
|
|
448
447
|
|
449
|
-
function _activate(
|
450
|
-
NftId policyNftId,
|
451
|
-
IPolicy.PolicyInfo memory policyInfo,
|
452
|
-
Timestamp activateAt
|
453
|
-
)
|
454
|
-
internal
|
455
|
-
virtual
|
456
|
-
view
|
457
|
-
returns (IPolicy.PolicyInfo memory)
|
458
|
-
{
|
459
|
-
// fail if policy has already been activated and activateAt is different
|
460
|
-
if(! policyInfo.activatedAt.eqz() && activateAt != policyInfo.activatedAt) {
|
461
|
-
revert ErrorPolicyServicePolicyAlreadyActivated(policyNftId);
|
462
|
-
}
|
463
|
-
|
464
|
-
// ignore if policy has already been activated and activateAt is the same
|
465
|
-
if (policyInfo.activatedAt == activateAt) {
|
466
|
-
return policyInfo;
|
467
|
-
}
|
468
|
-
|
469
|
-
policyInfo.activatedAt = activateAt;
|
470
|
-
policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
|
471
|
-
|
472
|
-
return policyInfo;
|
473
|
-
}
|
474
|
-
|
475
448
|
/// @dev update counters by calling the involved services
|
476
449
|
function _processSale(
|
477
450
|
InstanceReader instanceReader,
|
@@ -10,13 +10,87 @@ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
|
10
10
|
|
11
11
|
library PolicyServiceLib {
|
12
12
|
|
13
|
+
function policyIsActive(InstanceReader instanceReader, NftId policyNftId)
|
14
|
+
external
|
15
|
+
view
|
16
|
+
returns (bool isActive)
|
17
|
+
{
|
18
|
+
// policy not collateralized
|
19
|
+
if (instanceReader.getPolicyState(policyNftId) != COLLATERALIZED()) {
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
|
23
|
+
IPolicy.PolicyInfo memory info = instanceReader.getPolicyInfo(policyNftId);
|
24
|
+
|
25
|
+
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
26
|
+
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
27
|
+
if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
|
28
|
+
if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
|
29
|
+
|
30
|
+
return true;
|
31
|
+
}
|
32
|
+
|
33
|
+
function activate(
|
34
|
+
NftId policyNftId,
|
35
|
+
IPolicy.PolicyInfo memory policyInfo,
|
36
|
+
Timestamp activateAt
|
37
|
+
)
|
38
|
+
external
|
39
|
+
pure
|
40
|
+
returns (IPolicy.PolicyInfo memory)
|
41
|
+
{
|
42
|
+
// fail if policy has already been activated and activateAt is different
|
43
|
+
if(! policyInfo.activatedAt.eqz() && activateAt != policyInfo.activatedAt) {
|
44
|
+
revert IPolicyService.ErrorPolicyServicePolicyAlreadyActivated(policyNftId);
|
45
|
+
}
|
46
|
+
|
47
|
+
// ignore if policy has already been activated and activateAt is the same
|
48
|
+
if (policyInfo.activatedAt == activateAt) {
|
49
|
+
return policyInfo;
|
50
|
+
}
|
51
|
+
|
52
|
+
policyInfo.activatedAt = activateAt;
|
53
|
+
policyInfo.expiredAt = activateAt.addSeconds(policyInfo.lifetime);
|
54
|
+
|
55
|
+
return policyInfo;
|
56
|
+
}
|
57
|
+
|
58
|
+
function expire(
|
59
|
+
InstanceReader instanceReader,
|
60
|
+
NftId policyNftId,
|
61
|
+
IPolicy.PolicyInfo memory policyInfo,
|
62
|
+
Timestamp expireAt
|
63
|
+
)
|
64
|
+
external
|
65
|
+
view
|
66
|
+
returns (IPolicy.PolicyInfo memory)
|
67
|
+
{
|
68
|
+
StateId policyState = instanceReader.getPolicyState(policyNftId);
|
69
|
+
|
70
|
+
checkExpiration(
|
71
|
+
expireAt,
|
72
|
+
policyNftId,
|
73
|
+
policyState,
|
74
|
+
policyInfo);
|
75
|
+
|
76
|
+
// effects
|
77
|
+
// update policyInfo with new expiredAt timestamp
|
78
|
+
if (expireAt.gtz()) {
|
79
|
+
policyInfo.expiredAt = expireAt;
|
80
|
+
} else {
|
81
|
+
policyInfo.expiredAt = TimestampLib.blockTimestamp();
|
82
|
+
}
|
83
|
+
|
84
|
+
return policyInfo;
|
85
|
+
}
|
86
|
+
|
13
87
|
function checkExpiration(
|
14
88
|
Timestamp newExpiredAt,
|
15
89
|
NftId policyNftId,
|
16
90
|
StateId policyState,
|
17
91
|
IPolicy.PolicyInfo memory policyInfo
|
18
92
|
)
|
19
|
-
|
93
|
+
public
|
20
94
|
view
|
21
95
|
{
|
22
96
|
if (policyState != COLLATERALIZED()) {
|
@@ -1,34 +1,31 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
|
-
import {Seconds} from "../type/Seconds.sol";
|
6
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
7
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
8
|
-
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {Fee} from "../type/Fee.sol";
|
10
|
-
import {ReferralId} from "../type/Referral.sol";
|
11
|
-
import {RiskId} from "../type/RiskId.sol";
|
12
|
-
import {PRODUCT, BUNDLE, DISTRIBUTION, PRICE} from "../type/ObjectType.sol";
|
13
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
14
|
-
|
15
|
-
import {IProductComponent} from "./IProductComponent.sol";
|
16
|
-
|
17
|
-
import {IInstance} from "../instance/IInstance.sol";
|
18
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
19
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
20
|
-
import {IPolicy} from "../instance/module/IPolicy.sol";
|
21
4
|
import {IBundle} from "../instance/module/IBundle.sol";
|
5
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
22
6
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
23
|
-
|
24
|
-
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
25
|
-
|
26
|
-
import {IPricingService} from "./IPricingService.sol";
|
27
7
|
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
8
|
+
import {IInstance} from "../instance/IInstance.sol";
|
9
|
+
import {IPolicy} from "../instance/module/IPolicy.sol";
|
10
|
+
import {IPricingService} from "./IPricingService.sol";
|
11
|
+
import {IProductComponent} from "./IProductComponent.sol";
|
12
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
13
|
+
|
14
|
+
import {Amount} from "../type/Amount.sol";
|
15
|
+
import {BUNDLE, DISTRIBUTION, PRICE, PRODUCT} from "../type/ObjectType.sol";
|
16
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
17
|
+
import {Fee} from "../type/Fee.sol";
|
18
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
19
|
+
import {NftId} from "../type/NftId.sol";
|
20
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
21
|
+
import {ReferralId} from "../type/Referral.sol";
|
22
|
+
import {RiskId} from "../type/RiskId.sol";
|
23
|
+
import {Seconds} from "../type/Seconds.sol";
|
24
|
+
import {Service} from "../shared/Service.sol";
|
28
25
|
|
29
26
|
|
30
27
|
contract PricingService is
|
31
|
-
|
28
|
+
Service,
|
32
29
|
IPricingService
|
33
30
|
{
|
34
31
|
IDistributionService internal _distributionService;
|
@@ -81,11 +78,11 @@ contract PricingService is
|
|
81
78
|
// verify product
|
82
79
|
(
|
83
80
|
IRegistry.ObjectInfo memory registryInfo,
|
84
|
-
|
85
|
-
) =
|
81
|
+
address instanceAddress
|
82
|
+
) = ContractLib.getInfoAndInstance(getRegistry(), productNftId, false);
|
86
83
|
|
87
84
|
// get instance reader from local instance variable
|
88
|
-
reader =
|
85
|
+
reader = IInstance(instanceAddress).getInstanceReader();
|
89
86
|
|
90
87
|
NftId riskProductNftId = reader.getRiskInfo(riskId).productNftId;
|
91
88
|
if (productNftId != riskProductNftId) {
|
@@ -2,7 +2,6 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
5
|
-
import {IComponent} from "../shared/IComponent.sol";
|
6
5
|
import {IRegistry} from "./IRegistry.sol";
|
7
6
|
import {IService} from "../shared/IService.sol";
|
8
7
|
import {IStaking} from "../staking/IStaking.sol";
|
@@ -10,16 +9,10 @@ import {IStaking} from "../staking/IStaking.sol";
|
|
10
9
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
10
|
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
12
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {Staking} from "../staking/Staking.sol";
|
18
|
-
import {Str, StrLib} from "../type/String.sol";
|
19
|
-
import {StakingStore} from "../staking/StakingStore.sol";
|
20
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
21
|
-
import {TokenRegistry} from "./TokenRegistry.sol";
|
22
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
|
+
import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
|
13
|
+
import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {Str} from "../type/String.sol";
|
15
|
+
import {VersionPart} from "../type/Version.sol";
|
23
16
|
|
24
17
|
/*
|
25
18
|
1) GIF_MANAGER_ROLE
|
@@ -44,14 +37,6 @@ contract RegistryAdmin is
|
|
44
37
|
/// @dev gif core roles
|
45
38
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
46
39
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
47
|
-
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
48
|
-
string public constant STAKING_ROLE_NAME = "StakingRole";
|
49
|
-
|
50
|
-
/// @dev gif roles for external contracts
|
51
|
-
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
52
|
-
string public constant COMPONENT_SERVICE_ROLE_NAME = "ComponentServiceRole";
|
53
|
-
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
54
|
-
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
55
40
|
|
56
41
|
/// @dev gif core targets
|
57
42
|
string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
|
@@ -82,6 +67,7 @@ contract RegistryAdmin is
|
|
82
67
|
function completeSetup(
|
83
68
|
address registry,
|
84
69
|
address authorization,
|
70
|
+
VersionPart release,
|
85
71
|
address gifAdmin,
|
86
72
|
address gifManager
|
87
73
|
)
|
@@ -91,15 +77,14 @@ contract RegistryAdmin is
|
|
91
77
|
onlyDeployer()
|
92
78
|
{
|
93
79
|
// checks
|
94
|
-
|
80
|
+
AccessAdminLib.checkRegistry(registry);
|
95
81
|
|
96
|
-
VersionPart release = VersionPartLib.toVersionPart(3);
|
97
82
|
AccessManagerCloneable(
|
98
83
|
authority()).completeSetup(
|
99
84
|
registry,
|
100
85
|
release);
|
101
86
|
|
102
|
-
_checkAuthorization(authorization, REGISTRY(), release, true);
|
87
|
+
_checkAuthorization(authorization, REGISTRY(), release, false, true);
|
103
88
|
|
104
89
|
_registry = registry;
|
105
90
|
_authorization = IAuthorization(authorization);
|
@@ -114,19 +99,19 @@ contract RegistryAdmin is
|
|
114
99
|
// link nft ownability to registry
|
115
100
|
_linkToNftOwnable(_registry);
|
116
101
|
|
117
|
-
|
102
|
+
// setup registry core targets
|
103
|
+
_createCoreTargets(_authorization.getMainTargetName());
|
118
104
|
|
119
|
-
// setup
|
105
|
+
// setup non-contract roles
|
120
106
|
_createRoles(_authorization);
|
121
107
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
122
108
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
123
109
|
|
124
|
-
|
110
|
+
// authorize functions of registry and staking contracts
|
125
111
|
_createTargetAuthorizations(_authorization);
|
126
112
|
}
|
127
113
|
|
128
114
|
|
129
|
-
|
130
115
|
function grantServiceRoleForAllVersions(
|
131
116
|
IService service,
|
132
117
|
ObjectType domain
|
@@ -135,83 +120,53 @@ contract RegistryAdmin is
|
|
135
120
|
restricted()
|
136
121
|
{
|
137
122
|
_grantRoleToAccount(
|
138
|
-
RoleIdLib.
|
123
|
+
RoleIdLib.toGenericServiceRoleId(domain),
|
139
124
|
address(service));
|
140
125
|
}
|
141
126
|
|
142
127
|
//--- view functions ----------------------------------------------------//
|
143
128
|
|
144
|
-
function getGifAdminRole() external
|
129
|
+
function getGifAdminRole() external pure returns (RoleId) {
|
145
130
|
return GIF_ADMIN_ROLE();
|
146
131
|
}
|
147
132
|
|
148
|
-
function getGifManagerRole() external
|
133
|
+
function getGifManagerRole() external pure returns (RoleId) {
|
149
134
|
return GIF_MANAGER_ROLE();
|
150
135
|
}
|
151
136
|
|
152
137
|
//--- private initialization functions -------------------------------------------//
|
153
138
|
|
154
|
-
// create registry role and target
|
155
|
-
function _setupRegistry(address registry) internal {
|
156
|
-
|
157
|
-
// create registry role
|
158
|
-
RoleId roleId = _authorization.getTargetRole(
|
159
|
-
_authorization.getMainTarget());
|
160
|
-
|
161
|
-
_createRole(
|
162
|
-
roleId,
|
163
|
-
_authorization.getRoleInfo(roleId));
|
164
|
-
|
165
|
-
// create registry target
|
166
|
-
_createTarget(
|
167
|
-
registry,
|
168
|
-
_authorization.getMainTargetName(),
|
169
|
-
true, // checkAuthority
|
170
|
-
false); // custom
|
171
|
-
|
172
|
-
// assign registry role to registry
|
173
|
-
_grantRoleToAccount(
|
174
|
-
roleId,
|
175
|
-
registry);
|
176
|
-
}
|
177
|
-
|
178
|
-
|
179
139
|
function _createRoles(IAuthorization authorization)
|
180
140
|
internal
|
181
141
|
{
|
182
142
|
RoleId[] memory roles = authorization.getRoles();
|
183
|
-
RoleId mainTargetRoleId = authorization.getTargetRole(
|
184
|
-
authorization.getMainTarget());
|
185
|
-
|
186
|
-
RoleId roleId;
|
187
|
-
RoleInfo memory roleInfo;
|
188
143
|
|
189
144
|
for(uint256 i = 0; i < roles.length; i++) {
|
145
|
+
RoleId roleId = roles[i];
|
146
|
+
RoleInfo memory roleInfo = authorization.getRoleInfo(roleId);
|
190
147
|
|
191
|
-
|
192
|
-
|
193
|
-
// skip main target role, create role if not exists
|
194
|
-
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
148
|
+
// create role if not exists
|
149
|
+
if (!roleExists(roleInfo.name.toString())) {
|
195
150
|
_createRole(
|
196
151
|
roleId,
|
197
|
-
|
152
|
+
roleInfo);
|
198
153
|
}
|
199
154
|
}
|
200
155
|
}
|
201
156
|
|
202
157
|
|
203
|
-
function
|
158
|
+
function _createCoreTargets(string memory registryTargetName)
|
204
159
|
internal
|
205
160
|
{
|
206
161
|
// registry
|
207
|
-
|
208
|
-
|
209
|
-
|
162
|
+
_createUncheckedTarget(_registry, registryTargetName, TargetType.Core);
|
163
|
+
_createUncheckedTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core);
|
164
|
+
_createUncheckedTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core);
|
165
|
+
_createUncheckedTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core);
|
210
166
|
|
211
167
|
// staking
|
212
|
-
|
213
|
-
|
214
|
-
_createTarget(address(IComponent(_staking).getTokenHandler()), STAKING_TH_TARGET_NAME, true, false);
|
168
|
+
_createUncheckedTarget(_staking, STAKING_TARGET_NAME, TargetType.Core);
|
169
|
+
_createUncheckedTarget(_stakingStore, STAKING_STORE_TARGET_NAME, TargetType.Core);
|
215
170
|
}
|
216
171
|
|
217
172
|
|
@@ -224,35 +179,10 @@ contract RegistryAdmin is
|
|
224
179
|
for(uint256 i = 0; i < targets.length; i++) {
|
225
180
|
target = targets[i];
|
226
181
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
227
|
-
RoleId authorizedRole;
|
228
182
|
|
229
183
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
230
|
-
|
231
|
-
|
232
|
-
_authorizeTargetFunctions(
|
233
|
-
getTargetForName(target),
|
234
|
-
authorizedRole,
|
235
|
-
authorization.getAuthorizedFunctions(
|
236
|
-
target,
|
237
|
-
authorizedRole));
|
184
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
238
185
|
}
|
239
186
|
}
|
240
187
|
}
|
241
|
-
|
242
|
-
|
243
|
-
function _createTargets(address authorization)
|
244
|
-
private
|
245
|
-
onlyInitializing()
|
246
|
-
{
|
247
|
-
IStaking staking = IStaking(_staking);
|
248
|
-
address tokenHandler = address(staking.getTokenHandler());
|
249
|
-
|
250
|
-
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
|
251
|
-
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
252
|
-
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
253
|
-
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
254
|
-
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
255
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
256
|
-
_createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
|
257
|
-
}
|
258
188
|
}
|