Smart Contract

AuditRegistry

A.56170a227a819c6e.AuditRegistry

Valid From

118,734,049

Deployed

6d ago
Feb 22, 2026, 02:00:52 PM UTC

Dependents

2 imports
1access(all)
2contract AuditRegistry {
3
4    // Event to be emitted when an audit is added
5    access(all) event AuditAdded(_contract: String, _id: UInt16, _score: Int8)
6
7    // Audit struct
8    access(all)
9    struct Audit {
10        access(all) var id: UInt16
11        access(all) var score: Int8
12        access(all) var timestamp: Int64
13        access(all) var auditor: Address
14        access(all) var reportHash: String
15
16        init(_id: UInt16, _score: Int8, _timestamp: Int64, _auditor: Address, _reportHash: String) {
17            self.id = _id
18            self.score = _score
19            self.timestamp = _timestamp
20            self.auditor = _auditor
21            self.reportHash = _reportHash
22        }
23    }
24
25    access(all) var audits: {String: [Audit]}
26
27    init() {
28        self.audits = {}
29    }
30
31    // Add audit to the audit registry
32    access(all) fun addAudit(_contract: String, _id: UInt16, _score: Int8, _timestamp: Int64, _auditor: Address, _reportHash: String) {
33        let audit = Audit(_id: _id, _score: _score, _timestamp: _timestamp, _auditor: _auditor, _reportHash: _reportHash)
34        self.audits[_contract] = self.audits[_contract] ?? []
35        self.audits[_contract]!.append(audit)
36        emit AuditAdded(_contract: _contract, _id: _id, _score: _score)
37    }
38
39    // Get audit from the audit registry
40    access(all) fun getAudit(_contract: String): [Audit]? {
41        return self.audits[_contract]
42    }
43}