@etherisc/gif-next 0.0.2-ba07940-332 → 0.0.2-ba5b255-091
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 +27 -6
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +452 -243
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
- 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 +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +92 -285
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +44 -162
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +309 -168
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -51
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +31 -131
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +177 -67
- 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 +93 -139
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +247 -287
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- 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 +161 -244
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +76 -155
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -131
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +288 -226
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +192 -30
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +221 -67
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +775 -306
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +226 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +713 -201
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +203 -85
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +46 -34
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +421 -371
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- 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 +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +66 -167
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +36 -71
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +50 -103
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +112 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +69 -27
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +49 -102
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +127 -331
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +53 -87
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +56 -136
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +36 -95
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +163 -226
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +49 -126
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +302 -363
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +93 -51
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -57
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +54 -24
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +155 -193
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -179
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +74 -64
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +103 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +112 -56
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +142 -162
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +211 -180
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +76 -50
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +120 -76
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +60 -38
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +155 -193
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +143 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +66 -24
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +50 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +88 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +559 -415
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -46
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +42 -20
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1966 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +332 -54
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +49 -88
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +228 -440
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +65 -63
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +509 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +36 -57
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +123 -262
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +36 -71
- 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/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -102
- 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/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +116 -90
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +127 -3
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +193 -193
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- 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 +61 -45
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +180 -49
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +50 -24
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
- 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/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- 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 +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- 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/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +18 -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 +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +301 -192
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +18 -16
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +36 -77
- package/contracts/distribution/DistributionService.sol +84 -53
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/FirePool.sol +10 -11
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +16 -11
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +26 -5
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +36 -8
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +61 -18
- package/contracts/instance/IInstanceService.sol +31 -9
- package/contracts/instance/Instance.sol +107 -53
- package/contracts/instance/InstanceAdmin.sol +310 -115
- package/contracts/instance/InstanceAuthorizationV3.sol +99 -40
- package/contracts/instance/InstanceReader.sol +209 -33
- package/contracts/instance/InstanceService.sol +205 -115
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -4
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +2 -1
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -3
- package/contracts/oracle/OracleService.sol +92 -73
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +19 -2
- package/contracts/pool/BasicPoolAuthorization.sol +22 -14
- package/contracts/pool/BundleService.sol +88 -154
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +15 -43
- package/contracts/pool/IPoolComponent.sol +1 -5
- package/contracts/pool/IPoolService.sol +58 -62
- package/contracts/pool/Pool.sol +95 -81
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +418 -211
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +39 -16
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -2
- package/contracts/product/BasicProductAuthorization.sol +24 -10
- package/contracts/product/ClaimService.sol +177 -136
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +26 -11
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +244 -263
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +32 -20
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +59 -23
- package/contracts/product/RiskService.sol +89 -31
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +10 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +16 -3
- package/contracts/registry/RegistryAdmin.sol +145 -335
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +150 -134
- package/contracts/registry/ServiceAuthorizationV3.sol +180 -40
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +52 -107
- package/contracts/shared/ComponentService.sol +264 -291
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +16 -14
- package/contracts/shared/ContractLib.sol +246 -3
- package/contracts/shared/IComponent.sol +1 -17
- package/contracts/shared/IComponentService.sol +18 -26
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -22
- package/contracts/shared/NftOwnable.sol +10 -6
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +41 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +17 -10
- package/contracts/staking/IStakingService.sol +16 -1
- package/contracts/staking/Staking.sol +95 -46
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +85 -14
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +53 -35
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +27 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +4 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,16 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE
|
6
|
-
} from "../../contracts/type/ObjectType.sol";
|
7
|
-
|
8
|
-
import {BundleSet} from "../instance/BundleSet.sol";
|
9
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
|
6
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
7
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
8
|
+
import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
|
9
|
+
import {BundleSet} from "../instance/BundleSet.sol";
|
10
10
|
import {Instance} from "../instance/Instance.sol";
|
11
11
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
12
12
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
13
|
-
import {
|
13
|
+
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
14
15
|
|
15
16
|
|
16
17
|
contract InstanceAuthorizationV3
|
@@ -18,49 +19,56 @@ contract InstanceAuthorizationV3
|
|
18
19
|
{
|
19
20
|
|
20
21
|
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
22
|
+
string public constant INSTANCE_OWNER_ROLE_NAME = "InstanceOwnerRole";
|
21
23
|
|
22
24
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
23
25
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
24
26
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
25
27
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
28
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
26
29
|
|
27
|
-
constructor()
|
30
|
+
constructor()
|
31
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE(), false, false)
|
32
|
+
{ }
|
28
33
|
|
34
|
+
function _setupServiceTargets() internal virtual override {
|
35
|
+
// service targets relevant to instance
|
36
|
+
_addServiceTargetWithRole(INSTANCE());
|
37
|
+
_addServiceTargetWithRole(ACCOUNTING());
|
38
|
+
_addServiceTargetWithRole(COMPONENT());
|
39
|
+
_addServiceTargetWithRole(DISTRIBUTION());
|
40
|
+
_addServiceTargetWithRole(ORACLE());
|
41
|
+
_addServiceTargetWithRole(POOL());
|
42
|
+
_addServiceTargetWithRole(BUNDLE());
|
43
|
+
_addServiceTargetWithRole(RISK());
|
44
|
+
_addServiceTargetWithRole(APPLICATION());
|
45
|
+
_addServiceTargetWithRole(POLICY());
|
46
|
+
_addServiceTargetWithRole(CLAIM());
|
47
|
+
}
|
29
48
|
|
30
49
|
function _setupRoles()
|
31
50
|
internal
|
32
51
|
override
|
33
52
|
{
|
34
|
-
|
53
|
+
_addRole(
|
54
|
+
INSTANCE_OWNER_ROLE(),
|
55
|
+
AccessAdminLib.toRole(
|
56
|
+
ADMIN_ROLE(),
|
57
|
+
RoleType.Custom,
|
58
|
+
0, // max member count special case: instance nft owner is sole role owner
|
59
|
+
INSTANCE_OWNER_ROLE_NAME));
|
35
60
|
}
|
36
61
|
|
37
|
-
|
38
62
|
function _setupTargets()
|
39
63
|
internal
|
40
64
|
override
|
41
65
|
{
|
42
|
-
// instance target
|
43
|
-
_addTargetWithRole(
|
44
|
-
INSTANCE_TARGET_NAME,
|
45
|
-
_toTargetRoleId(INSTANCE()),
|
46
|
-
INSTANCE_ROLE_NAME);
|
47
|
-
|
48
66
|
// instance supporting targets
|
49
|
-
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
50
67
|
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
68
|
+
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
51
69
|
_addTarget(BUNDLE_SET_TARGET_NAME);
|
70
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
52
71
|
|
53
|
-
// service targets relevant to instance
|
54
|
-
_addServiceTargetWithRole(INSTANCE());
|
55
|
-
_addServiceTargetWithRole(COMPONENT());
|
56
|
-
_addServiceTargetWithRole(DISTRIBUTION());
|
57
|
-
_addServiceTargetWithRole(ORACLE());
|
58
|
-
_addServiceTargetWithRole(POOL());
|
59
|
-
_addServiceTargetWithRole(BUNDLE());
|
60
|
-
_addServiceTargetWithRole(PRODUCT());
|
61
|
-
_addServiceTargetWithRole(APPLICATION());
|
62
|
-
_addServiceTargetWithRole(POLICY());
|
63
|
-
_addServiceTargetWithRole(CLAIM());
|
64
72
|
}
|
65
73
|
|
66
74
|
|
@@ -72,7 +80,7 @@ contract InstanceAuthorizationV3
|
|
72
80
|
_setupInstanceAdminAuthorization();
|
73
81
|
_setupInstanceStoreAuthorization();
|
74
82
|
_setupBundleSetAuthorization();
|
75
|
-
|
83
|
+
_setUpRiskSetAuthorization();
|
76
84
|
}
|
77
85
|
|
78
86
|
|
@@ -83,11 +91,31 @@ contract InstanceAuthorizationV3
|
|
83
91
|
|
84
92
|
// authorize bundle service role
|
85
93
|
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
|
86
|
-
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
87
|
-
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
88
94
|
_authorize(functions, BundleSet.add.selector, "add");
|
89
95
|
_authorize(functions, BundleSet.lock.selector, "lock");
|
90
96
|
_authorize(functions, BundleSet.unlock.selector, "unlock");
|
97
|
+
|
98
|
+
// authorize bundle service role
|
99
|
+
functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(POLICY()));
|
100
|
+
_authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
|
101
|
+
_authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
|
102
|
+
}
|
103
|
+
|
104
|
+
function _setUpRiskSetAuthorization()
|
105
|
+
internal
|
106
|
+
{
|
107
|
+
IAccess.FunctionInfo[] storage functions;
|
108
|
+
|
109
|
+
// authorize risk service role
|
110
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
111
|
+
_authorize(functions, RiskSet.add.selector, "add");
|
112
|
+
_authorize(functions, RiskSet.pause.selector, "pause");
|
113
|
+
_authorize(functions, RiskSet.activate.selector, "activate");
|
114
|
+
|
115
|
+
// authorize policy service role
|
116
|
+
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(POLICY()));
|
117
|
+
_authorize(functions, RiskSet.linkPolicy.selector, "linkPolicy");
|
118
|
+
_authorize(functions, RiskSet.unlinkPolicy.selector, "unlinkPolicy");
|
91
119
|
}
|
92
120
|
|
93
121
|
|
@@ -96,6 +124,24 @@ contract InstanceAuthorizationV3
|
|
96
124
|
{
|
97
125
|
IAccess.FunctionInfo[] storage functions;
|
98
126
|
|
127
|
+
// authorize instance service role
|
128
|
+
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
|
129
|
+
_authorize(functions, Instance.registerProduct.selector, "registerProduct");
|
130
|
+
_authorize(functions, Instance.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
131
|
+
|
132
|
+
// staking
|
133
|
+
_authorize(functions, Instance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
134
|
+
_authorize(functions, Instance.setStakingRewardRate.selector, "setStakingRewardRate");
|
135
|
+
_authorize(functions, Instance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
136
|
+
_authorize(functions, Instance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
137
|
+
|
138
|
+
// custom authz
|
139
|
+
_authorize(functions, Instance.createRole.selector, "createRole");
|
140
|
+
_authorize(functions, Instance.grantRole.selector, "grantRole");
|
141
|
+
_authorize(functions, Instance.revokeRole.selector, "revokeRole");
|
142
|
+
_authorize(functions, Instance.createTarget.selector, "createTarget");
|
143
|
+
_authorize(functions, Instance.setTargetFunctionRole.selector, "setTargetFunctionRole");
|
144
|
+
|
99
145
|
// authorize instance service role
|
100
146
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
101
147
|
_authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
|
@@ -107,12 +153,19 @@ contract InstanceAuthorizationV3
|
|
107
153
|
{
|
108
154
|
IAccess.FunctionInfo[] storage functions;
|
109
155
|
|
110
|
-
// authorize
|
111
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
156
|
+
// authorize component service role
|
157
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
|
158
|
+
_authorize(functions, InstanceAdmin.createRole.selector, "createRole");
|
112
159
|
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
160
|
+
_authorize(functions, InstanceAdmin.revokeRole.selector, "revokeRole");
|
113
161
|
|
114
|
-
|
115
|
-
|
162
|
+
_authorize(functions, InstanceAdmin.setInstanceLocked.selector, "setInstanceLocked");
|
163
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
164
|
+
|
165
|
+
// authorize component service role
|
166
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
167
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
168
|
+
_authorize(functions, InstanceAdmin.setComponentLocked.selector, "setComponentLocked");
|
116
169
|
}
|
117
170
|
|
118
171
|
|
@@ -121,6 +174,13 @@ contract InstanceAuthorizationV3
|
|
121
174
|
{
|
122
175
|
IAccess.FunctionInfo[] storage functions;
|
123
176
|
|
177
|
+
// authorize accounting service role
|
178
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
|
179
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
180
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
181
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
182
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
183
|
+
|
124
184
|
// authorize component service role
|
125
185
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
126
186
|
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
@@ -128,11 +188,9 @@ contract InstanceAuthorizationV3
|
|
128
188
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
129
189
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
130
190
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
131
|
-
_authorize(functions, InstanceStore.
|
132
|
-
_authorize(functions, InstanceStore.
|
133
|
-
|
134
|
-
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
135
|
-
|
191
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
192
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
193
|
+
|
136
194
|
// authorize distribution service role
|
137
195
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
138
196
|
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
@@ -164,7 +222,7 @@ contract InstanceAuthorizationV3
|
|
164
222
|
_authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
|
165
223
|
|
166
224
|
// authorize product service role
|
167
|
-
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(
|
225
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(RISK()));
|
168
226
|
_authorize(functions, InstanceStore.createRisk.selector, "createRisk");
|
169
227
|
_authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
|
170
228
|
_authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
|
@@ -189,6 +247,7 @@ contract InstanceAuthorizationV3
|
|
189
247
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
190
248
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
191
249
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
250
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
192
251
|
}
|
193
252
|
}
|
194
253
|
|
@@ -1,32 +1,39 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
6
|
-
import {DistributorType} from "../type/DistributorType.sol";
|
7
|
-
import {Key32} from "../type/Key32.sol";
|
8
|
-
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
|
-
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
11
|
-
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
12
|
-
import {RequestId} from "../type/RequestId.sol";
|
13
|
-
import {RiskId} from "../type/RiskId.sol";
|
14
|
-
import {RoleId} from "../type/RoleId.sol";
|
15
|
-
import {StateId} from "../type/StateId.sol";
|
16
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
17
5
|
|
6
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
18
7
|
import {IBundle} from "../instance/module/IBundle.sol";
|
19
8
|
import {IComponents} from "../instance/module/IComponents.sol";
|
20
9
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
10
|
+
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
21
11
|
import {IInstance} from "./IInstance.sol";
|
22
12
|
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
13
|
import {IOracle} from "../oracle/IOracle.sol";
|
24
14
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
15
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
25
16
|
import {IRisk} from "../instance/module/IRisk.sol";
|
26
17
|
import {TimestampLib} from "../type/Timestamp.sol";
|
27
18
|
|
28
|
-
import {
|
19
|
+
import {Amount} from "../type/Amount.sol";
|
29
20
|
import {BundleSet} from "./BundleSet.sol";
|
21
|
+
import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
|
22
|
+
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
23
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
24
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
25
|
+
import {Key32} from "../type/Key32.sol";
|
26
|
+
import {NftId} from "../type/NftId.sol";
|
27
|
+
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
28
|
+
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
29
|
+
import {RequestId} from "../type/RequestId.sol";
|
30
|
+
import {RiskId} from "../type/RiskId.sol";
|
31
|
+
import {RiskSet} from "./RiskSet.sol";
|
32
|
+
import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
33
|
+
import {StateId} from "../type/StateId.sol";
|
34
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
35
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
36
|
+
|
30
37
|
|
31
38
|
|
32
39
|
contract InstanceReader {
|
@@ -36,9 +43,13 @@ contract InstanceReader {
|
|
36
43
|
|
37
44
|
bool private _initialized = false;
|
38
45
|
|
46
|
+
IRegistry internal _registry;
|
39
47
|
IInstance internal _instance;
|
48
|
+
|
40
49
|
InstanceStore internal _store;
|
41
50
|
BundleSet internal _bundleSet;
|
51
|
+
RiskSet internal _riskSet;
|
52
|
+
IDistributionService internal _distributionService;
|
42
53
|
|
43
54
|
/// @dev This initializer needs to be called from the instance itself.
|
44
55
|
function initialize() public {
|
@@ -49,18 +60,49 @@ contract InstanceReader {
|
|
49
60
|
initializeWithInstance(msg.sender);
|
50
61
|
}
|
51
62
|
|
52
|
-
|
53
|
-
|
63
|
+
function initializeWithInstance(address instanceAddress)
|
64
|
+
public
|
65
|
+
{
|
54
66
|
if(_initialized) {
|
55
67
|
revert ErrorInstanceReaderAlreadyInitialized();
|
56
68
|
}
|
57
69
|
|
58
70
|
_initialized = true;
|
59
71
|
_instance = IInstance(instanceAddress);
|
72
|
+
_registry = _instance.getRegistry();
|
73
|
+
|
60
74
|
_store = _instance.getInstanceStore();
|
61
75
|
_bundleSet = _instance.getBundleSet();
|
76
|
+
_riskSet = _instance.getRiskSet();
|
77
|
+
_distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
// instance level functions
|
82
|
+
|
83
|
+
function getRegistry() public view returns (IRegistry registry) {
|
84
|
+
return _registry;
|
62
85
|
}
|
63
86
|
|
87
|
+
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
88
|
+
return _registry.getNftIdForAddress(address(_instance));
|
89
|
+
}
|
90
|
+
|
91
|
+
function getInstance() public view returns (IInstance instance) {
|
92
|
+
return _instance;
|
93
|
+
}
|
94
|
+
|
95
|
+
function components() public view returns (uint256 componentCount) {
|
96
|
+
return _instance.getInstanceAdmin().components();
|
97
|
+
}
|
98
|
+
|
99
|
+
function products() public view returns (uint256 productCount) {
|
100
|
+
return _instance.products();
|
101
|
+
}
|
102
|
+
|
103
|
+
function getProductNftId(uint256 idx) public view returns (NftId productNftId) {
|
104
|
+
return _instance.getProductNftId(idx);
|
105
|
+
}
|
64
106
|
|
65
107
|
// module specific functions
|
66
108
|
|
@@ -102,10 +144,18 @@ contract InstanceReader {
|
|
102
144
|
return _store.getState(toPremiumKey(policyNftId));
|
103
145
|
}
|
104
146
|
|
147
|
+
function bundles(NftId poolNftId)
|
148
|
+
public
|
149
|
+
view
|
150
|
+
returns (uint256 bundleCount)
|
151
|
+
{
|
152
|
+
return _bundleSet.bundles(poolNftId);
|
153
|
+
}
|
154
|
+
|
105
155
|
function activeBundles(NftId poolNftId)
|
106
156
|
public
|
107
157
|
view
|
108
|
-
returns (uint256
|
158
|
+
returns (uint256 bundleCount)
|
109
159
|
{
|
110
160
|
return _bundleSet.activeBundles(poolNftId);
|
111
161
|
}
|
@@ -118,6 +168,14 @@ contract InstanceReader {
|
|
118
168
|
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
119
169
|
}
|
120
170
|
|
171
|
+
function getBundleNftId(NftId poolNftId, uint256 idx)
|
172
|
+
public
|
173
|
+
view
|
174
|
+
returns (NftId bundleNftId)
|
175
|
+
{
|
176
|
+
return _bundleSet.getBundleNftId(poolNftId, idx);
|
177
|
+
}
|
178
|
+
|
121
179
|
function getBundleState(NftId bundleNftId)
|
122
180
|
public
|
123
181
|
view
|
@@ -145,7 +203,7 @@ contract InstanceReader {
|
|
145
203
|
function claims(NftId policyNftId)
|
146
204
|
public
|
147
205
|
view
|
148
|
-
returns (uint16
|
206
|
+
returns (uint16 claimCount)
|
149
207
|
{
|
150
208
|
return getPolicyInfo(policyNftId).claimsCount;
|
151
209
|
}
|
@@ -183,7 +241,7 @@ contract InstanceReader {
|
|
183
241
|
function payouts(NftId policyNftId, ClaimId claimId)
|
184
242
|
public
|
185
243
|
view
|
186
|
-
returns (uint24
|
244
|
+
returns (uint24 payoutCount)
|
187
245
|
{
|
188
246
|
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
189
247
|
}
|
@@ -226,6 +284,38 @@ contract InstanceReader {
|
|
226
284
|
return _store.getState(payoutId.toKey32(policyNftId));
|
227
285
|
}
|
228
286
|
|
287
|
+
function risks(NftId productNftId)
|
288
|
+
public
|
289
|
+
view
|
290
|
+
returns (uint256 riskCount)
|
291
|
+
{
|
292
|
+
return _riskSet.risks(productNftId);
|
293
|
+
}
|
294
|
+
|
295
|
+
function getRiskId(NftId productNftId, uint256 idx)
|
296
|
+
public
|
297
|
+
view
|
298
|
+
returns (RiskId riskId)
|
299
|
+
{
|
300
|
+
return _riskSet.getRiskId(productNftId, idx);
|
301
|
+
}
|
302
|
+
|
303
|
+
function activeRisks(NftId productNftId)
|
304
|
+
public
|
305
|
+
view
|
306
|
+
returns (uint256 activeRiskCount)
|
307
|
+
{
|
308
|
+
return _riskSet.activeRisks(productNftId);
|
309
|
+
}
|
310
|
+
|
311
|
+
function getActiveRiskId(NftId productNftId, uint256 idx)
|
312
|
+
public
|
313
|
+
view
|
314
|
+
returns (RiskId riskId)
|
315
|
+
{
|
316
|
+
return _riskSet.getActiveRiskId(productNftId, idx);
|
317
|
+
}
|
318
|
+
|
229
319
|
function getRiskInfo(RiskId riskId)
|
230
320
|
public
|
231
321
|
view
|
@@ -237,32 +327,68 @@ contract InstanceReader {
|
|
237
327
|
}
|
238
328
|
}
|
239
329
|
|
240
|
-
function
|
330
|
+
function getRiskState(RiskId riskId)
|
331
|
+
public
|
332
|
+
view
|
333
|
+
returns (StateId stateId)
|
334
|
+
{
|
335
|
+
bytes memory data = _store.getData(riskId.toKey32());
|
336
|
+
return _store.getState(riskId.toKey32());
|
337
|
+
}
|
338
|
+
|
339
|
+
function policiesForRisk(RiskId riskId)
|
241
340
|
public
|
242
341
|
view
|
243
|
-
returns (
|
342
|
+
returns (uint256 linkedPolicies)
|
244
343
|
{
|
245
|
-
|
344
|
+
return _riskSet.linkedPolicies(riskId);
|
345
|
+
}
|
246
346
|
|
247
|
-
|
248
|
-
|
249
|
-
|
347
|
+
function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
|
348
|
+
public
|
349
|
+
view
|
350
|
+
returns (NftId linkedPolicyNftId)
|
351
|
+
{
|
352
|
+
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
353
|
+
}
|
354
|
+
|
355
|
+
|
356
|
+
function getToken(NftId componentNftId)
|
357
|
+
public
|
358
|
+
view
|
359
|
+
returns (IERC20Metadata token)
|
360
|
+
{
|
361
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
362
|
+
if (address(tokenHandler) != address(0)) {
|
363
|
+
return tokenHandler.TOKEN();
|
364
|
+
}
|
365
|
+
}
|
366
|
+
|
367
|
+
|
368
|
+
function getWallet(NftId componentNftId)
|
369
|
+
public
|
370
|
+
view
|
371
|
+
returns (address wallet)
|
372
|
+
{
|
373
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
374
|
+
if (address(tokenHandler) != address(0)) {
|
375
|
+
return tokenHandler.getWallet();
|
250
376
|
}
|
251
377
|
}
|
252
378
|
|
379
|
+
|
253
380
|
function getTokenHandler(NftId componentNftId)
|
254
381
|
public
|
255
382
|
view
|
256
|
-
returns (
|
383
|
+
returns (TokenHandler tokenHandler)
|
257
384
|
{
|
258
385
|
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
259
|
-
|
260
386
|
if (data.length > 0) {
|
261
|
-
|
262
|
-
return address(info.tokenHandler);
|
387
|
+
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
263
388
|
}
|
264
389
|
}
|
265
390
|
|
391
|
+
|
266
392
|
function getBundleInfo(NftId bundleNftId)
|
267
393
|
public
|
268
394
|
view
|
@@ -330,6 +456,17 @@ contract InstanceReader {
|
|
330
456
|
}
|
331
457
|
}
|
332
458
|
|
459
|
+
function getFeeInfo(NftId productNftId)
|
460
|
+
public
|
461
|
+
view
|
462
|
+
returns (IComponents.FeeInfo memory feeInfo)
|
463
|
+
{
|
464
|
+
bytes memory data = _store.getData(toFeeKey(productNftId));
|
465
|
+
if (data.length > 0) {
|
466
|
+
return abi.decode(data, (IComponents.FeeInfo));
|
467
|
+
}
|
468
|
+
}
|
469
|
+
|
333
470
|
function getPoolInfo(NftId poolNftId)
|
334
471
|
public
|
335
472
|
view
|
@@ -352,6 +489,16 @@ contract InstanceReader {
|
|
352
489
|
}
|
353
490
|
}
|
354
491
|
|
492
|
+
function isReferralValid(NftId distributionNftId, ReferralId referralId)
|
493
|
+
external
|
494
|
+
view
|
495
|
+
returns (bool isValid)
|
496
|
+
{
|
497
|
+
return _distributionService.referralIsValid(
|
498
|
+
distributionNftId,
|
499
|
+
referralId);
|
500
|
+
}
|
501
|
+
|
355
502
|
function getRequestInfo(RequestId requestId)
|
356
503
|
public
|
357
504
|
view
|
@@ -430,6 +577,26 @@ contract InstanceReader {
|
|
430
577
|
}
|
431
578
|
|
432
579
|
|
580
|
+
function roles() public view returns (uint256) {
|
581
|
+
return _instance.getInstanceAdmin().roles();
|
582
|
+
}
|
583
|
+
|
584
|
+
|
585
|
+
function getInstanceOwnerRole() public view returns (RoleId roleId) {
|
586
|
+
return INSTANCE_OWNER_ROLE();
|
587
|
+
}
|
588
|
+
|
589
|
+
|
590
|
+
function getRoleId(uint256 idx) public view returns (RoleId roleId) {
|
591
|
+
return _instance.getInstanceAdmin().getRoleId(uint64(idx));
|
592
|
+
}
|
593
|
+
|
594
|
+
|
595
|
+
function getRoleInfo(RoleId roleId) public view returns (IAccess.RoleInfo memory roleInfo) {
|
596
|
+
return _instance.getInstanceAdmin().getRoleInfo(roleId);
|
597
|
+
}
|
598
|
+
|
599
|
+
|
433
600
|
function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
|
434
601
|
return _instance.getInstanceAdmin().hasRole(account, roleId);
|
435
602
|
}
|
@@ -440,7 +607,7 @@ contract InstanceReader {
|
|
440
607
|
}
|
441
608
|
|
442
609
|
|
443
|
-
function
|
610
|
+
function isLocked(address target) public view returns (bool) {
|
444
611
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
445
612
|
}
|
446
613
|
|
@@ -476,15 +643,24 @@ contract InstanceReader {
|
|
476
643
|
return productNftId.toKey32(PRODUCT());
|
477
644
|
}
|
478
645
|
|
479
|
-
|
480
|
-
|
481
|
-
return _instance;
|
646
|
+
function toFeeKey(NftId productNftId) public pure returns (Key32) {
|
647
|
+
return productNftId.toKey32(FEE());
|
482
648
|
}
|
483
649
|
|
650
|
+
// low level function
|
651
|
+
|
484
652
|
function getInstanceStore() external view returns (IKeyValueStore store) {
|
485
653
|
return _store;
|
486
654
|
}
|
487
655
|
|
656
|
+
function getBundleSet() external view returns (BundleSet bundleSet) {
|
657
|
+
return _bundleSet;
|
658
|
+
}
|
659
|
+
|
660
|
+
function getRiskSet() external view returns (RiskSet riskSet) {
|
661
|
+
return _riskSet;
|
662
|
+
}
|
663
|
+
|
488
664
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
489
665
|
return UFixedLib.toUFixed(value, exp);
|
490
666
|
}
|