@etherisc/gif-next 0.0.2-b098734-179 → 0.0.2-b09ef6b-888
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 +32 -8
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +551 -245
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +681 -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 +273 -16
- 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 +435 -194
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +139 -15
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +147 -438
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +261 -27
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +88 -328
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +384 -306
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +141 -115
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +83 -171
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +254 -97
- 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 +1445 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -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 +1388 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +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 +1612 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +275 -46
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +199 -71
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +283 -151
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +990 -419
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +218 -78
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1322 -388
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +216 -245
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +96 -96
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +704 -445
- 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 +123 -322
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +243 -29
- 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 +98 -121
- 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 +99 -274
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +117 -292
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +261 -27
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -363
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +106 -124
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +84 -111
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +119 -153
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +317 -269
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +117 -303
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +490 -505
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +151 -101
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +191 -164
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +106 -88
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +234 -348
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +261 -27
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +407 -242
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
- 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 +231 -193
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +335 -278
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +129 -103
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -313
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +232 -346
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
- 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 +334 -34
- 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 +540 -95
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +680 -339
- 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 +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2023 -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 +435 -245
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- 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 +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +484 -680
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +131 -155
- 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 +597 -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 +445 -282
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -121
- 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 +98 -273
- 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 +408 -54
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +188 -109
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +268 -393
- 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 +121 -126
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +185 -130
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +65 -24
- 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 +33 -9
- 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 +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +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 +79 -15
- 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 +16 -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 +71 -70
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +382 -250
- package/contracts/authorization/AccessAdminLib.sol +207 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +350 -203
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +76 -37
- package/contracts/authorization/IAuthorization.sol +33 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +37 -88
- package/contracts/distribution/DistributionService.sol +152 -89
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +30 -22
- 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 +81 -44
- package/contracts/instance/IInstanceService.sol +34 -29
- package/contracts/instance/Instance.sol +164 -94
- package/contracts/instance/InstanceAdmin.sol +325 -109
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -55
- package/contracts/instance/InstanceReader.sol +319 -43
- package/contracts/instance/InstanceService.sol +234 -190
- 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/IComponents.sol +13 -9
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +25 -24
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +113 -81
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +27 -9
- package/contracts/pool/BundleService.sol +93 -134
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -33
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +86 -68
- package/contracts/pool/Pool.sol +139 -124
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +500 -263
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +50 -26
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +365 -149
- 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/{IProductService.sol → IRiskService.sol} +8 -9
- package/contracts/product/PolicyService.sol +369 -291
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +66 -61
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +145 -91
- package/contracts/product/RiskService.sol +154 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +60 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +163 -269
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +254 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +272 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +187 -52
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +66 -124
- package/contracts/shared/ComponentService.sol +439 -370
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +281 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +42 -38
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
- 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 +73 -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 +15 -32
- package/contracts/shared/TokenHandler.sol +282 -71
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +19 -11
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +103 -53
- 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 +82 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- 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 +57 -34
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +25 -14
- 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 +13 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +68 -34
- package/contracts/upgradeability/Versionable.sol +2 -2
- 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/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- 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/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,110 +1,123 @@
|
|
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 {
|
6
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
11
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
8
|
import {IInstance} from "./IInstance.sol";
|
13
|
-
|
14
|
-
import {
|
15
|
-
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 {NftId} from "../type/NftId.sol";
|
14
|
+
import {ObjectType, INSTANCE, ORACLE} from "../type/ObjectType.sol";
|
15
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
16
16
|
import {Str, StrLib} from "../type/String.sol";
|
17
|
-
import {
|
17
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
18
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
19
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
20
|
|
19
21
|
|
20
22
|
contract InstanceAdmin is
|
21
23
|
AccessAdmin
|
22
24
|
{
|
23
25
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
24
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
26
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
27
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
26
28
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
29
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
27
30
|
|
28
|
-
|
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);
|
29
40
|
|
30
|
-
error ErrorInstanceAdminNotRegistered(address target);
|
31
|
-
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
32
41
|
error ErrorInstanceAdminReleaseMismatch();
|
33
42
|
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
34
43
|
|
35
|
-
IInstance _instance;
|
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 = instanceAuthorization;
|
60
|
+
constructor(address accessManager) {
|
61
|
+
initialize(
|
62
|
+
accessManager,
|
63
|
+
"MasterInstanceAdmin");
|
49
64
|
}
|
50
65
|
|
51
|
-
|
52
|
-
///
|
53
|
-
///
|
54
|
-
/// Important:
|
55
|
-
function
|
56
|
-
|
57
|
-
|
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
|
-
|
64
|
-
|
65
|
-
// create basic instance independent setup
|
66
|
-
_createAdminAndPublicRoles();
|
80
|
+
// checks
|
81
|
+
_checkRegistry(registry);
|
82
|
+
_checkIsRegistered(registry, instance, INSTANCE());
|
67
83
|
|
68
|
-
|
69
|
-
|
70
|
-
|
84
|
+
AccessManagerCloneable(
|
85
|
+
authority()).completeSetup(
|
86
|
+
registry,
|
87
|
+
release);
|
71
88
|
|
72
|
-
|
73
|
-
internal
|
74
|
-
view
|
75
|
-
{
|
76
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
77
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
78
|
-
}
|
89
|
+
_checkAuthorization(authorization, INSTANCE(), release, true);
|
79
90
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
}
|
91
|
+
// effects
|
92
|
+
_registry = IRegistry(registry);
|
93
|
+
_release = release;
|
84
94
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
{
|
90
|
-
_checkTargetIsReadyForAuthorization(instanceAddress);
|
95
|
+
_instance = IInstance(instance);
|
96
|
+
_authorization = IAuthorization(authorization);
|
97
|
+
_components = 0;
|
98
|
+
_customIdNext = 0;
|
91
99
|
|
92
|
-
|
93
|
-
|
94
|
-
_registry = _instance.getRegistry();
|
100
|
+
// link nft ownability to instance
|
101
|
+
_linkToNftOwnable(instance);
|
95
102
|
|
96
|
-
//
|
97
|
-
|
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
|
+
}
|
105
112
|
|
106
|
-
|
107
|
-
|
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)));
|
108
121
|
}
|
109
122
|
|
110
123
|
|
@@ -112,48 +125,90 @@ contract InstanceAdmin is
|
|
112
125
|
/// Important: The component MUST be registered.
|
113
126
|
function initializeComponentAuthorization(
|
114
127
|
address componentAddress,
|
115
|
-
|
128
|
+
ObjectType expectedType
|
116
129
|
)
|
117
130
|
external
|
131
|
+
restricted()
|
118
132
|
{
|
119
|
-
|
133
|
+
// checks
|
134
|
+
_checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
135
|
+
|
136
|
+
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
137
|
+
IAuthorization authorization = component.getAuthorization();
|
138
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
120
139
|
|
140
|
+
// effects
|
141
|
+
// setup target and role for component (including token handler if applicable)
|
142
|
+
_setupComponentAndTokenHandler(component, expectedType);
|
143
|
+
|
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
|
+
|
122
158
|
|
123
|
-
|
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());
|
165
|
+
|
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
|
|
177
|
+
// assign instance role to instance
|
130
178
|
_grantRoleToAccount(
|
131
|
-
|
132
|
-
|
133
|
-
componentAddress);
|
134
|
-
|
135
|
-
_createTargetAuthorizations(authorization);
|
179
|
+
instanceRoleId,
|
180
|
+
instance);
|
136
181
|
}
|
137
182
|
|
138
|
-
|
139
|
-
function
|
140
|
-
|
183
|
+
/// @dev Creates a custom role.
|
184
|
+
function createRole(
|
185
|
+
string memory roleName,
|
186
|
+
RoleId adminRoleId,
|
187
|
+
uint32 maxMemberCount
|
188
|
+
)
|
189
|
+
external
|
190
|
+
restricted()
|
191
|
+
returns (RoleId roleId)
|
141
192
|
{
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
193
|
+
roleId = RoleIdLib.toCustomRoleId(_customIdNext++);
|
194
|
+
_createRole(
|
195
|
+
roleId,
|
196
|
+
AccessAdminLib.toRole(
|
197
|
+
adminRoleId,
|
198
|
+
IAccess.RoleType.Custom,
|
199
|
+
maxMemberCount,
|
200
|
+
roleName));
|
147
201
|
}
|
148
202
|
|
149
|
-
/// @dev Creates a custom role
|
150
|
-
// TODO implement
|
151
|
-
// function createRole()
|
152
|
-
// external
|
153
|
-
// restricted()
|
154
|
-
// {
|
155
203
|
|
156
|
-
|
204
|
+
/// @dev Activtes/pauses the specified role.
|
205
|
+
function setRoleActive(RoleId roleId, bool active)
|
206
|
+
external
|
207
|
+
restricted()
|
208
|
+
{
|
209
|
+
_setRoleActive(roleId, active);
|
210
|
+
}
|
211
|
+
|
157
212
|
|
158
213
|
/// @dev Grants the provided role to the specified account
|
159
214
|
function grantRole(
|
@@ -165,13 +220,154 @@ contract InstanceAdmin is
|
|
165
220
|
_grantRoleToAccount(roleId, account);
|
166
221
|
}
|
167
222
|
|
223
|
+
/// @dev Revokes the provided role from the specified account
|
224
|
+
function revokeRole(
|
225
|
+
RoleId roleId,
|
226
|
+
address account)
|
227
|
+
external
|
228
|
+
restricted()
|
229
|
+
{
|
230
|
+
_revokeRoleFromAccount(roleId, account);
|
231
|
+
}
|
232
|
+
|
233
|
+
|
234
|
+
function setInstanceLocked(bool locked)
|
235
|
+
external
|
236
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
237
|
+
onlyInstanceService()
|
238
|
+
{
|
239
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
240
|
+
accessManager.setLocked(locked);
|
241
|
+
}
|
242
|
+
|
243
|
+
|
244
|
+
function setTargetLocked(address target, bool locked)
|
245
|
+
external
|
246
|
+
// not restricted(): might need to operate on targets while instance is locked
|
247
|
+
onlyInstanceService()
|
248
|
+
{
|
249
|
+
_setTargetLocked(target, locked);
|
250
|
+
}
|
251
|
+
|
252
|
+
|
253
|
+
function setComponentLocked(address target, bool locked)
|
254
|
+
external
|
255
|
+
restricted()
|
256
|
+
{
|
257
|
+
_setTargetLocked(target, locked);
|
258
|
+
}
|
259
|
+
|
260
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
261
|
+
function components()
|
262
|
+
external
|
263
|
+
view
|
264
|
+
returns (uint64)
|
265
|
+
{
|
266
|
+
return _components;
|
267
|
+
}
|
268
|
+
|
168
269
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
169
270
|
function getInstanceAuthorization()
|
170
271
|
external
|
171
272
|
view
|
172
|
-
returns (
|
273
|
+
returns (IAuthorization instanceAuthorizaion)
|
173
274
|
{
|
174
|
-
return
|
275
|
+
return _authorization;
|
276
|
+
}
|
277
|
+
|
278
|
+
// ------------------- Internal functions ------------------- //
|
279
|
+
|
280
|
+
function _setupComponentAndTokenHandler(
|
281
|
+
IInstanceLinkedComponent component,
|
282
|
+
ObjectType componentType
|
283
|
+
)
|
284
|
+
internal
|
285
|
+
{
|
286
|
+
|
287
|
+
IAuthorization authorization = component.getAuthorization();
|
288
|
+
string memory targetName = authorization.getMainTargetName();
|
289
|
+
|
290
|
+
// create component role and target
|
291
|
+
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
292
|
+
|
293
|
+
// create component's target
|
294
|
+
_createTarget(
|
295
|
+
address(component),
|
296
|
+
targetName,
|
297
|
+
true, // checkAuthority
|
298
|
+
false); // custom
|
299
|
+
|
300
|
+
// create component's token handler target if app
|
301
|
+
if (componentType != ORACLE()) {
|
302
|
+
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
303
|
+
address tokenHandler = address(
|
304
|
+
_instance.getInstanceReader().getComponentInfo(
|
305
|
+
componentNftId).tokenHandler);
|
306
|
+
|
307
|
+
_createTarget(
|
308
|
+
tokenHandler,
|
309
|
+
authorization.getTokenHandlerName(),
|
310
|
+
true,
|
311
|
+
false);
|
312
|
+
|
313
|
+
// token handler does not require its own role
|
314
|
+
// token handler is not calling other components
|
315
|
+
}
|
316
|
+
|
317
|
+
// assign component role to component
|
318
|
+
_grantRoleToAccount(
|
319
|
+
componentRoleId,
|
320
|
+
address(component));
|
321
|
+
}
|
322
|
+
|
323
|
+
|
324
|
+
function _createComponentRoleId(
|
325
|
+
IInstanceLinkedComponent component,
|
326
|
+
IAuthorization authorization
|
327
|
+
)
|
328
|
+
internal
|
329
|
+
returns (RoleId componentRoleId)
|
330
|
+
{
|
331
|
+
// checks
|
332
|
+
// check component is not yet authorized
|
333
|
+
if (_targetRoleId[address(component)].gtz()) {
|
334
|
+
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
335
|
+
}
|
336
|
+
|
337
|
+
// check generic component role
|
338
|
+
RoleId genericComponentRoleId = authorization.getTargetRole(
|
339
|
+
authorization.getMainTarget());
|
340
|
+
|
341
|
+
if (!genericComponentRoleId.isComponentRole()) {
|
342
|
+
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
343
|
+
}
|
344
|
+
|
345
|
+
// check component role does not exist
|
346
|
+
componentRoleId = toComponentRole(
|
347
|
+
genericComponentRoleId,
|
348
|
+
_components);
|
349
|
+
|
350
|
+
if (roleExists(componentRoleId)) {
|
351
|
+
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
352
|
+
}
|
353
|
+
|
354
|
+
// check role info
|
355
|
+
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
356
|
+
genericComponentRoleId);
|
357
|
+
|
358
|
+
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
359
|
+
revert ErrorInstanceAdminRoleTypeNotContract(
|
360
|
+
componentRoleId,
|
361
|
+
roleInfo.roleType);
|
362
|
+
}
|
363
|
+
|
364
|
+
// effects
|
365
|
+
_targetRoleId[address(component)] = componentRoleId;
|
366
|
+
_components++;
|
367
|
+
|
368
|
+
_createRole(
|
369
|
+
componentRoleId,
|
370
|
+
roleInfo);
|
175
371
|
}
|
176
372
|
|
177
373
|
|
@@ -179,18 +375,36 @@ contract InstanceAdmin is
|
|
179
375
|
internal
|
180
376
|
{
|
181
377
|
RoleId[] memory roles = authorization.getRoles();
|
378
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
379
|
+
authorization.getMainTarget());
|
380
|
+
|
182
381
|
RoleId roleId;
|
183
382
|
RoleInfo memory roleInfo;
|
184
383
|
|
185
384
|
for(uint256 i = 0; i < roles.length; i++) {
|
385
|
+
|
186
386
|
roleId = roles[i];
|
187
|
-
|
188
|
-
|
189
|
-
|
387
|
+
|
388
|
+
// skip main target role, create role if not exists
|
389
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
390
|
+
_createRole(
|
391
|
+
roleId,
|
392
|
+
authorization.getRoleInfo(roleId));
|
393
|
+
}
|
190
394
|
}
|
191
395
|
}
|
192
396
|
|
193
397
|
|
398
|
+
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
399
|
+
internal
|
400
|
+
pure
|
401
|
+
returns (RoleId)
|
402
|
+
{
|
403
|
+
return RoleIdLib.toRoleId(
|
404
|
+
RoleIdLib.toInt(roleId) + componentIdx);
|
405
|
+
}
|
406
|
+
|
407
|
+
|
194
408
|
function _createTargetAuthorizations(IAuthorization authorization)
|
195
409
|
internal
|
196
410
|
{
|
@@ -210,7 +424,8 @@ contract InstanceAdmin is
|
|
210
424
|
authorizedRole,
|
211
425
|
authorization.getAuthorizedFunctions(
|
212
426
|
target,
|
213
|
-
authorizedRole)
|
427
|
+
authorizedRole),
|
428
|
+
true);
|
214
429
|
}
|
215
430
|
}
|
216
431
|
}
|
@@ -223,7 +438,7 @@ contract InstanceAdmin is
|
|
223
438
|
{
|
224
439
|
// check that target name is defined in authorization specification
|
225
440
|
Str name = StrLib.toStr(targetName);
|
226
|
-
if (!
|
441
|
+
if (!_authorization.targetExists(name)) {
|
227
442
|
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
228
443
|
}
|
229
444
|
|
@@ -231,28 +446,29 @@ contract InstanceAdmin is
|
|
231
446
|
_createTarget(
|
232
447
|
target,
|
233
448
|
targetName,
|
234
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with
|
449
|
+
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
235
450
|
false);
|
236
451
|
|
237
452
|
// assign target role if defined
|
238
|
-
RoleId targetRoleId =
|
453
|
+
RoleId targetRoleId = _authorization.getTargetRole(name);
|
239
454
|
if (targetRoleId != RoleIdLib.zero()) {
|
240
455
|
_grantRoleToAccount(targetRoleId, target);
|
241
456
|
}
|
242
457
|
}
|
243
458
|
|
244
|
-
function
|
459
|
+
function _setupInstanceHelperTargetsWithRoles()
|
245
460
|
internal
|
246
461
|
{
|
462
|
+
|
247
463
|
// create module targets
|
248
|
-
_checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
249
464
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
250
465
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
251
466
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
467
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
252
468
|
|
253
|
-
// create targets for services that need to access the
|
254
|
-
ObjectType[] memory serviceDomains =
|
255
|
-
VersionPart release =
|
469
|
+
// create targets for services that need to access the instance targets
|
470
|
+
ObjectType[] memory serviceDomains = _authorization.getServiceDomains();
|
471
|
+
VersionPart release = _authorization.getRelease();
|
256
472
|
ObjectType serviceDomain;
|
257
473
|
|
258
474
|
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
@@ -260,7 +476,7 @@ contract InstanceAdmin is
|
|
260
476
|
|
261
477
|
_checkAndCreateTargetWithRole(
|
262
478
|
_registry.getServiceAddress(serviceDomain, release),
|
263
|
-
|
479
|
+
_authorization.getServiceTarget(serviceDomain).toString());
|
264
480
|
}
|
265
481
|
}
|
266
482
|
}
|