@etherisc/gif-next 3.0.0-a35a440-562 → 3.0.0-a511887-523
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 +0 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +168 -53
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +154 -63
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +107 -20
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +114 -59
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +96 -96
- 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 +45 -3
- 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 +158 -67
- 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 +112 -49
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +227 -112
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +184 -93
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +124 -48
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +106 -19
- 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 +187 -76
- 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 +224 -113
- 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 +193 -74
- 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 +192 -73
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +200 -81
- 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 +200 -81
- 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 +2 -2
- 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 +118 -18
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +118 -31
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +181 -34
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +192 -146
- 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 +75 -177
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +167 -56
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +148 -59
- 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 +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- 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 +158 -67
- 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 +128 -52
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +113 -26
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +116 -53
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +184 -69
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +159 -68
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +119 -56
- 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 +199 -84
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +171 -80
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +106 -19
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +131 -55
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +113 -26
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +119 -56
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +25 -20
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +210 -95
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +172 -81
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +153 -62
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +112 -49
- 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 +211 -96
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +176 -85
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +106 -19
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +106 -19
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +113 -26
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +113 -26
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +124 -48
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +106 -19
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +204 -89
- 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 +169 -78
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +186 -71
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +160 -69
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +112 -49
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +161 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +151 -60
- 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 +219 -185
- 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 +192 -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 +302 -213
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +162 -55
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +192 -146
- 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 +173 -144
- 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 +46 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +124 -31
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +198 -298
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +166 -91
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +24 -44
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +136 -30
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +113 -209
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +124 -48
- 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 +44 -2
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +44 -2
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -17
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +44 -2
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +106 -19
- 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 +112 -49
- 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 +46 -4
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +46 -4
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +116 -16
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +46 -4
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +105 -18
- 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 +132 -39
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +106 -19
- 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 +195 -86
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +156 -71
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +46 -4
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +157 -42
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +149 -58
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +274 -200
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- 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 +109 -40
- 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 +2 -2
- package/contracts/accounting/AccountingServiceManager.sol +3 -3
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +19 -16
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +2 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/DistributionService.sol +11 -8
- package/contracts/distribution/DistributionServiceManager.sol +3 -3
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +3 -6
- package/contracts/instance/InstanceAdmin.sol +9 -14
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +3 -25
- package/contracts/instance/InstanceService.sol +4 -4
- package/contracts/instance/InstanceServiceManager.sol +3 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +3 -2
- package/contracts/oracle/OracleService.sol +1 -1
- package/contracts/oracle/OracleServiceManager.sol +3 -3
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +5 -5
- package/contracts/pool/BundleServiceManager.sol +3 -3
- package/contracts/pool/PoolLib.sol +7 -4
- package/contracts/pool/PoolService.sol +3 -3
- package/contracts/pool/PoolServiceManager.sol +3 -3
- package/contracts/product/ApplicationService.sol +4 -5
- package/contracts/product/ApplicationServiceManager.sol +3 -3
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/ClaimServiceManager.sol +3 -3
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceManager.sol +3 -3
- package/contracts/product/PricingService.sol +1 -1
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/RiskService.sol +1 -1
- package/contracts/product/RiskServiceManager.sol +3 -3
- 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 +9 -15
- package/contracts/registry/RegistryAuthorization.sol +2 -1
- package/contracts/registry/RegistryService.sol +96 -78
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +14 -12
- package/contracts/registry/ReleaseRegistry.sol +52 -50
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/shared/Component.sol +24 -17
- package/contracts/shared/ComponentService.sol +28 -101
- package/contracts/shared/ComponentServiceManager.sol +3 -3
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
- package/contracts/shared/IRegisterable.sol +8 -3
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +39 -124
- package/contracts/shared/NftOwnable.sol +1 -14
- package/contracts/shared/PolicyHolder.sol +2 -2
- package/contracts/shared/Registerable.sol +36 -18
- package/contracts/shared/RegistryLinked.sol +11 -4
- package/contracts/shared/Service.sol +6 -5
- 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 +7 -17
- package/contracts/staking/StakingManager.sol +3 -3
- package/contracts/staking/StakingService.sol +10 -7
- package/contracts/staking/StakingServiceManager.sol +3 -4
- package/contracts/staking/StakingStore.sol +10 -8
- 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 -50
- 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 -500
- 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 -2324
- 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/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 -311
- 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 -626
- package/contracts/examples/flight/FlightProductAuthorization.sol +0 -44
- 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
@@ -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";
|
@@ -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,7 +255,7 @@ contract StakingService is
|
|
255
255
|
)
|
256
256
|
internal
|
257
257
|
virtual override
|
258
|
-
|
258
|
+
onlyInitializing()
|
259
259
|
{
|
260
260
|
(
|
261
261
|
address authority,
|
@@ -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
|
|
@@ -26,13 +25,13 @@ contract StakingServiceManager is
|
|
26
25
|
registry,
|
27
26
|
IRegistry(registry).getStakingAddress());
|
28
27
|
|
29
|
-
|
28
|
+
IUpgradeable upgradeable = initialize(
|
30
29
|
registry,
|
31
30
|
address(svc),
|
32
31
|
data,
|
33
32
|
salt);
|
34
33
|
|
35
|
-
_stakingService = StakingService(address(
|
34
|
+
_stakingService = StakingService(address(upgradeable));
|
36
35
|
}
|
37
36
|
|
38
37
|
//--- view functions ----------------------------------------------------//
|
@@ -18,6 +18,7 @@ import {PROTOCOL, INSTANCE} from "../type/ObjectType.sol";
|
|
18
18
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
19
19
|
import {StakingLib} from "./StakingLib.sol";
|
20
20
|
import {StakingReader} from "./StakingReader.sol";
|
21
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
21
22
|
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
22
23
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
23
24
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
@@ -25,7 +26,8 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
|
25
26
|
|
26
27
|
contract StakingStore is
|
27
28
|
Initializable,
|
28
|
-
AccessManaged
|
29
|
+
AccessManaged,
|
30
|
+
RegistryLinked
|
29
31
|
{
|
30
32
|
|
31
33
|
// token
|
@@ -53,7 +55,6 @@ contract StakingStore is
|
|
53
55
|
error ErrorStakingStoreTvlBalanceAlreadyInitialized(NftId nftId, address token);
|
54
56
|
error ErrorStakingStoreTvlBalanceNotInitialized(NftId nftId, address token);
|
55
57
|
|
56
|
-
IRegistry private _registry;
|
57
58
|
ITargetLimitHandler private _targetLimitHandler;
|
58
59
|
StakingReader private _reader;
|
59
60
|
NftIdSet private _targetNftIdSet;
|
@@ -75,16 +76,17 @@ contract StakingStore is
|
|
75
76
|
|
76
77
|
|
77
78
|
constructor(
|
78
|
-
|
79
|
+
address registry,
|
79
80
|
StakingReader reader
|
80
81
|
)
|
81
82
|
AccessManaged(msg.sender)
|
82
83
|
{
|
84
|
+
__RegistryLinked_init(registry);
|
85
|
+
|
83
86
|
// set final authority
|
84
|
-
setAuthority(
|
87
|
+
setAuthority(getRegistry().getAuthority());
|
85
88
|
|
86
89
|
// set internal variables
|
87
|
-
_registry = registry;
|
88
90
|
_reader = reader;
|
89
91
|
_targetNftIdSet = new NftIdSet();
|
90
92
|
|
@@ -495,7 +497,7 @@ contract StakingStore is
|
|
495
497
|
emit IStaking.LogStakingRewardReservesRefilled(
|
496
498
|
targetNftId,
|
497
499
|
dipAmount,
|
498
|
-
|
500
|
+
getRegistry().ownerOf(targetNftId),
|
499
501
|
newReserveBalance,
|
500
502
|
lastUpdateIn);
|
501
503
|
}
|
@@ -520,7 +522,7 @@ contract StakingStore is
|
|
520
522
|
emit IStaking.LogStakingRewardReservesWithdrawn(
|
521
523
|
targetNftId,
|
522
524
|
dipAmount,
|
523
|
-
|
525
|
+
getRegistry().ownerOf(targetNftId),
|
524
526
|
newReserveBalance,
|
525
527
|
lastUpdateIn);
|
526
528
|
}
|
@@ -929,7 +931,7 @@ contract StakingStore is
|
|
929
931
|
// checks
|
930
932
|
if (checkParameters) {
|
931
933
|
TargetManagerLib.checkTargetParameters(
|
932
|
-
|
934
|
+
getRegistry(),
|
933
935
|
_reader,
|
934
936
|
targetNftId,
|
935
937
|
objectType,
|
@@ -1,7 +1,6 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {StrLib} from "./String.sol";
|
5
4
|
import {VersionPart} from "./Version.sol";
|
6
5
|
|
7
6
|
type ObjectType is uint8;
|
@@ -248,7 +247,7 @@ library ObjectTypeLib {
|
|
248
247
|
return string(
|
249
248
|
abi.encodePacked(
|
250
249
|
"ObjectType",
|
251
|
-
|
250
|
+
toString(
|
252
251
|
toInt(objectType))));
|
253
252
|
}
|
254
253
|
|
@@ -275,4 +274,34 @@ library ObjectTypeLib {
|
|
275
274
|
versionName,
|
276
275
|
release.toString()));
|
277
276
|
}
|
277
|
+
|
278
|
+
/// @dev returns the provied int as a string
|
279
|
+
function toString(uint256 value) public pure returns (string memory name) {
|
280
|
+
|
281
|
+
if (value == 0) {
|
282
|
+
return "0";
|
283
|
+
}
|
284
|
+
|
285
|
+
uint256 temp = value;
|
286
|
+
uint256 digits = 0;
|
287
|
+
while (temp != 0) {
|
288
|
+
digits++;
|
289
|
+
temp /= 10;
|
290
|
+
}
|
291
|
+
|
292
|
+
bytes memory buffer = new bytes(digits);
|
293
|
+
uint256 index = digits - 1;
|
294
|
+
|
295
|
+
temp = value;
|
296
|
+
while (temp != 0) {
|
297
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
298
|
+
temp /= 10;
|
299
|
+
|
300
|
+
if (index > 0) {
|
301
|
+
index--;
|
302
|
+
}
|
303
|
+
}
|
304
|
+
|
305
|
+
return string(buffer);
|
306
|
+
}
|
278
307
|
}
|
@@ -13,7 +13,6 @@ using {
|
|
13
13
|
eqReferralId as ==,
|
14
14
|
neReferralId as !=,
|
15
15
|
ReferralLib.eqz,
|
16
|
-
ReferralLib.toInt,
|
17
16
|
ReferralLib.toKey32
|
18
17
|
} for ReferralId global;
|
19
18
|
|
@@ -75,11 +74,6 @@ library ReferralLib {
|
|
75
74
|
return ReferralStatus.wrap(status);
|
76
75
|
}
|
77
76
|
|
78
|
-
/// @dev Converts a referral id into a uint256.
|
79
|
-
function toInt(ReferralId referralId) public pure returns (uint256) {
|
80
|
-
return uint64(ReferralId.unwrap(referralId));
|
81
|
-
}
|
82
|
-
|
83
77
|
/// @dev Returns the key32 value for the specified nft id and object type.
|
84
78
|
function toKey32(ReferralId id) public pure returns (Key32 key) {
|
85
79
|
return Key32Lib.toKey32(REFERRAL(), toKeyId(id));
|
@@ -47,10 +47,6 @@ library SecondsLib {
|
|
47
47
|
return Seconds.wrap(_max());
|
48
48
|
}
|
49
49
|
|
50
|
-
function fromHours(uint32 numberOfHours) public pure returns (Seconds duration) {
|
51
|
-
return Seconds.wrap(numberOfHours * 3600);
|
52
|
-
}
|
53
|
-
|
54
50
|
function oneDay() public pure returns (Seconds duration) {
|
55
51
|
return Seconds.wrap(24 * 3600);
|
56
52
|
}
|
@@ -62,34 +62,4 @@ library StrLib {
|
|
62
62
|
function length(Str str) public pure returns (uint256 byteLength) {
|
63
63
|
return ShortStrings.byteLength(ShortString.wrap(Str.unwrap(str)));
|
64
64
|
}
|
65
|
-
|
66
|
-
/// @dev Returns the provied int as a string
|
67
|
-
function uintToString(uint256 value) public pure returns (string memory name) {
|
68
|
-
|
69
|
-
if (value == 0) {
|
70
|
-
return "0";
|
71
|
-
}
|
72
|
-
|
73
|
-
uint256 temp = value;
|
74
|
-
uint256 digits = 0;
|
75
|
-
while (temp != 0) {
|
76
|
-
digits++;
|
77
|
-
temp /= 10;
|
78
|
-
}
|
79
|
-
|
80
|
-
bytes memory buffer = new bytes(digits);
|
81
|
-
uint256 index = digits - 1;
|
82
|
-
|
83
|
-
temp = value;
|
84
|
-
while (temp != 0) {
|
85
|
-
buffer[index] = bytes1(uint8(48 + temp % 10));
|
86
|
-
temp /= 10;
|
87
|
-
|
88
|
-
if (index > 0) {
|
89
|
-
index--;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
return string(buffer);
|
94
|
-
}
|
95
65
|
}
|
@@ -23,7 +23,6 @@ using {
|
|
23
23
|
TimestampLib.gtz,
|
24
24
|
TimestampLib.eqz,
|
25
25
|
TimestampLib.addSeconds,
|
26
|
-
TimestampLib.subtractSeconds,
|
27
26
|
TimestampLib.toInt
|
28
27
|
} for Timestamp global;
|
29
28
|
|
@@ -130,7 +129,7 @@ library TimestampLib {
|
|
130
129
|
return Timestamp.unwrap(timestamp) > 0;
|
131
130
|
}
|
132
131
|
|
133
|
-
/// @dev return
|
132
|
+
/// @dev return true if Timestamp a is not equal to Timestamp b
|
134
133
|
function addSeconds(
|
135
134
|
Timestamp timestamp,
|
136
135
|
Seconds duration
|
@@ -138,14 +137,6 @@ library TimestampLib {
|
|
138
137
|
return toTimestamp(Timestamp.unwrap(timestamp) + duration.toInt());
|
139
138
|
}
|
140
139
|
|
141
|
-
/// @dev return a new timestamp that is duration seconds earlier than the provided timestamp.
|
142
|
-
function subtractSeconds(
|
143
|
-
Timestamp timestamp,
|
144
|
-
Seconds duration
|
145
|
-
) public pure returns (Timestamp) {
|
146
|
-
return toTimestamp(Timestamp.unwrap(timestamp) - duration.toInt());
|
147
|
-
}
|
148
|
-
|
149
140
|
function toInt(Timestamp timestamp) public pure returns (uint256) {
|
150
141
|
return uint256(uint40(Timestamp.unwrap(timestamp)));
|
151
142
|
}
|
@@ -5,6 +5,9 @@ type VersionPart is uint8;
|
|
5
5
|
|
6
6
|
using {
|
7
7
|
versionPartGt as >,
|
8
|
+
versionPartGte as >=,
|
9
|
+
versionPartLt as <,
|
10
|
+
versionPartLte as <=,
|
8
11
|
versionPartEq as ==,
|
9
12
|
versionPartNe as !=,
|
10
13
|
VersionPartLib.eqz,
|
@@ -16,6 +19,9 @@ using {
|
|
16
19
|
for VersionPart global;
|
17
20
|
|
18
21
|
function versionPartGt(VersionPart a, VersionPart b) pure returns(bool isGreaterThan) { return VersionPart.unwrap(a) > VersionPart.unwrap(b); }
|
22
|
+
function versionPartGte(VersionPart a, VersionPart b) pure returns(bool isGreaterThan) { return VersionPart.unwrap(a) >= VersionPart.unwrap(b); }
|
23
|
+
function versionPartLt(VersionPart a, VersionPart b) pure returns(bool isLessThan) { return VersionPart.unwrap(a) < VersionPart.unwrap(b); }
|
24
|
+
function versionPartLte(VersionPart a, VersionPart b) pure returns(bool isLessThan) { return VersionPart.unwrap(a) <= VersionPart.unwrap(b); }
|
19
25
|
function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) == VersionPart.unwrap(b); }
|
20
26
|
function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
|
21
27
|
|
@@ -27,8 +33,7 @@ library VersionPartLib {
|
|
27
33
|
function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
|
28
34
|
|
29
35
|
function isValidRelease(VersionPart release) external pure returns(bool) {
|
30
|
-
|
31
|
-
return 3 <= releaseInt && releaseInt <= 99;
|
36
|
+
return releaseMin() <= release && release <= releaseMax();
|
32
37
|
}
|
33
38
|
|
34
39
|
function toString(VersionPart a) external pure returns (string memory) {
|
@@ -66,8 +71,9 @@ library VersionPartLib {
|
|
66
71
|
|
67
72
|
function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
|
68
73
|
function gtz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) > 0; }
|
69
|
-
function toInt(VersionPart a) external pure returns(
|
70
|
-
function toVersionPart(
|
74
|
+
function toInt(VersionPart a) external pure returns(uint8) { return VersionPart.unwrap(a); }
|
75
|
+
function toVersionPart(uint8 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
|
76
|
+
function zero() external pure returns(VersionPart) { return VersionPart.wrap(0); }
|
71
77
|
}
|
72
78
|
|
73
79
|
type Version is uint24; // contains major,minor,patch version parts
|
@@ -87,7 +93,7 @@ function versionEq(Version a, Version b) pure returns(bool isSame) { return Vers
|
|
87
93
|
|
88
94
|
library VersionLib {
|
89
95
|
|
90
|
-
function toInt(Version version) external pure returns(
|
96
|
+
function toInt(Version version) external pure returns(uint24) { return Version.unwrap(version); }
|
91
97
|
|
92
98
|
function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
|
93
99
|
|
@@ -124,26 +130,19 @@ library VersionLib {
|
|
124
130
|
);
|
125
131
|
}
|
126
132
|
|
127
|
-
// function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
|
128
|
-
// return VersionPart.wrap(uint8(versionPart));
|
129
|
-
// }
|
130
|
-
|
131
133
|
function toVersion(
|
132
|
-
|
133
|
-
|
134
|
-
|
134
|
+
uint8 major,
|
135
|
+
uint8 minor,
|
136
|
+
uint8 patch
|
135
137
|
)
|
136
138
|
external
|
137
139
|
pure
|
138
140
|
returns(Version)
|
139
141
|
{
|
140
|
-
require(
|
141
|
-
major < 256 && minor < 256 && patch < 256,
|
142
|
-
"ERROR:VRS-010:VERSION_PART_TOO_BIG");
|
143
142
|
|
144
143
|
return Version.wrap(
|
145
144
|
uint24(
|
146
|
-
(major << 16) + (minor << 8) + patch));
|
145
|
+
(uint24(major) << 16) + (uint24(minor) << 8) + patch));
|
147
146
|
}
|
148
147
|
|
149
148
|
// TODO check for overflow?
|
@@ -1,21 +1,21 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../shared/IVersionable.sol";
|
5
5
|
|
6
6
|
/// IMPORTANT
|
7
7
|
// Upgradeable contract MUST:
|
8
|
-
// 1) inherit
|
9
|
-
// 2) implement
|
8
|
+
// 1) inherit Upgradeable
|
9
|
+
// 2) implement getVersion() function
|
10
10
|
// 3) implement internal _initialize() function with onlyInitializing modifier
|
11
11
|
// 4) implement internal _upgrade() function with onlyInitializing modifier (1st version MUST revert)
|
12
|
-
// 5) have onlyInitialising modifier for each function callable inside _initialize()/_upgrade()
|
13
|
-
// 6) use
|
14
|
-
// 7) use
|
15
|
-
// 8)
|
12
|
+
// 5) have onlyInitialising modifier for each function callable inside _initialize()/_upgrade()
|
13
|
+
// 6) use different functions for initialization, upgrade and normal operations
|
14
|
+
// 7) use default empty constructor -> _disableInitializer() is called from Upgradeable contructor
|
15
|
+
// 8) use namespace storage (should storage be needed)
|
16
16
|
// Upgradeable contract SHOULD:
|
17
17
|
// 9) define all non private methods as virtual (in order to be able to upgrade them latter)
|
18
|
-
// otherwise, it is still possible to upgrade contract, but everyone who is using it will have to switch to a new
|
18
|
+
// otherwise, it is still possible to upgrade contract, but everyone who is using it will have to switch to a new functions
|
19
19
|
// in some cases this ok but not in the others...
|
20
20
|
//
|
21
21
|
// IMPORTANT
|
@@ -26,31 +26,25 @@ import {Version} from "../type/Version.sol";
|
|
26
26
|
// 2) ALWAYS define private getter if accessing storage
|
27
27
|
// - MUST use default implementation, CAN change ONLY return type
|
28
28
|
|
29
|
-
interface IVersionable {
|
29
|
+
interface IUpgradeable is IVersionable {
|
30
30
|
|
31
31
|
error ErrorVersionableInitializeNotImplemented();
|
32
32
|
error ErrorVersionableUpgradeNotImplemented();
|
33
33
|
|
34
34
|
/**
|
35
35
|
* @dev IMPORTANT
|
36
|
+
* top level initializer for each upgradeable
|
36
37
|
* implementation MUST be guarded by initializer modifier
|
37
38
|
* new version MUST inherit from previous version
|
38
39
|
*/
|
39
|
-
function
|
40
|
+
function initialize(address activatedBy, bytes memory activationData) external;
|
40
41
|
|
41
42
|
/**
|
42
43
|
* @dev
|
44
|
+
* top level reinitializer for each upgradeable
|
43
45
|
* implementation MUST be guarded by reinitializer(version().toUint64()) modifier
|
44
46
|
* new version MUST inherit from previous version
|
45
47
|
* the first verion MUST revert
|
46
48
|
*/
|
47
|
-
function
|
48
|
-
|
49
|
-
/**
|
50
|
-
* @dev returns version of this contract
|
51
|
-
* each new implementation MUST implement this function
|
52
|
-
* version number MUST increase
|
53
|
-
*/
|
54
|
-
function getVersion() external pure returns(Version);
|
55
|
-
|
49
|
+
function upgrade(bytes memory upgradeData) external;
|
56
50
|
}
|
@@ -5,14 +5,14 @@ import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.s
|
|
5
5
|
import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
|
6
6
|
|
7
7
|
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
8
|
-
import {
|
8
|
+
import {IUpgradeable} from "./IUpgradeable.sol";
|
9
9
|
import {NftId} from "../type/NftId.sol";
|
10
10
|
import {NftOwnable} from "../shared/NftOwnable.sol";
|
11
11
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
12
12
|
import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
|
13
|
-
import {Version, VersionLib} from "../type/Version.sol";
|
13
|
+
import {Version, VersionPart, VersionLib} from "../type/Version.sol";
|
14
14
|
|
15
|
-
/// @dev manages proxy deployments for upgradable contracs of type
|
15
|
+
/// @dev manages proxy deployments for upgradable contracs of type IUpgradeable
|
16
16
|
contract ProxyManager is
|
17
17
|
NftOwnable
|
18
18
|
{
|
@@ -27,14 +27,15 @@ contract ProxyManager is
|
|
27
27
|
address activatedBy;
|
28
28
|
}
|
29
29
|
|
30
|
-
event
|
31
|
-
event
|
30
|
+
event LogProxyManagerProxyDeployed(address indexed proxy, address initialImplementation);
|
31
|
+
event LogProxyManagerProxyUpgraded(address indexed proxy, address upgradedImplementation);
|
32
32
|
|
33
33
|
error ErrorProxyManagerAlreadyDeployed();
|
34
34
|
error ErrorProxyManagerNotYetDeployed();
|
35
35
|
|
36
36
|
error ErrorProxyManagerZeroVersion();
|
37
37
|
error ErrorProxyManagerNextVersionNotIncreasing(Version nextVersion);
|
38
|
+
error ErrorProxyManagerNextVersionReleaseInvalid(Version nextVersion);
|
38
39
|
|
39
40
|
UpgradableProxyWithAdmin internal _proxy;
|
40
41
|
|
@@ -51,9 +52,13 @@ contract ProxyManager is
|
|
51
52
|
)
|
52
53
|
public
|
53
54
|
initializer()
|
54
|
-
returns (
|
55
|
+
returns (IUpgradeable upgradeable)
|
55
56
|
{
|
56
|
-
|
57
|
+
address initialOwner = msg.sender;
|
58
|
+
|
59
|
+
__NftOwnable_init(registry, initialOwner);
|
60
|
+
|
61
|
+
upgradeable = deployDetermenistic(
|
57
62
|
registry,
|
58
63
|
implementation,
|
59
64
|
data,
|
@@ -69,12 +74,14 @@ contract ProxyManager is
|
|
69
74
|
public
|
70
75
|
virtual
|
71
76
|
onlyInitializing()
|
72
|
-
returns (
|
77
|
+
returns (IUpgradeable upgradeable)
|
73
78
|
{
|
74
|
-
(
|
75
|
-
|
76
|
-
|
77
|
-
|
79
|
+
if (_versions.length > 0) {
|
80
|
+
revert ErrorProxyManagerAlreadyDeployed();
|
81
|
+
}
|
82
|
+
|
83
|
+
address currentProxyOwner = getOwner(); // used by implementation
|
84
|
+
address initialProxyAdminOwner = address(this); // used by proxy
|
78
85
|
|
79
86
|
_proxy = new UpgradableProxyWithAdmin(
|
80
87
|
initialImplementation,
|
@@ -82,11 +89,11 @@ contract ProxyManager is
|
|
82
89
|
getDeployData(currentProxyOwner, initializationData)
|
83
90
|
);
|
84
91
|
|
85
|
-
|
92
|
+
upgradeable = _updateVersionHistory(
|
86
93
|
initialImplementation,
|
87
94
|
currentProxyOwner);
|
88
95
|
|
89
|
-
emit
|
96
|
+
emit LogProxyManagerProxyDeployed(address(upgradeable), initialImplementation);
|
90
97
|
}
|
91
98
|
|
92
99
|
function deployDetermenistic(
|
@@ -98,12 +105,14 @@ contract ProxyManager is
|
|
98
105
|
public
|
99
106
|
virtual
|
100
107
|
onlyInitializing()
|
101
|
-
returns (
|
108
|
+
returns (IUpgradeable upgradeable)
|
102
109
|
{
|
103
|
-
(
|
104
|
-
|
105
|
-
|
106
|
-
|
110
|
+
if (_versions.length > 0) {
|
111
|
+
revert ErrorProxyManagerAlreadyDeployed();
|
112
|
+
}
|
113
|
+
|
114
|
+
address currentProxyOwner = getOwner(); // used by implementation
|
115
|
+
address initialProxyAdminOwner = address(this); // used by proxy
|
107
116
|
|
108
117
|
_proxy = new UpgradableProxyWithAdmin{salt: salt}(
|
109
118
|
initialImplementation,
|
@@ -111,11 +120,11 @@ contract ProxyManager is
|
|
111
120
|
getDeployData(currentProxyOwner, initializationData)
|
112
121
|
);
|
113
122
|
|
114
|
-
|
123
|
+
upgradeable = _updateVersionHistory(
|
115
124
|
initialImplementation,
|
116
125
|
currentProxyOwner);
|
117
126
|
|
118
|
-
emit
|
127
|
+
emit LogProxyManagerProxyDeployed(address(upgradeable), initialImplementation);
|
119
128
|
}
|
120
129
|
|
121
130
|
/// @dev upgrade existing contract.
|
@@ -124,7 +133,7 @@ contract ProxyManager is
|
|
124
133
|
public
|
125
134
|
virtual
|
126
135
|
onlyOwner()
|
127
|
-
returns (
|
136
|
+
returns (IUpgradeable upgradeable)
|
128
137
|
{
|
129
138
|
bytes memory emptyUpgradeData;
|
130
139
|
return upgrade(newImplementation, emptyUpgradeData);
|
@@ -135,7 +144,7 @@ contract ProxyManager is
|
|
135
144
|
public
|
136
145
|
virtual
|
137
146
|
onlyOwner()
|
138
|
-
returns (
|
147
|
+
returns (IUpgradeable upgradeable)
|
139
148
|
{
|
140
149
|
if (_versions.length == 0) {
|
141
150
|
revert ErrorProxyManagerNotYetDeployed();
|
@@ -150,11 +159,11 @@ contract ProxyManager is
|
|
150
159
|
newImplementation,
|
151
160
|
getUpgradeData(upgradeData));
|
152
161
|
|
153
|
-
|
162
|
+
upgradeable = _updateVersionHistory(
|
154
163
|
newImplementation,
|
155
164
|
currentProxyOwner);
|
156
165
|
|
157
|
-
emit
|
166
|
+
emit LogProxyManagerProxyUpgraded(address(upgradeable), newImplementation);
|
158
167
|
|
159
168
|
}
|
160
169
|
|
@@ -164,14 +173,14 @@ contract ProxyManager is
|
|
164
173
|
|
165
174
|
function getDeployData(address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
|
166
175
|
return abi.encodeWithSelector(
|
167
|
-
|
176
|
+
IUpgradeable.initialize.selector,
|
168
177
|
proxyOwner,
|
169
178
|
deployData);
|
170
179
|
}
|
171
180
|
|
172
181
|
function getUpgradeData(bytes memory upgradeData) public pure returns (bytes memory data) {
|
173
182
|
return abi.encodeWithSelector(
|
174
|
-
|
183
|
+
IUpgradeable.upgrade.selector,
|
175
184
|
upgradeData);
|
176
185
|
}
|
177
186
|
|
@@ -180,7 +189,7 @@ contract ProxyManager is
|
|
180
189
|
}
|
181
190
|
|
182
191
|
function getVersion() external view virtual returns(Version) {
|
183
|
-
return
|
192
|
+
return _versionHistory[_versions[_versions.length]].version;
|
184
193
|
}
|
185
194
|
|
186
195
|
function getVersionCount() external view returns(uint256) {
|
@@ -195,42 +204,29 @@ contract ProxyManager is
|
|
195
204
|
return _versionHistory[_version];
|
196
205
|
}
|
197
206
|
|
198
|
-
function _preDeployChecksAndSetup(address registry)
|
199
|
-
private
|
200
|
-
returns (
|
201
|
-
address currentProxyOwner,
|
202
|
-
address initialProxyAdminOwner
|
203
|
-
)
|
204
|
-
{
|
205
|
-
if (_versions.length > 0) {
|
206
|
-
revert ErrorProxyManagerAlreadyDeployed();
|
207
|
-
}
|
208
|
-
|
209
|
-
address initialOwner = msg.sender;
|
210
|
-
__NftOwnable_init(registry, initialOwner);
|
211
|
-
|
212
|
-
currentProxyOwner = getOwner(); // used by implementation
|
213
|
-
initialProxyAdminOwner = address(this); // used by proxy
|
214
|
-
}
|
215
|
-
|
216
207
|
function _updateVersionHistory(
|
217
208
|
address implementation,
|
218
209
|
address activatedBy
|
219
210
|
)
|
220
211
|
private
|
221
|
-
returns (
|
212
|
+
returns (IUpgradeable upgradeable)
|
222
213
|
{
|
223
|
-
|
224
|
-
Version newVersion =
|
214
|
+
upgradeable = IUpgradeable(address(_proxy));
|
215
|
+
Version newVersion = upgradeable.getVersion();
|
225
216
|
|
226
217
|
if(newVersion == VersionLib.zeroVersion()) {
|
227
218
|
revert ErrorProxyManagerZeroVersion();
|
228
219
|
}
|
229
220
|
|
230
221
|
if(_versions.length > 0) {
|
231
|
-
|
222
|
+
Version version = _versions[_versions.length-1];
|
223
|
+
if(newVersion.toInt() <= version.toInt()) {
|
232
224
|
revert ErrorProxyManagerNextVersionNotIncreasing(newVersion);
|
233
225
|
}
|
226
|
+
|
227
|
+
if(newVersion.toMajorPart() != version.toMajorPart()) {
|
228
|
+
revert ErrorProxyManagerNextVersionReleaseInvalid(newVersion);
|
229
|
+
}
|
234
230
|
}
|
235
231
|
|
236
232
|
// update version history
|