@etherisc/gif-next 0.0.2-7f39e38-904 → 0.0.2-7fe9ae1-227
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 +136 -318
- 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 +810 -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 +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1400 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +146 -617
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +767 -301
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +267 -116
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +152 -283
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +553 -77
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +59 -205
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +614 -92
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +517 -75
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +639 -237
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1711 -755
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +509 -224
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +175 -98
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1482 -1911
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- 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/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +582 -235
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +257 -94
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +398 -49
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +151 -404
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +770 -365
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -692
- 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 +947 -525
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +260 -93
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +382 -166
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +201 -90
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +502 -230
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +229 -110
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +320 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +369 -18
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +436 -101
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +202 -80
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +291 -274
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +295 -150
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +564 -292
- 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 +239 -96
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +262 -299
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +193 -114
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +322 -606
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +402 -79
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +125 -146
- 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 +719 -120
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +174 -274
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +180 -92
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +135 -67
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +92 -287
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +632 -542
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +230 -113
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +99 -104
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +549 -228
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +138 -140
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +42 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +173 -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 +103 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +131 -376
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +45 -55
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +148 -98
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +96 -102
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1558 -246
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +382 -119
- 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 +1734 -561
- 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 +232 -113
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +430 -94
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +442 -305
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +181 -93
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2044 -637
- 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 +253 -68
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +122 -5
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -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 +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
- 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 +47 -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 +153 -4
- 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 +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +121 -23
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +117 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- 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 +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
- 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 +126 -33
- 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 +120 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
- 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 +679 -0
- package/contracts/authorization/AccessAdminLib.sol +678 -0
- package/contracts/authorization/AccessManagerCloneable.sol +140 -0
- package/contracts/authorization/Authorization.sol +190 -0
- package/contracts/authorization/IAccess.sol +66 -0
- package/contracts/authorization/IAccessAdmin.sol +142 -0
- package/contracts/authorization/IAuthorization.sol +26 -0
- package/contracts/authorization/IServiceAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +300 -0
- package/contracts/distribution/BasicDistribution.sol +140 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
- package/contracts/distribution/Distribution.sol +125 -143
- package/contracts/distribution/DistributionService.sol +287 -137
- package/contracts/distribution/DistributionServiceManager.sol +8 -23
- package/contracts/distribution/IDistributionComponent.sol +21 -42
- package/contracts/distribution/IDistributionService.sol +60 -26
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +128 -49
- package/contracts/instance/IInstanceService.sol +82 -46
- package/contracts/instance/Instance.sol +254 -131
- package/contracts/instance/InstanceAdmin.sol +307 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
- package/contracts/instance/InstanceReader.sol +477 -237
- package/contracts/instance/InstanceService.sol +391 -244
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +172 -109
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +15 -12
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +109 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -21
- package/contracts/instance/module/IDistribution.sol +21 -9
- package/contracts/instance/module/IPolicy.sol +50 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +44 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
- package/contracts/oracle/IOracle.sol +41 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +152 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +161 -0
- package/contracts/pool/BasicPoolAuthorization.sol +81 -0
- package/contracts/pool/BundleService.sol +225 -135
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +43 -33
- package/contracts/pool/IPoolComponent.sol +20 -70
- package/contracts/pool/IPoolService.sol +98 -75
- package/contracts/pool/Pool.sol +196 -164
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +444 -254
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +159 -86
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +48 -0
- package/contracts/product/BasicProductAuthorization.sol +63 -0
- package/contracts/product/ClaimService.sol +396 -207
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +29 -3
- package/contracts/product/IClaimService.sol +51 -8
- package/contracts/product/IPolicyService.sol +61 -37
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +29 -9
- package/contracts/product/IRiskService.sol +48 -0
- package/contracts/product/PolicyService.sol +450 -278
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +95 -90
- package/contracts/product/PricingServiceManager.sol +6 -9
- package/contracts/product/Product.sol +261 -147
- package/contracts/product/RiskService.sol +189 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -39
- package/contracts/registry/IRegistry.sol +88 -41
- package/contracts/registry/IRegistryService.sol +4 -10
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +389 -231
- package/contracts/registry/RegistryAdmin.sol +173 -0
- package/contracts/registry/RegistryAuthorization.sol +337 -0
- package/contracts/registry/RegistryService.sol +50 -75
- package/contracts/registry/RegistryServiceManager.sol +5 -24
- package/contracts/registry/ReleaseAdmin.sol +199 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +525 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
- package/contracts/registry/TokenRegistry.sol +73 -110
- package/contracts/shared/Component.sol +72 -148
- package/contracts/shared/ComponentService.sol +466 -370
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ContractLib.sol +312 -0
- package/contracts/shared/IComponent.sol +7 -23
- package/contracts/shared/IComponentService.sol +51 -31
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
- package/contracts/shared/ILifecycle.sol +3 -2
- package/contracts/shared/INftOwnable.sol +5 -1
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IService.sol +10 -5
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
- package/contracts/shared/InstanceLinkedComponent.sol +96 -49
- package/contracts/shared/Lifecycle.sol +30 -63
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +35 -24
- package/contracts/shared/PolicyHolder.sol +19 -57
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +31 -41
- package/contracts/shared/TokenHandler.sol +310 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +284 -70
- package/contracts/staking/IStakingService.sol +59 -94
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +558 -263
- package/contracts/staking/StakingLib.sol +195 -0
- package/contracts/staking/StakingManager.sol +20 -32
- package/contracts/staking/StakingReader.sol +84 -60
- package/contracts/staking/StakingService.sol +108 -162
- package/contracts/staking/StakingServiceManager.sol +10 -8
- package/contracts/staking/StakingStore.sol +1222 -183
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +95 -40
- package/contracts/type/Amount.sol +43 -3
- package/contracts/type/Blocknumber.sol +24 -23
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +15 -8
- package/contracts/type/ObjectType.sol +203 -65
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +121 -84
- package/contracts/type/Seconds.sol +50 -1
- package/contracts/type/Selector.sol +107 -0
- package/contracts/type/StateId.sol +27 -1
- package/contracts/type/String.sol +65 -0
- package/contracts/type/Timestamp.sol +20 -9
- package/contracts/type/UFixed.sol +62 -125
- package/contracts/type/Version.sol +57 -6
- package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
- package/contracts/{shared → upgradeability}/ProxyManager.sol +102 -51
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
- package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
- package/package.json +12 -8
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -381
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -673
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -675
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -322
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1151
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -581
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -598
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.json +0 -37
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +0 -4
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +0 -357
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -402
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
- package/contracts/instance/base/ObjectManager.sol +0 -82
- package/contracts/instance/module/IAccess.sol +0 -54
- package/contracts/product/IProductService.sol +0 -33
- package/contracts/product/ProductService.sol +0 -124
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/RegistryAccessManager.sol +0 -196
- package/contracts/registry/ReleaseManager.sol +0 -563
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/shared/ComponentVerifyingService.sol +0 -111
- package/contracts/shared/IKeyValueStore.sol +0 -53
- package/contracts/shared/KeyValueStore.sol +0 -130
- package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
- package/contracts/staking/IStakingManager.sol +0 -15
- package/contracts/staking/IStakingStore.sol +0 -130
- package/contracts/staking/StakeManagerLib.sol +0 -156
@@ -1,173 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {
|
5
|
-
RoleId,
|
6
|
-
PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE,
|
7
|
-
APPLICATION_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, INSTANCE_SERVICE_ROLE, POLICY_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, STAKING_SERVICE_ROLE
|
8
|
-
} from "../../contracts/type/RoleId.sol";
|
9
|
-
|
10
|
-
import {
|
11
|
-
ObjectType,
|
12
|
-
REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE
|
13
|
-
} from "../../contracts/type/ObjectType.sol";
|
14
|
-
|
15
|
-
import {ComponentService} from "../shared/ComponentService.sol";
|
16
|
-
import {InstanceService} from "../instance/InstanceService.sol";
|
17
|
-
import {RegistryService} from "./RegistryService.sol";
|
18
|
-
|
19
|
-
library ServiceAuthorizationsLib {
|
20
|
-
|
21
|
-
struct ServiceAuthorization {
|
22
|
-
RoleId[] authorizedRole;
|
23
|
-
bytes4[][] authorizedSelectors;
|
24
|
-
}
|
25
|
-
|
26
|
-
/// @dev returns the full list of gif service domains for this release.
|
27
|
-
/// services need to be registered for the release in revers order of this list.
|
28
|
-
function getDomains()
|
29
|
-
external
|
30
|
-
pure
|
31
|
-
returns(
|
32
|
-
ObjectType[] memory domain
|
33
|
-
)
|
34
|
-
{
|
35
|
-
domain = new ObjectType[](11);
|
36
|
-
domain[0] = POLICY();
|
37
|
-
domain[1] = APPLICATION();
|
38
|
-
domain[2] = CLAIM();
|
39
|
-
domain[3] = PRODUCT();
|
40
|
-
domain[4] = POOL();
|
41
|
-
domain[5] = BUNDLE();
|
42
|
-
domain[6] = PRICE();
|
43
|
-
domain[7] = DISTRIBUTION();
|
44
|
-
domain[8] = COMPONENT();
|
45
|
-
domain[9] = INSTANCE();
|
46
|
-
domain[10] = STAKING();
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
/// @dev given the target domain this function returns the list of authorized function signatures per authorized domain.
|
51
|
-
function getAuthorizations(ObjectType domain)
|
52
|
-
external
|
53
|
-
pure
|
54
|
-
returns(
|
55
|
-
ServiceAuthorization memory authorizations
|
56
|
-
)
|
57
|
-
{
|
58
|
-
if(domain == REGISTRY()) { return _getRegistryServiceAuthorization(); }
|
59
|
-
if(domain == INSTANCE()) { return _getInstanceServiceAuthorization(); }
|
60
|
-
if(domain == COMPONENT()) { return _getComponentServiceAuthorization(); }
|
61
|
-
|
62
|
-
// disallows access to all functions with a restricted modifier
|
63
|
-
return _getDefaultAuthorizations();
|
64
|
-
}
|
65
|
-
|
66
|
-
|
67
|
-
/// @dev registry service authorization.
|
68
|
-
/// returns all authorized function signatures per authorized domain.
|
69
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
70
|
-
function _getRegistryServiceAuthorization()
|
71
|
-
internal
|
72
|
-
pure
|
73
|
-
returns (ServiceAuthorization memory authz)
|
74
|
-
{
|
75
|
-
uint8 authorizedRoles = 8;
|
76
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
77
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
78
|
-
|
79
|
-
// TODO role ids need to have a stable setup, this is not the case currently
|
80
|
-
authz.authorizedRole[0] = APPLICATION_SERVICE_ROLE();
|
81
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
82
|
-
authz.authorizedSelectors[0][0] = RegistryService.registerPolicy.selector;
|
83
|
-
|
84
|
-
authz.authorizedRole[1] = POOL_SERVICE_ROLE();
|
85
|
-
authz.authorizedSelectors[1] = new bytes4[](1);
|
86
|
-
authz.authorizedSelectors[1][0] = RegistryService.registerPool.selector;
|
87
|
-
|
88
|
-
authz.authorizedRole[2] = BUNDLE_SERVICE_ROLE();
|
89
|
-
authz.authorizedSelectors[2] = new bytes4[](1);
|
90
|
-
authz.authorizedSelectors[2][0] = RegistryService.registerBundle.selector;
|
91
|
-
|
92
|
-
authz.authorizedRole[3] = DISTRIBUTION_SERVICE_ROLE();
|
93
|
-
authz.authorizedSelectors[3] = new bytes4[](2);
|
94
|
-
authz.authorizedSelectors[3][0] = RegistryService.registerDistribution.selector;
|
95
|
-
authz.authorizedSelectors[3][1] = RegistryService.registerDistributor.selector;
|
96
|
-
|
97
|
-
authz.authorizedRole[4] = COMPONENT_SERVICE_ROLE();
|
98
|
-
authz.authorizedSelectors[4] = new bytes4[](1);
|
99
|
-
authz.authorizedSelectors[4][0] = RegistryService.registerComponent.selector;
|
100
|
-
|
101
|
-
authz.authorizedRole[5] = INSTANCE_SERVICE_ROLE();
|
102
|
-
authz.authorizedSelectors[5] = new bytes4[](1);
|
103
|
-
authz.authorizedSelectors[5][0] = RegistryService.registerInstance.selector;
|
104
|
-
|
105
|
-
authz.authorizedRole[6] = STAKING_SERVICE_ROLE();
|
106
|
-
authz.authorizedSelectors[6] = new bytes4[](1);
|
107
|
-
authz.authorizedSelectors[6][0] = RegistryService.registerStaking.selector;
|
108
|
-
|
109
|
-
authz.authorizedRole[7] = PRODUCT_SERVICE_ROLE();
|
110
|
-
authz.authorizedSelectors[7] = new bytes4[](1);
|
111
|
-
authz.authorizedSelectors[7][0] = RegistryService.registerProduct.selector;
|
112
|
-
}
|
113
|
-
|
114
|
-
|
115
|
-
/// @dev instance service authorization.
|
116
|
-
/// returns all authorized function signatures per authorized domain.
|
117
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
118
|
-
function _getInstanceServiceAuthorization()
|
119
|
-
internal
|
120
|
-
pure
|
121
|
-
returns (ServiceAuthorization memory authz)
|
122
|
-
{
|
123
|
-
uint8 authorizedRoles = 1;
|
124
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
125
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
126
|
-
|
127
|
-
authz.authorizedRole[0] = COMPONENT_SERVICE_ROLE();
|
128
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
129
|
-
authz.authorizedSelectors[0][0] = InstanceService.createComponentTarget.selector;
|
130
|
-
}
|
131
|
-
|
132
|
-
|
133
|
-
/// @dev component service authorization.
|
134
|
-
/// returns all authorized function signatures per authorized domain.
|
135
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
136
|
-
function _getComponentServiceAuthorization()
|
137
|
-
internal
|
138
|
-
pure
|
139
|
-
returns (ServiceAuthorization memory authz)
|
140
|
-
{
|
141
|
-
uint8 authorizedRoles = 4;
|
142
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
143
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
144
|
-
|
145
|
-
authz.authorizedRole[0] = POLICY_SERVICE_ROLE();
|
146
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
147
|
-
authz.authorizedSelectors[0][0] = ComponentService.increaseProductFees.selector;
|
148
|
-
|
149
|
-
authz.authorizedRole[1] = DISTRIBUTION_SERVICE_ROLE();
|
150
|
-
authz.authorizedSelectors[1] = new bytes4[](1);
|
151
|
-
authz.authorizedSelectors[1][0] = ComponentService.increaseDistributionBalance.selector;
|
152
|
-
|
153
|
-
authz.authorizedRole[2] = POOL_SERVICE_ROLE();
|
154
|
-
authz.authorizedSelectors[2] = new bytes4[](1);
|
155
|
-
authz.authorizedSelectors[2][0] = ComponentService.increasePoolBalance.selector;
|
156
|
-
|
157
|
-
authz.authorizedRole[3] = BUNDLE_SERVICE_ROLE();
|
158
|
-
authz.authorizedSelectors[3] = new bytes4[](1);
|
159
|
-
authz.authorizedSelectors[3][0] = ComponentService.increaseBundleBalance.selector;
|
160
|
-
}
|
161
|
-
|
162
|
-
|
163
|
-
function _getDefaultAuthorizations()
|
164
|
-
internal
|
165
|
-
pure
|
166
|
-
returns (ServiceAuthorization memory authz)
|
167
|
-
{
|
168
|
-
uint8 authorizedRoles = 0;
|
169
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
170
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
171
|
-
}
|
172
|
-
}
|
173
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
|
-
|
6
|
-
|
7
|
-
contract AccessManagerUpgradeableInitializeable is AccessManagerUpgradeable {
|
8
|
-
|
9
|
-
function initialize(address initialAdmin) initializer public {
|
10
|
-
__AccessManager_init(initialAdmin);
|
11
|
-
}
|
12
|
-
|
13
|
-
}
|
@@ -1,111 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {IInstance} from "../instance/IInstance.sol";
|
5
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
6
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
-
import {NftId} from "../type/NftId.sol";
|
8
|
-
import {ObjectType, COMPONENT, DISTRIBUTION, ORACLE, POOL, PRODUCT} from "../type/ObjectType.sol";
|
9
|
-
import {Service} from "../shared/Service.sol";
|
10
|
-
|
11
|
-
|
12
|
-
abstract contract ComponentVerifyingService is
|
13
|
-
Service
|
14
|
-
{
|
15
|
-
|
16
|
-
error ErrorComponentVerifyingServiceComponentTypeInvalid(NftId componentNftId, ObjectType expectedType, ObjectType actualType);
|
17
|
-
error ErrorComponentVerifyingServiceComponentIsLocked(NftId componentNftId);
|
18
|
-
|
19
|
-
/// @dev based on the sender address returns the corresponding components nft id, info and instance.
|
20
|
-
/// the function reverts iff:
|
21
|
-
/// - there is no such component
|
22
|
-
/// - the component has the wrong object type
|
23
|
-
/// - the component is locked
|
24
|
-
function _getAndVerifyActiveComponent(
|
25
|
-
ObjectType expectedType // assume always of `component` type
|
26
|
-
)
|
27
|
-
internal
|
28
|
-
view
|
29
|
-
returns(
|
30
|
-
NftId componentNftId,
|
31
|
-
IRegistry.ObjectInfo memory componentInfo,
|
32
|
-
IInstance instance
|
33
|
-
)
|
34
|
-
{
|
35
|
-
componentNftId = getRegistry().getNftId(msg.sender);
|
36
|
-
(componentInfo, instance) = _getAndVerifyComponentInfo(componentNftId, expectedType);
|
37
|
-
|
38
|
-
// ensure component is not locked
|
39
|
-
if (instance.getInstanceAccessManager().isTargetLocked(componentInfo.objectAddress)) {
|
40
|
-
revert ErrorComponentVerifyingServiceComponentIsLocked(componentNftId);
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
|
45
|
-
/// @dev returns the component info and instance contract reference given a component nft id
|
46
|
-
/// the function reverts iff:
|
47
|
-
/// - there is no such component
|
48
|
-
/// - the component has the wrong object type
|
49
|
-
function _getAndVerifyComponentInfo(
|
50
|
-
NftId componentNftId,
|
51
|
-
ObjectType expectedType // assume always of `component` type
|
52
|
-
)
|
53
|
-
internal
|
54
|
-
virtual
|
55
|
-
view
|
56
|
-
returns(
|
57
|
-
IRegistry.ObjectInfo memory info,
|
58
|
-
IInstance instance
|
59
|
-
)
|
60
|
-
{
|
61
|
-
IRegistry registry = getRegistry();
|
62
|
-
info = registry.getObjectInfo(componentNftId);
|
63
|
-
|
64
|
-
// if not COMPONENT require exact match
|
65
|
-
if(expectedType != COMPONENT()) {
|
66
|
-
// ensure component is of expected type
|
67
|
-
if(info.objectType != expectedType) {
|
68
|
-
revert ErrorComponentVerifyingServiceComponentTypeInvalid(
|
69
|
-
componentNftId,
|
70
|
-
expectedType,
|
71
|
-
info.objectType);
|
72
|
-
}
|
73
|
-
} else {
|
74
|
-
if(!(info.objectType == PRODUCT()
|
75
|
-
|| info.objectType == POOL()
|
76
|
-
|| info.objectType == DISTRIBUTION()
|
77
|
-
|| info.objectType == ORACLE()
|
78
|
-
))
|
79
|
-
{
|
80
|
-
revert ErrorComponentVerifyingServiceComponentTypeInvalid(
|
81
|
-
componentNftId,
|
82
|
-
expectedType,
|
83
|
-
info.objectType);
|
84
|
-
}
|
85
|
-
}
|
86
|
-
|
87
|
-
instance = _getInstance(info.parentNftId);
|
88
|
-
}
|
89
|
-
|
90
|
-
|
91
|
-
/// @dev returns the linked product nft id for the specified component
|
92
|
-
function _getProductNftId(
|
93
|
-
InstanceReader instanceReader,
|
94
|
-
NftId componentNftId
|
95
|
-
)
|
96
|
-
internal
|
97
|
-
virtual
|
98
|
-
view
|
99
|
-
returns (NftId productNftId)
|
100
|
-
{
|
101
|
-
return instanceReader.getComponentInfo(componentNftId).productNftId;
|
102
|
-
}
|
103
|
-
|
104
|
-
|
105
|
-
/// @dev returns an IInstance contract reference for the specified instance nft id
|
106
|
-
function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
|
107
|
-
return IInstance(
|
108
|
-
getRegistry().getObjectInfo(
|
109
|
-
instanceNftId).objectAddress);
|
110
|
-
}
|
111
|
-
}
|
@@ -1,53 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../type/Blocknumber.sol";
|
5
|
-
import {Key32, KeyId} from "../type/Key32.sol";
|
6
|
-
import {NftId} from "../type/NftId.sol";
|
7
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
8
|
-
import {StateId} from "../type/StateId.sol";
|
9
|
-
|
10
|
-
import {ILifecycle} from "./ILifecycle.sol";
|
11
|
-
|
12
|
-
interface IKeyValueStore is ILifecycle {
|
13
|
-
|
14
|
-
error ErrorKeyValueStoreTypeUndefined(ObjectType objectType);
|
15
|
-
error ErrorKeyValueStoreAlreadyCreated(Key32 key, ObjectType objectType);
|
16
|
-
error ErrorKeyValueStoreStateZero(Key32 key);
|
17
|
-
error ErrorKeyValueStoreNotExisting(Key32 key);
|
18
|
-
|
19
|
-
event LogInfoCreated(ObjectType objectType, KeyId keyId, StateId state, address createdBy, address txOrigin);
|
20
|
-
event LogInfoUpdated(ObjectType objectType, KeyId keyId, StateId state, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
21
|
-
event LogStateUpdated(ObjectType objectType, KeyId keyId, StateId stateOld, StateId stateNew, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
22
|
-
|
23
|
-
struct Value {
|
24
|
-
Metadata metadata;
|
25
|
-
bytes data;
|
26
|
-
}
|
27
|
-
|
28
|
-
struct Metadata {
|
29
|
-
ObjectType objectType;
|
30
|
-
StateId state;
|
31
|
-
// TODO updatedBy needs concept that says what value should go here
|
32
|
-
// eg account outside gif objects that initiated the tx
|
33
|
-
// implies the caller needs to be propagated through all calls up to key values store itself
|
34
|
-
// to always have the instance address there doesn't seem to make sense
|
35
|
-
address updatedBy;
|
36
|
-
Blocknumber updatedIn;
|
37
|
-
Blocknumber createdIn;
|
38
|
-
}
|
39
|
-
|
40
|
-
// generic state changing functions
|
41
|
-
// function create(Key32 key, bytes memory data) external;
|
42
|
-
// function update(Key32 key, bytes memory data, StateId state) external;
|
43
|
-
// function updateData(Key32 key, bytes memory data) external;
|
44
|
-
// function updateState(Key32 key, StateId state) external;
|
45
|
-
|
46
|
-
function exists(Key32 key) external view returns (bool);
|
47
|
-
function get(Key32 key) external view returns (Value memory value);
|
48
|
-
function getData(Key32 key) external view returns (bytes memory data);
|
49
|
-
function getMetadata(Key32 key) external view returns (Metadata memory metadata);
|
50
|
-
function getState(Key32 key) external view returns (StateId state);
|
51
|
-
|
52
|
-
function toKey32(ObjectType objectType, KeyId id) external pure returns(Key32);
|
53
|
-
}
|
@@ -1,130 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../type/Blocknumber.sol";
|
5
|
-
import {Key32, KeyId, Key32Lib} from "../type/Key32.sol";
|
6
|
-
import {NftId} from "../type/NftId.sol";
|
7
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
8
|
-
import {StateId, ACTIVE, KEEP_STATE} from "../type/StateId.sol";
|
9
|
-
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
10
|
-
|
11
|
-
import {Lifecycle} from "./Lifecycle.sol";
|
12
|
-
import {IKeyValueStore} from "./IKeyValueStore.sol";
|
13
|
-
|
14
|
-
contract KeyValueStore is
|
15
|
-
Lifecycle,
|
16
|
-
IKeyValueStore
|
17
|
-
{
|
18
|
-
|
19
|
-
mapping(Key32 key32 => Value value) private _value;
|
20
|
-
|
21
|
-
function _create(
|
22
|
-
Key32 key32,
|
23
|
-
bytes memory data
|
24
|
-
)
|
25
|
-
internal
|
26
|
-
{
|
27
|
-
ObjectType objectType = key32.toObjectType();
|
28
|
-
if (objectType.eqz()) {
|
29
|
-
revert ErrorKeyValueStoreTypeUndefined(objectType);
|
30
|
-
}
|
31
|
-
|
32
|
-
Metadata storage metadata = _value[key32].metadata;
|
33
|
-
if (metadata.state.gtz()) {
|
34
|
-
revert ErrorKeyValueStoreAlreadyCreated(key32, objectType);
|
35
|
-
}
|
36
|
-
|
37
|
-
address createdBy = msg.sender;
|
38
|
-
Blocknumber blocknumber = blockBlocknumber();
|
39
|
-
StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
|
40
|
-
|
41
|
-
// set metadata
|
42
|
-
metadata.objectType = objectType;
|
43
|
-
metadata.state = initialState;
|
44
|
-
metadata.updatedBy = createdBy;
|
45
|
-
metadata.updatedIn = blocknumber;
|
46
|
-
metadata.createdIn = blocknumber;
|
47
|
-
|
48
|
-
// set data
|
49
|
-
_value[key32].data = data;
|
50
|
-
|
51
|
-
// solhint-disable-next-line avoid-tx-origin
|
52
|
-
emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
|
53
|
-
}
|
54
|
-
|
55
|
-
|
56
|
-
function _update(
|
57
|
-
Key32 key32,
|
58
|
-
bytes memory data,
|
59
|
-
StateId state
|
60
|
-
)
|
61
|
-
internal
|
62
|
-
{
|
63
|
-
// update state
|
64
|
-
Blocknumber lastUpdatedIn = _updateState(key32, state);
|
65
|
-
|
66
|
-
// update data
|
67
|
-
_value[key32].data = data;
|
68
|
-
|
69
|
-
// solhint-disable-next-line avoid-tx-origin
|
70
|
-
emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, msg.sender, tx.origin, lastUpdatedIn);
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
function _updateState(
|
75
|
-
Key32 key32,
|
76
|
-
StateId state
|
77
|
-
)
|
78
|
-
internal
|
79
|
-
returns (Blocknumber lastUpdatedIn)
|
80
|
-
{
|
81
|
-
if (state.eqz()) {
|
82
|
-
revert ErrorKeyValueStoreStateZero(key32);
|
83
|
-
}
|
84
|
-
|
85
|
-
Metadata storage metadata = _value[key32].metadata;
|
86
|
-
StateId stateOld = metadata.state;
|
87
|
-
lastUpdatedIn = metadata.updatedIn;
|
88
|
-
|
89
|
-
if (stateOld.eqz()) {
|
90
|
-
revert ErrorKeyValueStoreNotExisting(key32);
|
91
|
-
}
|
92
|
-
|
93
|
-
// update state
|
94
|
-
if(state != KEEP_STATE()) {
|
95
|
-
checkTransition(metadata.objectType, stateOld, state);
|
96
|
-
metadata.state = state;
|
97
|
-
|
98
|
-
// solhint-disable-next-line avoid-tx-origin
|
99
|
-
emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), stateOld, state, msg.sender, tx.origin, lastUpdatedIn);
|
100
|
-
}
|
101
|
-
|
102
|
-
// update metadata
|
103
|
-
metadata.updatedBy = msg.sender;
|
104
|
-
metadata.updatedIn = blockBlocknumber();
|
105
|
-
}
|
106
|
-
|
107
|
-
function exists(Key32 key32) public view returns (bool) {
|
108
|
-
return _value[key32].metadata.state.gtz();
|
109
|
-
}
|
110
|
-
|
111
|
-
function get(Key32 key32) public view returns (Value memory value) {
|
112
|
-
return _value[key32];
|
113
|
-
}
|
114
|
-
|
115
|
-
function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
|
116
|
-
return _value[key32].metadata;
|
117
|
-
}
|
118
|
-
|
119
|
-
function getData(Key32 key32) public view returns (bytes memory data) {
|
120
|
-
return _value[key32].data;
|
121
|
-
}
|
122
|
-
|
123
|
-
function getState(Key32 key32) public view returns (StateId state) {
|
124
|
-
return _value[key32].metadata.state;
|
125
|
-
}
|
126
|
-
|
127
|
-
function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
|
128
|
-
return Key32Lib.toKey32(objectType, id);
|
129
|
-
}
|
130
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
|
5
|
-
import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
|
6
|
-
|
7
|
-
import {IVersionable} from "./IVersionable.sol";
|
8
|
-
|
9
|
-
contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
|
10
|
-
|
11
|
-
constructor(address implementation, address initialProxyAdminOwner, bytes memory data)
|
12
|
-
TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
|
13
|
-
{}
|
14
|
-
|
15
|
-
function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
|
16
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
interface IStakingManager {
|
5
|
-
|
6
|
-
/// @dev initializes staking manager with authority of registry access manager.
|
7
|
-
function initialize(
|
8
|
-
address authority
|
9
|
-
)
|
10
|
-
external;
|
11
|
-
|
12
|
-
|
13
|
-
function getStakingAddress() external view returns (address staking);
|
14
|
-
|
15
|
-
}
|
@@ -1,130 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
5
|
-
|
6
|
-
import {Amount, AmountLib} from "../type/Amount.sol";
|
7
|
-
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
8
|
-
import {ChainNft} from "../registry/ChainNft.sol";
|
9
|
-
import {Component} from "../shared/Component.sol";
|
10
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
11
|
-
import {IRegistryService} from "../registry/IRegistryService.sol";
|
12
|
-
import {IStaking} from "./IStaking.sol";
|
13
|
-
import {IVersionable} from "../shared/IVersionable.sol";
|
14
|
-
import {Key32} from "../type/Key32.sol";
|
15
|
-
import {KeyValueStore} from "../shared/KeyValueStore.sol";
|
16
|
-
import {KEEP_STATE} from "../type/StateId.sol";
|
17
|
-
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
18
|
-
import {NftId, NftIdLib} from "../type/NftId.sol";
|
19
|
-
import {NftIdSetManager} from "../shared/NftIdSetManager.sol";
|
20
|
-
import {ObjectType, INSTANCE, PROTOCOL, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
|
21
|
-
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
22
|
-
import {StakingReader} from "./StakingReader.sol";
|
23
|
-
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
24
|
-
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
25
|
-
import {TokenRegistry} from "../registry/TokenRegistry.sol";
|
26
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
27
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
28
|
-
import {Versionable} from "../shared/Versionable.sol";
|
29
|
-
|
30
|
-
|
31
|
-
interface IStakingStore {
|
32
|
-
|
33
|
-
// event LogStakingStoreStakesIncreased(NftId nftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
34
|
-
// event LogStakingStoreStakesDecreased(NftId nftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
35
|
-
|
36
|
-
// event LogStakingStoreRewardsIncreased(NftId nftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
37
|
-
// event LogStakingStoreRewardsDecreased(NftId nftId, Amount addedAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
38
|
-
|
39
|
-
// event LogStakingStoreRewardsRestaked(NftId nftId, Amount amount, Amount rewardAmount, Amount rewardIncrementAmount, Amount newBalance, Blocknumber lastUpdatedIn);
|
40
|
-
|
41
|
-
// // creating and updating of balance
|
42
|
-
// error ErrorStakingStoreBalanceAlreadyInitialized(NftId nftId);
|
43
|
-
// error ErrorStakingStoreBalanceNotInitialized(NftId nftId);
|
44
|
-
|
45
|
-
//--- target specific functions ------------------------------------//
|
46
|
-
|
47
|
-
function createTarget(
|
48
|
-
NftId targetNftId,
|
49
|
-
IStaking.TargetInfo memory targetInfo
|
50
|
-
)
|
51
|
-
external;
|
52
|
-
|
53
|
-
|
54
|
-
function updateTarget(
|
55
|
-
NftId targetNftId,
|
56
|
-
IStaking.TargetInfo memory targetInfo
|
57
|
-
)
|
58
|
-
external;
|
59
|
-
|
60
|
-
//--- stake specific functions -------------------------------------//
|
61
|
-
|
62
|
-
function create(
|
63
|
-
NftId stakeNftId,
|
64
|
-
IStaking.StakeInfo memory stakeInfo,
|
65
|
-
Amount stakeAmount
|
66
|
-
)
|
67
|
-
external;
|
68
|
-
|
69
|
-
function update(
|
70
|
-
NftId stakeNftId,
|
71
|
-
IStaking.StakeInfo memory stakeInfo
|
72
|
-
)
|
73
|
-
external;
|
74
|
-
|
75
|
-
//--- general functions --------------------------------------------//
|
76
|
-
|
77
|
-
|
78
|
-
function increaseBalance(NftId nftId, Amount amount, Amount rewardIncrementAmount)
|
79
|
-
external;
|
80
|
-
|
81
|
-
|
82
|
-
function restakeRewards(
|
83
|
-
NftId nftId,
|
84
|
-
Amount rewardIncrementAmount
|
85
|
-
)
|
86
|
-
external;
|
87
|
-
|
88
|
-
|
89
|
-
function updateRewards(
|
90
|
-
NftId nftId,
|
91
|
-
Amount rewardIncrementAmount
|
92
|
-
)
|
93
|
-
external;
|
94
|
-
|
95
|
-
|
96
|
-
function claimUpTo(
|
97
|
-
NftId nftId,
|
98
|
-
Amount maxRewardAmount
|
99
|
-
)
|
100
|
-
external
|
101
|
-
returns (Amount rewardsClaimedAmount);
|
102
|
-
|
103
|
-
|
104
|
-
function unstakeUpTo(
|
105
|
-
NftId nftId,
|
106
|
-
Amount maxUnstakeAmount,
|
107
|
-
Amount maxClaimAmount
|
108
|
-
)
|
109
|
-
external
|
110
|
-
returns (
|
111
|
-
Amount unstakedAmount,
|
112
|
-
Amount claimedAmount
|
113
|
-
);
|
114
|
-
|
115
|
-
//--- view functions -----------------------------------------------//
|
116
|
-
|
117
|
-
function getTargetManager() external view returns (NftIdSetManager targetManager);
|
118
|
-
|
119
|
-
function getStakeBalance(NftId nftId) external view returns (Amount balanceAmount);
|
120
|
-
function getRewardBalance(NftId nftId) external view returns (Amount rewardAmount);
|
121
|
-
function getBalanceUpdatedAt(NftId nftId) external view returns (Timestamp updatedAt);
|
122
|
-
|
123
|
-
function getBalanceAndLastUpdatedAt(NftId nftId)
|
124
|
-
external
|
125
|
-
view
|
126
|
-
returns (
|
127
|
-
Amount stakeBalance,
|
128
|
-
Timestamp lastUpdatedAt
|
129
|
-
);
|
130
|
-
}
|