@etherisc/gif-next 0.0.2-f634e5c-828 → 0.0.2-f677999-878
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 +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 +148 -62
- 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 +149 -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 +82 -12
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +68 -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 +79 -67
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +152 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -39
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +231 -186
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +57 -51
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -26
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +119 -73
- 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 +102 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +127 -40
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +257 -190
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +152 -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 +150 -56
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +111 -48
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +315 -150
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- 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 +344 -99
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +127 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +351 -198
- 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 +422 -352
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -53
- 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 +68 -56
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +126 -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 -26
- 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 -40
- 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 -39
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +127 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +102 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -55
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -26
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -39
- 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 +236 -281
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +61 -47
- 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 -130
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +152 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +55 -65
- 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 +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -68
- 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 -117
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +37 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +193 -173
- 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 +45 -47
- 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 -130
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +102 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +33 -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 +26 -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 +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +250 -221
- 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 +1849 -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 +315 -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 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +105 -442
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +40 -70
- 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 -26
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -291
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -26
- 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 -39
- 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 +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +38 -26
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +56 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +32 -32
- 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 +4 -4
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +87 -51
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +18 -20
- 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 +30 -6
- 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/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 +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +156 -82
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +277 -229
- package/contracts/authorization/IAccessAdmin.sol +13 -7
- package/contracts/authorization/IAuthorization.sol +15 -1
- package/contracts/distribution/BasicDistribution.sol +11 -9
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +37 -32
- package/contracts/distribution/DistributionService.sol +59 -33
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +16 -13
- package/contracts/examples/fire/FirePool.sol +6 -2
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +9 -3
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +29 -9
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +7 -9
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +36 -4
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +19 -11
- package/contracts/instance/InstanceAdmin.sol +213 -64
- package/contracts/instance/InstanceAuthorizationV3.sol +18 -23
- package/contracts/instance/InstanceReader.sol +91 -35
- package/contracts/instance/InstanceService.sol +43 -31
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -2
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- 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 +21 -13
- package/contracts/pool/BundleService.sol +35 -63
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -20
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +307 -162
- 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 +24 -10
- package/contracts/product/ClaimService.sol +157 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +5 -8
- package/contracts/product/PolicyService.sol +95 -146
- package/contracts/product/PolicyServiceLib.sol +65 -0
- 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 +55 -13
- package/contracts/product/RiskService.sol +66 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +129 -226
- 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 +85 -14
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +32 -27
- package/contracts/shared/ComponentService.sol +89 -266
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +32 -3
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +1 -23
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InstanceLinkedComponent.sol +3 -3
- 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 +40 -88
- package/contracts/staking/IStaking.sol +0 -8
- package/contracts/staking/IStakingService.sol +8 -0
- package/contracts/staking/StakeManagerLib.sol +1 -1
- package/contracts/staking/Staking.sol +34 -13
- package/contracts/staking/StakingReader.sol +1 -1
- package/contracts/staking/StakingService.sol +32 -42
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/type/ObjectType.sol +46 -21
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +2 -2
- 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/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,19 +1,20 @@
|
|
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
|
+
import {NftId} from "../type/NftId.sol";
|
12
13
|
import {ObjectType} from "../type/ObjectType.sol";
|
13
14
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
14
15
|
import {Str, StrLib} from "../type/String.sol";
|
15
16
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
|
-
import {VersionPart} from "../type/Version.sol";
|
17
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
17
18
|
|
18
19
|
|
19
20
|
contract InstanceAdmin is
|
@@ -27,67 +28,95 @@ contract InstanceAdmin is
|
|
27
28
|
|
28
29
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
29
30
|
|
31
|
+
error ErrorInstanceAdminCallerNotInstanceOwner(address caller);
|
32
|
+
error ErrorInstanceAdminInstanceAlreadyLocked();
|
30
33
|
error ErrorInstanceAdminNotRegistered(address target);
|
34
|
+
|
31
35
|
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
36
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
37
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
38
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
39
|
+
|
32
40
|
error ErrorInstanceAdminReleaseMismatch();
|
33
41
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
42
|
|
35
43
|
IInstance internal _instance;
|
36
44
|
IRegistry internal _registry;
|
37
|
-
uint64 internal
|
45
|
+
uint64 internal _customIdNext;
|
46
|
+
|
47
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
48
|
+
uint64 internal _components;
|
38
49
|
|
39
50
|
IAuthorization internal _instanceAuthorization;
|
40
51
|
|
52
|
+
|
53
|
+
modifier onlyInstanceOwner() {
|
54
|
+
if(msg.sender != _registry.ownerOf(address(_instance))) {
|
55
|
+
revert ErrorInstanceAdminCallerNotInstanceOwner(msg.sender);
|
56
|
+
}
|
57
|
+
_;
|
58
|
+
}
|
59
|
+
|
41
60
|
/// @dev Only used for master instance admin.
|
42
61
|
/// Contracts created via constructor come with disabled initializers.
|
43
62
|
constructor(
|
44
63
|
address instanceAuthorization
|
45
|
-
)
|
46
|
-
|
47
|
-
|
64
|
+
) {
|
65
|
+
initialize(new AccessManagerCloneable());
|
66
|
+
|
48
67
|
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
68
|
+
|
69
|
+
_disableInitializers();
|
49
70
|
}
|
50
71
|
|
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.
|
72
|
+
|
55
73
|
function initialize(
|
56
|
-
AccessManagerCloneable
|
57
|
-
|
74
|
+
AccessManagerCloneable clonedAccessManager,
|
75
|
+
IRegistry registry,
|
76
|
+
VersionPart release
|
58
77
|
)
|
59
78
|
external
|
60
79
|
initializer()
|
61
80
|
{
|
62
|
-
|
63
|
-
_initializeAuthority(address(accessManager));
|
81
|
+
__AccessAdmin_init(clonedAccessManager);
|
64
82
|
|
65
|
-
|
66
|
-
|
83
|
+
clonedAccessManager.completeSetup(
|
84
|
+
address(registry),
|
85
|
+
release);
|
67
86
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
87
|
+
_registry = registry;
|
70
88
|
}
|
71
89
|
|
72
|
-
/// @dev Completes the initialization of this instance admin using the provided instance.
|
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
|
+
// create instance role and target
|
114
|
+
_setupInstance(instance);
|
115
|
+
|
88
116
|
// add instance authorization
|
89
117
|
_createRoles(_instanceAuthorization);
|
90
|
-
|
118
|
+
|
119
|
+
_setupInstanceHelperTargetsWithRoles();
|
91
120
|
_createTargetAuthorizations(_instanceAuthorization);
|
92
121
|
}
|
93
122
|
|
@@ -98,47 +127,41 @@ contract InstanceAdmin is
|
|
98
127
|
IInstanceLinkedComponent component
|
99
128
|
)
|
100
129
|
external
|
130
|
+
restricted()
|
101
131
|
{
|
102
132
|
// checks
|
103
|
-
// get authorization specification
|
104
|
-
IAuthorization authorization = component.getAuthorization();
|
105
|
-
string memory targetName = authorization.getTargetName();
|
106
133
|
_checkTargetIsReadyForAuthorization(address(component));
|
107
134
|
|
135
|
+
// setup target and role for component (including token handler)
|
136
|
+
_setupComponentAndTokenHandler(component);
|
108
137
|
|
109
|
-
// create roles
|
110
|
-
|
138
|
+
// create other roles
|
139
|
+
IAuthorization authorization = component.getAuthorization();
|
140
|
+
_createRoles(authorization);
|
141
|
+
_createTargetAuthorizations(authorization);
|
142
|
+
}
|
111
143
|
|
112
|
-
|
144
|
+
// create instance role and target
|
145
|
+
function _setupInstance(address instance) internal {
|
146
|
+
// create instance role
|
147
|
+
RoleId instanceRoleId = _instanceAuthorization.getTargetRole(
|
148
|
+
_instanceAuthorization.getMainTarget());
|
149
|
+
|
150
|
+
_createRole(
|
151
|
+
instanceRoleId,
|
152
|
+
_instanceAuthorization.getRoleInfo(instanceRoleId));
|
153
|
+
|
154
|
+
// create instance target
|
113
155
|
_createTarget(
|
114
|
-
|
115
|
-
|
156
|
+
instance,
|
157
|
+
_instanceAuthorization.getMainTargetName(),
|
116
158
|
true, // checkAuthority
|
117
159
|
false); // custom
|
118
160
|
|
119
|
-
|
120
|
-
address(component.getTokenHandler()),
|
121
|
-
string(abi.encodePacked(targetName, "TH")),
|
122
|
-
true,
|
123
|
-
false);
|
124
|
-
|
125
|
-
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
126
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
127
|
-
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
128
|
-
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
129
|
-
|
130
|
-
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
131
|
-
_authorizeTargetFunctions(
|
132
|
-
address(component.getTokenHandler()),
|
133
|
-
getPublicRole(),
|
134
|
-
functions);
|
135
|
-
|
161
|
+
// assign instance role to instance
|
136
162
|
_grantRoleToAccount(
|
137
|
-
|
138
|
-
|
139
|
-
address(component));
|
140
|
-
|
141
|
-
_createTargetAuthorizations(authorization);
|
163
|
+
instanceRoleId,
|
164
|
+
instance);
|
142
165
|
}
|
143
166
|
|
144
167
|
/// @dev Creates a custom role
|
@@ -160,6 +183,19 @@ contract InstanceAdmin is
|
|
160
183
|
_grantRoleToAccount(roleId, account);
|
161
184
|
}
|
162
185
|
|
186
|
+
|
187
|
+
function setInstanceLocked(bool locked)
|
188
|
+
external
|
189
|
+
onlyInstanceOwner()
|
190
|
+
{
|
191
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
192
|
+
|
193
|
+
if(accessManager.isLocked() == locked) {
|
194
|
+
revert ErrorInstanceAdminInstanceAlreadyLocked();
|
195
|
+
}
|
196
|
+
accessManager.setLocked(locked);
|
197
|
+
}
|
198
|
+
|
163
199
|
function setTargetLocked(address target, bool locked)
|
164
200
|
external
|
165
201
|
restricted()
|
@@ -167,7 +203,14 @@ contract InstanceAdmin is
|
|
167
203
|
_setTargetClosed(target, locked);
|
168
204
|
}
|
169
205
|
|
170
|
-
|
206
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
207
|
+
function components()
|
208
|
+
external
|
209
|
+
view
|
210
|
+
returns (uint64)
|
211
|
+
{
|
212
|
+
return _components;
|
213
|
+
}
|
171
214
|
|
172
215
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
173
216
|
function getInstanceAuthorization()
|
@@ -178,12 +221,102 @@ contract InstanceAdmin is
|
|
178
221
|
return _instanceAuthorization;
|
179
222
|
}
|
180
223
|
|
224
|
+
// ------------------- Internal functions ------------------- //
|
225
|
+
|
226
|
+
function _setupComponentAndTokenHandler(IInstanceLinkedComponent component)
|
227
|
+
internal
|
228
|
+
{
|
229
|
+
|
230
|
+
IAuthorization authorization = component.getAuthorization();
|
231
|
+
string memory targetName = authorization.getMainTargetName();
|
232
|
+
|
233
|
+
// create component role and target
|
234
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
235
|
+
|
236
|
+
// create component's target
|
237
|
+
_createTarget(
|
238
|
+
address(component),
|
239
|
+
targetName,
|
240
|
+
true, // checkAuthority
|
241
|
+
false); // custom
|
242
|
+
|
243
|
+
// create component's token handler target
|
244
|
+
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
245
|
+
address tokenHandler = address(
|
246
|
+
_instance.getInstanceReader().getComponentInfo(
|
247
|
+
componentNftId).tokenHandler);
|
248
|
+
|
249
|
+
_createTarget(
|
250
|
+
tokenHandler,
|
251
|
+
authorization.getTokenHandlerName(),
|
252
|
+
true,
|
253
|
+
false);
|
254
|
+
|
255
|
+
// assign component role to component
|
256
|
+
_grantRoleToAccount(
|
257
|
+
componentRoleId,
|
258
|
+
address(component));
|
259
|
+
|
260
|
+
// token handler does not require its own role
|
261
|
+
// token handler is not calling other components
|
262
|
+
}
|
263
|
+
|
264
|
+
|
265
|
+
function _createComponentRoleId(
|
266
|
+
IInstanceLinkedComponent component,
|
267
|
+
IAuthorization authorization
|
268
|
+
)
|
269
|
+
internal
|
270
|
+
returns (RoleId componentRoleId)
|
271
|
+
{
|
272
|
+
// checks
|
273
|
+
// check component is not yet authorized
|
274
|
+
if (_targetRoleId[address(component)].gtz()) {
|
275
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
276
|
+
}
|
277
|
+
|
278
|
+
// check generic component role
|
279
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
280
|
+
authorization.getMainTarget());
|
281
|
+
|
282
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
283
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
284
|
+
}
|
285
|
+
|
286
|
+
// check component role does not exist
|
287
|
+
componentRoleId = toComponentRole(
|
288
|
+
genericComponentRoleId,
|
289
|
+
_components);
|
290
|
+
|
291
|
+
if (roleExists(componentRoleId)) {
|
292
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
293
|
+
}
|
294
|
+
|
295
|
+
// check role info
|
296
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
297
|
+
genericComponentRoleId);
|
298
|
+
|
299
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
300
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
301
|
+
componentRoleId,
|
302
|
+
roleInfo.roleType);
|
303
|
+
}
|
304
|
+
|
305
|
+
// effects
|
306
|
+
_targetRoleId[address(component)] = componentRoleId;
|
307
|
+
_components++;
|
308
|
+
|
309
|
+
_createRole(
|
310
|
+
componentRoleId,
|
311
|
+
roleInfo);
|
312
|
+
}
|
313
|
+
|
181
314
|
|
182
315
|
function _checkTargetIsReadyForAuthorization(address target)
|
183
316
|
internal
|
184
317
|
view
|
185
318
|
{
|
186
|
-
if (
|
319
|
+
if (!_registry.isRegistered(target)) {
|
187
320
|
revert ErrorInstanceAdminNotRegistered(target);
|
188
321
|
}
|
189
322
|
|
@@ -197,13 +330,18 @@ contract InstanceAdmin is
|
|
197
330
|
internal
|
198
331
|
{
|
199
332
|
RoleId[] memory roles = authorization.getRoles();
|
333
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
334
|
+
authorization.getMainTarget());
|
335
|
+
|
200
336
|
RoleId roleId;
|
201
337
|
RoleInfo memory roleInfo;
|
202
338
|
|
203
339
|
for(uint256 i = 0; i < roles.length; i++) {
|
340
|
+
|
204
341
|
roleId = roles[i];
|
205
342
|
|
206
|
-
if
|
343
|
+
// skip main target role, create role if not exists
|
344
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
207
345
|
_createRole(
|
208
346
|
roleId,
|
209
347
|
authorization.getRoleInfo(roleId));
|
@@ -212,6 +350,16 @@ contract InstanceAdmin is
|
|
212
350
|
}
|
213
351
|
|
214
352
|
|
353
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
354
|
+
internal
|
355
|
+
pure
|
356
|
+
returns (RoleId)
|
357
|
+
{
|
358
|
+
return RoleIdLib.toRoleId(
|
359
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
360
|
+
}
|
361
|
+
|
362
|
+
|
215
363
|
function _createTargetAuthorizations(IAuthorization authorization)
|
216
364
|
internal
|
217
365
|
{
|
@@ -262,11 +410,12 @@ contract InstanceAdmin is
|
|
262
410
|
}
|
263
411
|
}
|
264
412
|
|
265
|
-
function
|
413
|
+
function _setupInstanceHelperTargetsWithRoles()
|
266
414
|
internal
|
267
415
|
{
|
416
|
+
// _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
417
|
+
|
268
418
|
// create module targets
|
269
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
270
419
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
271
420
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
272
421
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {
|
5
|
-
|
5
|
+
ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK
|
6
6
|
} from "../../contracts/type/ObjectType.sol";
|
7
7
|
|
8
8
|
import {BundleSet} from "../instance/BundleSet.sol";
|
@@ -26,27 +26,14 @@ 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()
|
30
|
-
|
31
|
-
|
32
|
-
function _setupRoles()
|
33
|
-
internal
|
34
|
-
override
|
35
|
-
{
|
36
|
-
// empty implementation
|
37
|
-
}
|
38
|
-
|
29
|
+
constructor()
|
30
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE())
|
31
|
+
{ }
|
39
32
|
|
40
33
|
function _setupTargets()
|
41
34
|
internal
|
42
35
|
override
|
43
36
|
{
|
44
|
-
// instance target
|
45
|
-
_addTargetWithRole(
|
46
|
-
INSTANCE_TARGET_NAME,
|
47
|
-
_toTargetRoleId(INSTANCE()),
|
48
|
-
INSTANCE_ROLE_NAME);
|
49
|
-
|
50
37
|
// instance supporting targets
|
51
38
|
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
52
39
|
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
@@ -55,6 +42,7 @@ contract InstanceAuthorizationV3
|
|
55
42
|
|
56
43
|
// service targets relevant to instance
|
57
44
|
_addServiceTargetWithRole(INSTANCE());
|
45
|
+
_addServiceTargetWithRole(ACCOUNTING());
|
58
46
|
_addServiceTargetWithRole(COMPONENT());
|
59
47
|
_addServiceTargetWithRole(DISTRIBUTION());
|
60
48
|
_addServiceTargetWithRole(ORACLE());
|
@@ -131,11 +119,12 @@ contract InstanceAuthorizationV3
|
|
131
119
|
IAccess.FunctionInfo[] storage functions;
|
132
120
|
|
133
121
|
// authorize instance role
|
134
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
122
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getComponentRole(INSTANCE()));
|
135
123
|
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
136
124
|
|
137
125
|
// authorize component service role
|
138
126
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
127
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
139
128
|
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
140
129
|
}
|
141
130
|
|
@@ -145,6 +134,13 @@ contract InstanceAuthorizationV3
|
|
145
134
|
{
|
146
135
|
IAccess.FunctionInfo[] storage functions;
|
147
136
|
|
137
|
+
// authorize accounting service role
|
138
|
+
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ACCOUNTING()));
|
139
|
+
_authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
|
140
|
+
_authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
|
141
|
+
_authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
|
142
|
+
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
143
|
+
|
148
144
|
// authorize component service role
|
149
145
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
|
150
146
|
_authorize(functions, InstanceStore.createComponent.selector, "createComponent");
|
@@ -152,11 +148,9 @@ contract InstanceAuthorizationV3
|
|
152
148
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
153
149
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
154
150
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
155
|
-
_authorize(functions, InstanceStore.
|
156
|
-
_authorize(functions, InstanceStore.
|
157
|
-
|
158
|
-
_authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
|
159
|
-
|
151
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
152
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
153
|
+
|
160
154
|
// authorize distribution service role
|
161
155
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
162
156
|
_authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
|
@@ -213,6 +207,7 @@ contract InstanceAuthorizationV3
|
|
213
207
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
214
208
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
215
209
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
210
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
216
211
|
}
|
217
212
|
}
|
218
213
|
|