@etherisc/gif-next 0.0.2-bad23b9-954 → 0.0.2-bad547c-946
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 +75 -9
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1379 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -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/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +533 -596
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +144 -544
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +419 -259
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -108
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +201 -261
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +256 -62
- 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 +1475 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -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 +1479 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- 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/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +188 -107
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +226 -117
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +208 -236
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1462 -241
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1044 -316
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +247 -275
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +105 -95
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +614 -538
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- 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 +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 +959 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +141 -126
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +81 -10
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -398
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +177 -177
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -83
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +350 -194
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +148 -94
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +218 -28
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +476 -311
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +660 -518
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +163 -93
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +151 -172
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +96 -90
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +438 -220
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +148 -110
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +106 -8
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +320 -15
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +377 -103
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +148 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +260 -237
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +69 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +480 -293
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +148 -94
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +239 -292
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +258 -536
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -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 +359 -55
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +84 -151
- 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 +589 -116
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1677 -156
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +132 -278
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +101 -75
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -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 +1333 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +583 -502
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +138 -110
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +63 -104
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -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 +89 -88
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +554 -218
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
- 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 +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +67 -1
- 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 +112 -351
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
- 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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +63 -104
- 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 +137 -139
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +178 -22
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +97 -101
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -409
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -109
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -63
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +220 -182
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +99 -89
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +241 -147
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
- 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 +61 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- 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 +17 -12
- 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 +136 -2
- 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 +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +283 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +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 +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- 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 +66 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +689 -0
- package/contracts/authorization/AccessManagerCloneable.sol +149 -0
- package/contracts/authorization/Authorization.sol +337 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +143 -0
- package/contracts/authorization/IAuthorization.sol +74 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +141 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
- package/contracts/distribution/Distribution.sol +153 -125
- package/contracts/distribution/DistributionService.sol +175 -115
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +26 -40
- package/contracts/distribution/IDistributionService.sol +42 -22
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +90 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +438 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +34 -46
- package/contracts/instance/IInstanceService.sol +31 -40
- package/contracts/instance/Instance.sol +143 -132
- package/contracts/instance/InstanceAdmin.sol +346 -240
- package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
- package/contracts/instance/InstanceReader.sol +295 -48
- package/contracts/instance/InstanceService.sol +210 -168
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +35 -18
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +113 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +14 -15
- package/contracts/instance/module/IDistribution.sol +2 -2
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +64 -53
- package/contracts/oracle/OracleService.sol +114 -81
- package/contracts/oracle/OracleServiceManager.sol +8 -11
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +76 -0
- package/contracts/pool/BundleService.sol +207 -108
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +31 -22
- package/contracts/pool/IPoolComponent.sol +20 -70
- package/contracts/pool/IPoolService.sol +90 -75
- package/contracts/pool/Pool.sol +209 -163
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +553 -249
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +88 -83
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +51 -0
- package/contracts/product/BasicProductAuthorization.sol +56 -0
- package/contracts/product/ClaimService.sol +370 -180
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +53 -36
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +29 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +481 -274
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +69 -66
- package/contracts/product/PricingServiceManager.sol +6 -9
- package/contracts/product/Product.sol +233 -132
- package/contracts/product/RiskService.sol +145 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +74 -32
- package/contracts/registry/IRegistryService.sol +3 -10
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +368 -214
- package/contracts/registry/RegistryAdmin.sol +292 -175
- package/contracts/registry/RegistryService.sol +46 -71
- package/contracts/registry/RegistryServiceManager.sol +5 -10
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +511 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +247 -0
- package/contracts/registry/TokenRegistry.sol +8 -10
- package/contracts/shared/Component.sol +74 -128
- package/contracts/shared/ComponentService.sol +458 -384
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +29 -18
- package/contracts/shared/ContractLib.sol +253 -0
- package/contracts/shared/IComponent.sol +8 -17
- package/contracts/shared/IComponentService.sol +49 -39
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +3 -2
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +10 -5
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +96 -43
- package/contracts/shared/KeyValueStore.sol +7 -3
- package/contracts/shared/Lifecycle.sol +30 -72
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +31 -11
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +55 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +28 -40
- package/contracts/shared/TokenHandler.sol +309 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +9 -13
- package/contracts/staking/IStakingService.sol +34 -15
- package/contracts/staking/StakeManagerLib.sol +136 -42
- package/contracts/staking/Staking.sol +132 -153
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +10 -12
- package/contracts/staking/StakingReader.sol +21 -33
- package/contracts/staking/StakingService.sol +130 -83
- package/contracts/staking/StakingServiceManager.sol +8 -8
- package/contracts/staking/StakingStore.sol +93 -60
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +196 -61
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +35 -4
- package/contracts/type/RoleId.sol +117 -81
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/Selector.sol +107 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +10 -5
- package/contracts/type/UFixed.sol +40 -121
- package/contracts/type/Version.sol +18 -6
- package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +9 -5
- 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/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- 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 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
- 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/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
- 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/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- 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 -617
- 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/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/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/instance/base/ObjectManager.sol +0 -82
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/ProductService.sol +0 -124
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -600
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -470
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- package/contracts/shared/InitializableCustom.sol +0 -177
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,30 +1,32 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {Component} from "../shared/Component.sol";
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
7
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
|
-
import {
|
7
|
+
import {IRelease} from "../registry/IRelease.sol";
|
9
8
|
import {IStaking} from "./IStaking.sol";
|
10
|
-
import {IVersionable} from "../
|
11
|
-
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {
|
9
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
10
|
+
|
11
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
12
|
+
import {Component} from "../shared/Component.sol";
|
13
|
+
import {IComponent} from "../shared/IComponent.sol";
|
14
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
15
|
+
import {NftId} from "../type/NftId.sol";
|
16
|
+
import {ObjectType, STAKE, STAKING} from "../type/ObjectType.sol";
|
17
|
+
import {Seconds} from "../type/Seconds.sol";
|
18
|
+
import {Registerable} from "../shared/Registerable.sol";
|
18
19
|
import {StakeManagerLib} from "./StakeManagerLib.sol";
|
19
20
|
import {StakingReader} from "./StakingReader.sol";
|
20
21
|
import {StakingStore} from "./StakingStore.sol";
|
21
22
|
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
22
|
-
import {Timestamp
|
23
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
23
24
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
25
|
+
import {TokenHandlerDeployerLib} from "../shared/TokenHandlerDeployerLib.sol";
|
24
26
|
import {TokenRegistry} from "../registry/TokenRegistry.sol";
|
25
|
-
import {UFixed
|
26
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
27
|
-
import {Versionable} from "../
|
27
|
+
import {UFixed} from "../type/UFixed.sol";
|
28
|
+
import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
|
29
|
+
import {Versionable} from "../upgradeability/Versionable.sol";
|
28
30
|
|
29
31
|
contract Staking is
|
30
32
|
Component,
|
@@ -32,14 +34,13 @@ contract Staking is
|
|
32
34
|
IStaking
|
33
35
|
{
|
34
36
|
string public constant CONTRACT_NAME = "Staking";
|
35
|
-
uint8 private constant GIF_MAJOR_VERSION = 3;
|
36
37
|
|
37
38
|
// keccak256(abi.encode(uint256(keccak256("gif-next.contracts.component.Staking.sol")) - 1)) & ~bytes32(uint256(0xff));
|
38
39
|
bytes32 public constant STAKING_LOCATION_V1 = 0xafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f00;
|
39
40
|
|
40
41
|
struct StakingStorage {
|
41
|
-
IRegistryService _registryService;
|
42
42
|
TokenRegistry _tokenRegistry;
|
43
|
+
TokenHandler _tokenHandler;
|
43
44
|
StakingStore _store;
|
44
45
|
StakingReader _reader;
|
45
46
|
NftId _protocolNftId;
|
@@ -55,28 +56,42 @@ contract Staking is
|
|
55
56
|
|
56
57
|
|
57
58
|
modifier onlyTarget(NftId targetNftId) {
|
58
|
-
if (!_getStakingStorage()._store.
|
59
|
+
if (!_getStakingStorage()._store.getTargetNftIdSet().exists(targetNftId)) {
|
59
60
|
revert ErrorStakingNotTarget(targetNftId);
|
60
61
|
}
|
61
62
|
_;
|
62
63
|
}
|
63
64
|
|
65
|
+
function initializeTokenHandler()
|
66
|
+
external
|
67
|
+
{
|
68
|
+
if (msg.sender != address(getRegistry())) {
|
69
|
+
revert ErrorStakingNotRegistry(msg.sender);
|
70
|
+
}
|
64
71
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
72
|
+
StakingStorage storage $ = _getStakingStorage();
|
73
|
+
$._tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(
|
74
|
+
address(getRegistry()),
|
75
|
+
address(this),
|
76
|
+
address(getToken()),
|
77
|
+
getRegistry().getAuthority());
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount)
|
82
|
+
public
|
83
|
+
restricted()
|
84
|
+
onlyOwner()
|
71
85
|
{
|
72
|
-
|
86
|
+
_approveTokenHandler(token, amount);
|
73
87
|
}
|
74
88
|
|
89
|
+
|
75
90
|
// set/update staking reader
|
76
91
|
function setStakingReader(StakingReader stakingReader)
|
77
92
|
external
|
78
93
|
virtual
|
79
|
-
onlyOwner
|
94
|
+
onlyOwner()
|
80
95
|
{
|
81
96
|
if(stakingReader.getStaking() != IStaking(this)) {
|
82
97
|
revert ErrorStakingStakingReaderStakingMismatch(address(stakingReader.getStaking()));
|
@@ -90,7 +105,7 @@ contract Staking is
|
|
90
105
|
function setStakingRate(uint256 chainId, address token, UFixed stakingRate)
|
91
106
|
external
|
92
107
|
virtual
|
93
|
-
onlyOwner
|
108
|
+
onlyOwner()
|
94
109
|
{
|
95
110
|
StakingStorage storage $ = _getStakingStorage();
|
96
111
|
|
@@ -104,8 +119,6 @@ contract Staking is
|
|
104
119
|
emit LogStakingStakingRateSet(chainId, token, oldStakingRate, stakingRate);
|
105
120
|
}
|
106
121
|
|
107
|
-
// reward management
|
108
|
-
|
109
122
|
// target management
|
110
123
|
|
111
124
|
function registerTarget(
|
@@ -117,7 +130,7 @@ contract Staking is
|
|
117
130
|
)
|
118
131
|
external
|
119
132
|
virtual
|
120
|
-
|
133
|
+
restricted()
|
121
134
|
{
|
122
135
|
TargetManagerLib.checkTargetParameters(
|
123
136
|
getRegistry(),
|
@@ -143,7 +156,7 @@ contract Staking is
|
|
143
156
|
)
|
144
157
|
external
|
145
158
|
virtual
|
146
|
-
|
159
|
+
restricted()
|
147
160
|
onlyTarget(targetNftId)
|
148
161
|
{
|
149
162
|
(
|
@@ -165,7 +178,7 @@ contract Staking is
|
|
165
178
|
function setRewardRate(NftId targetNftId, UFixed rewardRate)
|
166
179
|
external
|
167
180
|
virtual
|
168
|
-
|
181
|
+
restricted()
|
169
182
|
onlyTarget(targetNftId)
|
170
183
|
{
|
171
184
|
(
|
@@ -185,7 +198,7 @@ contract Staking is
|
|
185
198
|
function refillRewardReserves(NftId targetNftId, Amount dipAmount)
|
186
199
|
external
|
187
200
|
virtual
|
188
|
-
|
201
|
+
restricted()
|
189
202
|
returns (Amount newBalance)
|
190
203
|
{
|
191
204
|
// update book keeping of reward reserves
|
@@ -197,8 +210,7 @@ contract Staking is
|
|
197
210
|
function withdrawRewardReserves(NftId targetNftId, Amount dipAmount)
|
198
211
|
external
|
199
212
|
virtual
|
200
|
-
|
201
|
-
// onlyNftOwner(targetNftId)
|
213
|
+
restricted()
|
202
214
|
returns (Amount newBalance)
|
203
215
|
{
|
204
216
|
// update book keeping of reward reserves
|
@@ -210,7 +222,7 @@ contract Staking is
|
|
210
222
|
function increaseTotalValueLocked(NftId targetNftId, address token, Amount amount)
|
211
223
|
external
|
212
224
|
virtual
|
213
|
-
|
225
|
+
restricted() // only pool service
|
214
226
|
returns (Amount newBalance)
|
215
227
|
{
|
216
228
|
StakingStorage storage $ = _getStakingStorage();
|
@@ -223,7 +235,7 @@ contract Staking is
|
|
223
235
|
function decreaseTotalValueLocked(NftId targetNftId, address token, Amount amount)
|
224
236
|
external
|
225
237
|
virtual
|
226
|
-
|
238
|
+
restricted() // only pool service
|
227
239
|
returns (Amount newBalance)
|
228
240
|
{
|
229
241
|
StakingStorage storage $ = _getStakingStorage();
|
@@ -236,6 +248,7 @@ contract Staking is
|
|
236
248
|
function registerRemoteTarget(NftId targetNftId, TargetInfo memory targetInfo)
|
237
249
|
external
|
238
250
|
virtual
|
251
|
+
restricted()
|
239
252
|
onlyOwner // or CCIP
|
240
253
|
{
|
241
254
|
|
@@ -244,6 +257,7 @@ contract Staking is
|
|
244
257
|
function updateRemoteTvl(NftId targetNftId, address token, Amount amount)
|
245
258
|
external
|
246
259
|
virtual
|
260
|
+
restricted()
|
247
261
|
onlyOwner // or CCIP
|
248
262
|
{
|
249
263
|
|
@@ -258,7 +272,7 @@ contract Staking is
|
|
258
272
|
)
|
259
273
|
external
|
260
274
|
virtual
|
261
|
-
|
275
|
+
restricted() // only staking service
|
262
276
|
{
|
263
277
|
StakingStorage storage $ = _getStakingStorage();
|
264
278
|
Timestamp lockedUntil = StakeManagerLib.checkCreateParameters(
|
@@ -286,75 +300,46 @@ contract Staking is
|
|
286
300
|
)
|
287
301
|
external
|
288
302
|
virtual
|
289
|
-
|
303
|
+
restricted() // only staking service
|
290
304
|
onlyStake(stakeNftId)
|
291
305
|
returns (Amount stakeBalance)
|
292
306
|
{
|
293
307
|
StakingStorage storage $ = _getStakingStorage();
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
Seconds lockingPeriod
|
299
|
-
) = StakeManagerLib.checkStakeParameters(
|
300
|
-
$._reader,
|
301
|
-
stakeNftId);
|
302
|
-
|
303
|
-
// calculate new rewards (if any)
|
304
|
-
(
|
305
|
-
Amount rewardIncrementAmount,
|
306
|
-
Amount currentTotalDipAmount
|
307
|
-
) = StakeManagerLib.calculateRewardIncrease(
|
308
|
-
$._reader,
|
308
|
+
stakeBalance = StakeManagerLib.stake(
|
309
|
+
getRegistry(),
|
310
|
+
$._reader,
|
311
|
+
$._store,
|
309
312
|
stakeNftId,
|
310
|
-
rewardRate);
|
311
|
-
|
312
|
-
stakeBalance = currentTotalDipAmount + stakeAmount;
|
313
|
-
|
314
|
-
// TODO check that additional dip, rewards and rewards increment
|
315
|
-
// are still ok with max target staking amount
|
316
|
-
NftId targetNftId = getRegistry().getObjectInfo(stakeNftId).parentNftId;
|
317
|
-
|
318
|
-
$._store.restakeRewards(
|
319
|
-
stakeNftId,
|
320
|
-
targetNftId,
|
321
|
-
rewardIncrementAmount);
|
322
|
-
|
323
|
-
$._store.increaseStake(
|
324
|
-
stakeNftId,
|
325
|
-
targetNftId,
|
326
313
|
stakeAmount);
|
327
|
-
|
328
|
-
// update locked until with target locking period
|
329
|
-
$._store.update(
|
330
|
-
stakeNftId,
|
331
|
-
StakeInfo({
|
332
|
-
lockedUntil: TimestampLib.blockTimestamp().addSeconds(
|
333
|
-
lockingPeriod)}));
|
334
314
|
}
|
335
315
|
|
336
316
|
|
337
317
|
function restake(
|
338
318
|
NftId stakeNftId,
|
339
|
-
NftId
|
319
|
+
NftId newStakeNftId
|
340
320
|
)
|
341
321
|
external
|
342
322
|
virtual
|
343
|
-
|
323
|
+
restricted() // only staking service
|
344
324
|
onlyStake(stakeNftId)
|
345
|
-
returns (
|
325
|
+
returns (Amount newStakeBalance)
|
346
326
|
{
|
327
|
+
_checkNftType(stakeNftId, STAKE());
|
328
|
+
_checkNftType(newStakeNftId, STAKE());
|
329
|
+
|
347
330
|
// TODO add check that allows additional staking amount
|
348
331
|
StakingStorage storage $ = _getStakingStorage();
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
332
|
+
newStakeBalance = StakeManagerLib.restake(
|
333
|
+
$._reader,
|
334
|
+
$._store,
|
335
|
+
stakeNftId,
|
336
|
+
newStakeNftId);
|
337
|
+
}
|
353
338
|
|
354
339
|
function updateRewards(NftId stakeNftId)
|
355
340
|
external
|
356
341
|
virtual
|
357
|
-
|
342
|
+
restricted() // only staking service
|
358
343
|
onlyStake(stakeNftId)
|
359
344
|
{
|
360
345
|
StakingStorage storage $ = _getStakingStorage();
|
@@ -365,7 +350,7 @@ contract Staking is
|
|
365
350
|
function claimRewards(NftId stakeNftId)
|
366
351
|
external
|
367
352
|
virtual
|
368
|
-
|
353
|
+
restricted() // only staking service
|
369
354
|
onlyStake(stakeNftId)
|
370
355
|
returns (
|
371
356
|
Amount rewardsClaimedAmount
|
@@ -390,16 +375,17 @@ contract Staking is
|
|
390
375
|
function unstake(NftId stakeNftId)
|
391
376
|
external
|
392
377
|
virtual
|
393
|
-
|
378
|
+
restricted() // only staking service
|
394
379
|
onlyStake(stakeNftId)
|
395
380
|
returns (
|
396
381
|
Amount unstakedAmount,
|
397
382
|
Amount rewardsClaimedAmount
|
398
383
|
)
|
399
384
|
{
|
400
|
-
// TODO add check that stake locking is in the past
|
401
385
|
StakingStorage storage $ = _getStakingStorage();
|
402
|
-
|
386
|
+
|
387
|
+
StakeManagerLib.checkUnstakeParameters($._reader, stakeNftId);
|
388
|
+
|
403
389
|
// update rewards since last update
|
404
390
|
NftId targetNftId = _updateRewards($._reader, $._store, stakeNftId);
|
405
391
|
|
@@ -418,6 +404,45 @@ contract Staking is
|
|
418
404
|
}
|
419
405
|
|
420
406
|
|
407
|
+
//--- view functions ----------------------------------------------------//
|
408
|
+
|
409
|
+
function getStakingReader() public view returns (StakingReader reader) {
|
410
|
+
return _getStakingStorage()._reader;
|
411
|
+
}
|
412
|
+
|
413
|
+
function getStakingStore() external view returns (StakingStore stakingStore) {
|
414
|
+
return _getStakingStorage()._store;
|
415
|
+
}
|
416
|
+
|
417
|
+
function getTokenRegistryAddress() external view returns (address tokenRegistry) {
|
418
|
+
return address(_getStakingStorage()._tokenRegistry);
|
419
|
+
}
|
420
|
+
|
421
|
+
function getTokenHandler() public virtual override(Component, IComponent) view returns (TokenHandler tokenHandler) {
|
422
|
+
return _getStakingStorage()._tokenHandler;
|
423
|
+
}
|
424
|
+
|
425
|
+
// from IRegisterable
|
426
|
+
function getRelease()
|
427
|
+
public
|
428
|
+
pure
|
429
|
+
virtual override (IRelease, Registerable)
|
430
|
+
returns(VersionPart)
|
431
|
+
{
|
432
|
+
return VersionPartLib.toVersionPart(3);
|
433
|
+
}
|
434
|
+
|
435
|
+
// from IVersionable
|
436
|
+
function getVersion()
|
437
|
+
public
|
438
|
+
pure
|
439
|
+
virtual override (Component, IVersionable, Versionable)
|
440
|
+
returns(Version)
|
441
|
+
{
|
442
|
+
return VersionLib.toVersion(3,0,0);
|
443
|
+
}
|
444
|
+
|
445
|
+
//--- internal functions ------------------------------------------------//
|
421
446
|
|
422
447
|
function _updateRewards(
|
423
448
|
StakingReader reader,
|
@@ -443,65 +468,23 @@ contract Staking is
|
|
443
468
|
}
|
444
469
|
|
445
470
|
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
external
|
450
|
-
// TODO add restricted() // only staking service
|
451
|
-
{
|
452
|
-
TokenHandler tokenHandler = getTokenHandler();
|
453
|
-
address stakingWallet = getWallet();
|
454
|
-
|
455
|
-
StakeManagerLib.checkDipBalanceAndAllowance(
|
456
|
-
getToken(),
|
457
|
-
from,
|
458
|
-
address(tokenHandler),
|
459
|
-
dipAmount);
|
460
|
-
|
461
|
-
tokenHandler.transfer(from, stakingWallet, dipAmount);
|
462
|
-
}
|
463
|
-
|
464
|
-
|
465
|
-
function transferDipAmount(address to, Amount dipAmount)
|
466
|
-
external
|
467
|
-
// TODO add restricted() // only staking service
|
471
|
+
function _approveTokenHandler(IERC20Metadata token, Amount amount)
|
472
|
+
internal
|
473
|
+
virtual override
|
468
474
|
{
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
StakeManagerLib.checkDipBalanceAndAllowance(
|
473
|
-
getToken(),
|
474
|
-
stakingWallet,
|
475
|
-
address(tokenHandler),
|
476
|
-
dipAmount);
|
477
|
-
|
478
|
-
tokenHandler.transfer(stakingWallet, to, dipAmount);
|
475
|
+
IComponentService(_getServiceAddress(STAKING())).approveTokenHandler(
|
476
|
+
token,
|
477
|
+
amount);
|
479
478
|
}
|
480
479
|
|
481
480
|
|
482
|
-
//--- view functions ----------------------------------------------------//
|
483
|
-
|
484
|
-
function getStakingReader() public view returns (StakingReader reader) {
|
485
|
-
return _getStakingStorage()._reader;
|
486
|
-
}
|
487
|
-
|
488
|
-
function getStakingStore() external view returns (StakingStore stakingStore) {
|
489
|
-
return _getStakingStorage()._store;
|
490
|
-
}
|
491
|
-
|
492
|
-
function getTokenRegistryAddress() external view returns (address tokenRegistry) {
|
493
|
-
return address(_getStakingStorage()._tokenRegistry);
|
494
|
-
}
|
495
|
-
|
496
|
-
//--- internal functions ------------------------------------------------//
|
497
|
-
|
498
481
|
function _initialize(
|
499
482
|
address owner,
|
500
483
|
bytes memory data
|
501
484
|
)
|
502
485
|
internal
|
503
486
|
virtual override
|
504
|
-
initializer
|
487
|
+
initializer()
|
505
488
|
{
|
506
489
|
(
|
507
490
|
address registryAddress,
|
@@ -516,10 +499,17 @@ contract Staking is
|
|
516
499
|
TokenRegistry tokenRegistry = TokenRegistry(tokenRegistryAddress);
|
517
500
|
address dipTokenAddress = tokenRegistry.getDipTokenAddress();
|
518
501
|
|
519
|
-
|
502
|
+
// wiring to external contracts
|
503
|
+
StakingStorage storage $ = _getStakingStorage();
|
504
|
+
$._protocolNftId = registry.getProtocolNftId();
|
505
|
+
$._store = StakingStore(stakingStoreAddress);
|
506
|
+
$._reader = StakingStore(stakingStoreAddress).getStakingReader();
|
507
|
+
$._tokenRegistry = TokenRegistry(tokenRegistryAddress);
|
508
|
+
|
509
|
+
_initializeComponent(
|
520
510
|
authority,
|
521
511
|
registryAddress,
|
522
|
-
registry.getNftId(),
|
512
|
+
registry.getNftId(), // parent nft id
|
523
513
|
CONTRACT_NAME,
|
524
514
|
dipTokenAddress,
|
525
515
|
STAKING(),
|
@@ -528,17 +518,7 @@ contract Staking is
|
|
528
518
|
"", // registry data
|
529
519
|
""); // component data
|
530
520
|
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
// wiring to external contracts
|
535
|
-
StakingStorage storage $ = _getStakingStorage();
|
536
|
-
$._protocolNftId = getRegistry().getProtocolNftId();
|
537
|
-
$._store = StakingStore(stakingStoreAddress);
|
538
|
-
$._reader = StakingStore(stakingStoreAddress).getStakingReader();
|
539
|
-
$._tokenRegistry = TokenRegistry(tokenRegistryAddress);
|
540
|
-
|
541
|
-
registerInterface(type(IStaking).interfaceId);
|
521
|
+
_registerInterface(type(IStaking).interfaceId);
|
542
522
|
}
|
543
523
|
|
544
524
|
|
@@ -547,5 +527,4 @@ contract Staking is
|
|
547
527
|
$.slot := STAKING_LOCATION_V1
|
548
528
|
}
|
549
529
|
}
|
550
|
-
|
551
530
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {TARGET, COMPONENT, STAKE} from "../type/ObjectType.sol";
|
5
|
+
import {INITIAL} from "../type/StateId.sol";
|
6
|
+
import {Lifecycle} from "../shared/Lifecycle.sol";
|
7
|
+
|
8
|
+
contract StakingLifecycle is
|
9
|
+
Lifecycle
|
10
|
+
{
|
11
|
+
constructor() {
|
12
|
+
_setupLifecycle();
|
13
|
+
}
|
14
|
+
|
15
|
+
function _setupLifecycle()
|
16
|
+
internal
|
17
|
+
override
|
18
|
+
{
|
19
|
+
setInitialState(TARGET(), INITIAL());
|
20
|
+
setInitialState(COMPONENT(), INITIAL());
|
21
|
+
setInitialState(STAKE(), INITIAL());
|
22
|
+
}
|
23
|
+
}
|
@@ -1,14 +1,10 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
6
|
-
import {ReleaseManager} from "../registry/ReleaseManager.sol";
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
6
|
import {Staking} from "./Staking.sol";
|
8
|
-
import {StakingReader} from "./StakingReader.sol";
|
9
|
-
import {StakingStore} from "./StakingStore.sol";
|
10
7
|
|
11
|
-
import {RegistryAdmin} from "../registry/RegistryAdmin.sol";
|
12
8
|
|
13
9
|
contract StakingManager is
|
14
10
|
ProxyManager
|
@@ -22,9 +18,9 @@ contract StakingManager is
|
|
22
18
|
address registry,
|
23
19
|
address tokenRegistry,
|
24
20
|
address stakingStore,
|
25
|
-
address initialOwner
|
21
|
+
address initialOwner,
|
22
|
+
bytes32 salt
|
26
23
|
)
|
27
|
-
ProxyManager(registry)
|
28
24
|
{
|
29
25
|
Staking stakingImplementation = new Staking();
|
30
26
|
|
@@ -34,10 +30,12 @@ contract StakingManager is
|
|
34
30
|
tokenRegistry,
|
35
31
|
stakingStore,
|
36
32
|
initialOwner);
|
37
|
-
|
38
|
-
IVersionable versionable =
|
39
|
-
|
40
|
-
|
33
|
+
|
34
|
+
IVersionable versionable = initialize(
|
35
|
+
registry,
|
36
|
+
_initialImplementation,
|
37
|
+
_initializationData,
|
38
|
+
salt);
|
41
39
|
|
42
40
|
_staking = Staking(address(versionable));
|
43
41
|
}
|
@@ -1,35 +1,34 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
7
|
-
import {IComponent} from "../shared/IComponent.sol";
|
8
|
-
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
4
|
+
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
|
+
|
9
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
10
7
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
11
8
|
import {IStaking} from "../staking/IStaking.sol";
|
12
|
-
|
9
|
+
|
10
|
+
import {Amount} from "../type/Amount.sol";
|
11
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
13
12
|
import {NftId} from "../type/NftId.sol";
|
14
|
-
import {
|
15
|
-
import {ObjectType, STAKE, TARGET} from "../type/ObjectType.sol";
|
16
|
-
import {Seconds} from "../type/Seconds.sol";
|
13
|
+
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
17
14
|
import {StakingStore} from "./StakingStore.sol";
|
18
15
|
import {Timestamp} from "../type/Timestamp.sol";
|
19
|
-
import {UFixed
|
16
|
+
import {UFixed} from "../type/UFixed.sol";
|
20
17
|
|
21
18
|
contract StakingReader is
|
22
19
|
IRegistryLinked,
|
23
|
-
|
20
|
+
Initializable
|
24
21
|
{
|
25
22
|
|
26
|
-
error
|
23
|
+
error ErrorStakingReaderUnauthorizedCaler();
|
27
24
|
|
25
|
+
address private _initializeOwner;
|
28
26
|
IRegistry private _registry;
|
29
27
|
IStaking private _staking;
|
30
28
|
StakingStore private _store;
|
31
29
|
|
32
|
-
constructor(IRegistry registry)
|
30
|
+
constructor(IRegistry registry) {
|
31
|
+
_initializeOwner = msg.sender;
|
33
32
|
_registry = registry;
|
34
33
|
}
|
35
34
|
|
@@ -38,8 +37,12 @@ contract StakingReader is
|
|
38
37
|
address stakingStoreAddress
|
39
38
|
)
|
40
39
|
external
|
41
|
-
initializer
|
40
|
+
initializer()
|
42
41
|
{
|
42
|
+
if (msg.sender != _initializeOwner) {
|
43
|
+
revert ErrorStakingReaderUnauthorizedCaler();
|
44
|
+
}
|
45
|
+
|
43
46
|
_staking = IStaking(stakingAddress);
|
44
47
|
_store = StakingStore(stakingStoreAddress);
|
45
48
|
}
|
@@ -60,37 +63,22 @@ contract StakingReader is
|
|
60
63
|
|
61
64
|
|
62
65
|
function isTarget(NftId targetNftId) external view returns (bool) {
|
63
|
-
return _store.
|
66
|
+
return _store.getTargetNftIdSet().exists(targetNftId);
|
64
67
|
}
|
65
68
|
|
66
69
|
|
67
70
|
function targets() external view returns (uint256) {
|
68
|
-
return _store.
|
71
|
+
return _store.getTargetNftIdSet().nftIds();
|
69
72
|
}
|
70
73
|
|
71
74
|
|
72
75
|
function getTargetNftId(uint256 idx) external view returns (NftId) {
|
73
|
-
return _store.
|
74
|
-
}
|
75
|
-
|
76
|
-
|
77
|
-
function isActive(NftId targetNftId) external view returns (bool) {
|
78
|
-
return _store.getTargetManager().isActive(targetNftId);
|
79
|
-
}
|
80
|
-
|
81
|
-
|
82
|
-
function activeTargets() external view returns (uint256) {
|
83
|
-
return _store.getTargetManager().activeNftIds();
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
function getActiveTargetNftId(uint256 idx) external view returns (NftId) {
|
88
|
-
return _store.getTargetManager().getActiveNftId(idx);
|
76
|
+
return _store.getTargetNftIdSet().getNftId(idx);
|
89
77
|
}
|
90
78
|
|
91
79
|
|
92
80
|
function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
|
93
|
-
return _registry.
|
81
|
+
return _registry.getParentNftId(stakeNftId);
|
94
82
|
}
|
95
83
|
|
96
84
|
|