• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

input-output-hk / atala-prism-wallet-sdk-swift / 9466819027

11 Jun 2024 01:48PM UTC coverage: 40.328% (-0.5%) from 40.822%
9466819027

Pull #145

github

web-flow
Merge 1399bca59 into 8e68386ce
Pull Request #145: feat(pollux): add support for sd-jwt

76 of 394 new or added lines in 20 files covered. (19.29%)

2 existing lines in 2 files now uncovered.

4518 of 11203 relevant lines covered (40.33%)

16.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

61.76
/EdgeAgentSDK/Pollux/Sources/Models/SDJWT/SDJWT.swift
1
import Domain
2
import Foundation
3
import eudi_lib_sdjwt_swift
4
import JSONWebSignature
5

6
struct SDJWTCredential {
7
    let sdjwtString: String
8
    let sdjwt: SignedSDJWT
9

10
    init(sdjwtString: String) throws {
2✔
11
        let sdjwt = try CompactParser(serialisedString: sdjwtString).getSignedSdJwt()
2✔
12
        self.sdjwtString = sdjwtString
2✔
13
        self.sdjwt = sdjwt
2✔
14
    }
2✔
15
}
16

17
fileprivate struct SDJWTComplex: Codable {
18
    let disclosures: [String]
19
}
20

21
extension SDJWTCredential: Credential {
22
    var id: String {
2✔
23
        sdjwtString
2✔
24
    }
2✔
25
    
NEW
26
    var issuer: String {
×
NEW
27
        (try? sdjwt.recreateClaims().recreatedClaims["iss"].stringValue) ?? ""
×
NEW
28
    }
×
29
    
NEW
30
    var subject: String? {
×
NEW
31
        (try? sdjwt.recreateClaims().recreatedClaims["sub"].stringValue) ?? ""
×
NEW
32
    }
×
33
    
34
    var claims: [Domain.Claim] {
2✔
35
        sdjwt.disclosures.compactMap {
6✔
36
            guard
6✔
37
                let base64Decoded = Data(fromBase64URL: $0),
6✔
38
                let array = try? JSONDecoder().decode([String].self, from: base64Decoded),
6✔
39
                array.count == 3
6✔
40
            else {
6✔
NEW
41
                return nil
×
42
            }
6✔
43
            let key = array[1]
6✔
44
            let value = array[2]
6✔
45
            return Claim(key: key, value: .string(value))
6✔
46
        }
6✔
47
    }
2✔
48
    
NEW
49
    var properties: [String : Any] {
×
NEW
50
        return [:]
×
NEW
51
    }
×
52
    
NEW
53
    var credentialType: String {
×
NEW
54
        return "sd-jwt"
×
NEW
55
    }
×
56
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc