From a483cda6821e3883497972d36d0c4c1e1693e483 Mon Sep 17 00:00:00 2001 From: Joachim Date: Thu, 22 Feb 2024 09:57:39 +0100 Subject: [PATCH] :bookmark: (v2.2.1) update version (#94) --- CHANGELOG.md | 8 ++++++++ contracts/proxy/IdentityProxy.sol | 4 ++-- contracts/version/Version.sol | 2 +- package-lock.json | 4 ++-- package.json | 2 +- test/identities/init.test.ts | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28590a9..3969fea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.2.1] + +### Changed +- Replaced the storage slot used for ImplementationAuthority on the proxies, to avoid conflict with ERC-1822 on + block explorers. By using the same storage slot, the explorers were identifying this proxy as an ERC-1822, while + it's a different implementation here, the storage slot is not used to store the address of the implementation but + the address to ImplementationAuthority contract that references the implementation + ## [2.2.0] ### Added diff --git a/contracts/proxy/IdentityProxy.sol b/contracts/proxy/IdentityProxy.sol index a1d078f..4afc6dd 100644 --- a/contracts/proxy/IdentityProxy.sol +++ b/contracts/proxy/IdentityProxy.sol @@ -19,7 +19,7 @@ contract IdentityProxy { // solhint-disable-next-line no-inline-assembly assembly { - sstore(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7, _implementationAuthority) + sstore(0x821f3e4d3d679f19eacc940c87acf846ea6eae24a63058ea750304437a62aafc, _implementationAuthority) } address logic = IImplementationAuthority(_implementationAuthority).getImplementation(); @@ -59,7 +59,7 @@ contract IdentityProxy { address implemAuth; // solhint-disable-next-line no-inline-assembly assembly { - implemAuth := sload(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7) + implemAuth := sload(0x821f3e4d3d679f19eacc940c87acf846ea6eae24a63058ea750304437a62aafc) } return implemAuth; } diff --git a/contracts/version/Version.sol b/contracts/version/Version.sol index 7bd3abc..77c1c6e 100644 --- a/contracts/version/Version.sol +++ b/contracts/version/Version.sol @@ -11,6 +11,6 @@ contract Version { */ function version() external pure returns (string memory) { // version 2.2.0 - return "2.2.0"; + return "2.2.1"; } } diff --git a/package-lock.json b/package-lock.json index 555de62..5c047a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@onchain-id/solidity", - "version": "2.2.0", + "version": "2.2.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@onchain-id/solidity", - "version": "2.0.1", + "version": "2.2.1", "license": "ISC", "devDependencies": { "@nomicfoundation/hardhat-toolbox": "^2.0.1", diff --git a/package.json b/package.json index 55b3e28..4ae9136 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onchain-id/solidity", - "version": "2.2.0", + "version": "2.2.1", "description": "EVM solidity smart contracts for Blockchain OnchainID identities.", "files": [ "artifacts", diff --git a/test/identities/init.test.ts b/test/identities/init.test.ts index 71961b9..984eca0 100644 --- a/test/identities/init.test.ts +++ b/test/identities/init.test.ts @@ -36,6 +36,6 @@ describe('Identity', () => { it('should return the version of the implementation', async () => { const {identityImplementation} = await loadFixture(deployIdentityFixture); - expect(await identityImplementation.version()).to.equal('2.2.0'); + expect(await identityImplementation.version()).to.equal('2.2.1'); }); });