mirror of
https://github.com/luxfi/onchain-id.git
synced 2026-10-30 15:23:49 +00:00
## [2.0.0] Version 2.0.0 Audited by Hacken, more details [here](https://tokeny.com/wp-content/uploads/2023/04/Tokeny_ONCHAINID_SC-Audit_Report.pdf) ### Breaking changes ## Deprecation Notice - ClaimIssuer `revokeClaim` is now deprecated, usage of `revokeClaimBySignature(bytes signature)` is preferred. ### Added - Add typechain-types (targeting ethers v5). - Add tests cases for `execute` and `approve` methods. - Add method `revokeClaimBySignature(bytes signature)` in ClaimIssuer, prefer using this method instead of the now deprecated `revokeClaim` method. - 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 `approve` method with a non-request execute nonce (added a require on `executionNone`). - Update NatSpec of `execute` and `approve` methods. --------- Co-authored-by: Joachim <[email protected]>
26 lines
1.4 KiB
TypeScript
26 lines
1.4 KiB
TypeScript
import {ethers} from "hardhat";
|
|
|
|
async function main() {
|
|
const [deployer] = await ethers.getSigners();
|
|
|
|
const identityImplementation = await ethers.deployContract("Identity", [deployer.address, true]);
|
|
console.log(`Deploying identity implementation at ${identityImplementation.address} ... (tx hash: ${identityImplementation.deployTransaction.hash} )`);
|
|
await identityImplementation.deployed();
|
|
console.log(`Deployed identity implementation at ${identityImplementation.address} (tx hash: ${identityImplementation.deployTransaction.hash} )`);
|
|
|
|
const implementationAuthority = await ethers.deployContract("ImplementationAuthority", [identityImplementation.address]);
|
|
console.log(`Deploying implementation authority at ${implementationAuthority.address} ... (tx hash: ${implementationAuthority.deployTransaction.hash} )`);
|
|
await implementationAuthority.deployed();
|
|
console.log(`Deployed implementation authority at ${implementationAuthority.address} (tx hash: ${implementationAuthority.deployTransaction.hash} )`);
|
|
|
|
const factory = await ethers.deployContract("IdFactory", [implementationAuthority.address]);
|
|
console.log(`Deploying factory at ${factory.address} ... (tx hash: ${factory.deployTransaction.hash} )`);
|
|
await factory.deployed();
|
|
console.log(`Deployed factory at ${factory.address} (tx hash: ${factory.deployTransaction.hash} )`);
|
|
}
|
|
|
|
main().catch((error) => {
|
|
console.error(error);
|
|
process.exitCode = 1;
|
|
});
|