@etherisc/gif-next 3.0.0-2c4b8cb-070 → 3.0.0-2e16ebd-614
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +0 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +20 -10
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +166 -104
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +78 -26
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +145 -51
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +77 -179
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- 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 +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +72 -57
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/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 +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +25 -22
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -23
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -21
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -21
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
- package/contracts/accounting/AccountingService.sol +5 -6
- package/contracts/accounting/AccountingServiceManager.sol +4 -6
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +22 -18
- package/contracts/authorization/AccessAdminLib.sol +12 -9
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +24 -20
- package/contracts/distribution/DistributionServiceManager.sol +4 -6
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +8 -12
- package/contracts/instance/InstanceAdmin.sol +10 -17
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +18 -40
- package/contracts/instance/InstanceService.sol +18 -20
- package/contracts/instance/InstanceServiceManager.sol +4 -6
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/IOracleService.sol +12 -16
- package/contracts/oracle/Oracle.sol +3 -4
- package/contracts/oracle/OracleService.sol +37 -67
- package/contracts/oracle/OracleServiceManager.sol +4 -6
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +25 -19
- package/contracts/pool/BundleServiceManager.sol +5 -7
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +5 -102
- package/contracts/pool/PoolService.sol +67 -101
- package/contracts/pool/PoolServiceManager.sol +4 -6
- package/contracts/product/ApplicationService.sol +13 -34
- package/contracts/product/ApplicationServiceManager.sol +4 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +10 -34
- package/contracts/product/ClaimServiceManager.sol +5 -7
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +44 -57
- package/contracts/product/PolicyServiceManager.sol +4 -6
- package/contracts/product/PricingService.sol +7 -8
- package/contracts/product/PricingServiceManager.sol +4 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +8 -40
- package/contracts/product/RiskServiceManager.sol +4 -6
- package/contracts/registry/IRegistry.sol +20 -14
- package/contracts/registry/IRegistryService.sol +10 -14
- package/contracts/registry/IRelease.sol +0 -3
- package/contracts/registry/Registry.sol +124 -78
- package/contracts/registry/RegistryAdmin.sol +11 -22
- package/contracts/registry/RegistryAuthorization.sol +4 -3
- package/contracts/registry/RegistryService.sol +99 -82
- package/contracts/registry/RegistryServiceManager.sol +4 -11
- package/contracts/registry/ReleaseAdmin.sol +9 -16
- package/contracts/registry/ReleaseRegistry.sol +64 -74
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +27 -22
- package/contracts/shared/ComponentService.sol +45 -130
- package/contracts/shared/ComponentServiceManager.sol +5 -7
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +14 -3
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +38 -128
- package/contracts/shared/NftOwnable.sol +9 -22
- package/contracts/shared/PolicyHolder.sol +2 -4
- package/contracts/shared/Registerable.sol +37 -20
- package/contracts/shared/RegistryLinked.sol +4 -23
- package/contracts/shared/Service.sol +8 -9
- package/contracts/shared/TokenHandler.sol +4 -1
- package/contracts/shared/Versionable.sol +47 -0
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +28 -33
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +3 -6
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +16 -13
- package/contracts/staking/StakingServiceManager.sol +4 -8
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +4 -5
- package/contracts/type/ObjectType.sol +31 -2
- package/contracts/type/Referral.sol +0 -6
- package/contracts/type/Seconds.sol +0 -4
- package/contracts/type/String.sol +0 -30
- package/contracts/type/Timestamp.sol +1 -10
- package/contracts/type/Version.sol +15 -16
- package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
- package/contracts/upgradeability/ProxyManager.sol +46 -54
- package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
- package/package.json +1 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -635
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2514
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/examples/flight/FlightLib.sol +0 -322
- package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
- package/contracts/examples/flight/FlightOracle.sol +0 -167
- package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
- package/contracts/examples/flight/FlightPool.sol +0 -89
- package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
- package/contracts/examples/flight/FlightProduct.sol +0 -651
- package/contracts/examples/flight/FlightProductAuthorization.sol +0 -45
- package/contracts/examples/flight/FlightUSD.sol +0 -28
- package/contracts/examples/flight/originalV1.sol +0 -396
- package/contracts/shared/EcdsaChecker.sol +0 -5
- package/contracts/type/RequestIdSet.sol +0 -62
@@ -5,25 +5,25 @@ import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/ut
|
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
7
|
import {IService} from "./IService.sol";
|
8
|
-
import {IVersionable} from "../
|
8
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
9
9
|
import {ObjectType, SERVICE} from "../type/ObjectType.sol";
|
10
10
|
import {Registerable} from "./Registerable.sol";
|
11
11
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
12
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
13
|
-
import {Versionable} from "../
|
12
|
+
import {Version, VersionLib, VersionPartLib} from "../type/Version.sol";
|
13
|
+
import {Versionable} from "../shared/Versionable.sol";
|
14
|
+
import {Upgradeable} from "../upgradeability/Upgradeable.sol";
|
14
15
|
|
15
16
|
|
16
17
|
/// @dev service base contract
|
17
18
|
abstract contract Service is
|
18
|
-
Registerable,
|
19
|
-
|
19
|
+
Registerable,
|
20
|
+
Upgradeable,
|
20
21
|
ReentrancyGuardUpgradeable,
|
21
22
|
IService
|
22
23
|
{
|
23
24
|
|
24
25
|
function __Service_init(
|
25
26
|
address authority, // real authority for registry service adress(0) for other services
|
26
|
-
address registry,
|
27
27
|
address initialOwner
|
28
28
|
)
|
29
29
|
internal
|
@@ -34,8 +34,7 @@ abstract contract Service is
|
|
34
34
|
|
35
35
|
__Registerable_init(
|
36
36
|
authority,
|
37
|
-
|
38
|
-
IRegistry(registry).getNftId(),
|
37
|
+
_getRegistry().getNftId(),
|
39
38
|
SERVICE(),
|
40
39
|
false, // is interceptor
|
41
40
|
initialOwner,
|
@@ -62,6 +61,6 @@ abstract contract Service is
|
|
62
61
|
|
63
62
|
|
64
63
|
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
65
|
-
return
|
64
|
+
return _getRegistry().getServiceAddress(domain, getRelease());
|
66
65
|
}
|
67
66
|
}
|
@@ -10,6 +10,7 @@ import {ContractLib} from "../shared/ContractLib.sol";
|
|
10
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
11
11
|
import {NftId} from "../type/NftId.sol";
|
12
12
|
import {SERVICE} from "../type/ObjectType.sol";
|
13
|
+
import {VersionPart} from "../type/Version.sol";
|
13
14
|
|
14
15
|
|
15
16
|
/// @dev Token specific transfer helper base contract.
|
@@ -49,6 +50,7 @@ contract TokenHandlerBase {
|
|
49
50
|
IERC20Metadata public immutable TOKEN;
|
50
51
|
address public immutable COMPONENT;
|
51
52
|
NftId public immutable NFT_ID;
|
53
|
+
VersionPart public immutable RELEASE;
|
52
54
|
|
53
55
|
address internal _wallet;
|
54
56
|
|
@@ -69,6 +71,7 @@ contract TokenHandlerBase {
|
|
69
71
|
REGISTRY = IRegistry(registry);
|
70
72
|
COMPONENT = component;
|
71
73
|
NFT_ID = REGISTRY.getNftIdForAddress(component);
|
74
|
+
RELEASE = REGISTRY.getObjectRelease(NFT_ID);
|
72
75
|
|
73
76
|
if (NFT_ID.eqz()) {
|
74
77
|
revert ErrorTokenHandlerComponentNotRegistered(component);
|
@@ -254,7 +257,7 @@ contract TokenHandler is
|
|
254
257
|
error ErrorTokenHandlerNotService(address service);
|
255
258
|
|
256
259
|
modifier onlyService() {
|
257
|
-
if (!REGISTRY.isObjectType(msg.sender, SERVICE())) {
|
260
|
+
if (!REGISTRY.isObjectType(msg.sender, SERVICE(), RELEASE)) {
|
258
261
|
revert ErrorTokenHandlerNotService(msg.sender);
|
259
262
|
}
|
260
263
|
_;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IVersionable} from "./IVersionable.sol";
|
5
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
6
|
+
import {Version, VersionPart, VersionLib, VersionPartLib} from "../type/Version.sol";
|
7
|
+
|
8
|
+
|
9
|
+
abstract contract Versionable is
|
10
|
+
IVersionable
|
11
|
+
{
|
12
|
+
// TODO use arg of type Version
|
13
|
+
function __Versionable_init(
|
14
|
+
VersionPart release // wants to initialize to this release version
|
15
|
+
)
|
16
|
+
internal
|
17
|
+
view
|
18
|
+
virtual
|
19
|
+
{
|
20
|
+
VersionPart currentRelease = getRelease();
|
21
|
+
if (!currentRelease.isValidRelease()) {
|
22
|
+
revert ErrorVersionableReleaseInvalid(address(this), currentRelease);
|
23
|
+
}
|
24
|
+
|
25
|
+
//Version initializedVersion = VersionLib.toVersion(_getInitializedVersion());
|
26
|
+
//if(initializedVersion != getVersion()) {}
|
27
|
+
|
28
|
+
_checkRelease(release);
|
29
|
+
}
|
30
|
+
|
31
|
+
function getVersion() public pure virtual returns(Version)
|
32
|
+
{
|
33
|
+
return VersionLib.toVersion(GIF_INITIAL_RELEASE().toInt(), 0, 0);
|
34
|
+
}
|
35
|
+
|
36
|
+
function getRelease() public pure returns(VersionPart)
|
37
|
+
{
|
38
|
+
return getVersion().toMajorPart();
|
39
|
+
}
|
40
|
+
|
41
|
+
function _checkRelease(VersionPart release) internal view {
|
42
|
+
VersionPart currentRelease = getRelease();
|
43
|
+
if(currentRelease != release) {
|
44
|
+
revert ErrorVersionableReleaseMismatch(address(this), release, currentRelease);
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
6
|
import {IComponent} from "../shared/IComponent.sol";
|
7
|
-
import {
|
7
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
8
8
|
|
9
9
|
import {Amount} from "../type/Amount.sol";
|
10
10
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
@@ -22,7 +22,7 @@ import {VersionPart} from "../type/Version.sol";
|
|
22
22
|
|
23
23
|
interface IStaking is
|
24
24
|
IComponent,
|
25
|
-
|
25
|
+
IUpgradeable
|
26
26
|
{
|
27
27
|
|
28
28
|
// owner functions
|
@@ -4,11 +4,10 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
-
import {IRelease} from "../registry/IRelease.sol";
|
8
7
|
import {IStaking} from "./IStaking.sol";
|
9
8
|
import {IStakingService} from "./IStakingService.sol";
|
10
9
|
import {ITargetLimitHandler} from "./ITargetLimitHandler.sol";
|
11
|
-
import {IVersionable} from "../
|
10
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
12
11
|
|
13
12
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
14
13
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
@@ -16,7 +15,7 @@ import {ChainId, ChainIdLib} from "../type/ChainId.sol";
|
|
16
15
|
import {Component} from "../shared/Component.sol";
|
17
16
|
import {IComponent} from "../shared/IComponent.sol";
|
18
17
|
import {NftId} from "../type/NftId.sol";
|
19
|
-
import {ObjectType, PROTOCOL,
|
18
|
+
import {ObjectType, PROTOCOL, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
|
20
19
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
21
20
|
import {Registerable} from "../shared/Registerable.sol";
|
22
21
|
import {StakingLib} from "./StakingLib.sol";
|
@@ -28,12 +27,13 @@ import {TokenHandlerDeployerLib} from "../shared/TokenHandlerDeployerLib.sol";
|
|
28
27
|
import {TokenRegistry} from "../registry/TokenRegistry.sol";
|
29
28
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
30
29
|
import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
|
31
|
-
import {Versionable} from "../
|
30
|
+
import {Versionable} from "../shared/Versionable.sol";
|
31
|
+
import {Upgradeable} from "../upgradeability/Upgradeable.sol";
|
32
32
|
|
33
33
|
|
34
34
|
contract Staking is
|
35
35
|
Component,
|
36
|
-
|
36
|
+
Upgradeable,
|
37
37
|
IStaking
|
38
38
|
{
|
39
39
|
string public constant CONTRACT_NAME = "Staking";
|
@@ -75,17 +75,18 @@ contract Staking is
|
|
75
75
|
external
|
76
76
|
virtual
|
77
77
|
{
|
78
|
-
|
78
|
+
IRegistry registry = _getRegistry();
|
79
|
+
if (msg.sender != address(registry)) {
|
79
80
|
revert ErrorStakingNotRegistry(msg.sender);
|
80
81
|
}
|
81
82
|
|
82
83
|
StakingStorage storage $ = _getStakingStorage();
|
83
84
|
address dipToken = _getStakingStorage()._tokenRegistry.getDipTokenAddress();
|
84
85
|
$._tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(
|
85
|
-
address(
|
86
|
+
address(registry),
|
86
87
|
address(this),
|
87
88
|
dipToken,
|
88
|
-
|
89
|
+
registry.getAuthority());
|
89
90
|
}
|
90
91
|
|
91
92
|
|
@@ -190,7 +191,7 @@ contract Staking is
|
|
190
191
|
// effects
|
191
192
|
StakingStorage storage $ = _getStakingStorage();
|
192
193
|
address oldStakingService = address($._stakingService);
|
193
|
-
$._stakingService = StakingLib.checkAndGetStakingService(
|
194
|
+
$._stakingService = StakingLib.checkAndGetStakingService(release);
|
194
195
|
|
195
196
|
emit LogStakingStakingServiceSet(address($._stakingService), release, oldStakingService);
|
196
197
|
}
|
@@ -277,9 +278,10 @@ contract Staking is
|
|
277
278
|
returns (Amount newBalance)
|
278
279
|
{
|
279
280
|
address transferTo;
|
281
|
+
IRegistry registry = _getRegistry();
|
280
282
|
|
281
283
|
// case 1: protocol target: staking owner is recipient
|
282
|
-
if (targetNftId ==
|
284
|
+
if (targetNftId == registry.getProtocolNftId()) {
|
283
285
|
// verify that the caller is the staking owner
|
284
286
|
transferTo = getOwner();
|
285
287
|
if (msg.sender != transferTo) {
|
@@ -289,7 +291,7 @@ contract Staking is
|
|
289
291
|
// case 2: same chain target: target owner is recipient
|
290
292
|
} else if (ChainIdLib.isCurrentChain(targetNftId)) {
|
291
293
|
// verify that the caller is the target owner
|
292
|
-
transferTo =
|
294
|
+
transferTo = registry.ownerOf(targetNftId);
|
293
295
|
if (msg.sender != transferTo) {
|
294
296
|
revert ErrorStakingNotNftOwner(targetNftId);
|
295
297
|
}
|
@@ -323,13 +325,15 @@ contract Staking is
|
|
323
325
|
onlyTarget(targetNftId)
|
324
326
|
returns (Amount newBalance)
|
325
327
|
{
|
328
|
+
IRegistry registry = _getRegistry();
|
329
|
+
|
326
330
|
// check that service does not withdraw from protocol target
|
327
|
-
if (targetNftId ==
|
331
|
+
if (targetNftId == registry.getProtocolNftId()) {
|
328
332
|
revert ErrorStakingTargetTypeNotSupported(targetNftId, PROTOCOL());
|
329
333
|
}
|
330
334
|
|
331
335
|
// default: on-chain target owner is recipient
|
332
|
-
address targetOwner =
|
336
|
+
address targetOwner = registry.ownerOf(targetNftId);
|
333
337
|
return _withdrawRewardReserves(targetNftId, dipAmount, targetOwner);
|
334
338
|
}
|
335
339
|
|
@@ -431,7 +435,9 @@ contract Staking is
|
|
431
435
|
virtual
|
432
436
|
restricted() // only pool service
|
433
437
|
{
|
438
|
+
// !!! TODO amount can be 0
|
434
439
|
StakingStorage storage $ = _getStakingStorage();
|
440
|
+
// why not StakingBalanceStore instead of StakingStore?
|
435
441
|
$._store.increaseTotalValueLocked(targetNftId, token, amount);
|
436
442
|
}
|
437
443
|
|
@@ -528,7 +534,7 @@ contract Staking is
|
|
528
534
|
|
529
535
|
// collect staked DIP token via staking service
|
530
536
|
if (stakeAmount.gtz()) {
|
531
|
-
address stakeOwner =
|
537
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
532
538
|
$._stakingService.pullDipToken(stakeAmount, stakeOwner);
|
533
539
|
}
|
534
540
|
}
|
@@ -551,7 +557,7 @@ contract Staking is
|
|
551
557
|
|
552
558
|
// transfer unstaked DIP token via staking service
|
553
559
|
if (unstakedAmount.gtz()) {
|
554
|
-
address stakeOwner =
|
560
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
555
561
|
$._stakingService.pushDipToken(unstakedAmount, stakeOwner);
|
556
562
|
}
|
557
563
|
}
|
@@ -582,7 +588,7 @@ contract Staking is
|
|
582
588
|
AmountLib.max()); // unstake up to this amount
|
583
589
|
|
584
590
|
// step 2: create new stake with full unstaked amount
|
585
|
-
address stakeOwner =
|
591
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
586
592
|
newStakeNftId = $._stakingService.createStakeObject(newTargetNftId, stakeOwner);
|
587
593
|
$._store.createStake(newStakeNftId, newTargetNftId, stakeOwner, newStakedAmount);
|
588
594
|
|
@@ -621,7 +627,7 @@ contract Staking is
|
|
621
627
|
// collect staked DIP token by staking service
|
622
628
|
if (claimedAmount.gtz()) {
|
623
629
|
// interactions
|
624
|
-
address stakeOwner =
|
630
|
+
address stakeOwner = _getRegistry().ownerOf(stakeNftId);
|
625
631
|
$._stakingService.pushDipToken(claimedAmount, stakeOwner);
|
626
632
|
}
|
627
633
|
}
|
@@ -649,21 +655,11 @@ contract Staking is
|
|
649
655
|
return _getStakingStorage()._tokenHandler;
|
650
656
|
}
|
651
657
|
|
652
|
-
// from IRegisterable
|
653
|
-
function getRelease()
|
654
|
-
public
|
655
|
-
pure
|
656
|
-
virtual override (IRelease, Registerable)
|
657
|
-
returns(VersionPart)
|
658
|
-
{
|
659
|
-
return VersionPartLib.toVersionPart(3);
|
660
|
-
}
|
661
|
-
|
662
658
|
// from IVersionable
|
663
659
|
function getVersion()
|
664
660
|
public
|
665
661
|
pure
|
666
|
-
virtual override (
|
662
|
+
virtual override (IVersionable, Versionable)
|
667
663
|
returns(Version)
|
668
664
|
{
|
669
665
|
return VersionLib.toVersion(3,0,0);
|
@@ -728,14 +724,13 @@ contract Staking is
|
|
728
724
|
onlyInitializing()
|
729
725
|
{
|
730
726
|
(
|
731
|
-
address registryAddress,
|
732
727
|
address targetHandlerAddress,
|
733
728
|
address stakingStoreAddress,
|
734
729
|
address tokenRegistryAddress
|
735
|
-
) = abi.decode(data, (address, address, address
|
730
|
+
) = abi.decode(data, (address, address, address));
|
736
731
|
|
737
732
|
// wiring to external contracts
|
738
|
-
IRegistry registry =
|
733
|
+
IRegistry registry = _getRegistry();
|
739
734
|
StakingStorage storage $ = _getStakingStorage();
|
740
735
|
$._protocolNftId = registry.getProtocolNftId();
|
741
736
|
$._targetHandler = TargetHandler(targetHandlerAddress);
|
@@ -745,9 +740,9 @@ contract Staking is
|
|
745
740
|
// staking service has to be set via setStakingService after deploying the first GIF release
|
746
741
|
|
747
742
|
// initialize component
|
743
|
+
// TODO Will read 0 component service address from registry
|
748
744
|
__Component_init(
|
749
745
|
registry.getAuthority(),
|
750
|
-
address(registry),
|
751
746
|
registry.getNftId(), // parent nft id
|
752
747
|
CONTRACT_NAME,
|
753
748
|
STAKING(),
|
@@ -781,7 +776,7 @@ contract Staking is
|
|
781
776
|
}
|
782
777
|
|
783
778
|
if (checkOwner) {
|
784
|
-
address nftOwner =
|
779
|
+
address nftOwner = _getRegistry().ownerOf(nftId);
|
785
780
|
if (msg.sender != nftOwner) {
|
786
781
|
revert ErrorStakingNotOwner(nftId, nftOwner, msg.sender);
|
787
782
|
}
|
@@ -6,6 +6,7 @@ import {IStaking} from "./IStaking.sol";
|
|
6
6
|
import {IStakingService} from "./IStakingService.sol";
|
7
7
|
|
8
8
|
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
9
10
|
import {NftId} from "../type/NftId.sol";
|
10
11
|
import {ReleaseRegistry} from "../registry/ReleaseRegistry.sol";
|
11
12
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
@@ -111,13 +112,14 @@ library StakingLib {
|
|
111
112
|
|
112
113
|
|
113
114
|
function checkAndGetStakingService(
|
114
|
-
IRegistry registry,
|
115
115
|
VersionPart release
|
116
116
|
)
|
117
117
|
public
|
118
118
|
view
|
119
119
|
returns (IStakingService stakingService)
|
120
120
|
{
|
121
|
+
IRegistry registry = ContractLib.getRegistry();
|
122
|
+
|
121
123
|
if (!ReleaseRegistry(registry.getReleaseRegistryAddress()).isActiveRelease(release)) {
|
122
124
|
revert IStaking.ErrorStakingReleaseNotActive(release);
|
123
125
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {Staking} from "./Staking.sol";
|
7
7
|
|
@@ -15,7 +15,6 @@ contract StakingManager is
|
|
15
15
|
|
16
16
|
/// @dev initializes proxy manager with service implementation
|
17
17
|
constructor(
|
18
|
-
address registry,
|
19
18
|
address targetHandler,
|
20
19
|
address stakingStore,
|
21
20
|
address tokenRegistry,
|
@@ -27,18 +26,16 @@ contract StakingManager is
|
|
27
26
|
|
28
27
|
_initialImplementation = address(stakingImplementation);
|
29
28
|
_initializationData = abi.encode(
|
30
|
-
registry,
|
31
29
|
targetHandler,
|
32
30
|
stakingStore,
|
33
31
|
tokenRegistry);
|
34
32
|
|
35
|
-
|
36
|
-
registry,
|
33
|
+
IUpgradeable upgradeable = initialize(
|
37
34
|
_initialImplementation,
|
38
35
|
_initializationData,
|
39
36
|
salt);
|
40
37
|
|
41
|
-
_staking = Staking(address(
|
38
|
+
_staking = Staking(address(upgradeable));
|
42
39
|
}
|
43
40
|
|
44
41
|
//--- view functions ----------------------------------------------------//
|
@@ -4,36 +4,32 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
-
import {
|
7
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
8
8
|
import {IStaking} from "../staking/IStaking.sol";
|
9
9
|
|
10
|
-
import {Amount
|
11
|
-
import {Blocknumber} from "../type/Blocknumber.sol";
|
10
|
+
import {Amount} from "../type/Amount.sol";
|
12
11
|
import {ChainId} from "../type/ChainId.sol";
|
13
12
|
import {NftId} from "../type/NftId.sol";
|
14
13
|
import {ObjectType} from "../type/ObjectType.sol";
|
14
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
15
15
|
import {Seconds} from "../type/Seconds.sol";
|
16
16
|
import {StakingStore} from "./StakingStore.sol";
|
17
|
-
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
18
|
-
import {Timestamp} from "../type/Timestamp.sol";
|
19
17
|
import {UFixed} from "../type/UFixed.sol";
|
20
18
|
|
21
19
|
|
22
20
|
contract StakingReader is
|
23
|
-
|
24
|
-
|
21
|
+
Initializable,
|
22
|
+
RegistryLinked
|
25
23
|
{
|
26
24
|
|
27
25
|
error ErrorStakingReaderUnauthorizedCaler();
|
28
26
|
|
29
27
|
address private _initializeOwner;
|
30
|
-
IRegistry private _registry;
|
31
28
|
IStaking private _staking;
|
32
29
|
StakingStore private _store;
|
33
30
|
|
34
|
-
constructor(
|
31
|
+
constructor() {
|
35
32
|
_initializeOwner = msg.sender;
|
36
|
-
_registry = registry;
|
37
33
|
}
|
38
34
|
|
39
35
|
function initialize(
|
@@ -51,18 +47,14 @@ contract StakingReader is
|
|
51
47
|
_store = StakingStore(stakingStoreAddress);
|
52
48
|
}
|
53
49
|
|
54
|
-
// view
|
55
|
-
|
56
|
-
function getRegistry() external view returns (IRegistry registry) {
|
57
|
-
return _registry;
|
58
|
-
}
|
50
|
+
// view functions
|
59
51
|
|
60
52
|
function getStaking() external view returns (IStaking staking) {
|
61
53
|
return _staking;
|
62
54
|
}
|
63
55
|
|
64
56
|
function getProtocolNftId() external view returns (NftId protocolNftId) {
|
65
|
-
return
|
57
|
+
return _getRegistry().getProtocolNftId();
|
66
58
|
}
|
67
59
|
|
68
60
|
|
@@ -82,7 +74,7 @@ contract StakingReader is
|
|
82
74
|
|
83
75
|
|
84
76
|
function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
|
85
|
-
return
|
77
|
+
return _getRegistry().getParentNftId(stakeNftId);
|
86
78
|
}
|
87
79
|
|
88
80
|
|
@@ -3,7 +3,6 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
7
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
7
|
import {IStaking} from "./IStaking.sol";
|
9
8
|
import {IStakingService} from "./IStakingService.sol";
|
@@ -114,7 +113,7 @@ contract StakingService is
|
|
114
113
|
|
115
114
|
// update reward reserve book keeping
|
116
115
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
117
|
-
address instanceOwner =
|
116
|
+
address instanceOwner = _getRegistry().ownerOf(instanceNftId);
|
118
117
|
newBalance = $._staking.refillRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
|
119
118
|
|
120
119
|
emit LogStakingServiceRewardReservesIncreased(instanceNftId, rewardProvider, dipAmount, newBalance);
|
@@ -131,7 +130,7 @@ contract StakingService is
|
|
131
130
|
_checkNftType(instanceNftId, INSTANCE());
|
132
131
|
// update reward reserve book keeping
|
133
132
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
134
|
-
address instanceOwner =
|
133
|
+
address instanceOwner = _getRegistry().ownerOf(instanceNftId);
|
135
134
|
newBalance = $._staking.withdrawRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
|
136
135
|
|
137
136
|
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
@@ -158,11 +157,12 @@ contract StakingService is
|
|
158
157
|
nftId: NftIdLib.zero(),
|
159
158
|
parentNftId: targetNftId,
|
160
159
|
objectType: STAKE(),
|
160
|
+
release: getRelease(),
|
161
161
|
isInterceptor: false,
|
162
|
-
objectAddress: address(0),
|
163
|
-
|
164
|
-
|
165
|
-
|
162
|
+
objectAddress: address(0)}),
|
163
|
+
stakeOwner, // initialOwner
|
164
|
+
"" // data
|
165
|
+
);
|
166
166
|
|
167
167
|
emit LogStakingServiceStakeObjectCreated(stakeNftId, targetNftId, stakeOwner);
|
168
168
|
}
|
@@ -255,18 +255,18 @@ contract StakingService is
|
|
255
255
|
)
|
256
256
|
internal
|
257
257
|
virtual override
|
258
|
-
|
258
|
+
onlyInitializing()
|
259
259
|
{
|
260
260
|
(
|
261
261
|
address authority,
|
262
|
-
address registry,
|
263
262
|
address staking
|
264
|
-
) = abi.decode(data, (address, address
|
263
|
+
) = abi.decode(data, (address, address));
|
265
264
|
|
266
|
-
__Service_init(authority,
|
265
|
+
__Service_init(authority, owner);
|
267
266
|
|
268
267
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
269
268
|
$._registryService = RegistryService(_getServiceAddress(REGISTRY()));
|
269
|
+
// TODO staking is registered in registry.initialize(), just check if address is registered staking
|
270
270
|
$._staking = _registerStaking(staking);
|
271
271
|
$._dip = $._staking.getToken();
|
272
272
|
$._tokenHandler = $._staking.getTokenHandler();
|
@@ -283,7 +283,7 @@ contract StakingService is
|
|
283
283
|
{
|
284
284
|
// check if provided staking contract is already registred
|
285
285
|
// staking contract may have been already registered by a previous major relase
|
286
|
-
IRegistry.ObjectInfo memory stakingInfo =
|
286
|
+
IRegistry.ObjectInfo memory stakingInfo = _getRegistry().getObjectInfo(stakingAddress);
|
287
287
|
if (stakingInfo.nftId.gtz()) {
|
288
288
|
// registered object but wrong type
|
289
289
|
if (stakingInfo.objectType != STAKING()) {
|
@@ -294,6 +294,9 @@ contract StakingService is
|
|
294
294
|
return IStaking(stakingAddress);
|
295
295
|
}
|
296
296
|
|
297
|
+
// TODO staking is registered in registry.initialize()
|
298
|
+
// consider deleting the rest of the function
|
299
|
+
|
297
300
|
// check that contract implements IStaking
|
298
301
|
if(!IStaking(stakingAddress).supportsInterface(type(IStaking).interfaceId)) {
|
299
302
|
revert ErrorStakingServiceNotSupportingIStaking(stakingAddress);
|
@@ -301,7 +304,7 @@ contract StakingService is
|
|
301
304
|
|
302
305
|
address owner = msg.sender;
|
303
306
|
_getStakingServiceStorage()._registryService.registerStaking(
|
304
|
-
|
307
|
+
IStaking(stakingAddress),
|
305
308
|
owner);
|
306
309
|
|
307
310
|
return IStaking(stakingAddress);
|
@@ -2,8 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
-
import {
|
6
|
-
|
5
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
7
6
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
8
7
|
import {StakingService} from "./StakingService.sol";
|
9
8
|
|
@@ -16,23 +15,20 @@ contract StakingServiceManager is
|
|
16
15
|
/// @dev initializes proxy manager with service implementation
|
17
16
|
constructor(
|
18
17
|
address authority,
|
19
|
-
address registry,
|
20
18
|
bytes32 salt
|
21
19
|
)
|
22
20
|
{
|
23
21
|
StakingService svc = new StakingService();
|
24
22
|
bytes memory data = abi.encode(
|
25
23
|
authority,
|
26
|
-
|
27
|
-
IRegistry(registry).getStakingAddress());
|
24
|
+
_getRegistry().getStakingAddress());
|
28
25
|
|
29
|
-
|
30
|
-
registry,
|
26
|
+
IUpgradeable upgradeable = initialize(
|
31
27
|
address(svc),
|
32
28
|
data,
|
33
29
|
salt);
|
34
30
|
|
35
|
-
_stakingService = StakingService(address(
|
31
|
+
_stakingService = StakingService(address(upgradeable));
|
36
32
|
}
|
37
33
|
|
38
34
|
//--- view functions ----------------------------------------------------//
|