@etherisc/gif-next 0.0.2-e016345-525 → 0.0.2-e04dbfc-031
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +137 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +37 -31
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +83 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +449 -248
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +83 -129
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -81
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +283 -181
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +74 -60
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +33 -68
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +155 -68
- 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 +92 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +248 -191
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +149 -131
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +207 -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 +113 -47
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +305 -150
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +207 -33
- 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 +139 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +100 -7
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +163 -53
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +672 -320
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +188 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +374 -197
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +113 -83
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -38
- 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 -38
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +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 +91 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +42 -36
- 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 +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +118 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +50 -64
- 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 -8
- 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 -21
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +265 -278
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +86 -56
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +139 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +45 -27
- 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 +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +260 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +72 -74
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +69 -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 +48 -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 +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +215 -187
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +68 -66
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +122 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +48 -42
- 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 +131 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +46 -28
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +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 +548 -429
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +22 -24
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -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 +324 -54
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +51 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +96 -138
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -50
- 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 +113 -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 +28 -45
- 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/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +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 +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 +112 -17
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +130 -6
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +191 -74
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +56 -32
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +185 -54
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +39 -29
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +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 +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +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/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- 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 +43 -26
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/accounting/IAccountingService.sol +3 -0
- package/contracts/authorization/AccessAdmin.sol +293 -205
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +12 -8
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +14 -55
- package/contracts/distribution/DistributionService.sol +62 -30
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +18 -15
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +4 -3
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +29 -4
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +49 -15
- package/contracts/instance/IInstanceService.sol +15 -1
- package/contracts/instance/Instance.sol +80 -23
- package/contracts/instance/InstanceAdmin.sol +269 -104
- package/contracts/instance/InstanceAuthorizationV3.sol +49 -36
- package/contracts/instance/InstanceReader.sol +106 -35
- package/contracts/instance/InstanceService.sol +144 -73
- 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/ObjectCounter.sol +1 -2
- 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 +20 -19
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +28 -58
- 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 +309 -0
- package/contracts/pool/PoolService.sol +334 -190
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +28 -9
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +23 -8
- package/contracts/product/ClaimService.sol +165 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +112 -184
- package/contracts/product/PolicyServiceLib.sol +119 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +28 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +55 -13
- package/contracts/product/RiskService.sol +76 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- 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 +143 -342
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +149 -117
- package/contracts/registry/ServiceAuthorizationV3.sol +159 -2
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +27 -19
- package/contracts/shared/ComponentService.sol +119 -116
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +60 -3
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IComponentService.sol +4 -10
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +2 -2
- package/contracts/shared/NftOwnable.sol +6 -5
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +45 -92
- package/contracts/staking/IStaking.sol +12 -10
- package/contracts/staking/IStakingService.sol +19 -1
- package/contracts/staking/Staking.sol +57 -26
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +71 -44
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/ObjectType.sol +47 -39
- 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/UFixed.sol +9 -119
- package/contracts/type/Version.sol +54 -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/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,155 +1,183 @@
|
|
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";
|
12
|
-
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
|
+
import {NftId} from "../type/NftId.sol";
|
13
|
+
import {ObjectType, INSTANCE, ORACLE} 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
|
20
21
|
AccessAdmin
|
21
22
|
{
|
22
23
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
23
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
24
24
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
25
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
-
string public constant
|
27
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
27
28
|
|
28
29
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
29
30
|
|
30
|
-
error
|
31
|
-
|
31
|
+
error ErrorInstanceAdminNotInstanceService(address caller);
|
32
|
+
|
33
|
+
error ErrorInstanceAdminNotRegistered(address instance);
|
34
|
+
error ErrorInstanceAdminNotInstance(address instance);
|
35
|
+
error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
36
|
+
|
37
|
+
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
38
|
+
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
39
|
+
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
40
|
+
|
32
41
|
error ErrorInstanceAdminReleaseMismatch();
|
33
42
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
43
|
|
35
44
|
IInstance internal _instance;
|
36
45
|
IRegistry internal _registry;
|
37
|
-
|
46
|
+
VersionPart internal _release;
|
47
|
+
uint64 internal _customIdNext;
|
38
48
|
|
39
|
-
|
49
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
50
|
+
uint64 internal _components;
|
51
|
+
|
52
|
+
modifier onlyInstanceService() {
|
53
|
+
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
54
|
+
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
55
|
+
}
|
56
|
+
_;
|
57
|
+
}
|
40
58
|
|
41
59
|
/// @dev Only used for master instance admin.
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
AccessAdmin()
|
47
|
-
{
|
48
|
-
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
60
|
+
constructor(address accessManager) {
|
61
|
+
initialize(
|
62
|
+
accessManager,
|
63
|
+
"MasterInstanceAdmin");
|
49
64
|
}
|
50
65
|
|
51
|
-
|
52
|
-
///
|
53
|
-
///
|
54
|
-
/// Important:
|
55
|
-
function
|
56
|
-
|
57
|
-
address
|
66
|
+
|
67
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
68
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
69
|
+
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
70
|
+
function completeSetup(
|
71
|
+
address registry,
|
72
|
+
address instance,
|
73
|
+
address authorization,
|
74
|
+
VersionPart release
|
58
75
|
)
|
59
76
|
external
|
60
|
-
|
77
|
+
reinitializer(uint64(release.toInt()))
|
78
|
+
onlyDeployer()
|
61
79
|
{
|
62
|
-
//
|
63
|
-
|
80
|
+
// checks
|
81
|
+
_checkRegistry(registry);
|
82
|
+
_checkIsRegistered(registry, instance, INSTANCE());
|
64
83
|
|
65
|
-
|
66
|
-
|
84
|
+
AccessManagerCloneable(
|
85
|
+
authority()).completeSetup(
|
86
|
+
registry,
|
87
|
+
release);
|
67
88
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
70
|
-
}
|
89
|
+
_checkAuthorization(authorization, INSTANCE(), release, true);
|
71
90
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
{
|
76
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
77
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
78
|
-
}
|
91
|
+
// effects
|
92
|
+
_registry = IRegistry(registry);
|
93
|
+
_release = release;
|
79
94
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
95
|
+
_instance = IInstance(instance);
|
96
|
+
_authorization = IAuthorization(authorization);
|
97
|
+
_components = 0;
|
98
|
+
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
84
99
|
|
85
|
-
|
86
|
-
|
87
|
-
function initializeInstanceAuthorization(address instanceAddress)
|
88
|
-
external
|
89
|
-
{
|
90
|
-
_checkTargetIsReadyForAuthorization(instanceAddress);
|
100
|
+
// link nft ownability to instance
|
101
|
+
_linkToNftOwnable(instance);
|
91
102
|
|
92
|
-
|
93
|
-
|
94
|
-
_registry = _instance.getRegistry();
|
95
|
-
|
96
|
-
// check matching releases
|
97
|
-
if (_instanceAuthorization.getRelease() != _instance.getRelease()) {
|
98
|
-
revert ErrorInstanceAdminReleaseMismatch();
|
99
|
-
}
|
103
|
+
// create instance role and target
|
104
|
+
_setupInstance(instance);
|
100
105
|
|
101
106
|
// add instance authorization
|
102
|
-
_createRoles(
|
103
|
-
|
104
|
-
|
107
|
+
_createRoles(_authorization);
|
108
|
+
// _createTargets(_authorization);
|
109
|
+
_setupInstanceHelperTargetsWithRoles();
|
110
|
+
_createTargetAuthorizations(_authorization);
|
111
|
+
}
|
112
|
+
|
113
|
+
|
114
|
+
function _createTargets(IAuthorization authorization)
|
115
|
+
internal
|
116
|
+
{
|
117
|
+
_createTargetWithRole(address(this), INSTANCE_ADMIN_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_ADMIN_TARGET_NAME)));
|
118
|
+
_createTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_STORE_TARGET_NAME)));
|
119
|
+
_createTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(BUNDLE_SET_TARGET_NAME)));
|
120
|
+
_createTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(RISK_SET_TARGET_NAME)));
|
105
121
|
}
|
106
122
|
|
107
123
|
|
108
124
|
/// @dev Initializes the authorization for the specified component.
|
109
125
|
/// Important: The component MUST be registered.
|
110
126
|
function initializeComponentAuthorization(
|
111
|
-
|
127
|
+
address componentAddress,
|
128
|
+
ObjectType expectedType
|
112
129
|
)
|
113
130
|
external
|
131
|
+
restricted()
|
114
132
|
{
|
115
|
-
|
133
|
+
// checks
|
134
|
+
_checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
116
135
|
|
117
|
-
|
136
|
+
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
118
137
|
IAuthorization authorization = component.getAuthorization();
|
138
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
139
|
+
|
140
|
+
// effects
|
141
|
+
// setup target and role for component (including token handler if applicable)
|
142
|
+
_setupComponentAndTokenHandler(component, expectedType);
|
119
143
|
|
120
|
-
// create roles
|
144
|
+
// create other roles and function authorizations
|
121
145
|
_createRoles(authorization);
|
146
|
+
_createTargetAuthorizations(authorization);
|
147
|
+
}
|
148
|
+
|
149
|
+
function getRelease()
|
150
|
+
public
|
151
|
+
view
|
152
|
+
override
|
153
|
+
returns (VersionPart release)
|
154
|
+
{
|
155
|
+
return _release;
|
156
|
+
}
|
157
|
+
|
158
|
+
|
159
|
+
// create instance role and target
|
160
|
+
function _setupInstance(address instance) internal {
|
161
|
+
|
162
|
+
// create instance role
|
163
|
+
RoleId instanceRoleId = _authorization.getTargetRole(
|
164
|
+
_authorization.getMainTarget());
|
122
165
|
|
123
|
-
|
166
|
+
_createRole(
|
167
|
+
instanceRoleId,
|
168
|
+
_authorization.getRoleInfo(instanceRoleId));
|
169
|
+
|
170
|
+
// create instance target
|
124
171
|
_createTarget(
|
125
|
-
|
126
|
-
|
172
|
+
instance,
|
173
|
+
_authorization.getMainTargetName(),
|
127
174
|
true, // checkAuthority
|
128
175
|
false); // custom
|
129
176
|
|
130
|
-
|
131
|
-
address(component.getTokenHandler()),
|
132
|
-
string(abi.encodePacked(authorization.getTargetName(), "TH")),
|
133
|
-
true,
|
134
|
-
false);
|
135
|
-
|
136
|
-
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
137
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
138
|
-
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
139
|
-
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
140
|
-
|
141
|
-
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
142
|
-
_authorizeTargetFunctions(
|
143
|
-
address(component.getTokenHandler()),
|
144
|
-
getPublicRole(),
|
145
|
-
functions);
|
146
|
-
|
177
|
+
// assign instance role to instance
|
147
178
|
_grantRoleToAccount(
|
148
|
-
|
149
|
-
|
150
|
-
address(component));
|
151
|
-
|
152
|
-
_createTargetAuthorizations(authorization);
|
179
|
+
instanceRoleId,
|
180
|
+
instance);
|
153
181
|
}
|
154
182
|
|
155
183
|
/// @dev Creates a custom role
|
@@ -171,14 +199,41 @@ contract InstanceAdmin is
|
|
171
199
|
_grantRoleToAccount(roleId, account);
|
172
200
|
}
|
173
201
|
|
202
|
+
|
203
|
+
function setInstanceLocked(bool locked)
|
204
|
+
external
|
205
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
206
|
+
onlyInstanceService()
|
207
|
+
{
|
208
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
209
|
+
accessManager.setLocked(locked);
|
210
|
+
}
|
211
|
+
|
212
|
+
|
174
213
|
function setTargetLocked(address target, bool locked)
|
175
214
|
external
|
176
|
-
restricted()
|
215
|
+
// not restricted(): might need to operate on targets while instance is locked
|
216
|
+
onlyInstanceService()
|
177
217
|
{
|
178
|
-
|
218
|
+
_setTargetLocked(target, locked);
|
179
219
|
}
|
180
220
|
|
181
221
|
|
222
|
+
function setComponentLocked(address target, bool locked)
|
223
|
+
external
|
224
|
+
restricted()
|
225
|
+
{
|
226
|
+
_setTargetLocked(target, locked);
|
227
|
+
}
|
228
|
+
|
229
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
230
|
+
function components()
|
231
|
+
external
|
232
|
+
view
|
233
|
+
returns (uint64)
|
234
|
+
{
|
235
|
+
return _components;
|
236
|
+
}
|
182
237
|
|
183
238
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
184
239
|
function getInstanceAuthorization()
|
@@ -186,7 +241,102 @@ contract InstanceAdmin is
|
|
186
241
|
view
|
187
242
|
returns (IAuthorization instanceAuthorizaion)
|
188
243
|
{
|
189
|
-
return
|
244
|
+
return _authorization;
|
245
|
+
}
|
246
|
+
|
247
|
+
// ------------------- Internal functions ------------------- //
|
248
|
+
|
249
|
+
function _setupComponentAndTokenHandler(
|
250
|
+
IInstanceLinkedComponent component,
|
251
|
+
ObjectType componentType
|
252
|
+
)
|
253
|
+
internal
|
254
|
+
{
|
255
|
+
|
256
|
+
IAuthorization authorization = component.getAuthorization();
|
257
|
+
string memory targetName = authorization.getMainTargetName();
|
258
|
+
|
259
|
+
// create component role and target
|
260
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
261
|
+
|
262
|
+
// create component's target
|
263
|
+
_createTarget(
|
264
|
+
address(component),
|
265
|
+
targetName,
|
266
|
+
true, // checkAuthority
|
267
|
+
false); // custom
|
268
|
+
|
269
|
+
// create component's token handler target if app
|
270
|
+
if (componentType != ORACLE()) {
|
271
|
+
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
272
|
+
address tokenHandler = address(
|
273
|
+
_instance.getInstanceReader().getComponentInfo(
|
274
|
+
componentNftId).tokenHandler);
|
275
|
+
|
276
|
+
_createTarget(
|
277
|
+
tokenHandler,
|
278
|
+
authorization.getTokenHandlerName(),
|
279
|
+
true,
|
280
|
+
false);
|
281
|
+
|
282
|
+
// token handler does not require its own role
|
283
|
+
// token handler is not calling other components
|
284
|
+
}
|
285
|
+
|
286
|
+
// assign component role to component
|
287
|
+
_grantRoleToAccount(
|
288
|
+
componentRoleId,
|
289
|
+
address(component));
|
290
|
+
}
|
291
|
+
|
292
|
+
|
293
|
+
function _createComponentRoleId(
|
294
|
+
IInstanceLinkedComponent component,
|
295
|
+
IAuthorization authorization
|
296
|
+
)
|
297
|
+
internal
|
298
|
+
returns (RoleId componentRoleId)
|
299
|
+
{
|
300
|
+
// checks
|
301
|
+
// check component is not yet authorized
|
302
|
+
if (_targetRoleId[address(component)].gtz()) {
|
303
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
304
|
+
}
|
305
|
+
|
306
|
+
// check generic component role
|
307
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
308
|
+
authorization.getMainTarget());
|
309
|
+
|
310
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
311
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
312
|
+
}
|
313
|
+
|
314
|
+
// check component role does not exist
|
315
|
+
componentRoleId = toComponentRole(
|
316
|
+
genericComponentRoleId,
|
317
|
+
_components);
|
318
|
+
|
319
|
+
if (roleExists(componentRoleId)) {
|
320
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
321
|
+
}
|
322
|
+
|
323
|
+
// check role info
|
324
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
325
|
+
genericComponentRoleId);
|
326
|
+
|
327
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
328
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
329
|
+
componentRoleId,
|
330
|
+
roleInfo.roleType);
|
331
|
+
}
|
332
|
+
|
333
|
+
// effects
|
334
|
+
_targetRoleId[address(component)] = componentRoleId;
|
335
|
+
_components++;
|
336
|
+
|
337
|
+
_createRole(
|
338
|
+
componentRoleId,
|
339
|
+
roleInfo);
|
190
340
|
}
|
191
341
|
|
192
342
|
|
@@ -194,13 +344,18 @@ contract InstanceAdmin is
|
|
194
344
|
internal
|
195
345
|
{
|
196
346
|
RoleId[] memory roles = authorization.getRoles();
|
347
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
348
|
+
authorization.getMainTarget());
|
349
|
+
|
197
350
|
RoleId roleId;
|
198
351
|
RoleInfo memory roleInfo;
|
199
352
|
|
200
353
|
for(uint256 i = 0; i < roles.length; i++) {
|
354
|
+
|
201
355
|
roleId = roles[i];
|
202
356
|
|
203
|
-
if
|
357
|
+
// skip main target role, create role if not exists
|
358
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
204
359
|
_createRole(
|
205
360
|
roleId,
|
206
361
|
authorization.getRoleInfo(roleId));
|
@@ -209,6 +364,16 @@ contract InstanceAdmin is
|
|
209
364
|
}
|
210
365
|
|
211
366
|
|
367
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
368
|
+
internal
|
369
|
+
pure
|
370
|
+
returns (RoleId)
|
371
|
+
{
|
372
|
+
return RoleIdLib.toRoleId(
|
373
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
374
|
+
}
|
375
|
+
|
376
|
+
|
212
377
|
function _createTargetAuthorizations(IAuthorization authorization)
|
213
378
|
internal
|
214
379
|
{
|
@@ -241,7 +406,7 @@ contract InstanceAdmin is
|
|
241
406
|
{
|
242
407
|
// check that target name is defined in authorization specification
|
243
408
|
Str name = StrLib.toStr(targetName);
|
244
|
-
if (!
|
409
|
+
if (!_authorization.targetExists(name)) {
|
245
410
|
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
246
411
|
}
|
247
412
|
|
@@ -253,25 +418,25 @@ contract InstanceAdmin is
|
|
253
418
|
false);
|
254
419
|
|
255
420
|
// assign target role if defined
|
256
|
-
RoleId targetRoleId =
|
421
|
+
RoleId targetRoleId = _authorization.getTargetRole(name);
|
257
422
|
if (targetRoleId != RoleIdLib.zero()) {
|
258
423
|
_grantRoleToAccount(targetRoleId, target);
|
259
424
|
}
|
260
425
|
}
|
261
426
|
|
262
|
-
function
|
427
|
+
function _setupInstanceHelperTargetsWithRoles()
|
263
428
|
internal
|
264
429
|
{
|
430
|
+
|
265
431
|
// create module targets
|
266
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
267
432
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
268
433
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
269
434
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
270
|
-
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()),
|
435
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
271
436
|
|
272
|
-
// create targets for services that need to access the
|
273
|
-
ObjectType[] memory serviceDomains =
|
274
|
-
VersionPart release =
|
437
|
+
// create targets for services that need to access the instance targets
|
438
|
+
ObjectType[] memory serviceDomains = _authorization.getServiceDomains();
|
439
|
+
VersionPart release = _authorization.getRelease();
|
275
440
|
ObjectType serviceDomain;
|
276
441
|
|
277
442
|
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
@@ -279,7 +444,7 @@ contract InstanceAdmin is
|
|
279
444
|
|
280
445
|
_checkAndCreateTargetWithRole(
|
281
446
|
_registry.getServiceAddress(serviceDomain, release),
|
282
|
-
|
447
|
+
_authorization.getServiceTarget(serviceDomain).toString());
|
283
448
|
}
|
284
449
|
}
|
285
450
|
}
|
@@ -1,17 +1,16 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK
|
6
|
-
} from "../../contracts/type/ObjectType.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
7
5
|
|
6
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
7
|
+
import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
|
8
8
|
import {BundleSet} from "../instance/BundleSet.sol";
|
9
|
-
import {RiskSet} from "../instance/RiskSet.sol";
|
10
|
-
import {IAccess} from "../authorization/IAccess.sol";
|
11
9
|
import {Instance} from "../instance/Instance.sol";
|
12
10
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
13
11
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
14
|
-
import {
|
12
|
+
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
15
14
|
|
16
15
|
|
17
16
|
contract InstanceAuthorizationV3
|
@@ -26,33 +25,11 @@ contract InstanceAuthorizationV3
|
|
26
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
26
|
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
27
|
|
29
|
-
constructor()
|
30
|
-
|
31
|
-
|
32
|
-
function _setupRoles()
|
33
|
-
internal
|
34
|
-
override
|
35
|
-
{
|
36
|
-
// empty implementation
|
37
|
-
}
|
38
|
-
|
39
|
-
|
40
|
-
function _setupTargets()
|
41
|
-
internal
|
42
|
-
override
|
43
|
-
{
|
44
|
-
// instance target
|
45
|
-
_addTargetWithRole(
|
46
|
-
INSTANCE_TARGET_NAME,
|
47
|
-
_toTargetRoleId(INSTANCE()),
|
48
|
-
INSTANCE_ROLE_NAME);
|
49
|
-
|
50
|
-
// instance supporting targets
|
51
|
-
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
52
|
-
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
|
-
_addTarget(BUNDLE_SET_TARGET_NAME);
|
54
|
-
_addTarget(RISK_SET_TARGET_NAME);
|
28
|
+
constructor()
|
29
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE(), false, false)
|
30
|
+
{ }
|
55
31
|
|
32
|
+
function _setupServiceTargets() internal virtual override {
|
56
33
|
// service targets relevant to instance
|
57
34
|
_addServiceTargetWithRole(INSTANCE());
|
58
35
|
_addServiceTargetWithRole(ACCOUNTING());
|
@@ -67,6 +44,19 @@ contract InstanceAuthorizationV3
|
|
67
44
|
_addServiceTargetWithRole(CLAIM());
|
68
45
|
}
|
69
46
|
|
47
|
+
function _setupTargets()
|
48
|
+
internal
|
49
|
+
override
|
50
|
+
{
|
51
|
+
// instance supporting targets
|
52
|
+
// _addGifContractTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
|
+
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
54
|
+
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
55
|
+
_addTarget(BUNDLE_SET_TARGET_NAME);
|
56
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
57
|
+
|
58
|
+
}
|
59
|
+
|
70
60
|
|
71
61
|
function _setupTargetAuthorizations()
|
72
62
|
internal
|
@@ -120,6 +110,24 @@ contract InstanceAuthorizationV3
|
|
120
110
|
{
|
121
111
|
IAccess.FunctionInfo[] storage functions;
|
122
112
|
|
113
|
+
// authorize instance service role
|
114
|
+
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
|
115
|
+
_authorize(functions, Instance.registerProduct.selector, "registerProduct");
|
116
|
+
_authorize(functions, Instance.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
117
|
+
|
118
|
+
// staking
|
119
|
+
_authorize(functions, Instance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
120
|
+
_authorize(functions, Instance.setStakingRewardRate.selector, "setStakingRewardRate");
|
121
|
+
_authorize(functions, Instance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
122
|
+
_authorize(functions, Instance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
123
|
+
|
124
|
+
// custom authz
|
125
|
+
_authorize(functions, Instance.createRole.selector, "createRole");
|
126
|
+
_authorize(functions, Instance.grantRole.selector, "grantRole");
|
127
|
+
_authorize(functions, Instance.revokeRole.selector, "revokeRole");
|
128
|
+
_authorize(functions, Instance.createTarget.selector, "createTarget");
|
129
|
+
_authorize(functions, Instance.setTargetFunctionRole.selector, "setTargetFunctionRole");
|
130
|
+
|
123
131
|
// authorize instance service role
|
124
132
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
125
133
|
_authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
|
@@ -131,13 +139,15 @@ contract InstanceAuthorizationV3
|
|
131
139
|
{
|
132
140
|
IAccess.FunctionInfo[] storage functions;
|
133
141
|
|
134
|
-
// authorize
|
135
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
136
|
-
_authorize(functions, InstanceAdmin.
|
142
|
+
// authorize component service role
|
143
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
|
144
|
+
_authorize(functions, InstanceAdmin.setInstanceLocked.selector, "setInstanceLocked");
|
145
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
137
146
|
|
138
147
|
// authorize component service role
|
139
148
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
140
|
-
_authorize(functions, InstanceAdmin.
|
149
|
+
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
150
|
+
_authorize(functions, InstanceAdmin.setComponentLocked.selector, "setComponentLocked");
|
141
151
|
}
|
142
152
|
|
143
153
|
|
@@ -160,6 +170,8 @@ contract InstanceAuthorizationV3
|
|
160
170
|
_authorize(functions, InstanceStore.createPool.selector, "createPool");
|
161
171
|
_authorize(functions, InstanceStore.createProduct.selector, "createProduct");
|
162
172
|
_authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
|
173
|
+
_authorize(functions, InstanceStore.createFee.selector, "createFee");
|
174
|
+
_authorize(functions, InstanceStore.updateFee.selector, "updateFee");
|
163
175
|
|
164
176
|
// authorize distribution service role
|
165
177
|
functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
|
@@ -217,6 +229,7 @@ contract InstanceAuthorizationV3
|
|
217
229
|
_authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
|
218
230
|
_authorize(functions, InstanceStore.createPayout.selector, "createPayout");
|
219
231
|
_authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
|
232
|
+
_authorize(functions, InstanceStore.updatePayoutState.selector, "updatePayoutState");
|
220
233
|
}
|
221
234
|
}
|
222
235
|
|