@etherisc/gif-next 0.0.2-a4051e9-983 → 0.0.2-a4799c5-153
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 +84 -7
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +640 -269
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -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 +409 -33
- 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 +525 -213
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +132 -290
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +64 -163
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +597 -227
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +176 -76
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +44 -125
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +401 -78
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +161 -215
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +380 -45
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +308 -332
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1476 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2336 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +215 -247
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -155
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +278 -223
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +944 -454
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +528 -50
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +397 -17
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +559 -84
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1024 -328
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +393 -52
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1082 -470
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +414 -81
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -52
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +724 -610
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -165
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
- 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 +48 -64
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -101
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +157 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +134 -46
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +106 -163
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +380 -45
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +317 -344
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +125 -93
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +219 -146
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +63 -118
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +380 -214
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +76 -149
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +621 -413
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +168 -68
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +327 -62
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +123 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +199 -213
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +294 -189
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +134 -86
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +268 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +181 -19
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +167 -56
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +175 -171
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +258 -22
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +296 -194
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +150 -78
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +112 -60
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +193 -207
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +338 -87
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +123 -43
- 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 +78 -19
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +116 -57
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +727 -453
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +89 -37
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +99 -39
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +386 -64
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +66 -86
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +298 -515
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +127 -79
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +544 -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 +48 -50
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +178 -338
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -64
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +6 -6
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +139 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +56 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +66 -100
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +6 -6
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +51 -11
- 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 +1446 -154
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +214 -110
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1583 -286
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +140 -69
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +257 -162
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +102 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1632 -818
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
- 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 +11 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +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 +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -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/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
- 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/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +79 -25
- 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/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +429 -245
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +142 -262
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +87 -80
- package/contracts/authorization/IAuthorization.sol +9 -43
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +18 -16
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +43 -81
- package/contracts/distribution/DistributionService.sol +192 -99
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +38 -24
- package/contracts/examples/fire/FirePool.sol +24 -13
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +38 -23
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +464 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +39 -0
- package/contracts/examples/flight/FlightUSD.sol +26 -0
- package/contracts/examples/flight/originalV1.sol +394 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +32 -6
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +132 -46
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +98 -19
- package/contracts/instance/IInstanceService.sol +59 -14
- package/contracts/instance/Instance.sol +175 -60
- package/contracts/instance/InstanceAdmin.sol +271 -165
- package/contracts/instance/InstanceAuthorizationV3.sol +115 -43
- package/contracts/instance/InstanceReader.sol +455 -312
- package/contracts/instance/InstanceService.sol +273 -184
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +6 -8
- 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 +20 -9
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -7
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +2 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +3 -5
- package/contracts/oracle/OracleService.sol +98 -79
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +25 -17
- package/contracts/pool/BasicPoolAuthorization.sol +34 -10
- package/contracts/pool/BundleService.sol +92 -186
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +28 -55
- package/contracts/pool/IPoolComponent.sol +1 -7
- package/contracts/pool/IPoolService.sol +65 -62
- package/contracts/pool/Pool.sol +109 -111
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +299 -229
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +99 -29
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +9 -13
- package/contracts/product/BasicProductAuthorization.sol +32 -11
- package/contracts/product/ClaimService.sol +195 -169
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +28 -3
- package/contracts/product/IClaimService.sol +18 -5
- package/contracts/product/IPolicyService.sol +34 -12
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +25 -10
- package/contracts/product/PolicyService.sol +257 -295
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +55 -46
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +104 -66
- package/contracts/product/RiskService.sol +128 -34
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +25 -24
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/Registry.sol +31 -12
- package/contracts/registry/RegistryAdmin.sol +107 -364
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +4 -4
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +158 -134
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -52
- package/contracts/registry/TokenRegistry.sol +61 -59
- package/contracts/shared/Component.sol +56 -107
- package/contracts/shared/ComponentService.sol +365 -413
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +277 -3
- package/contracts/shared/IComponent.sol +2 -18
- package/contracts/shared/IComponentService.sol +28 -37
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +15 -5
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +8 -27
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +8 -6
- package/contracts/shared/PolicyHolder.sol +4 -3
- package/contracts/shared/Registerable.sol +41 -20
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +271 -72
- package/contracts/staking/IStakingService.sol +45 -75
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +521 -220
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +66 -138
- package/contracts/staking/StakingServiceManager.sol +6 -4
- package/contracts/staking/StakingStore.sol +1093 -330
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +101 -0
- 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 +6 -0
- package/contracts/type/ObjectType.sol +69 -38
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +63 -45
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +14 -8
- package/contracts/type/UFixed.sol +35 -127
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +4 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/ComponentVerifyingService.sol +0 -126
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,11 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {Instance} from "./Instance.sol";
|
7
|
-
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IInstance} from "./IInstance.sol";
|
8
6
|
import {IService} from "../shared/IService.sol";
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
9
9
|
import {NftId} from "../type/NftId.sol";
|
10
10
|
import {ObjectType} from "../type/ObjectType.sol";
|
11
11
|
import {RoleId} from "../type/RoleId.sol";
|
@@ -18,13 +18,14 @@ interface IInstanceService is IService {
|
|
18
18
|
// onlyInstance
|
19
19
|
error ErrorInstanceServiceNotRegistered(address instance);
|
20
20
|
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
21
|
-
error ErrorInstanceServiceInstanceVersionMismatch(
|
21
|
+
error ErrorInstanceServiceInstanceVersionMismatch(NftId instanceNftId, VersionPart expectedRelease, VersionPart instanceRelease);
|
22
22
|
|
23
23
|
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
24
24
|
|
25
25
|
error ErrorInstanceServiceMasterInstanceAlreadySet();
|
26
26
|
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
27
27
|
error ErrorInstanceServiceMasterBundleSetAlreadySet();
|
28
|
+
error ErrorInstanceServiceMasterRiskSetAlreadySet();
|
28
29
|
error ErrorInstanceServiceInstanceAddressZero();
|
29
30
|
|
30
31
|
error ErrorInstanceServiceMasterInstanceReaderNotSet();
|
@@ -36,12 +37,15 @@ interface IInstanceService is IService {
|
|
36
37
|
error ErrorInstanceServiceInstanceAdminZero();
|
37
38
|
error ErrorInstanceServiceInstanceReaderZero();
|
38
39
|
error ErrorInstanceServiceBundleSetZero();
|
40
|
+
error ErrorInstanceServiceRiskSetZero();
|
39
41
|
error ErrorInstanceServiceInstanceStoreZero();
|
40
42
|
|
41
43
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
42
44
|
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
45
|
+
error ErrorInstanceServiceRiskSetAuthorityMismatch();
|
43
46
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
44
|
-
error
|
47
|
+
error ErrorInstanceServiceBundleSetInstanceMismatch();
|
48
|
+
error ErrorInstanceServiceRiskSetInstanceMismatch();
|
45
49
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
46
50
|
|
47
51
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
@@ -50,23 +54,64 @@ interface IInstanceService is IService {
|
|
50
54
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
51
55
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
52
56
|
|
53
|
-
event
|
57
|
+
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
58
|
+
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
59
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
60
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
61
|
+
|
62
|
+
/// @dev Creates a new custom role for the calling instance.
|
63
|
+
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
64
|
+
|
65
|
+
/// @dev Sets the specified custom role as active or inactive for the calling instance.
|
66
|
+
function setRoleActive(RoleId roleId, bool active) external;
|
67
|
+
|
68
|
+
/// @dev Grants the specified custom role to the specified account for the calling instance.
|
69
|
+
function grantRole(RoleId roleId, address account) external;
|
70
|
+
|
71
|
+
/// @dev Revokes the specified custom role from the specified account for the calling instance.
|
72
|
+
function revokeRole(RoleId roleId, address account) external;
|
54
73
|
|
55
|
-
|
74
|
+
/// @dev Creates a new custom target for the calling instance.
|
75
|
+
/// All custom trargets are created with a corresponding contract role.
|
76
|
+
function createTarget(address target, string memory name) external returns (RoleId contractRoleId);
|
77
|
+
|
78
|
+
/// @dev Authorizes the specified functions for the specified target.
|
79
|
+
function authorizeFunctions(address target, RoleId roleId, IAccess.FunctionInfo[] memory functions) external;
|
80
|
+
|
81
|
+
/// @dev Removes any role authorization for the specified functions.
|
82
|
+
function unauthorizeFunctions(address target, IAccess.FunctionInfo[] memory functions) external;
|
83
|
+
|
84
|
+
/// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
|
85
|
+
function setTargetLocked(address target, bool locked) external;
|
86
|
+
|
87
|
+
/// @dev Locks the complete instance, including all its components.
|
88
|
+
function setInstanceLocked(bool locked) external;
|
89
|
+
|
90
|
+
/// @dev Creates a new instance.
|
91
|
+
/// The caller becomes the owner of the new instance.
|
92
|
+
/// Creation of a new instance is achieved by this service through the creation and registration
|
93
|
+
/// of a new clone of the master instance and then setting up the initial wiring and authorization
|
94
|
+
/// of the necessary components.
|
95
|
+
/// @param allowAnyToken specifies whether the new instance is allowed to use any token or
|
96
|
+
/// only tokens that are registered in the `TokenRegistry`. Use of tokens **not** registered in the
|
97
|
+
/// `TokenRegistry` may result in problems with token handline and is therefor not recommended. The
|
98
|
+
/// use of such instances **is not supported** by Etherisc.
|
99
|
+
function createInstance(bool allowAnyToken)
|
56
100
|
external
|
57
101
|
returns (
|
58
|
-
|
59
|
-
Instance clonedInstance,
|
102
|
+
IInstance instance,
|
60
103
|
NftId instanceNftId
|
61
104
|
);
|
62
105
|
|
106
|
+
function upgradeInstanceReader() external;
|
107
|
+
function upgradeMasterInstanceReader(address instanceReaderAddress) external;
|
63
108
|
|
64
109
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
65
110
|
function setStakingRewardRate(UFixed rewardRate) external;
|
66
|
-
function
|
111
|
+
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
67
112
|
|
68
|
-
|
69
|
-
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
113
|
+
function refillInstanceRewardReserves(address rewardProvider, Amount dipAmount) external returns (Amount newBalance);
|
70
114
|
|
71
|
-
|
115
|
+
/// @dev Defunds the staking reward reserves for the specified target.
|
116
|
+
function withdrawInstanceRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
72
117
|
}
|
@@ -1,110 +1,153 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IInstance} from "./IInstance.sol";
|
6
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
7
|
+
import {IInstanceService} from "./IInstanceService.sol";
|
8
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
5
9
|
|
6
10
|
import {Amount} from "../type/Amount.sol";
|
7
11
|
import {BundleSet} from "./BundleSet.sol";
|
12
|
+
import {RiskSet} from "./RiskSet.sol";
|
8
13
|
import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
|
9
|
-
import {IInstance} from "./IInstance.sol";
|
10
|
-
import {IComponentService} from "../shared/IComponentService.sol";
|
11
|
-
import {IInstanceService} from "./IInstanceService.sol";
|
12
14
|
import {InstanceReader} from "./InstanceReader.sol";
|
13
15
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
14
16
|
import {InstanceStore} from "./InstanceStore.sol";
|
15
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
16
17
|
import {NftId} from "../type/NftId.sol";
|
17
18
|
import {Registerable} from "../shared/Registerable.sol";
|
18
19
|
import {RoleId} from "../type/RoleId.sol";
|
19
20
|
import {Seconds} from "../type/Seconds.sol";
|
20
21
|
import {UFixed} from "../type/UFixed.sol";
|
21
|
-
import {VersionPart
|
22
|
+
import {VersionPart} from "../type/Version.sol";
|
22
23
|
|
23
24
|
contract Instance is
|
24
25
|
IInstance,
|
25
|
-
AccessManagedUpgradeable,
|
26
26
|
Registerable
|
27
27
|
{
|
28
28
|
bool private _initialized;
|
29
29
|
|
30
30
|
IComponentService internal _componentService;
|
31
31
|
IInstanceService internal _instanceService;
|
32
|
+
|
32
33
|
InstanceAdmin internal _instanceAdmin;
|
33
34
|
InstanceReader internal _instanceReader;
|
34
|
-
BundleSet internal
|
35
|
+
BundleSet internal _bundleSet;
|
36
|
+
RiskSet internal _riskSet;
|
35
37
|
InstanceStore internal _instanceStore;
|
38
|
+
NftId [] internal _products;
|
39
|
+
bool internal _tokenRegistryDisabled;
|
40
|
+
|
36
41
|
|
37
|
-
modifier
|
38
|
-
if
|
39
|
-
revert();
|
42
|
+
modifier onlyCustomRoleAdmin(RoleId roleId) {
|
43
|
+
if (!_instanceAdmin.isRoleCustom(roleId)) {
|
44
|
+
revert ErrorInstanceNotCustomRole(roleId);
|
45
|
+
}
|
46
|
+
|
47
|
+
// instance owner can always act as role admin
|
48
|
+
address account = msg.sender;
|
49
|
+
if (account != getOwner()) {
|
50
|
+
if (!_instanceAdmin.isRoleAdmin(roleId, account)) {
|
51
|
+
revert ErrorInstanceNotRoleAdmin(roleId, account);
|
52
|
+
}
|
40
53
|
}
|
41
54
|
_;
|
42
55
|
}
|
43
56
|
|
57
|
+
|
44
58
|
function initialize(
|
45
59
|
InstanceAdmin instanceAdmin,
|
46
60
|
InstanceStore instanceStore,
|
47
|
-
BundleSet
|
61
|
+
BundleSet bundleSet,
|
62
|
+
RiskSet riskSet,
|
48
63
|
InstanceReader instanceReader,
|
49
64
|
IRegistry registry,
|
50
|
-
|
65
|
+
VersionPart release,
|
66
|
+
address initialOwner,
|
67
|
+
bool tokenRegistryDisabled // only disable for testing
|
51
68
|
)
|
52
69
|
external
|
53
70
|
initializer()
|
54
71
|
{
|
55
|
-
|
56
|
-
if(_instanceAdmin.authority() == address(0)) {
|
72
|
+
if(address(instanceAdmin) == address(0)) {
|
57
73
|
revert ErrorInstanceInstanceAdminZero();
|
58
74
|
}
|
59
75
|
|
60
|
-
|
61
|
-
__AccessManaged_init(_instanceAdmin.authority());
|
76
|
+
_instanceAdmin = instanceAdmin;
|
62
77
|
|
63
78
|
// setup instance object info
|
64
|
-
|
65
|
-
|
66
|
-
registry
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
79
|
+
__Registerable_init({
|
80
|
+
authority: instanceAdmin.authority(),
|
81
|
+
registry: address(registry),
|
82
|
+
parentNftId: registry.getNftId(),
|
83
|
+
objectType: INSTANCE(),
|
84
|
+
isInterceptor: false,
|
85
|
+
initialOwner: initialOwner,
|
86
|
+
data: ""});
|
71
87
|
|
72
88
|
// store instance supporting contracts
|
73
89
|
_instanceStore = instanceStore;
|
74
|
-
|
90
|
+
_bundleSet = bundleSet;
|
91
|
+
_riskSet = riskSet;
|
75
92
|
_instanceReader = instanceReader;
|
76
93
|
|
77
94
|
// initialize instance supporting contracts
|
78
95
|
_instanceStore.initialize();
|
79
|
-
|
96
|
+
_bundleSet.initialize(instanceAdmin.authority(), address(registry));
|
97
|
+
_riskSet.initialize(instanceAdmin.authority(), address(registry));
|
80
98
|
_instanceReader.initialize();
|
81
99
|
|
82
100
|
_componentService = IComponentService(
|
83
101
|
getRegistry().getServiceAddress(
|
84
102
|
COMPONENT(),
|
85
|
-
|
103
|
+
release));
|
86
104
|
|
87
105
|
_instanceService = IInstanceService(
|
88
106
|
getRegistry().getServiceAddress(
|
89
107
|
INSTANCE(),
|
90
|
-
|
108
|
+
release));
|
109
|
+
|
110
|
+
_tokenRegistryDisabled = tokenRegistryDisabled;
|
91
111
|
|
92
112
|
_registerInterface(type(IInstance).interfaceId);
|
93
113
|
}
|
94
114
|
|
115
|
+
|
116
|
+
function setInstanceLocked(bool locked)
|
117
|
+
external
|
118
|
+
// not restricted(): need to be able to unlock a locked instance
|
119
|
+
onlyOwner()
|
120
|
+
{
|
121
|
+
_instanceService.setInstanceLocked(locked);
|
122
|
+
}
|
123
|
+
|
124
|
+
|
125
|
+
function upgradeInstanceReader()
|
126
|
+
external
|
127
|
+
restricted()
|
128
|
+
onlyOwner()
|
129
|
+
{
|
130
|
+
_instanceService.upgradeInstanceReader();
|
131
|
+
}
|
132
|
+
|
133
|
+
|
95
134
|
//--- ProductRegistration ----------------------------------------------//
|
96
|
-
|
135
|
+
|
136
|
+
function registerProduct(address product, address token)
|
97
137
|
external
|
138
|
+
restricted()
|
98
139
|
onlyOwner()
|
99
140
|
returns (NftId productNftId)
|
100
141
|
{
|
101
|
-
|
142
|
+
productNftId = _componentService.registerProduct(product, token);
|
143
|
+
_products.push(productNftId);
|
102
144
|
}
|
103
145
|
|
104
146
|
//--- Staking ----------------------------------------------------------//
|
105
147
|
|
106
148
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
107
149
|
external
|
150
|
+
restricted()
|
108
151
|
onlyOwner()
|
109
152
|
{
|
110
153
|
_instanceService.setStakingLockingPeriod(stakeLockingPeriod);
|
@@ -112,88 +155,138 @@ contract Instance is
|
|
112
155
|
|
113
156
|
function setStakingRewardRate(UFixed rewardRate)
|
114
157
|
external
|
158
|
+
restricted()
|
115
159
|
onlyOwner()
|
116
160
|
{
|
117
161
|
_instanceService.setStakingRewardRate(rewardRate);
|
118
162
|
}
|
119
163
|
|
164
|
+
function setStakingMaxAmount(Amount maxStakedAmount)
|
165
|
+
external
|
166
|
+
restricted()
|
167
|
+
onlyOwner()
|
168
|
+
{
|
169
|
+
_instanceService.setStakingMaxAmount(maxStakedAmount);
|
170
|
+
}
|
171
|
+
|
120
172
|
function refillStakingRewardReserves(Amount dipAmount)
|
121
173
|
external
|
174
|
+
restricted()
|
122
175
|
onlyOwner()
|
176
|
+
returns (Amount newRewardReserveBalance)
|
123
177
|
{
|
124
178
|
address instanceOwner = msg.sender;
|
125
|
-
_instanceService.
|
179
|
+
return _instanceService.refillInstanceRewardReserves(instanceOwner, dipAmount);
|
126
180
|
}
|
127
181
|
|
128
182
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
129
183
|
external
|
184
|
+
restricted()
|
130
185
|
onlyOwner()
|
131
|
-
returns (Amount
|
186
|
+
returns (Amount newRewardReserveBalance)
|
132
187
|
{
|
133
|
-
return _instanceService.
|
188
|
+
return _instanceService.withdrawInstanceRewardReserves(dipAmount);
|
134
189
|
}
|
135
190
|
|
136
191
|
//--- Roles ------------------------------------------------------------//
|
137
192
|
|
138
|
-
|
193
|
+
/// @inheritdoc IInstance
|
194
|
+
function createRole(
|
195
|
+
string memory roleName,
|
196
|
+
RoleId adminRoleId,
|
197
|
+
uint32 maxMemberCount
|
198
|
+
)
|
139
199
|
external
|
200
|
+
restricted()
|
140
201
|
onlyOwner()
|
141
|
-
returns (RoleId roleId
|
202
|
+
returns (RoleId roleId)
|
203
|
+
{
|
204
|
+
roleId = _instanceService.createRole(roleName, adminRoleId, maxMemberCount);
|
205
|
+
emit LogInstanceCustomRoleCreated(roleId, roleName, adminRoleId, maxMemberCount);
|
206
|
+
}
|
207
|
+
|
208
|
+
|
209
|
+
/// @inheritdoc IInstance
|
210
|
+
function setRoleActive(RoleId roleId, bool active)
|
211
|
+
external
|
212
|
+
restricted()
|
213
|
+
onlyCustomRoleAdmin(roleId)
|
142
214
|
{
|
143
|
-
|
144
|
-
|
215
|
+
_instanceService.setRoleActive(roleId, active);
|
216
|
+
emit LogInstanceCustomRoleActiveSet(roleId, active, msg.sender);
|
145
217
|
}
|
146
218
|
|
219
|
+
|
220
|
+
/// @inheritdoc IInstance
|
147
221
|
function grantRole(RoleId roleId, address account)
|
148
222
|
external
|
149
|
-
|
223
|
+
restricted()
|
224
|
+
onlyCustomRoleAdmin(roleId)
|
150
225
|
{
|
151
|
-
|
226
|
+
_instanceService.grantRole(roleId, account);
|
227
|
+
emit LogInstanceCustomRoleGranted(roleId, account, msg.sender);
|
152
228
|
}
|
153
229
|
|
230
|
+
|
231
|
+
/// @inheritdoc IInstance
|
154
232
|
function revokeRole(RoleId roleId, address account)
|
155
233
|
external
|
156
|
-
|
234
|
+
restricted()
|
235
|
+
onlyCustomRoleAdmin(roleId)
|
157
236
|
{
|
158
|
-
|
159
|
-
|
237
|
+
_instanceService.revokeRole(roleId, account);
|
238
|
+
emit LogInstanceCustomRoleRevoked(roleId, account, msg.sender);
|
160
239
|
}
|
161
240
|
|
162
241
|
//--- Targets ------------------------------------------------------------//
|
163
242
|
|
243
|
+
/// @inheritdoc IInstance
|
164
244
|
function createTarget(address target, string memory name)
|
165
245
|
external
|
246
|
+
restricted()
|
166
247
|
onlyOwner()
|
248
|
+
returns (RoleId targetRoleId)
|
167
249
|
{
|
168
|
-
|
169
|
-
|
250
|
+
targetRoleId = _instanceService.createTarget(target, name);
|
251
|
+
emit LogInstanceCustomTargetCreated(target, targetRoleId, name);
|
170
252
|
}
|
171
253
|
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
RoleId roleId
|
176
|
-
)
|
254
|
+
|
255
|
+
/// @inheritdoc IInstance
|
256
|
+
function setTargetLocked(address target, bool locked)
|
177
257
|
external
|
258
|
+
// not restricted(): instance owner may need to be able to unlock targets on an locked instance
|
178
259
|
onlyOwner()
|
179
260
|
{
|
180
|
-
|
181
|
-
|
261
|
+
_instanceService.setTargetLocked(target, locked);
|
262
|
+
emit LogInstanceTargetLocked(target, locked);
|
182
263
|
}
|
183
264
|
|
184
|
-
|
265
|
+
|
266
|
+
/// @inheritdoc IInstance
|
267
|
+
function authorizeFunctions(
|
268
|
+
address target,
|
269
|
+
RoleId roleId,
|
270
|
+
IAccess.FunctionInfo[] memory functions
|
271
|
+
)
|
185
272
|
external
|
273
|
+
restricted()
|
186
274
|
onlyOwner()
|
187
275
|
{
|
188
|
-
|
189
|
-
// _instanceAdmin.setTargetLockedByInstance(target, locked);
|
276
|
+
_instanceService.authorizeFunctions(target, roleId, functions);
|
190
277
|
}
|
191
278
|
|
192
|
-
//--- ITransferInterceptor ----------------------------------------------//
|
193
279
|
|
194
|
-
|
195
|
-
|
196
|
-
|
280
|
+
/// @inheritdoc IInstance
|
281
|
+
function unauthorizeFunctions(
|
282
|
+
address target,
|
283
|
+
IAccess.FunctionInfo[] memory functions
|
284
|
+
)
|
285
|
+
external
|
286
|
+
restricted()
|
287
|
+
onlyOwner()
|
288
|
+
{
|
289
|
+
_instanceService.unauthorizeFunctions(target, functions);
|
197
290
|
}
|
198
291
|
|
199
292
|
//--- initial setup functions -------------------------------------------//
|
@@ -212,12 +305,32 @@ contract Instance is
|
|
212
305
|
|
213
306
|
//--- external view functions -------------------------------------------//
|
214
307
|
|
308
|
+
function isInstanceLocked() external view returns (bool) {
|
309
|
+
return _instanceAdmin.isLocked();
|
310
|
+
}
|
311
|
+
|
312
|
+
function isTargetLocked(address target) external view returns (bool) {
|
313
|
+
return _instanceAdmin.isTargetLocked(target);
|
314
|
+
}
|
315
|
+
|
316
|
+
function products() external view returns (uint256 productCount) {
|
317
|
+
return _products.length;
|
318
|
+
}
|
319
|
+
|
320
|
+
function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
|
321
|
+
return _products[idx];
|
322
|
+
}
|
323
|
+
|
215
324
|
function getInstanceReader() external view returns (InstanceReader) {
|
216
325
|
return _instanceReader;
|
217
326
|
}
|
218
327
|
|
219
328
|
function getBundleSet() external view returns (BundleSet) {
|
220
|
-
return
|
329
|
+
return _bundleSet;
|
330
|
+
}
|
331
|
+
|
332
|
+
function getRiskSet() external view returns (RiskSet) {
|
333
|
+
return _riskSet;
|
221
334
|
}
|
222
335
|
|
223
336
|
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
@@ -228,5 +341,7 @@ contract Instance is
|
|
228
341
|
return _instanceStore;
|
229
342
|
}
|
230
343
|
|
231
|
-
|
344
|
+
function isTokenRegistryDisabled() external view returns (bool) {
|
345
|
+
return _tokenRegistryDisabled;
|
346
|
+
}
|
232
347
|
}
|