Skip to content
Merged
Show file tree
Hide file tree
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
63 changes: 52 additions & 11 deletions contracts/contracts/IdentityVerificationHubImplV2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,28 @@ contract IdentityVerificationHubImplV2 is ImplRoot {
*/
event DscCircuitVerifierUpdated(uint256 typeId, address verifier);

/**
* @notice Emitted when a verification is performed.
* @param requestor The contract that initiated the verification request.
* @param contractVersion The contract version used for verification output formatting.
* @param attestationId The attestation identifier (E_PASSPORT or EU_ID_CARD).
* @param destChainId The destination chain ID.
* @param configId The configuration ID.
* @param userIdentifier The user identifier.
* @param output The formatted verification output containing proof results.
* @param userDataToPass The user data passed through to the verification result handler.
*/
event DisclosureVerified(
address indexed requestor,
uint8 indexed contractVersion,
bytes32 indexed attestationId,
uint256 destChainId,
bytes32 configId,
uint256 userIdentifier,
bytes output,
bytes userDataToPass
);

// ====================================================
// Errors
// ====================================================
Expand Down Expand Up @@ -311,14 +333,28 @@ contract IdentityVerificationHubImplV2 is ImplRoot {
(SelfStructs.HubInputHeader memory header, bytes calldata proofData) = _decodeInput(baseVerificationInput);

// Perform verification and get output along with user data
(bytes memory output, uint256 destChainId, bytes memory userDataToPass) = _executeVerificationFlow(
header,
proofData,
userContextData
);
(
bytes memory output,
uint256 destChainId,
bytes memory userDataToPass,
bytes32 configId,
uint256 userIdentifier
) = _executeVerificationFlow(header, proofData, userContextData);

// Use destChainId and userDataToPass returned from _executeVerificationFlow
_handleVerificationResult(destChainId, output, userDataToPass);

// Emit verification event for tracking
emit DisclosureVerified(
msg.sender,
header.contractVersion,
header.attestationId,
destChainId,
configId,
userIdentifier,
output,
userDataToPass
);
}

/**
Expand Down Expand Up @@ -552,14 +588,19 @@ contract IdentityVerificationHubImplV2 is ImplRoot {
SelfStructs.HubInputHeader memory header,
bytes memory proofData,
bytes calldata userContextData
) internal returns (bytes memory output, uint256 destChainId, bytes memory userDataToPass) {
bytes32 configId;
uint256 userIdentifier;
)
internal
returns (
bytes memory output,
uint256 destChainId,
bytes memory userDataToPass,
bytes32 configId,
uint256 userIdentifier
)
{
bytes calldata remainingData;
{
uint256 _destChainId;
(configId, _destChainId, userIdentifier, remainingData) = _decodeUserContextData(userContextData);
destChainId = _destChainId;
(configId, destChainId, userIdentifier, remainingData) = _decodeUserContextData(userContextData);
}

{
Expand Down
1 change: 0 additions & 1 deletion contracts/contracts/libraries/CustomVerifier.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ pragma solidity 0.8.28;
import {CircuitAttributeHandlerV2} from "./CircuitAttributeHandlerV2.sol";
import {AttestationId} from "../constants/AttestationId.sol";
import {SelfStructs} from "./SelfStructs.sol";
import {Formatter} from "./Formatter.sol";
import {GenericFormatter} from "./GenericFormatter.sol";

library CustomVerifier {
Expand Down
2 changes: 1 addition & 1 deletion contracts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
"mocha": "^10.7.3",
"mochawesome": "^7.1.3",
"prettier": "3.5.3",
"prettier-plugin-solidity": "^2.0.0",
"prettier-plugin-solidity": "^2.1.0",
"solidity-coverage": "^0.8.14",
"tsup": "^8.5.0",
"typechain": "^8.3.2",
Expand Down
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4847,7 +4847,7 @@ __metadata:
poseidon-lite: "npm:^0.3.0"
poseidon-solidity: "npm:^0.0.5"
prettier: "npm:3.5.3"
prettier-plugin-solidity: "npm:^2.0.0"
prettier-plugin-solidity: "npm:^2.1.0"
snarkjs: "npm:^0.7.4"
solidity-coverage: "npm:^0.8.14"
tsup: "npm:^8.5.0"
Expand Down Expand Up @@ -21500,7 +21500,7 @@ __metadata:
languageName: node
linkType: hard

"prettier-plugin-solidity@npm:^2.0.0":
"prettier-plugin-solidity@npm:^2.1.0":
version: 2.1.0
resolution: "prettier-plugin-solidity@npm:2.1.0"
dependencies:
Expand Down
Loading