Files
0407b3bfa4 ONCHAINID v2 (#73)
## [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]>
2023-04-27 17:27:41 +02:00

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;
});