@etherisc/gif-next 0.0.2-c5049d4-401 → 0.0.2-c52b5b7-438
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 +27 -6
- 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 +505 -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 +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 +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 +396 -185
- 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 +172 -305
- 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 +103 -185
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +338 -163
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -65
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +209 -70
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +204 -222
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +261 -27
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +455 -389
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +258 -28
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +247 -270
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +156 -175
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +318 -223
- 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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +751 -340
- 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 +284 -62
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +734 -321
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +205 -90
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +869 -261
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +170 -169
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -49
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +556 -415
- 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 +142 -183
- 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 +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +118 -135
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +151 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +95 -41
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +151 -168
- 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 +162 -268
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +79 -81
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +126 -149
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +279 -247
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +139 -167
- 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 -390
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +133 -51
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +190 -48
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +80 -38
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +278 -234
- 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 +308 -158
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +106 -72
- 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 +199 -21
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +168 -54
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +117 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +258 -209
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +264 -170
- 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 +102 -64
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +179 -133
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +75 -57
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +268 -224
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +167 -67
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +92 -38
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +117 -17
- 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 +161 -53
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +600 -440
- 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 -185
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +68 -34
- 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 +417 -249
- 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 +94 -93
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +507 -524
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +96 -74
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +55 -2
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +509 -4
- 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 +463 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -1
- 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 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -134
- 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 +18 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -38
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +55 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +170 -117
- 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 +258 -198
- 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 +92 -50
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +35 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +203 -59
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +77 -39
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +191 -136
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +48 -38
- 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 +69 -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/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +44 -12
- 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 +342 -230
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +350 -202
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +69 -34
- 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 +36 -87
- package/contracts/distribution/DistributionService.sol +129 -80
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/DamageLevel.sol +5 -2
- package/contracts/examples/fire/FirePool.sol +24 -13
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +106 -63
- package/contracts/examples/fire/FireProductAuthorization.sol +14 -8
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +43 -12
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +8 -12
- package/contracts/examples/unpermissioned/SimplePool.sol +36 -10
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +51 -29
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +60 -17
- package/contracts/instance/IInstanceService.sol +27 -31
- package/contracts/instance/Instance.sol +115 -40
- package/contracts/instance/InstanceAdmin.sol +287 -122
- package/contracts/instance/InstanceAuthorizationV3.sol +90 -59
- package/contracts/instance/InstanceReader.sol +259 -39
- package/contracts/instance/InstanceService.sol +185 -192
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +3 -3
- package/contracts/instance/module/IComponents.sol +13 -9
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IPolicy.sol +5 -4
- 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 +5 -18
- package/contracts/oracle/OracleService.sol +108 -79
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +27 -9
- package/contracts/pool/BundleService.sol +88 -131
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +70 -65
- package/contracts/pool/Pool.sol +136 -119
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +481 -234
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +46 -19
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +9 -13
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +246 -160
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +17 -4
- package/contracts/product/IPolicyService.sol +27 -9
- package/contracts/product/IPricingService.sol +10 -9
- package/contracts/product/IProductComponent.sol +27 -4
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +262 -249
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +37 -28
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +118 -76
- package/contracts/product/RiskService.sol +89 -31
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +10 -11
- package/contracts/registry/IRegistry.sol +16 -18
- 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 +36 -8
- package/contracts/registry/RegistryAdmin.sol +145 -351
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +36 -47
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +271 -245
- package/contracts/registry/ServiceAuthorizationV3.sol +182 -50
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +61 -119
- package/contracts/shared/ComponentService.sol +434 -367
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +246 -3
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +44 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +69 -46
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +27 -7
- package/contracts/shared/PolicyHolder.sol +5 -1
- package/contracts/shared/Registerable.sol +50 -19
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +9 -31
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +17 -10
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +96 -48
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +81 -24
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +7 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +54 -35
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +14 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +2 -1
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,34 +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
5
|
import {BundleSet} from "./BundleSet.sol";
|
6
|
+
import {RiskSet} from "./RiskSet.sol";
|
8
7
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
9
8
|
import {InstanceReader} from "./InstanceReader.sol";
|
10
9
|
import {InstanceStore} from "./InstanceStore.sol";
|
11
10
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
12
|
-
import {
|
11
|
+
import {NftId} from "../type/NftId.sol";
|
13
12
|
import {RoleId} from "../type/RoleId.sol";
|
14
13
|
import {Seconds} from "../type/Seconds.sol";
|
15
14
|
import {UFixed} from "../type/UFixed.sol";
|
16
|
-
import {VersionPart} from "../type/Version.sol";
|
17
15
|
|
18
16
|
|
19
17
|
interface IInstance is
|
20
|
-
IRegisterable
|
21
|
-
ITransferInterceptor,
|
22
|
-
IAccessManaged
|
18
|
+
IRegisterable
|
23
19
|
{
|
24
20
|
error ErrorInstanceInstanceAdminZero();
|
25
|
-
error ErrorInstanceInstanceAdminAlreadySet(address
|
21
|
+
error ErrorInstanceInstanceAdminAlreadySet(address instanceAdmin);
|
26
22
|
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
27
23
|
|
28
24
|
error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
|
29
25
|
error ErrorInstanceBundleSetInstanceMismatch(address instance);
|
30
26
|
error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
|
31
27
|
|
28
|
+
error ErrorInstanceRiskSetAlreadySet(address instanceRiskSet);
|
29
|
+
error ErrorInstanceRiskSetInstanceMismatch(address instance);
|
30
|
+
error ErrorInstanceRiskSetAuthorityMismatch(address instanceAuthority);
|
31
|
+
|
32
32
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
33
33
|
|
34
34
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
@@ -38,26 +38,69 @@ interface IInstance is
|
|
38
38
|
uint64 requestsCount;
|
39
39
|
}
|
40
40
|
|
41
|
-
|
42
|
-
function grantRole(RoleId roleId, address account) external;
|
43
|
-
function revokeRole(RoleId roleId, address account) external;
|
41
|
+
///--- instance ---------------------------------------------------------//
|
44
42
|
|
45
|
-
|
46
|
-
function
|
47
|
-
function setTargetLocked(address target, bool locked) external;
|
43
|
+
/// @dev Locks/unlocks the complete instance, including all its components.
|
44
|
+
function setInstanceLocked(bool locked) external;
|
48
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;
|
52
|
+
|
53
|
+
///--- staking ----------------------------------------------------------//
|
54
|
+
|
55
|
+
/// @dev Sets the duration for locking new stakes on this instance..
|
49
56
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
57
|
+
|
58
|
+
/// @dev Sets the staking reward rate [apr] for this instance.
|
50
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.
|
51
65
|
function refillStakingRewardReserves(Amount dipAmount) external;
|
52
66
|
|
53
67
|
/// @dev Defunds the staking reward reserves for the specified target.
|
54
|
-
/// Permissioned: only the target owner may call this function.
|
55
68
|
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
56
69
|
|
57
|
-
|
58
|
-
|
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
|
59
100
|
function getInstanceReader() external view returns (InstanceReader);
|
60
101
|
function getBundleSet() external view returns (BundleSet);
|
102
|
+
function getRiskSet() external view returns (RiskSet);
|
61
103
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
62
104
|
function getInstanceStore() external view returns (InstanceStore);
|
105
|
+
function isTokenRegistryDisabled() external view returns (bool);
|
63
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,37 +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
10
|
import {BundleSet} from "./BundleSet.sol";
|
8
|
-
import {
|
9
|
-
import {
|
11
|
+
import {RiskSet} from "./RiskSet.sol";
|
12
|
+
import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
|
10
13
|
import {InstanceReader} from "./InstanceReader.sol";
|
11
14
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
12
15
|
import {InstanceStore} from "./InstanceStore.sol";
|
13
|
-
import {
|
14
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
16
|
+
import {NftId} from "../type/NftId.sol";
|
15
17
|
import {Registerable} from "../shared/Registerable.sol";
|
16
18
|
import {RoleId} from "../type/RoleId.sol";
|
17
19
|
import {Seconds} from "../type/Seconds.sol";
|
18
20
|
import {UFixed} from "../type/UFixed.sol";
|
19
|
-
import {VersionPart
|
21
|
+
import {VersionPart} from "../type/Version.sol";
|
20
22
|
|
21
23
|
contract Instance is
|
22
24
|
IInstance,
|
23
|
-
AccessManagedUpgradeable,
|
24
25
|
Registerable
|
25
26
|
{
|
26
|
-
uint256 public constant GIF_MAJOR_VERSION = 3;
|
27
|
-
|
28
27
|
bool private _initialized;
|
29
28
|
|
29
|
+
IComponentService internal _componentService;
|
30
30
|
IInstanceService internal _instanceService;
|
31
|
+
|
31
32
|
InstanceAdmin internal _instanceAdmin;
|
32
33
|
InstanceReader internal _instanceReader;
|
33
|
-
BundleSet internal
|
34
|
+
BundleSet internal _bundleSet;
|
35
|
+
RiskSet internal _riskSet;
|
34
36
|
InstanceStore internal _instanceStore;
|
37
|
+
NftId [] internal _products;
|
38
|
+
bool internal _tokenRegistryDisabled;
|
35
39
|
|
36
40
|
modifier onlyChainNft() {
|
37
41
|
if(msg.sender != getRegistry().getChainNftAddress()) {
|
@@ -43,25 +47,26 @@ contract Instance is
|
|
43
47
|
function initialize(
|
44
48
|
InstanceAdmin instanceAdmin,
|
45
49
|
InstanceStore instanceStore,
|
46
|
-
BundleSet
|
50
|
+
BundleSet bundleSet,
|
51
|
+
RiskSet riskSet,
|
47
52
|
InstanceReader instanceReader,
|
48
53
|
IRegistry registry,
|
49
|
-
|
54
|
+
VersionPart release,
|
55
|
+
address initialOwner,
|
56
|
+
bool tokenRegistryDisabled
|
50
57
|
)
|
51
58
|
external
|
52
59
|
initializer()
|
53
60
|
{
|
54
|
-
|
55
|
-
if(_instanceAdmin.authority() == address(0)) {
|
56
|
-
// TODO rename error
|
61
|
+
if(address(instanceAdmin) == address(0)) {
|
57
62
|
revert ErrorInstanceInstanceAdminZero();
|
58
63
|
}
|
59
64
|
|
60
|
-
|
61
|
-
__AccessManaged_init(_instanceAdmin.authority());
|
65
|
+
_instanceAdmin = instanceAdmin;
|
62
66
|
|
63
67
|
// setup instance object info
|
64
|
-
|
68
|
+
__Registerable_init(
|
69
|
+
instanceAdmin.authority(),
|
65
70
|
address(registry),
|
66
71
|
registry.getNftId(),
|
67
72
|
INSTANCE(),
|
@@ -71,27 +76,67 @@ contract Instance is
|
|
71
76
|
|
72
77
|
// store instance supporting contracts
|
73
78
|
_instanceStore = instanceStore;
|
74
|
-
|
79
|
+
_bundleSet = bundleSet;
|
80
|
+
_riskSet = riskSet;
|
75
81
|
_instanceReader = instanceReader;
|
76
82
|
|
77
83
|
// initialize instance supporting contracts
|
78
84
|
_instanceStore.initialize();
|
79
|
-
|
85
|
+
_bundleSet.initialize(instanceAdmin.authority(), address(registry));
|
86
|
+
_riskSet.initialize(instanceAdmin.authority(), address(registry));
|
80
87
|
_instanceReader.initialize();
|
81
88
|
|
89
|
+
_componentService = IComponentService(
|
90
|
+
getRegistry().getServiceAddress(
|
91
|
+
COMPONENT(),
|
92
|
+
release));
|
93
|
+
|
82
94
|
_instanceService = IInstanceService(
|
83
95
|
getRegistry().getServiceAddress(
|
84
96
|
INSTANCE(),
|
85
|
-
|
97
|
+
release));
|
98
|
+
|
99
|
+
_tokenRegistryDisabled = tokenRegistryDisabled;
|
86
100
|
|
87
101
|
_registerInterface(type(IInstance).interfaceId);
|
88
102
|
}
|
89
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);
|
133
|
+
}
|
134
|
+
|
90
135
|
//--- Staking ----------------------------------------------------------//
|
91
136
|
|
92
137
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
93
138
|
external
|
94
|
-
|
139
|
+
restricted()
|
95
140
|
onlyOwner()
|
96
141
|
{
|
97
142
|
_instanceService.setStakingLockingPeriod(stakeLockingPeriod);
|
@@ -99,13 +144,22 @@ contract Instance is
|
|
99
144
|
|
100
145
|
function setStakingRewardRate(UFixed rewardRate)
|
101
146
|
external
|
147
|
+
restricted()
|
102
148
|
onlyOwner()
|
103
149
|
{
|
104
150
|
_instanceService.setStakingRewardRate(rewardRate);
|
105
151
|
}
|
106
152
|
|
153
|
+
function setStakingMaxAmount(Amount maxStakedAmount)
|
154
|
+
external
|
155
|
+
onlyOwner()
|
156
|
+
{
|
157
|
+
_instanceService.setStakingMaxAmount(maxStakedAmount);
|
158
|
+
}
|
159
|
+
|
107
160
|
function refillStakingRewardReserves(Amount dipAmount)
|
108
161
|
external
|
162
|
+
restricted()
|
109
163
|
onlyOwner()
|
110
164
|
{
|
111
165
|
address instanceOwner = msg.sender;
|
@@ -114,6 +168,7 @@ contract Instance is
|
|
114
168
|
|
115
169
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
116
170
|
external
|
171
|
+
restricted()
|
117
172
|
onlyOwner()
|
118
173
|
returns (Amount newBalance)
|
119
174
|
{
|
@@ -124,6 +179,7 @@ contract Instance is
|
|
124
179
|
|
125
180
|
function createRole(string memory roleName, string memory adminName)
|
126
181
|
external
|
182
|
+
restricted()
|
127
183
|
onlyOwner()
|
128
184
|
returns (RoleId roleId, RoleId admin)
|
129
185
|
{
|
@@ -133,6 +189,7 @@ contract Instance is
|
|
133
189
|
|
134
190
|
function grantRole(RoleId roleId, address account)
|
135
191
|
external
|
192
|
+
restricted()
|
136
193
|
onlyOwner()
|
137
194
|
{
|
138
195
|
_instanceAdmin.grantRole(roleId, account);
|
@@ -140,6 +197,7 @@ contract Instance is
|
|
140
197
|
|
141
198
|
function revokeRole(RoleId roleId, address account)
|
142
199
|
external
|
200
|
+
restricted()
|
143
201
|
onlyOwner()
|
144
202
|
{
|
145
203
|
// TODO refactor
|
@@ -148,8 +206,18 @@ contract Instance is
|
|
148
206
|
|
149
207
|
//--- Targets ------------------------------------------------------------//
|
150
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
|
+
|
151
218
|
function createTarget(address target, string memory name)
|
152
219
|
external
|
220
|
+
restricted()
|
153
221
|
onlyOwner()
|
154
222
|
{
|
155
223
|
// TODO refactor
|
@@ -162,29 +230,16 @@ contract Instance is
|
|
162
230
|
RoleId roleId
|
163
231
|
)
|
164
232
|
external
|
233
|
+
restricted()
|
165
234
|
onlyOwner()
|
166
235
|
{
|
167
236
|
// TODO refactor
|
168
237
|
// _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
169
238
|
}
|
170
239
|
|
171
|
-
function setTargetLocked(address target, bool locked)
|
172
|
-
external
|
173
|
-
onlyOwner()
|
174
|
-
{
|
175
|
-
// TODO refactor
|
176
|
-
// _instanceAdmin.setTargetLockedByInstance(target, locked);
|
177
|
-
}
|
178
|
-
|
179
240
|
//--- ITransferInterceptor ----------------------------------------------//
|
180
241
|
|
181
|
-
|
182
|
-
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
183
|
-
// TODO refactor
|
184
|
-
// _instanceAdmin.transferInstanceOwnerRole(address(0), to);
|
185
|
-
}
|
186
|
-
|
187
|
-
function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
|
242
|
+
function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
|
188
243
|
// TODO refactor
|
189
244
|
// _instanceAdmin.transferInstanceOwnerRole(from, to);
|
190
245
|
}
|
@@ -205,12 +260,32 @@ contract Instance is
|
|
205
260
|
|
206
261
|
//--- external view functions -------------------------------------------//
|
207
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
|
+
|
208
279
|
function getInstanceReader() external view returns (InstanceReader) {
|
209
280
|
return _instanceReader;
|
210
281
|
}
|
211
282
|
|
212
283
|
function getBundleSet() external view returns (BundleSet) {
|
213
|
-
return
|
284
|
+
return _bundleSet;
|
285
|
+
}
|
286
|
+
|
287
|
+
function getRiskSet() external view returns (RiskSet) {
|
288
|
+
return _riskSet;
|
214
289
|
}
|
215
290
|
|
216
291
|
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
@@ -221,8 +296,8 @@ contract Instance is
|
|
221
296
|
return _instanceStore;
|
222
297
|
}
|
223
298
|
|
224
|
-
function
|
225
|
-
return
|
299
|
+
function isTokenRegistryDisabled() external view returns (bool) {
|
300
|
+
return _tokenRegistryDisabled;
|
226
301
|
}
|
227
302
|
|
228
303
|
//--- internal view/pure functions --------------------------------------//
|