@etherisc/gif-next 0.0.2-de9ede4-391 → 0.0.2-df69269-973
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +65 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +20 -22
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +27 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +103 -55
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +115 -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 +37 -5
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +42 -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 +77 -47
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +90 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -21
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -8
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
- 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 +76 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +233 -184
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +90 -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 +104 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +90 -33
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -45
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +98 -48
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +262 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +90 -33
- 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 +54 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +80 -40
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +289 -92
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +97 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +81 -195
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -58
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +40 -268
- 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/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +68 -38
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +92 -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 +38 -8
- 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 +52 -22
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +75 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +25 -27
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -21
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +93 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +101 -94
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +38 -40
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +27 -3
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -8
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +27 -3
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -21
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +85 -78
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +30 -32
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +57 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -18
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -112
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +90 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +249 -150
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +57 -55
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +27 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +143 -3
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +27 -3
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -99
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +95 -88
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +35 -37
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +157 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
- 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/IRegistry.sol/IRegistry.json +7 -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 +45 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +176 -214
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +11 -13
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -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 +307 -49
- 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 +51 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +113 -90
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -38
- 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 +57 -4
- 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 +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 +38 -8
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -3
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -8
- 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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -21
- 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 +3 -3
- 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/IStaking.sol/IStaking.json +38 -8
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +27 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
- 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 +27 -19
- 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 +59 -52
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +17 -19
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
- 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 +2 -2
- 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 +23 -4
- 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/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- 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/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -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 +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 +3 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +115 -71
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +268 -227
- package/contracts/authorization/IAccessAdmin.sol +6 -3
- package/contracts/authorization/IAuthorization.sol +7 -1
- package/contracts/distribution/BasicDistributionAuthorization.sol +9 -8
- package/contracts/distribution/DistributionService.sol +6 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +3 -1
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +18 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +0 -1
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +17 -9
- package/contracts/instance/InstanceAdmin.sol +227 -53
- package/contracts/instance/InstanceAuthorizationV3.sol +14 -8
- package/contracts/instance/InstanceReader.sol +6 -6
- package/contracts/instance/InstanceService.sol +41 -29
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +1 -0
- package/contracts/instance/RiskSet.sol +7 -9
- package/contracts/instance/base/ObjectLifecycle.sol +2 -1
- package/contracts/instance/module/IComponents.sol +0 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +11 -10
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +16 -15
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +10 -9
- package/contracts/pool/BundleService.sol +3 -3
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/PoolService.sol +4 -4
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +3 -3
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +10 -9
- package/contracts/product/ClaimService.sol +144 -50
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IClaimService.sol +13 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +3 -3
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +23 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +36 -0
- package/contracts/product/RiskService.sol +65 -21
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +6 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +3 -2
- package/contracts/registry/RegistryAdmin.sol +117 -230
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +124 -99
- package/contracts/registry/ServiceAuthorizationV3.sol +36 -1
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +24 -17
- package/contracts/shared/ComponentService.sol +63 -51
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +29 -1
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/NftOwnable.sol +4 -4
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +45 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +2 -2
- package/contracts/staking/Staking.sol +23 -12
- package/contracts/staking/StakingService.sol +2 -3
- package/contracts/type/ObjectType.sol +41 -27
- package/contracts/type/RiskId.sol +5 -0
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +1 -1
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
@@ -1,19 +1,19 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
|
5
|
-
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
6
|
-
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
7
5
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
8
6
|
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
9
|
-
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
11
8
|
import {IInstance} from "./IInstance.sol";
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {ObjectType} from "../type/ObjectType.sol";
|
13
13
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
14
14
|
import {Str, StrLib} from "../type/String.sol";
|
15
15
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
|
-
import {VersionPart} from "../type/Version.sol";
|
16
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
17
17
|
|
18
18
|
|
19
19
|
contract InstanceAdmin is
|
@@ -27,68 +27,103 @@ contract InstanceAdmin is
|
|
27
27
|
|
28
28
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
29
29
|
|
30
|
+
error ErrorInstanceAdminCallerNotInstanceOwner(address caller);
|
31
|
+
error ErrorInstanceAdminInstanceAlreadyLocked();
|
30
32
|
error ErrorInstanceAdminNotRegistered(address target);
|
33
|
+
|
31
34
|
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
35
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
36
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
37
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
38
|
+
|
32
39
|
error ErrorInstanceAdminReleaseMismatch();
|
33
40
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
41
|
|
35
42
|
IInstance internal _instance;
|
36
43
|
IRegistry internal _registry;
|
37
|
-
uint64 internal
|
44
|
+
uint64 internal _customIdNext;
|
45
|
+
|
46
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
47
|
+
uint64 internal _components;
|
38
48
|
|
39
49
|
IAuthorization internal _instanceAuthorization;
|
40
50
|
|
51
|
+
|
52
|
+
modifier onlyInstanceOwner() {
|
53
|
+
if(msg.sender != _registry.ownerOf(address(_instance))) {
|
54
|
+
revert ErrorInstanceAdminCallerNotInstanceOwner(msg.sender);
|
55
|
+
}
|
56
|
+
_;
|
57
|
+
}
|
58
|
+
|
41
59
|
/// @dev Only used for master instance admin.
|
42
60
|
/// Contracts created via constructor come with disabled initializers.
|
43
61
|
constructor(
|
44
62
|
address instanceAuthorization
|
45
|
-
)
|
46
|
-
|
47
|
-
|
63
|
+
) {
|
64
|
+
initialize(new AccessManagerCloneable());
|
65
|
+
|
48
66
|
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
67
|
+
|
68
|
+
_disableInitializers();
|
49
69
|
}
|
50
70
|
|
51
|
-
|
52
|
-
/// Internally the function creates an instance specific OpenZeppelin AccessManager that is used as the authority
|
53
|
-
/// for the inststance authorizatios.
|
54
|
-
/// Important: Initialization of this instance admin is only complete after calling function initializeInstance.
|
71
|
+
|
55
72
|
function initialize(
|
56
|
-
AccessManagerCloneable
|
57
|
-
|
73
|
+
AccessManagerCloneable clonedAccessManager,
|
74
|
+
IRegistry registry,
|
75
|
+
VersionPart release
|
58
76
|
)
|
59
77
|
external
|
60
78
|
initializer()
|
61
79
|
{
|
62
|
-
|
63
|
-
_initializeAuthority(address(accessManager));
|
80
|
+
__AccessAdmin_init(clonedAccessManager);
|
64
81
|
|
65
|
-
|
66
|
-
|
82
|
+
clonedAccessManager.completeSetup(
|
83
|
+
address(registry),
|
84
|
+
release);
|
67
85
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
86
|
+
_registry = registry;
|
70
87
|
}
|
71
88
|
|
72
|
-
|
89
|
+
event LogDebug(string message, uint256 value);
|
90
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
91
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
73
92
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
74
|
-
function
|
93
|
+
function completeSetup(
|
94
|
+
address instance,
|
95
|
+
address authorization
|
96
|
+
)
|
75
97
|
external
|
98
|
+
reinitializer(uint64(getRelease().toInt()))
|
99
|
+
onlyDeployer()
|
76
100
|
{
|
77
|
-
|
101
|
+
_components = 0;
|
102
|
+
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
103
|
+
_instance = IInstance(instance);
|
104
|
+
_instanceAuthorization = IAuthorization(authorization);
|
78
105
|
|
79
|
-
|
80
|
-
_instance = IInstance(instanceAddress);
|
81
|
-
_registry = _instance.getRegistry();
|
106
|
+
_checkTargetIsReadyForAuthorization(instance);
|
82
107
|
|
83
108
|
// check matching releases
|
84
|
-
if (_instanceAuthorization.getRelease() !=
|
109
|
+
if (_instanceAuthorization.getRelease() != getRelease()) {
|
85
110
|
revert ErrorInstanceAdminReleaseMismatch();
|
86
111
|
}
|
87
112
|
|
113
|
+
// TODO cleanup
|
114
|
+
emit LogDebug("a", 0);
|
115
|
+
// create instance role and target
|
116
|
+
_setupInstance(instance);
|
117
|
+
emit LogDebug("b", 0);
|
118
|
+
|
88
119
|
// add instance authorization
|
89
120
|
_createRoles(_instanceAuthorization);
|
90
|
-
|
121
|
+
emit LogDebug("c", 0);
|
122
|
+
|
123
|
+
_setupInstanceHelperTargetsWithRoles();
|
124
|
+
emit LogDebug("d", 0);
|
91
125
|
_createTargetAuthorizations(_instanceAuthorization);
|
126
|
+
emit LogDebug("e", 0);
|
92
127
|
}
|
93
128
|
|
94
129
|
|
@@ -98,47 +133,71 @@ contract InstanceAdmin is
|
|
98
133
|
IInstanceLinkedComponent component
|
99
134
|
)
|
100
135
|
external
|
136
|
+
restricted()
|
101
137
|
{
|
102
138
|
// checks
|
103
|
-
// get authorization specification
|
104
|
-
IAuthorization authorization = component.getAuthorization();
|
105
|
-
string memory targetName = authorization.getTargetName();
|
106
139
|
_checkTargetIsReadyForAuthorization(address(component));
|
107
140
|
|
141
|
+
emit LogDebug("f", 0);
|
108
142
|
|
109
|
-
//
|
110
|
-
|
143
|
+
// setup target and role for component (including token handler)
|
144
|
+
_setupComponentAndTokenHandler(component);
|
111
145
|
|
112
|
-
|
113
|
-
_createTarget(
|
114
|
-
address(component),
|
115
|
-
targetName,
|
116
|
-
true, // checkAuthority
|
117
|
-
false); // custom
|
146
|
+
emit LogDebug("g", 0);
|
118
147
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
148
|
+
// create other roles
|
149
|
+
IAuthorization authorization = component.getAuthorization();
|
150
|
+
_createRoles(authorization);
|
151
|
+
|
152
|
+
emit LogDebug("h", 0);
|
124
153
|
|
125
154
|
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
126
155
|
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
127
156
|
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
128
157
|
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
129
158
|
|
159
|
+
emit LogDebug("i", 0);
|
160
|
+
|
130
161
|
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
131
162
|
_authorizeTargetFunctions(
|
132
163
|
address(component.getTokenHandler()),
|
133
164
|
getPublicRole(),
|
134
165
|
functions);
|
135
166
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
167
|
+
emit LogDebug("j", 0);
|
168
|
+
|
169
|
+
// TODO cleanup
|
170
|
+
// _grantRoleToAccount(
|
171
|
+
// authorization.getTargetRole(
|
172
|
+
// authorization.getMainTarget()),
|
173
|
+
// address(component));
|
140
174
|
|
141
175
|
_createTargetAuthorizations(authorization);
|
176
|
+
|
177
|
+
emit LogDebug("k", 0);
|
178
|
+
}
|
179
|
+
|
180
|
+
// create instance role and target
|
181
|
+
function _setupInstance(address instance) internal {
|
182
|
+
// create instance role
|
183
|
+
RoleId instanceRoleId = _instanceAuthorization.getTargetRole(
|
184
|
+
_instanceAuthorization.getMainTarget());
|
185
|
+
|
186
|
+
_createRole(
|
187
|
+
instanceRoleId,
|
188
|
+
_instanceAuthorization.getRoleInfo(instanceRoleId));
|
189
|
+
|
190
|
+
// create instance target
|
191
|
+
_createTarget(
|
192
|
+
instance,
|
193
|
+
_instanceAuthorization.getMainTargetName(),
|
194
|
+
true, // checkAuthority
|
195
|
+
false); // custom
|
196
|
+
|
197
|
+
// assign instance role to instance
|
198
|
+
_grantRoleToAccount(
|
199
|
+
instanceRoleId,
|
200
|
+
instance);
|
142
201
|
}
|
143
202
|
|
144
203
|
/// @dev Creates a custom role
|
@@ -160,6 +219,19 @@ contract InstanceAdmin is
|
|
160
219
|
_grantRoleToAccount(roleId, account);
|
161
220
|
}
|
162
221
|
|
222
|
+
|
223
|
+
function setInstanceLocked(bool locked)
|
224
|
+
external
|
225
|
+
onlyInstanceOwner()
|
226
|
+
{
|
227
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
228
|
+
|
229
|
+
if(accessManager.isLocked() == locked) {
|
230
|
+
revert ErrorInstanceAdminInstanceAlreadyLocked();
|
231
|
+
}
|
232
|
+
accessManager.setLocked(locked);
|
233
|
+
}
|
234
|
+
|
163
235
|
function setTargetLocked(address target, bool locked)
|
164
236
|
external
|
165
237
|
restricted()
|
@@ -178,12 +250,98 @@ contract InstanceAdmin is
|
|
178
250
|
return _instanceAuthorization;
|
179
251
|
}
|
180
252
|
|
253
|
+
// ------------------- Internal functions ------------------- //
|
254
|
+
|
255
|
+
function _setupComponentAndTokenHandler(IInstanceLinkedComponent component)
|
256
|
+
internal
|
257
|
+
{
|
258
|
+
|
259
|
+
IAuthorization authorization = component.getAuthorization();
|
260
|
+
string memory targetName = authorization.getMainTargetName();
|
261
|
+
|
262
|
+
// create component role and target
|
263
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
264
|
+
|
265
|
+
// create component's target
|
266
|
+
_createTarget(
|
267
|
+
address(component),
|
268
|
+
targetName,
|
269
|
+
true, // checkAuthority
|
270
|
+
false); // custom
|
271
|
+
|
272
|
+
// create component's token handler target
|
273
|
+
_createTarget(
|
274
|
+
// TODO fetch token handler from instance
|
275
|
+
address(component.getTokenHandler()),
|
276
|
+
string(abi.encodePacked(targetName, "TH")),
|
277
|
+
true,
|
278
|
+
false);
|
279
|
+
|
280
|
+
// assign component role to component
|
281
|
+
_grantRoleToAccount(
|
282
|
+
componentRoleId,
|
283
|
+
address(component));
|
284
|
+
|
285
|
+
// token handler does not require its own role
|
286
|
+
// token handler is not calling other components
|
287
|
+
}
|
288
|
+
|
289
|
+
|
290
|
+
function _createComponentRoleId(
|
291
|
+
IInstanceLinkedComponent component,
|
292
|
+
IAuthorization authorization
|
293
|
+
)
|
294
|
+
internal
|
295
|
+
returns (RoleId componentRoleId)
|
296
|
+
{
|
297
|
+
// checks
|
298
|
+
// check component is not yet authorized
|
299
|
+
if (_targetRoleId[address(component)].gtz()) {
|
300
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
301
|
+
}
|
302
|
+
|
303
|
+
// check generic component role
|
304
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
305
|
+
authorization.getMainTarget());
|
306
|
+
|
307
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
308
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
309
|
+
}
|
310
|
+
|
311
|
+
// check component role does not exist
|
312
|
+
componentRoleId = toComponentRole(
|
313
|
+
genericComponentRoleId,
|
314
|
+
_components);
|
315
|
+
|
316
|
+
if (roleExists(componentRoleId)) {
|
317
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
318
|
+
}
|
319
|
+
|
320
|
+
// check role info
|
321
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
322
|
+
genericComponentRoleId);
|
323
|
+
|
324
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
325
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
326
|
+
componentRoleId,
|
327
|
+
roleInfo.roleType);
|
328
|
+
}
|
329
|
+
|
330
|
+
// effects
|
331
|
+
_targetRoleId[address(component)] = componentRoleId;
|
332
|
+
_components++;
|
333
|
+
|
334
|
+
_createRole(
|
335
|
+
componentRoleId,
|
336
|
+
roleInfo);
|
337
|
+
}
|
338
|
+
|
181
339
|
|
182
340
|
function _checkTargetIsReadyForAuthorization(address target)
|
183
341
|
internal
|
184
342
|
view
|
185
343
|
{
|
186
|
-
if (
|
344
|
+
if (!_registry.isRegistered(target)) {
|
187
345
|
revert ErrorInstanceAdminNotRegistered(target);
|
188
346
|
}
|
189
347
|
|
@@ -197,13 +355,18 @@ contract InstanceAdmin is
|
|
197
355
|
internal
|
198
356
|
{
|
199
357
|
RoleId[] memory roles = authorization.getRoles();
|
358
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
359
|
+
authorization.getMainTarget());
|
360
|
+
|
200
361
|
RoleId roleId;
|
201
362
|
RoleInfo memory roleInfo;
|
202
363
|
|
203
364
|
for(uint256 i = 0; i < roles.length; i++) {
|
365
|
+
|
204
366
|
roleId = roles[i];
|
205
367
|
|
206
|
-
if
|
368
|
+
// skip main target role, create role if not exists
|
369
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
207
370
|
_createRole(
|
208
371
|
roleId,
|
209
372
|
authorization.getRoleInfo(roleId));
|
@@ -212,6 +375,16 @@ contract InstanceAdmin is
|
|
212
375
|
}
|
213
376
|
|
214
377
|
|
378
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
379
|
+
internal
|
380
|
+
pure
|
381
|
+
returns (RoleId)
|
382
|
+
{
|
383
|
+
return RoleIdLib.toRoleId(
|
384
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
385
|
+
}
|
386
|
+
|
387
|
+
|
215
388
|
function _createTargetAuthorizations(IAuthorization authorization)
|
216
389
|
internal
|
217
390
|
{
|
@@ -262,11 +435,12 @@ contract InstanceAdmin is
|
|
262
435
|
}
|
263
436
|
}
|
264
437
|
|
265
|
-
function
|
438
|
+
function _setupInstanceHelperTargetsWithRoles()
|
266
439
|
internal
|
267
440
|
{
|
441
|
+
// _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
442
|
+
|
268
443
|
// create module targets
|
269
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
270
444
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
271
445
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
272
446
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
@@ -26,7 +26,9 @@ contract InstanceAuthorizationV3
|
|
26
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
27
|
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
28
|
|
29
|
-
constructor()
|
29
|
+
constructor()
|
30
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE())
|
31
|
+
{ }
|
30
32
|
|
31
33
|
|
32
34
|
function _setupRoles()
|
@@ -36,16 +38,16 @@ contract InstanceAuthorizationV3
|
|
36
38
|
// empty implementation
|
37
39
|
}
|
38
40
|
|
39
|
-
|
40
41
|
function _setupTargets()
|
41
42
|
internal
|
42
43
|
override
|
43
44
|
{
|
44
|
-
//
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
// TODO cleanup
|
46
|
+
// // instance target
|
47
|
+
// _addTargetWithRole(
|
48
|
+
// INSTANCE_TARGET_NAME,
|
49
|
+
// _toTargetRoleId(INSTANCE()),
|
50
|
+
// INSTANCE_ROLE_NAME);
|
49
51
|
|
50
52
|
// instance supporting targets
|
51
53
|
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
@@ -132,11 +134,12 @@ contract InstanceAuthorizationV3
|
|
132
134
|
IAccess.FunctionInfo[] storage functions;
|
133
135
|
|
134
136
|
// authorize instance role
|
135
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
137
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getComponentRole(INSTANCE()));
|
136
138
|
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
137
139
|
|
138
140
|
// authorize component service role
|
139
141
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
142
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
140
143
|
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
141
144
|
}
|
142
145
|
|
@@ -160,6 +163,8 @@ contract InstanceAuthorizationV3
|
|
160
163
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
161
164
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
162
165
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
166
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
167
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
163
168
|
|
164
169
|
// authorize distribution service role
|
165
170
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
@@ -217,6 +222,7 @@ contract InstanceAuthorizationV3
|
|
217
222
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
218
223
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
219
224
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
225
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
220
226
|
}
|
221
227
|
}
|
222
228
|
|
@@ -110,7 +110,7 @@ contract InstanceReader {
|
|
110
110
|
function bundles(NftId poolNftId)
|
111
111
|
public
|
112
112
|
view
|
113
|
-
returns (uint256
|
113
|
+
returns (uint256 bundleCount)
|
114
114
|
{
|
115
115
|
return _bundleSet.bundles(poolNftId);
|
116
116
|
}
|
@@ -118,7 +118,7 @@ contract InstanceReader {
|
|
118
118
|
function activeBundles(NftId poolNftId)
|
119
119
|
public
|
120
120
|
view
|
121
|
-
returns (uint256
|
121
|
+
returns (uint256 bundleCount)
|
122
122
|
{
|
123
123
|
return _bundleSet.activeBundles(poolNftId);
|
124
124
|
}
|
@@ -166,7 +166,7 @@ contract InstanceReader {
|
|
166
166
|
function claims(NftId policyNftId)
|
167
167
|
public
|
168
168
|
view
|
169
|
-
returns (uint16
|
169
|
+
returns (uint16 claimCount)
|
170
170
|
{
|
171
171
|
return getPolicyInfo(policyNftId).claimsCount;
|
172
172
|
}
|
@@ -204,7 +204,7 @@ contract InstanceReader {
|
|
204
204
|
function payouts(NftId policyNftId, ClaimId claimId)
|
205
205
|
public
|
206
206
|
view
|
207
|
-
returns (uint24
|
207
|
+
returns (uint24 payoutCount)
|
208
208
|
{
|
209
209
|
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
210
210
|
}
|
@@ -250,7 +250,7 @@ contract InstanceReader {
|
|
250
250
|
function risks(NftId productNftId)
|
251
251
|
public
|
252
252
|
view
|
253
|
-
returns (uint256
|
253
|
+
returns (uint256 riskCount)
|
254
254
|
{
|
255
255
|
return _riskSet.risks(productNftId);
|
256
256
|
}
|
@@ -266,7 +266,7 @@ contract InstanceReader {
|
|
266
266
|
function activeRisks(NftId productNftId)
|
267
267
|
public
|
268
268
|
view
|
269
|
-
returns (uint256
|
269
|
+
returns (uint256 activeRiskCount)
|
270
270
|
{
|
271
271
|
return _riskSet.activeRisks(productNftId);
|
272
272
|
}
|