@etherisc/gif-next 0.0.2-9d962ff-442 → 0.0.2-9daf7a4-699
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 +87 -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 +496 -255
- 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 +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +277 -20
- 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 +395 -203
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +143 -19
- 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 +151 -490
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +265 -31
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +82 -386
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +382 -359
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -129
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +252 -126
- 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 +236 -39
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +256 -123
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +737 -327
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +209 -94
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1080 -352
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +172 -278
- 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 +859 -712
- 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 +108 -355
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +247 -33
- 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 +91 -140
- 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 +84 -323
- 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 +132 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -421
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +265 -31
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +281 -320
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +132 -118
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +178 -103
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +120 -236
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -308
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +110 -416
- 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 +673 -552
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +173 -107
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -100
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +261 -439
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +265 -31
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +354 -106
- 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 +245 -233
- 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 +445 -308
- 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 +151 -109
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -336
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -141
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +253 -431
- 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 +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 +640 -368
- 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 +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +431 -253
- 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 +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +511 -651
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +142 -138
- 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 +80 -100
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
- 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 +83 -322
- 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 +585 -12
- 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 +196 -143
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +280 -397
- 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 +136 -105
- 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 +205 -168
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -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 +90 -49
- 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 +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -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 +23 -4
- 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 +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +338 -225
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +350 -203
- package/contracts/authorization/IAccess.sol +13 -4
- package/contracts/authorization/IAccessAdmin.sol +69 -35
- 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 +167 -119
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +31 -25
- 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 +64 -44
- package/contracts/instance/IInstanceService.sol +27 -31
- package/contracts/instance/Instance.sol +120 -70
- package/contracts/instance/InstanceAdmin.sol +287 -103
- package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
- package/contracts/instance/InstanceReader.sol +288 -43
- package/contracts/instance/InstanceService.sol +207 -191
- 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 +11 -4
- 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 +30 -19
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +50 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- 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 +113 -81
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +37 -28
- package/contracts/pool/BasicPoolAuthorization.sol +32 -11
- package/contracts/pool/BundleService.sol +179 -125
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +29 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +90 -75
- package/contracts/pool/Pool.sol +145 -130
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +538 -217
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +87 -43
- 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 +368 -153
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +9 -2
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +53 -38
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
- package/contracts/product/PolicyService.sol +446 -281
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +69 -60
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +161 -95
- 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 +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 +162 -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 +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +272 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
- package/contracts/registry/TokenRegistry.sol +10 -9
- package/contracts/shared/Component.sol +65 -135
- package/contracts/shared/ComponentService.sol +435 -378
- 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 +44 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
- 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 +310 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +25 -13
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +103 -73
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +90 -37
- 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/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 +57 -34
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +4 -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 +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 -470
- 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,57 +1,34 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
|
-
|
6
4
|
import {Amount} from "../type/Amount.sol";
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
5
|
+
import {BundleSet} from "./BundleSet.sol";
|
6
|
+
import {RiskSet} from "./RiskSet.sol";
|
7
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
8
|
+
import {InstanceReader} from "./InstanceReader.sol";
|
9
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
10
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
10
11
|
import {NftId} from "../type/NftId.sol";
|
11
|
-
import {StateId} from "../type/StateId.sol";
|
12
|
-
import {ReferralId} from "../type/Referral.sol";
|
13
|
-
import {RiskId} from "../type/RiskId.sol";
|
14
|
-
import {VersionPart} from "../type/Version.sol";
|
15
|
-
import {Key32} from "../type/Key32.sol";
|
16
12
|
import {RoleId} from "../type/RoleId.sol";
|
17
13
|
import {Seconds} from "../type/Seconds.sol";
|
18
14
|
import {UFixed} from "../type/UFixed.sol";
|
19
15
|
|
20
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
21
|
-
|
22
|
-
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
23
|
-
|
24
|
-
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
25
|
-
import {BundleSet} from "./BundleSet.sol";
|
26
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
27
|
-
import {InstanceStore} from "./InstanceStore.sol";
|
28
|
-
|
29
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
30
|
-
|
31
|
-
import {IAccess} from "./module/IAccess.sol";
|
32
|
-
|
33
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
34
|
-
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
35
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
36
|
-
import {IPoolService} from "../pool/IPoolService.sol";
|
37
|
-
import {IProductService} from "../product/IProductService.sol";
|
38
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
39
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
40
|
-
|
41
16
|
|
42
17
|
interface IInstance is
|
43
|
-
IRegisterable
|
44
|
-
ITransferInterceptor,
|
45
|
-
IAccessManaged
|
18
|
+
IRegisterable
|
46
19
|
{
|
47
20
|
error ErrorInstanceInstanceAdminZero();
|
48
|
-
error ErrorInstanceInstanceAdminAlreadySet(address
|
21
|
+
error ErrorInstanceInstanceAdminAlreadySet(address instanceAdmin);
|
49
22
|
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
50
23
|
|
51
24
|
error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
|
52
25
|
error ErrorInstanceBundleSetInstanceMismatch(address instance);
|
53
26
|
error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
|
54
27
|
|
28
|
+
error ErrorInstanceRiskSetAlreadySet(address instanceRiskSet);
|
29
|
+
error ErrorInstanceRiskSetInstanceMismatch(address instance);
|
30
|
+
error ErrorInstanceRiskSetAuthorityMismatch(address instanceAuthority);
|
31
|
+
|
55
32
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
56
33
|
|
57
34
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
@@ -61,26 +38,69 @@ interface IInstance is
|
|
61
38
|
uint64 requestsCount;
|
62
39
|
}
|
63
40
|
|
64
|
-
|
65
|
-
function grantRole(RoleId roleId, address account) external;
|
66
|
-
function revokeRole(RoleId roleId, address account) external;
|
41
|
+
///--- instance ---------------------------------------------------------//
|
67
42
|
|
68
|
-
|
69
|
-
function
|
70
|
-
|
43
|
+
/// @dev Locks/unlocks the complete instance, including all its components.
|
44
|
+
function setInstanceLocked(bool locked) external;
|
45
|
+
|
46
|
+
/// @dev Upgrades the instance reader to the specified target.
|
47
|
+
function upgradeInstanceReader() external;
|
48
|
+
|
49
|
+
/// @dev Sets the instance reader for the instance.
|
50
|
+
/// Permissioned: only the instance service may call this function.
|
51
|
+
function setInstanceReader(InstanceReader instanceReader) external;
|
71
52
|
|
53
|
+
///--- staking ----------------------------------------------------------//
|
54
|
+
|
55
|
+
/// @dev Sets the duration for locking new stakes on this instance..
|
72
56
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
57
|
+
|
58
|
+
/// @dev Sets the staking reward rate [apr] for this instance.
|
73
59
|
function setStakingRewardRate(UFixed rewardRate) external;
|
60
|
+
|
61
|
+
/// @dev Sets the maximum staked amount for this instance.
|
62
|
+
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
63
|
+
|
64
|
+
/// @dev Refills the staking reward reserves for the specified target.
|
74
65
|
function refillStakingRewardReserves(Amount dipAmount) external;
|
75
66
|
|
76
67
|
/// @dev Defunds the staking reward reserves for the specified target.
|
77
|
-
/// Permissioned: only the target owner may call this function.
|
78
68
|
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
79
69
|
|
80
|
-
|
81
|
-
|
70
|
+
///--- product/component ------------------------------------------------//
|
71
|
+
|
72
|
+
/// @dev Locks/unlocks the specified target.
|
73
|
+
function setTargetLocked(address target, bool locked) external;
|
74
|
+
|
75
|
+
/// @dev Register a product with the instance.
|
76
|
+
function registerProduct(address product, address token) external returns (NftId productNftId);
|
77
|
+
|
78
|
+
///--- authz ------------------------------------------------------------//
|
79
|
+
|
80
|
+
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
81
|
+
function grantRole(RoleId roleId, address account) external;
|
82
|
+
function revokeRole(RoleId roleId, address account) external;
|
83
|
+
|
84
|
+
function createTarget(address target, string memory name) external;
|
85
|
+
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
86
|
+
|
87
|
+
//--- getters -----------------------------------------------------------//
|
88
|
+
|
89
|
+
/// @dev returns the overall locking state of the instance (including all components)
|
90
|
+
function isInstanceLocked() external view returns (bool isLocked);
|
91
|
+
|
92
|
+
/// @dev returns the locking state of the specified target
|
93
|
+
function isTargetLocked(address target) external view returns (bool isLocked);
|
94
|
+
|
95
|
+
// get products
|
96
|
+
function products() external view returns (uint256 productCount);
|
97
|
+
function getProductNftId(uint256 idx) external view returns (NftId productNftId);
|
98
|
+
|
99
|
+
// get supporting contracts
|
82
100
|
function getInstanceReader() external view returns (InstanceReader);
|
83
101
|
function getBundleSet() external view returns (BundleSet);
|
102
|
+
function getRiskSet() external view returns (RiskSet);
|
84
103
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
85
104
|
function getInstanceStore() external view returns (InstanceStore);
|
105
|
+
function isTokenRegistryDisabled() external view returns (bool);
|
86
106
|
}
|
@@ -2,13 +2,10 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {
|
6
|
-
import {Instance} from "./Instance.sol";
|
7
|
-
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
5
|
+
import {IInstance} from "./IInstance.sol";
|
8
6
|
import {IService} from "../shared/IService.sol";
|
9
7
|
import {NftId} from "../type/NftId.sol";
|
10
8
|
import {ObjectType} from "../type/ObjectType.sol";
|
11
|
-
import {RoleId} from "../type/RoleId.sol";
|
12
9
|
import {Seconds} from "../type/Seconds.sol";
|
13
10
|
import {UFixed} from "../type/UFixed.sol";
|
14
11
|
import {VersionPart} from "../type/Version.sol";
|
@@ -18,13 +15,14 @@ interface IInstanceService is IService {
|
|
18
15
|
// onlyInstance
|
19
16
|
error ErrorInstanceServiceNotRegistered(address instance);
|
20
17
|
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
21
|
-
error ErrorInstanceServiceInstanceVersionMismatch(
|
18
|
+
error ErrorInstanceServiceInstanceVersionMismatch(NftId instanceNftId, VersionPart expectedRelease, VersionPart instanceRelease);
|
22
19
|
|
23
20
|
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
24
21
|
|
25
22
|
error ErrorInstanceServiceMasterInstanceAlreadySet();
|
26
23
|
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
27
24
|
error ErrorInstanceServiceMasterBundleSetAlreadySet();
|
25
|
+
error ErrorInstanceServiceMasterRiskSetAlreadySet();
|
28
26
|
error ErrorInstanceServiceInstanceAddressZero();
|
29
27
|
|
30
28
|
error ErrorInstanceServiceMasterInstanceReaderNotSet();
|
@@ -36,12 +34,15 @@ interface IInstanceService is IService {
|
|
36
34
|
error ErrorInstanceServiceInstanceAdminZero();
|
37
35
|
error ErrorInstanceServiceInstanceReaderZero();
|
38
36
|
error ErrorInstanceServiceBundleSetZero();
|
37
|
+
error ErrorInstanceServiceRiskSetZero();
|
39
38
|
error ErrorInstanceServiceInstanceStoreZero();
|
40
39
|
|
41
40
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
42
41
|
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
42
|
+
error ErrorInstanceServiceRiskSetAuthorityMismatch();
|
43
43
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
44
|
-
error
|
44
|
+
error ErrorInstanceServiceBundleSetInstanceMismatch();
|
45
|
+
error ErrorInstanceServiceRiskSetInstanceMismatch();
|
45
46
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
46
47
|
|
47
48
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
@@ -52,41 +53,36 @@ interface IInstanceService is IService {
|
|
52
53
|
|
53
54
|
event LogInstanceCloned(NftId instanceNftId, address instance);
|
54
55
|
|
55
|
-
|
56
|
+
/// @dev Locks the complete instance, including all its components.
|
57
|
+
function setInstanceLocked(bool locked) external;
|
58
|
+
|
59
|
+
/// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
|
60
|
+
function setTargetLocked(address target, bool locked) external;
|
61
|
+
|
62
|
+
/// @dev Creates a new instance.
|
63
|
+
/// The caller becomes the owner of the new instance.
|
64
|
+
/// Creation of a new instance is achieved by this service through the creation and registration
|
65
|
+
/// of a new clone of the master instance and then setting up the initial wiring and authorization
|
66
|
+
/// of the necessary components.
|
67
|
+
/// @param allowAnyToken specifies whether the new instance is allowed to use any token or
|
68
|
+
/// only tokens that are registered in the `TokenRegistry`. Use of tokens **not** registered in the
|
69
|
+
/// `TokenRegistry` may result in problems with token handline and is therefor not recommended. The
|
70
|
+
/// use of such instances **is not supported** by Etherisc.
|
71
|
+
function createInstance(bool allowAnyToken)
|
56
72
|
external
|
57
73
|
returns (
|
58
|
-
|
59
|
-
Instance clonedInstance,
|
74
|
+
IInstance instance,
|
60
75
|
NftId instanceNftId
|
61
76
|
);
|
62
77
|
|
78
|
+
function upgradeInstanceReader() external;
|
79
|
+
function upgradeMasterInstanceReader(address instanceReaderAddress) external;
|
63
80
|
|
64
81
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
65
82
|
function setStakingRewardRate(UFixed rewardRate) external;
|
83
|
+
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
66
84
|
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
|
67
85
|
|
68
86
|
/// @dev Defunds the staking reward reserves for the specified target.
|
69
87
|
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
70
|
-
|
71
|
-
/// @dev Sets up the component authorization for the specified instance.
|
72
|
-
/// The authorization is based on the authz specification provided by the component via getAuthorization.
|
73
|
-
function initializeAuthorization(NftId instanceNftId, IInstanceLinkedComponent component) external;
|
74
|
-
|
75
|
-
function createComponentTarget(
|
76
|
-
NftId instanceNftId,
|
77
|
-
address targetAddress,
|
78
|
-
string memory targetName,
|
79
|
-
bytes4[][] memory selectors,
|
80
|
-
RoleId[] memory roles
|
81
|
-
) external;
|
82
|
-
|
83
|
-
function createGifTarget(
|
84
|
-
NftId instanceNftId,
|
85
|
-
address targetAddress,
|
86
|
-
string memory targetName,
|
87
|
-
bytes4[][] memory selectors,
|
88
|
-
RoleId[] memory roles
|
89
|
-
) external;
|
90
|
-
|
91
|
-
function setComponentLocked(bool locked) external;
|
92
88
|
}
|
@@ -1,62 +1,41 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IInstance} from "./IInstance.sol";
|
5
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
6
|
+
import {IInstanceService} from "./IInstanceService.sol";
|
7
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
5
8
|
|
6
9
|
import {Amount} from "../type/Amount.sol";
|
7
|
-
import {
|
10
|
+
import {BundleSet} from "./BundleSet.sol";
|
11
|
+
import {RiskSet} from "./RiskSet.sol";
|
12
|
+
import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
|
13
|
+
import {InstanceReader} from "./InstanceReader.sol";
|
14
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
15
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
8
16
|
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {
|
10
|
-
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
|
17
|
+
import {Registerable} from "../shared/Registerable.sol";
|
11
18
|
import {RoleId} from "../type/RoleId.sol";
|
12
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
13
|
-
import {ReferralId} from "../type/Referral.sol";
|
14
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
15
|
-
import {DistributorType} from "../type/DistributorType.sol";
|
16
19
|
import {Seconds} from "../type/Seconds.sol";
|
17
20
|
import {UFixed} from "../type/UFixed.sol";
|
18
|
-
import {VersionPart
|
19
|
-
|
20
|
-
import {Registerable} from "../shared/Registerable.sol";
|
21
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
22
|
-
|
23
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
24
|
-
|
25
|
-
import {IInstance} from "./IInstance.sol";
|
26
|
-
import {IInstanceService} from "./IInstanceService.sol";
|
27
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
28
|
-
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
29
|
-
import {BundleSet} from "./BundleSet.sol";
|
30
|
-
import {InstanceStore} from "./InstanceStore.sol";
|
31
|
-
|
32
|
-
import {KeyValueStore} from "../shared/KeyValueStore.sol";
|
33
|
-
|
34
|
-
import {IBundle} from "./module/IBundle.sol";
|
35
|
-
import {IComponents} from "./module/IComponents.sol";
|
36
|
-
import {IDistribution} from "./module/IDistribution.sol";
|
37
|
-
import {IPolicy} from "./module/IPolicy.sol";
|
38
|
-
import {IRisk} from "./module/IRisk.sol";
|
39
|
-
|
40
|
-
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
41
|
-
import {IPoolService} from "../pool/IPoolService.sol";
|
42
|
-
import {IProductService} from "../product/IProductService.sol";
|
43
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
44
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
21
|
+
import {VersionPart} from "../type/Version.sol";
|
45
22
|
|
46
23
|
contract Instance is
|
47
24
|
IInstance,
|
48
|
-
AccessManagedUpgradeable,
|
49
25
|
Registerable
|
50
26
|
{
|
51
|
-
uint256 public constant GIF_MAJOR_VERSION = 3;
|
52
|
-
|
53
27
|
bool private _initialized;
|
54
28
|
|
29
|
+
IComponentService internal _componentService;
|
55
30
|
IInstanceService internal _instanceService;
|
31
|
+
|
56
32
|
InstanceAdmin internal _instanceAdmin;
|
57
33
|
InstanceReader internal _instanceReader;
|
58
|
-
BundleSet internal
|
34
|
+
BundleSet internal _bundleSet;
|
35
|
+
RiskSet internal _riskSet;
|
59
36
|
InstanceStore internal _instanceStore;
|
37
|
+
NftId [] internal _products;
|
38
|
+
bool internal _tokenRegistryDisabled;
|
60
39
|
|
61
40
|
modifier onlyChainNft() {
|
62
41
|
if(msg.sender != getRegistry().getChainNftAddress()) {
|
@@ -68,25 +47,26 @@ contract Instance is
|
|
68
47
|
function initialize(
|
69
48
|
InstanceAdmin instanceAdmin,
|
70
49
|
InstanceStore instanceStore,
|
71
|
-
BundleSet
|
50
|
+
BundleSet bundleSet,
|
51
|
+
RiskSet riskSet,
|
72
52
|
InstanceReader instanceReader,
|
73
53
|
IRegistry registry,
|
74
|
-
|
54
|
+
VersionPart release,
|
55
|
+
address initialOwner,
|
56
|
+
bool tokenRegistryDisabled
|
75
57
|
)
|
76
58
|
external
|
77
59
|
initializer()
|
78
60
|
{
|
79
|
-
|
80
|
-
if(_instanceAdmin.authority() == address(0)) {
|
81
|
-
// TODO rename error
|
61
|
+
if(address(instanceAdmin) == address(0)) {
|
82
62
|
revert ErrorInstanceInstanceAdminZero();
|
83
63
|
}
|
84
64
|
|
85
|
-
|
86
|
-
__AccessManaged_init(_instanceAdmin.authority());
|
65
|
+
_instanceAdmin = instanceAdmin;
|
87
66
|
|
88
67
|
// setup instance object info
|
89
|
-
|
68
|
+
__Registerable_init(
|
69
|
+
instanceAdmin.authority(),
|
90
70
|
address(registry),
|
91
71
|
registry.getNftId(),
|
92
72
|
INSTANCE(),
|
@@ -96,27 +76,67 @@ contract Instance is
|
|
96
76
|
|
97
77
|
// store instance supporting contracts
|
98
78
|
_instanceStore = instanceStore;
|
99
|
-
|
79
|
+
_bundleSet = bundleSet;
|
80
|
+
_riskSet = riskSet;
|
100
81
|
_instanceReader = instanceReader;
|
101
82
|
|
102
83
|
// initialize instance supporting contracts
|
103
84
|
_instanceStore.initialize();
|
104
|
-
|
85
|
+
_bundleSet.initialize(instanceAdmin.authority(), address(registry));
|
86
|
+
_riskSet.initialize(instanceAdmin.authority(), address(registry));
|
105
87
|
_instanceReader.initialize();
|
106
88
|
|
89
|
+
_componentService = IComponentService(
|
90
|
+
getRegistry().getServiceAddress(
|
91
|
+
COMPONENT(),
|
92
|
+
release));
|
93
|
+
|
107
94
|
_instanceService = IInstanceService(
|
108
95
|
getRegistry().getServiceAddress(
|
109
96
|
INSTANCE(),
|
110
|
-
|
97
|
+
release));
|
98
|
+
|
99
|
+
_tokenRegistryDisabled = tokenRegistryDisabled;
|
111
100
|
|
112
|
-
|
101
|
+
_registerInterface(type(IInstance).interfaceId);
|
102
|
+
}
|
103
|
+
|
104
|
+
|
105
|
+
function setInstanceLocked(bool locked)
|
106
|
+
external
|
107
|
+
// not restricted(): need to be able to unlock a locked instance
|
108
|
+
onlyOwner()
|
109
|
+
{
|
110
|
+
_instanceService.setInstanceLocked(locked);
|
111
|
+
}
|
112
|
+
|
113
|
+
|
114
|
+
function upgradeInstanceReader()
|
115
|
+
external
|
116
|
+
restricted()
|
117
|
+
onlyOwner()
|
118
|
+
{
|
119
|
+
_instanceService.upgradeInstanceReader();
|
120
|
+
}
|
121
|
+
|
122
|
+
|
123
|
+
//--- ProductRegistration ----------------------------------------------//
|
124
|
+
|
125
|
+
function registerProduct(address product, address token)
|
126
|
+
external
|
127
|
+
restricted()
|
128
|
+
onlyOwner()
|
129
|
+
returns (NftId productNftId)
|
130
|
+
{
|
131
|
+
productNftId = _componentService.registerProduct(product, token);
|
132
|
+
_products.push(productNftId);
|
113
133
|
}
|
114
134
|
|
115
135
|
//--- Staking ----------------------------------------------------------//
|
116
136
|
|
117
137
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
118
138
|
external
|
119
|
-
|
139
|
+
restricted()
|
120
140
|
onlyOwner()
|
121
141
|
{
|
122
142
|
_instanceService.setStakingLockingPeriod(stakeLockingPeriod);
|
@@ -124,13 +144,22 @@ contract Instance is
|
|
124
144
|
|
125
145
|
function setStakingRewardRate(UFixed rewardRate)
|
126
146
|
external
|
147
|
+
restricted()
|
127
148
|
onlyOwner()
|
128
149
|
{
|
129
150
|
_instanceService.setStakingRewardRate(rewardRate);
|
130
151
|
}
|
131
152
|
|
153
|
+
function setStakingMaxAmount(Amount maxStakedAmount)
|
154
|
+
external
|
155
|
+
onlyOwner()
|
156
|
+
{
|
157
|
+
_instanceService.setStakingMaxAmount(maxStakedAmount);
|
158
|
+
}
|
159
|
+
|
132
160
|
function refillStakingRewardReserves(Amount dipAmount)
|
133
161
|
external
|
162
|
+
restricted()
|
134
163
|
onlyOwner()
|
135
164
|
{
|
136
165
|
address instanceOwner = msg.sender;
|
@@ -139,6 +168,7 @@ contract Instance is
|
|
139
168
|
|
140
169
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
141
170
|
external
|
171
|
+
restricted()
|
142
172
|
onlyOwner()
|
143
173
|
returns (Amount newBalance)
|
144
174
|
{
|
@@ -149,6 +179,7 @@ contract Instance is
|
|
149
179
|
|
150
180
|
function createRole(string memory roleName, string memory adminName)
|
151
181
|
external
|
182
|
+
restricted()
|
152
183
|
onlyOwner()
|
153
184
|
returns (RoleId roleId, RoleId admin)
|
154
185
|
{
|
@@ -158,6 +189,7 @@ contract Instance is
|
|
158
189
|
|
159
190
|
function grantRole(RoleId roleId, address account)
|
160
191
|
external
|
192
|
+
restricted()
|
161
193
|
onlyOwner()
|
162
194
|
{
|
163
195
|
_instanceAdmin.grantRole(roleId, account);
|
@@ -165,6 +197,7 @@ contract Instance is
|
|
165
197
|
|
166
198
|
function revokeRole(RoleId roleId, address account)
|
167
199
|
external
|
200
|
+
restricted()
|
168
201
|
onlyOwner()
|
169
202
|
{
|
170
203
|
// TODO refactor
|
@@ -173,8 +206,18 @@ contract Instance is
|
|
173
206
|
|
174
207
|
//--- Targets ------------------------------------------------------------//
|
175
208
|
|
209
|
+
|
210
|
+
function setTargetLocked(address target, bool locked)
|
211
|
+
external
|
212
|
+
// not restricted(): instance owner may need to be able to unlock targets on an locked instance
|
213
|
+
onlyOwner()
|
214
|
+
{
|
215
|
+
_instanceService.setTargetLocked(target, locked);
|
216
|
+
}
|
217
|
+
|
176
218
|
function createTarget(address target, string memory name)
|
177
219
|
external
|
220
|
+
restricted()
|
178
221
|
onlyOwner()
|
179
222
|
{
|
180
223
|
// TODO refactor
|
@@ -187,29 +230,16 @@ contract Instance is
|
|
187
230
|
RoleId roleId
|
188
231
|
)
|
189
232
|
external
|
233
|
+
restricted()
|
190
234
|
onlyOwner()
|
191
235
|
{
|
192
236
|
// TODO refactor
|
193
237
|
// _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
194
238
|
}
|
195
239
|
|
196
|
-
function setTargetLocked(address target, bool locked)
|
197
|
-
external
|
198
|
-
onlyOwner()
|
199
|
-
{
|
200
|
-
// TODO refactor
|
201
|
-
// _instanceAdmin.setTargetLockedByInstance(target, locked);
|
202
|
-
}
|
203
|
-
|
204
240
|
//--- ITransferInterceptor ----------------------------------------------//
|
205
241
|
|
206
|
-
|
207
|
-
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
208
|
-
// TODO refactor
|
209
|
-
// _instanceAdmin.transferInstanceOwnerRole(address(0), to);
|
210
|
-
}
|
211
|
-
|
212
|
-
function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
|
242
|
+
function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
|
213
243
|
// TODO refactor
|
214
244
|
// _instanceAdmin.transferInstanceOwnerRole(from, to);
|
215
245
|
}
|
@@ -230,12 +260,32 @@ contract Instance is
|
|
230
260
|
|
231
261
|
//--- external view functions -------------------------------------------//
|
232
262
|
|
263
|
+
function isInstanceLocked() external view returns (bool) {
|
264
|
+
return _instanceAdmin.isLocked();
|
265
|
+
}
|
266
|
+
|
267
|
+
function isTargetLocked(address target) external view returns (bool) {
|
268
|
+
return _instanceAdmin.isTargetLocked(target);
|
269
|
+
}
|
270
|
+
|
271
|
+
function products() external view returns (uint256 productCount) {
|
272
|
+
return _products.length;
|
273
|
+
}
|
274
|
+
|
275
|
+
function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
|
276
|
+
return _products[idx];
|
277
|
+
}
|
278
|
+
|
233
279
|
function getInstanceReader() external view returns (InstanceReader) {
|
234
280
|
return _instanceReader;
|
235
281
|
}
|
236
282
|
|
237
283
|
function getBundleSet() external view returns (BundleSet) {
|
238
|
-
return
|
284
|
+
return _bundleSet;
|
285
|
+
}
|
286
|
+
|
287
|
+
function getRiskSet() external view returns (RiskSet) {
|
288
|
+
return _riskSet;
|
239
289
|
}
|
240
290
|
|
241
291
|
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
@@ -246,8 +296,8 @@ contract Instance is
|
|
246
296
|
return _instanceStore;
|
247
297
|
}
|
248
298
|
|
249
|
-
function
|
250
|
-
return
|
299
|
+
function isTokenRegistryDisabled() external view returns (bool) {
|
300
|
+
return _tokenRegistryDisabled;
|
251
301
|
}
|
252
302
|
|
253
303
|
//--- internal view/pure functions --------------------------------------//
|