-
Notifications
You must be signed in to change notification settings - Fork 640
Expand file tree
/
Copy pathIEIP7512.sol
More file actions
60 lines (55 loc) · 1.92 KB
/
IEIP7512.sol
File metadata and controls
60 lines (55 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @title IEIP7512
* @notice This interface is used for an EIP7512 implementation.
*/
interface IEIP7512 {
/// @notice Defines different types of signature standards.
enum SignatureType {
SECP256K1,
BLS,
ERC1271,
SECP256R1
}
/// @notice Represents the auditor.
/// @param name The name of the auditor.
/// @param uri The URI with additional information about the auditor.
/// @param authors List of authors responsible for the audit.
struct Auditor {
string name;
string uri;
string[] authors;
}
/// @notice Represents a summary of the audit.
/// @param auditor The auditor who performed the audit.
/// @param issuedAt The timestamp at which the audit was issued.
/// @param ercs List of ERC standards that were covered in the audit.
/// @param bytecodeHash Hash of the audited smart contract bytecode.
/// @param auditHash Hash of the audit document.
/// @param auditUri URI with additional information or the full audit report.
struct AuditSummary {
Auditor auditor;
uint256 issuedAt;
uint256[] ercs;
bytes32 bytecodeHash;
bytes32 auditHash;
string auditUri;
}
/// @notice Represents a cryptographic signature.
/// @param signatureType The type of the signature (e.g., SECP256K1, BLS, etc.).
/// @param data The actual signature data.
struct Signature {
SignatureType signatureType;
bytes data;
}
/// @notice Represents a signed audit summary.
/// @param summary The audit summary being signed.
/// @param signedAt Timestamp indicating when the audit summary was signed.
/// @param auditorSignature Signature of the auditor for authenticity.
struct SignedAuditSummary {
AuditSummary summary;
uint256 signedAt;
Signature auditorSignature;
}
}