@etherisc/gif-next 0.0.2-ff1bf36-818 → 0.0.2-ff795d8-141
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 +82 -8
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -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 +658 -259
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1279 -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 +456 -24
- 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 +507 -206
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +177 -441
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +96 -325
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +473 -326
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +187 -125
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +287 -101
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +505 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +255 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +510 -162
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1010 -334
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1471 -466
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +272 -231
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +897 -638
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- 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 +129 -317
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- 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 +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +105 -269
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +145 -309
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +180 -369
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -134
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +135 -158
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +318 -306
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +133 -308
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +538 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +538 -557
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +177 -111
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +206 -163
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +124 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +267 -370
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +423 -242
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +258 -209
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +366 -288
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +152 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +242 -332
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -140
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +259 -362
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +169 -176
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +129 -95
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- 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/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +763 -382
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2140 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +487 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +430 -623
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +680 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- 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 +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +104 -268
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +197 -118
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +300 -337
- 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 +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +142 -103
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- 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 +35 -11
- 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 +28 -4
- 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 +94 -38
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- 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 +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- 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/StateId.sol/StateIdLib.json +15 -2
- 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 +73 -36
- 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 +81 -80
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +261 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +464 -266
- package/contracts/authorization/AccessAdminLib.sol +387 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -202
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +80 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +39 -89
- package/contracts/distribution/DistributionService.sol +235 -115
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +40 -26
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +96 -17
- package/contracts/instance/IInstanceService.sol +49 -31
- package/contracts/instance/Instance.sol +181 -69
- package/contracts/instance/InstanceAdmin.sol +279 -184
- package/contracts/instance/InstanceAuthorizationV3.sol +117 -58
- package/contracts/instance/InstanceReader.sol +365 -68
- package/contracts/instance/InstanceService.sol +271 -208
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +10 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +49 -28
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +33 -9
- package/contracts/pool/BundleService.sol +93 -134
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +73 -71
- package/contracts/pool/Pool.sol +139 -124
- package/contracts/pool/PoolLib.sol +353 -0
- package/contracts/pool/PoolService.sol +332 -286
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +54 -26
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +30 -12
- package/contracts/product/ClaimService.sol +372 -150
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +43 -8
- package/contracts/product/IPolicyService.sol +39 -28
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +365 -309
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +64 -59
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +142 -85
- package/contracts/product/RiskService.sol +91 -34
- package/contracts/product/RiskServiceManager.sol +4 -4
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +64 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +110 -296
- package/contracts/registry/RegistryAuthorization.sol +277 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +275 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -57
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +66 -124
- package/contracts/shared/ComponentService.sol +395 -375
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +357 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +42 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -50
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +25 -13
- package/contracts/staking/IStakingService.sol +19 -4
- package/contracts/staking/Staking.sol +101 -52
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +85 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +72 -36
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +8 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +79 -43
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- 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/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,21 +1,18 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
7
|
-
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
-
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
9
5
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
|
-
import {
|
11
|
-
import {IModuleAuthorization} from "../authorization/IModuleAuthorization.sol";
|
6
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
12
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
8
|
import {IInstance} from "./IInstance.sol";
|
14
|
-
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {
|
18
|
-
import {
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
12
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
13
|
+
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
14
|
+
import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
|
15
|
+
import {Str} from "../type/String.sol";
|
19
16
|
import {VersionPart} from "../type/Version.sol";
|
20
17
|
|
21
18
|
|
@@ -23,156 +20,211 @@ contract InstanceAdmin is
|
|
23
20
|
AccessAdmin
|
24
21
|
{
|
25
22
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
26
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
27
23
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
24
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
28
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
29
27
|
|
30
|
-
|
28
|
+
// onlyInstanceService
|
29
|
+
error ErrorInstanceAdminNotInstanceService(address caller);
|
31
30
|
|
32
|
-
error
|
33
|
-
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
34
|
-
error ErrorInstanceAdminReleaseMismatch();
|
35
|
-
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
31
|
+
// error ErrorInstanceAdminNotCustomRole(RoleId roleId);
|
36
32
|
|
37
|
-
|
33
|
+
// error ErrorInstanceAdminNotRegistered(address instance);
|
34
|
+
// error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
35
|
+
|
36
|
+
// error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
37
|
+
// error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
38
|
+
// error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
39
|
+
|
40
|
+
// error ErrorInstanceAdminReleaseMismatch();
|
41
|
+
// error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
42
|
+
|
43
|
+
// authorizeFunctions
|
44
|
+
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
45
|
+
|
46
|
+
IInstance internal _instance;
|
38
47
|
IRegistry internal _registry;
|
39
|
-
|
48
|
+
VersionPart internal _release;
|
40
49
|
|
41
|
-
|
50
|
+
uint64 internal _customRoleIdNext;
|
51
|
+
|
52
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
53
|
+
uint64 internal _components;
|
54
|
+
|
55
|
+
|
56
|
+
modifier onlyInstanceService() {
|
57
|
+
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
58
|
+
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
59
|
+
}
|
60
|
+
_;
|
61
|
+
}
|
42
62
|
|
43
63
|
/// @dev Only used for master instance admin.
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
AccessAdmin()
|
49
|
-
{
|
50
|
-
_instanceAuthorization = instanceAuthorization;
|
64
|
+
constructor(address accessManager) {
|
65
|
+
initialize(
|
66
|
+
accessManager,
|
67
|
+
"MasterInstanceAdmin");
|
51
68
|
}
|
52
69
|
|
53
|
-
|
54
|
-
///
|
55
|
-
///
|
56
|
-
/// Important:
|
57
|
-
function
|
58
|
-
|
59
|
-
|
70
|
+
|
71
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
72
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
73
|
+
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
74
|
+
function completeSetup(
|
75
|
+
address registry,
|
76
|
+
address authorization,
|
77
|
+
VersionPart release,
|
78
|
+
address instance
|
60
79
|
)
|
61
80
|
external
|
62
|
-
|
81
|
+
reinitializer(uint64(release.toInt()))
|
82
|
+
onlyDeployer()
|
63
83
|
{
|
64
|
-
//
|
65
|
-
|
84
|
+
// checks
|
85
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
66
86
|
|
67
|
-
|
68
|
-
|
87
|
+
AccessManagerCloneable(
|
88
|
+
authority()).completeSetup(
|
89
|
+
registry,
|
90
|
+
release);
|
69
91
|
|
70
|
-
|
71
|
-
_instanceAuthorization = IModuleAuthorization(instanceAuthorization);
|
72
|
-
}
|
92
|
+
_checkAuthorization(authorization, INSTANCE(), release, false, true);
|
73
93
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
{
|
78
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
79
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
80
|
-
}
|
94
|
+
// effects
|
95
|
+
_registry = IRegistry(registry);
|
96
|
+
_release = release;
|
81
97
|
|
82
|
-
|
83
|
-
|
84
|
-
|
98
|
+
_instance = IInstance(instance);
|
99
|
+
_authorization = IAuthorization(authorization);
|
100
|
+
_components = 0;
|
101
|
+
_customRoleIdNext = 0;
|
102
|
+
|
103
|
+
// link nft ownability to instance
|
104
|
+
_linkToNftOwnable(instance);
|
105
|
+
|
106
|
+
// setup instance targets
|
107
|
+
_createInstanceTargets(_authorization.getMainTargetName());
|
108
|
+
|
109
|
+
// setup non-contract roles
|
110
|
+
_setupServiceRoles(_authorization);
|
111
|
+
_createRoles(_authorization);
|
112
|
+
|
113
|
+
// authorize functions of instance contracts
|
114
|
+
_createTargetAuthorizations(_authorization);
|
85
115
|
}
|
86
116
|
|
87
|
-
/// @dev Completes the initialization of this instance admin using the provided instance.
|
88
|
-
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
89
|
-
function initializeInstanceAuthorization(address instanceAddress)
|
90
|
-
external
|
91
|
-
{
|
92
|
-
_checkTargetIsReadyForAuthorization(instanceAddress);
|
93
117
|
|
94
|
-
|
95
|
-
|
96
|
-
|
118
|
+
/// @dev grants the service roles to the service addresses based on the authorization specification.
|
119
|
+
/// Service addresses used for the granting are determined by the registry and the release of this instance.
|
120
|
+
function _setupServiceRoles(IAuthorization authorization)
|
121
|
+
internal
|
122
|
+
{
|
123
|
+
ObjectType[] memory serviceDomains = authorization.getServiceDomains();
|
124
|
+
|
125
|
+
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
126
|
+
ObjectType serviceDomain = serviceDomains[i];
|
127
|
+
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
128
|
+
string memory serviceRoleName = authorization.getRoleName(serviceRoleId);
|
129
|
+
|
130
|
+
// create service role if missing
|
131
|
+
if (!roleExists(serviceRoleId)) {
|
132
|
+
_createRole(
|
133
|
+
serviceRoleId,
|
134
|
+
AccessAdminLib.toRole(
|
135
|
+
ADMIN_ROLE(),
|
136
|
+
IAccess.RoleType.Contract,
|
137
|
+
1,
|
138
|
+
serviceRoleName));
|
139
|
+
}
|
97
140
|
|
98
|
-
|
99
|
-
|
100
|
-
|
141
|
+
// grant service role to service
|
142
|
+
address service = _registry.getServiceAddress(serviceDomain, _release);
|
143
|
+
_grantRoleToAccount(
|
144
|
+
serviceRoleId,
|
145
|
+
service);
|
101
146
|
}
|
147
|
+
}
|
102
148
|
|
103
|
-
// add instance authorization
|
104
|
-
_createRoles(_instanceAuthorization);
|
105
|
-
_createModuleTargetsWithRoles();
|
106
|
-
_createTargetAuthorizations(_instanceAuthorization);
|
107
149
|
|
108
|
-
|
109
|
-
|
150
|
+
function _createInstanceTargets(string memory instanceTargetName)
|
151
|
+
internal
|
152
|
+
{
|
153
|
+
_createManagedTarget(address(_instance), instanceTargetName, TargetType.Instance);
|
154
|
+
_createManagedTarget(address(this), INSTANCE_ADMIN_TARGET_NAME, TargetType.Instance);
|
155
|
+
_createManagedTarget(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, TargetType.Instance);
|
156
|
+
_createManagedTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, TargetType.Instance);
|
157
|
+
_createManagedTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, TargetType.Instance);
|
110
158
|
}
|
111
159
|
|
112
160
|
|
113
161
|
/// @dev Initializes the authorization for the specified component.
|
114
162
|
/// Important: The component MUST be registered.
|
115
163
|
function initializeComponentAuthorization(
|
116
|
-
|
117
|
-
|
164
|
+
address componentAddress,
|
165
|
+
ObjectType expectedType
|
118
166
|
)
|
119
167
|
external
|
168
|
+
restricted()
|
120
169
|
{
|
121
|
-
|
170
|
+
// checks
|
171
|
+
AccessAdminLib.checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
122
172
|
|
123
|
-
|
173
|
+
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
174
|
+
IAuthorization authorization = component.getAuthorization();
|
175
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false, false);
|
124
176
|
|
125
|
-
//
|
126
|
-
|
127
|
-
|
128
|
-
authorization.getTargetName(),
|
129
|
-
true, // checkAuthority
|
130
|
-
false); // custom
|
131
|
-
|
132
|
-
_createTarget(
|
133
|
-
address(component.getTokenHandler()),
|
134
|
-
string(abi.encodePacked(authorization.getTargetName(), "TH")),
|
135
|
-
true,
|
136
|
-
false);
|
137
|
-
|
138
|
-
// FIXME: make this a bit nicer and work with IAuthorization. Use a specific role, not public - access to TokenHandler must be restricted
|
139
|
-
FunctionInfo[] memory functions = new FunctionInfo[](3);
|
140
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
141
|
-
functions[1] = toFunction(TokenHandler.collectTokensToThreeRecipients.selector, "collectTokensToThreeRecipients");
|
142
|
-
functions[2] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
143
|
-
|
144
|
-
_authorizeTargetFunctions(
|
145
|
-
address(component.getTokenHandler()),
|
146
|
-
getPublicRole(),
|
147
|
-
functions);
|
148
|
-
|
149
|
-
_grantRoleToAccount(
|
150
|
-
authorization.getTargetRole(
|
151
|
-
authorization.getTarget()),
|
152
|
-
address(component));
|
153
|
-
|
177
|
+
// effects
|
178
|
+
_createRoles(authorization);
|
179
|
+
_createManagedTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component);
|
154
180
|
_createTargetAuthorizations(authorization);
|
181
|
+
|
182
|
+
// increase component count
|
183
|
+
_components++;
|
184
|
+
}
|
185
|
+
|
186
|
+
function getRelease()
|
187
|
+
public
|
188
|
+
view
|
189
|
+
override
|
190
|
+
returns (VersionPart release)
|
191
|
+
{
|
192
|
+
return _release;
|
155
193
|
}
|
156
194
|
|
157
195
|
|
158
|
-
|
159
|
-
|
196
|
+
/// @dev Creates a custom role.
|
197
|
+
function createRole(
|
198
|
+
string memory roleName,
|
199
|
+
RoleId adminRoleId,
|
200
|
+
uint32 maxMemberCount
|
201
|
+
)
|
202
|
+
external
|
203
|
+
restricted()
|
204
|
+
returns (RoleId roleId)
|
160
205
|
{
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
206
|
+
// create roleId
|
207
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
208
|
+
|
209
|
+
// create role
|
210
|
+
_createRole(
|
211
|
+
roleId,
|
212
|
+
AccessAdminLib.toRole(
|
213
|
+
adminRoleId,
|
214
|
+
IAccess.RoleType.Custom,
|
215
|
+
maxMemberCount,
|
216
|
+
roleName));
|
166
217
|
}
|
167
218
|
|
168
|
-
/// @dev Creates a custom role
|
169
|
-
// TODO implement
|
170
|
-
// function createRole()
|
171
|
-
// external
|
172
|
-
// restricted()
|
173
|
-
// {
|
174
219
|
|
175
|
-
|
220
|
+
/// @dev Activtes/pauses the specified role.
|
221
|
+
function setRoleActive(RoleId roleId, bool active)
|
222
|
+
external
|
223
|
+
restricted()
|
224
|
+
{
|
225
|
+
_setRoleActive(roleId, active);
|
226
|
+
}
|
227
|
+
|
176
228
|
|
177
229
|
/// @dev Grants the provided role to the specified account
|
178
230
|
function grantRole(
|
@@ -184,32 +236,132 @@ contract InstanceAdmin is
|
|
184
236
|
_grantRoleToAccount(roleId, account);
|
185
237
|
}
|
186
238
|
|
239
|
+
|
240
|
+
/// @dev Revokes the provided role from the specified account
|
241
|
+
function revokeRole(
|
242
|
+
RoleId roleId,
|
243
|
+
address account)
|
244
|
+
external
|
245
|
+
restricted()
|
246
|
+
{
|
247
|
+
_revokeRoleFromAccount(roleId, account);
|
248
|
+
}
|
249
|
+
|
250
|
+
|
251
|
+
/// @dev Create a new custom target.
|
252
|
+
/// The target needs to be an access managed contract.
|
253
|
+
function createTarget(
|
254
|
+
address target,
|
255
|
+
string memory name
|
256
|
+
)
|
257
|
+
external
|
258
|
+
restricted()
|
259
|
+
returns (RoleId contractRoleId)
|
260
|
+
{
|
261
|
+
return _createManagedTarget(
|
262
|
+
target,
|
263
|
+
name,
|
264
|
+
TargetType.Custom);
|
265
|
+
}
|
266
|
+
|
267
|
+
|
268
|
+
/// @dev Add function authorizations for the specified component or custom target.
|
269
|
+
function authorizeFunctions(
|
270
|
+
address target,
|
271
|
+
RoleId roleId,
|
272
|
+
IAccess.FunctionInfo[] memory functions
|
273
|
+
)
|
274
|
+
external
|
275
|
+
restricted()
|
276
|
+
onlyExistingTarget(target)
|
277
|
+
{
|
278
|
+
// check target type
|
279
|
+
IAccess.TargetType targetType = getTargetInfo(target).targetType;
|
280
|
+
if (targetType != TargetType.Component && targetType != TargetType.Custom) {
|
281
|
+
revert ErrorInstanceAdminNotComponentOrCustomTarget(target);
|
282
|
+
}
|
283
|
+
|
284
|
+
_authorizeTargetFunctions(target, roleId, functions, true);
|
285
|
+
}
|
286
|
+
|
287
|
+
|
288
|
+
/// @dev locks the instance and all its releated targets including component and custom targets.
|
289
|
+
function setInstanceLocked(bool locked)
|
290
|
+
external
|
291
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
292
|
+
onlyInstanceService()
|
293
|
+
{
|
294
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
295
|
+
accessManager.setLocked(locked);
|
296
|
+
}
|
297
|
+
|
298
|
+
|
299
|
+
function setTargetLocked(address target, bool locked)
|
300
|
+
external
|
301
|
+
// not restricted(): might need to operate on targets while instance is locked
|
302
|
+
onlyInstanceService()
|
303
|
+
{
|
304
|
+
_setTargetLocked(target, locked);
|
305
|
+
}
|
306
|
+
|
307
|
+
|
308
|
+
function setComponentLocked(address target, bool locked)
|
309
|
+
external
|
310
|
+
restricted()
|
311
|
+
{
|
312
|
+
_setTargetLocked(target, locked);
|
313
|
+
}
|
314
|
+
|
315
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
316
|
+
function components()
|
317
|
+
external
|
318
|
+
view
|
319
|
+
returns (uint64)
|
320
|
+
{
|
321
|
+
return _components;
|
322
|
+
}
|
323
|
+
|
187
324
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
188
325
|
function getInstanceAuthorization()
|
189
326
|
external
|
190
327
|
view
|
191
|
-
returns (
|
328
|
+
returns (IAuthorization instanceAuthorizaion)
|
192
329
|
{
|
193
|
-
return
|
330
|
+
return _authorization;
|
194
331
|
}
|
195
332
|
|
333
|
+
// ------------------- Internal functions ------------------- //
|
196
334
|
|
197
335
|
function _createRoles(IAuthorization authorization)
|
198
336
|
internal
|
199
337
|
{
|
200
338
|
RoleId[] memory roles = authorization.getRoles();
|
201
|
-
RoleId
|
202
|
-
|
339
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
340
|
+
authorization.getMainTarget());
|
203
341
|
|
204
342
|
for(uint256 i = 0; i < roles.length; i++) {
|
205
|
-
roleId = roles[i];
|
206
|
-
|
207
|
-
|
208
|
-
|
343
|
+
RoleId roleId = roles[i];
|
344
|
+
|
345
|
+
// skip main target role, create role if not exists
|
346
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
347
|
+
_createRole(
|
348
|
+
roleId,
|
349
|
+
authorization.getRoleInfo(roleId));
|
350
|
+
}
|
209
351
|
}
|
210
352
|
}
|
211
353
|
|
212
354
|
|
355
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
356
|
+
internal
|
357
|
+
pure
|
358
|
+
returns (RoleId)
|
359
|
+
{
|
360
|
+
return RoleIdLib.toRoleId(
|
361
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
362
|
+
}
|
363
|
+
|
364
|
+
|
213
365
|
function _createTargetAuthorizations(IAuthorization authorization)
|
214
366
|
internal
|
215
367
|
{
|
@@ -219,67 +371,10 @@ contract InstanceAdmin is
|
|
219
371
|
for(uint256 i = 0; i < targets.length; i++) {
|
220
372
|
target = targets[i];
|
221
373
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
222
|
-
RoleId authorizedRole;
|
223
374
|
|
224
375
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
225
|
-
|
226
|
-
|
227
|
-
_authorizeTargetFunctions(
|
228
|
-
getTargetForName(target),
|
229
|
-
authorizedRole,
|
230
|
-
authorization.getAuthorizedFunctions(
|
231
|
-
target,
|
232
|
-
authorizedRole));
|
376
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
233
377
|
}
|
234
378
|
}
|
235
379
|
}
|
236
|
-
|
237
|
-
function _checkAndCreateTargetWithRole(
|
238
|
-
address target,
|
239
|
-
string memory targetName
|
240
|
-
)
|
241
|
-
internal
|
242
|
-
{
|
243
|
-
// check that target name is defined in authorization specification
|
244
|
-
Str name = StrLib.toStr(targetName);
|
245
|
-
if (!_instanceAuthorization.targetExists(name)) {
|
246
|
-
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
247
|
-
}
|
248
|
-
|
249
|
-
// create named target
|
250
|
-
_createTarget(
|
251
|
-
target,
|
252
|
-
targetName,
|
253
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with registry admin)
|
254
|
-
false);
|
255
|
-
|
256
|
-
// assign target role if defined
|
257
|
-
RoleId targetRoleId = _instanceAuthorization.getTargetRole(name);
|
258
|
-
if (targetRoleId != RoleIdLib.zero()) {
|
259
|
-
_grantRoleToAccount(targetRoleId, target);
|
260
|
-
}
|
261
|
-
}
|
262
|
-
|
263
|
-
function _createModuleTargetsWithRoles()
|
264
|
-
internal
|
265
|
-
{
|
266
|
-
// create module targets
|
267
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
268
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
269
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
270
|
-
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
271
|
-
|
272
|
-
// create targets for services that need to access the module targets
|
273
|
-
ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
|
274
|
-
VersionPart release = _instanceAuthorization.getRelease();
|
275
|
-
ObjectType serviceDomain;
|
276
|
-
|
277
|
-
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
278
|
-
serviceDomain = serviceDomains[i];
|
279
|
-
|
280
|
-
_checkAndCreateTargetWithRole(
|
281
|
-
_registry.getServiceAddress(serviceDomain, release),
|
282
|
-
_instanceAuthorization.getServiceTarget(serviceDomain).toString());
|
283
|
-
}
|
284
|
-
}
|
285
380
|
}
|