Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions src/interfaces/IIdentityManagerV2.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

/**
* @title IIdentityManagerV2
* @notice Interface for the enhanced IdentityManagerV2 contract
* @dev This interface defines all external functions for identity verification management
*/
interface IIdentityManagerV2 {
// Enums
enum VerificationLevel {
NONE,
DEVICE,
ORB
}
enum UserType {
STUDENT,
INSTITUTION,
VERIFIER,
ADMIN
}

// Structs
struct UserVerification {
bool isVerified;
VerificationLevel level;
UserType userType;
uint256 verificationTimestamp;
uint256 expirationTimestamp;
uint256 nullifierHash;
string metadata;
}

struct VerificationStats {
uint256 totalVerifications;
uint256 deviceVerifications;
uint256 orbVerifications;
uint256 activeVerifications;
uint256 expiredVerifications;
}

// Events
event UserVerified(
address indexed user,
uint256 indexed nullifierHash,
VerificationLevel level,
UserType userType,
uint256 expirationTimestamp
);

event UserVerificationRevoked(address indexed user, address indexed revoker, string reason);
}
Loading