mirror of
https://github.com/luxfi/onchain-id.git
synced 2026-10-30 15:23:49 +00:00
4.4 KiB
4.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[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
- Identities are now required to implement the standardized
function isClaimValid(IIdentity _identity, uint256 claimTopic, bytes calldata sig, bytes calldata data) external view returns (bool), used for self-attested claims (_identityis the address of the Identity contract). - Implemented the
isClaimValidfunction in theIdentitycontract. - IdFactory now implements the
implementationAuthority()getter.
[2.1.0]
Added
- Implemented a new contract
Gatewayto interact with theIdFactory. TheGatewaycontract allows individual accounts (being EOA or contracts) to deploy identities for their own address as a salt. To deploy using a custom salt, a signature from an approved signer is required. - Implemented a new base contract
Verifierto be extended by contract requiring identity verification based on claims and trusted issuers.
[2.0.1]
Added
- added method createIdentityWithManagementKeys() that allows the factory to issue identities with multiple management keys.
- tests for the createIdentityWithManagementKeys() method
[2.0.0]
Version 2.0.0 Audited by Hacken, more details here
Breaking changes
Deprecation Notice
- ClaimIssuer
revokeClaimis now deprecated, usage ofrevokeClaimBySignature(bytes signature)is preferred.
Added
- Add typechain-types (targeting ethers v5).
- Add tests cases for
executeandapprovemethods. - Add method
revokeClaimBySignature(bytes signature)in ClaimIssuer, prefer using this method instead of the now deprecatedrevokeClaimmethod. - Add checks on ClaimIssuer to prevent revoking an already revoked claim.
- Added Factory for ONCHAINIDs
Updated
- Switch development tooling to hardhat.
- Implemented tests for hardhat (using fixture for faster testing time).
- Prevent calling
approvemethod with a non-request execute nonce (added a require onexecutionNone). - Update NatSpec of
executeandapprovemethods.
[1.4.0] - 2021-01-26
Updated
- Remove constructor's visibility
[1.3.0] - 2021-01-21
Added
- Ownable 0.8.0
- Context 0.8.0
Updated
- Update version to 1.3.0
- Update contracts to SOL =0.8.0
- Update test to work with truffle
- Update truffle-config.js
- Update solhint config
[1.2.0] - 2020-11-27
Added
- Custom Upgradable Proxy contract that behaves similarly to the EIP-1822: Universal Upgradeable Proxy Standard (UUPS), except that it points to an Authority contract which in itself points to an implementation (which can be updated).
- New ImplementationAuthority contract that acts as an authority for proxy contracts
- Library Lock contract to ensure no one can manipulate the Logic Contract once it is deployed
- Version contract that gives the versioning information of the implementation contract
Moved
- variables in a separate contract (Storage.sol)
- structs in a separate contract (Structs.sol)
Updated
- Update contracts to SOL =0.6.9
[1.1.2] - 2020-09-30
Fixed
- Add Constructor on ClaimIssuer Contract
[1.1.1] - 2020-09-22
Fixed
- Fix CI
[1.1.0] - 2020-09-16
Added
- ONCHAINID contract uses Proxy based on EIP-1167.
- New contracts,CloneFactory and IdentityFactory
- Github workflows actions
- Build script
- Lint rules for both Solidity and JS
- Ganache-Cli
- Rules for eslint (eslintrc)
- Rules for solhint
- new Tests for Proxy behavior
Changed
- Replaced Constructor by "Set" function on ERC734
- "Set" function is callable only once on ERC734
- Replaced Yarn by Npm
- Replaced coverage script by coverage plugin
- old Tests for compatibility with new proxy