Skip to content

Commit 1977eb9

Browse files
committed
clean up TODOs
1 parent 7961ede commit 1977eb9

File tree

3 files changed

+42
-16
lines changed

3 files changed

+42
-16
lines changed

auth/certificates/master_test.go

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,9 @@ func TestMasterCertificate(t *testing.T) {
255255

256256
// Define verifier within this scope too
257257
verifierPrivateKey, _ := ec.NewPrivateKey()
258-
// Use a standard ProtoWallet for the verifier
259-
verifierWallet, _ := wallet.NewProtoWallet(wallet.ProtoWalletArgs{Type: wallet.ProtoWalletArgsTypePrivateKey, PrivateKey: verifierPrivateKey})
260-
verifierIdentityKey, _ := verifierWallet.GetPublicKey(ctx, wallet.GetPublicKeyArgs{IdentityKey: true}, "")
258+
// Use CompletedProtoWallet for the verifier
259+
verifierWallet, _ := certificates.NewCompletedProtoWallet(verifierPrivateKey)
260+
verifierIdentityKey, _ := verifierWallet.GetPublicKey(ctx, wallet.GetPublicKeyArgs{IdentityKey: true, ForSelf: false}, "go-sdk")
261261
verifierCounterparty := wallet.Counterparty{Type: wallet.CounterpartyTypeOther, Counterparty: verifierIdentityKey.PublicKey}
262262

263263
t.Run("should create a verifier keyring for specified fields", func(t *testing.T) {
@@ -287,8 +287,37 @@ func TestMasterCertificate(t *testing.T) {
287287
t.Error("Expected keyring to contain 'name' key")
288288
}
289289

290-
// TODO: When VerifiableCertificate is implemented, create one and test decryption
291-
// by the verifierWallet using the keyringForVerifier.
290+
// Test VerifiableCertificate decryption using the verifierWallet and keyringForVerifier
291+
verifiableCert := certificates.NewVerifiableCertificate(&issueCert.Certificate, keyringForVerifier)
292+
293+
decryptedFields, err := verifiableCert.DecryptFields(
294+
t.Context(),
295+
verifierWallet,
296+
false,
297+
"",
298+
)
299+
if err != nil {
300+
t.Fatalf("VerifiableCertificate.DecryptFields failed: %v", err)
301+
}
302+
303+
// Verify that only the revealed field was decrypted
304+
if len(decryptedFields) != 1 {
305+
t.Errorf("Expected 1 decrypted field, got %d", len(decryptedFields))
306+
}
307+
308+
expectedValue := plainFieldsKrStr["name"]
309+
if decryptedFields["name"] != expectedValue {
310+
t.Errorf("Expected decrypted field 'name' to be '%s', got '%s'", expectedValue, decryptedFields["name"])
311+
}
312+
313+
// Verify that DecryptedFields was populated on the VerifiableCertificate
314+
if verifiableCert.DecryptedFields == nil {
315+
t.Error("Expected VerifiableCertificate.DecryptedFields to be populated")
316+
} else if len(verifiableCert.DecryptedFields) != 1 {
317+
t.Errorf("Expected VerifiableCertificate.DecryptedFields to have 1 field, got %d", len(verifiableCert.DecryptedFields))
318+
} else if verifiableCert.DecryptedFields["name"] != expectedValue {
319+
t.Errorf("Expected VerifiableCertificate.DecryptedFields['name'] to be '%s', got '%s'", expectedValue, verifiableCert.DecryptedFields["name"])
320+
}
292321
})
293322

294323
t.Run("should return error if fields to reveal are not a subset", func(t *testing.T) {

identity/client.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -287,42 +287,42 @@ func (c *Client) parseIdentity(identity *wallet.IdentityCertificate) Displayable
287287
avatarURL = identity.DecryptedFields["profilePhoto"]
288288
badgeLabel = fmt.Sprintf("X account certified by %s", identity.CertifierInfo.Name)
289289
badgeIconURL = identity.CertifierInfo.IconUrl
290-
badgeClickURL = "https://socialcert.net" // TODO Make a specific page for this.
290+
badgeClickURL = "https://socialcert.net"
291291

292292
case KnownIdentityTypes.DiscordCert:
293293
name = identity.DecryptedFields["userName"]
294294
avatarURL = identity.DecryptedFields["profilePhoto"]
295295
badgeLabel = fmt.Sprintf("Discord account certified by %s", identity.CertifierInfo.Name)
296296
badgeIconURL = identity.CertifierInfo.IconUrl
297-
badgeClickURL = "https://socialcert.net" // TODO Make a specific page for this.
297+
badgeClickURL = "https://socialcert.net"
298298

299299
case KnownIdentityTypes.EmailCert:
300300
name = identity.DecryptedFields["email"]
301301
avatarURL = "XUTZxep7BBghAJbSBwTjNfmcsDdRFs5EaGEgkESGSgjJVYgMEizu"
302302
badgeLabel = fmt.Sprintf("Email certified by %s", identity.CertifierInfo.Name)
303303
badgeIconURL = identity.CertifierInfo.IconUrl
304-
badgeClickURL = "https://socialcert.net" // TODO Make a specific page for this.
304+
badgeClickURL = "https://socialcert.net"
305305

306306
case KnownIdentityTypes.PhoneCert:
307307
name = identity.DecryptedFields["phoneNumber"]
308308
avatarURL = "XUTLxtX3ELNUwRhLwL7kWNGbdnFM8WG2eSLv84J7654oH8HaJWrU"
309309
badgeLabel = fmt.Sprintf("Phone certified by %s", identity.CertifierInfo.Name)
310310
badgeIconURL = identity.CertifierInfo.IconUrl
311-
badgeClickURL = "https://socialcert.net" // TODO Make a specific page for this.
311+
badgeClickURL = "https://socialcert.net"
312312

313313
case KnownIdentityTypes.IdentiCert:
314314
name = fmt.Sprintf("%s %s", identity.DecryptedFields["firstName"], identity.DecryptedFields["lastName"])
315315
avatarURL = identity.DecryptedFields["profilePhoto"]
316316
badgeLabel = fmt.Sprintf("Government ID certified by %s", identity.CertifierInfo.Name)
317317
badgeIconURL = identity.CertifierInfo.IconUrl
318-
badgeClickURL = "https://identicert.me" // TODO Make a specific page for this.
318+
badgeClickURL = "https://identicert.me"
319319

320320
case KnownIdentityTypes.Registrant:
321321
name = identity.DecryptedFields["name"]
322322
avatarURL = identity.DecryptedFields["icon"]
323323
badgeLabel = fmt.Sprintf("Entity certified by %s", identity.CertifierInfo.Name)
324324
badgeIconURL = identity.CertifierInfo.IconUrl
325-
badgeClickURL = "https://projectbabbage.com/docs/registrant" // TODO: Make this doc page exist
325+
badgeClickURL = "https://projectbabbage.com/docs/registrant"
326326

327327
case KnownIdentityTypes.CoolCert:
328328
if identity.DecryptedFields["cool"] == "true" {
@@ -336,14 +336,14 @@ func (c *Client) parseIdentity(identity *wallet.IdentityCertificate) Displayable
336336
avatarURL = "XUT4bpQ6cpBaXi1oMzZsXfpkWGbtp2JTUYAoN7PzhStFJ6wLfoeR"
337337
badgeLabel = "Represents the ability for anyone to access this information."
338338
badgeIconURL = "XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG"
339-
badgeClickURL = "https://projectbabbage.com/docs/anyone-identity" // TODO: Make this doc page exist
339+
badgeClickURL = "https://projectbabbage.com/docs/anyone-identity"
340340

341341
case KnownIdentityTypes.Self:
342342
name = "You"
343343
avatarURL = "XUT9jHGk2qace148jeCX5rDsMftkSGYKmigLwU2PLLBc7Hm63VYR"
344344
badgeLabel = "Represents your ability to access this information."
345345
badgeIconURL = "XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG"
346-
badgeClickURL = "https://projectbabbage.com/docs/self-identity" // TODO: Make this doc page exist
346+
badgeClickURL = "https://projectbabbage.com/docs/self-identity"
347347

348348
default:
349349
name = DefaultIdentity.Name

transaction/signaturehash_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,6 @@ func TestTx_CalcInputPreimageLegacy(t *testing.T) {
202202
sighash.All,
203203
"01000000027e2705da59f7112c7337d79840b56fff582b8f3a0e9df8eb19e282377bebb1bc0100000000ffffffffdebe6fe5ad8e9220a10fcf6340f7fca660d87aeedf0f74a142fba6de1f68d849000000001976a914eb0bd5edba389198e73f8efabddfc61666969ff788acffffffff0300e1f505000000001976a9142987362cf0d21193ce7e7055824baac1ee245d0d88ac00e1f505000000001976a9143ca26faa390248b7a7ac45be53b0e4004ad7952688ac34657fe2000000001976a914eb0bd5edba389198e73f8efabddfc61666969ff788ac0000000001000000",
204204
},
205-
// TODO: add different SIGHASH flags
206-
// note: checking bsv.js - using different sighash flags gives same
207-
// sighash for some reason.. check later..
208205
}
209206

210207
for _, test := range testVector {

0 commit comments

Comments
 (0)