Skip to content

Commit 3ae3c9b

Browse files
committed
cleanup
1 parent 9a17bcb commit 3ae3c9b

File tree

3 files changed

+31
-12
lines changed

3 files changed

+31
-12
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. The format
55
## Table of Contents
66

77
- [Unreleased](#unreleased)
8+
- [1.9.4 - 2025-11-13](#194---2025-11-13)
89
- [1.9.3 - 2025-11-11](#193---2025-11-11)
910
- [1.9.2 - 2025-11-11](#192---2025-11-11)
1011
- [1.9.1 - 2025-11-10](#191---2025-11-10)
@@ -177,6 +178,14 @@ All notable changes to this project will be documented in this file. The format
177178

178179
---
179180

181+
### [1.9.4] - 2025-11-13
182+
183+
### Added
184+
185+
- Added support for revoking certificate revelation.
186+
187+
---
188+
180189
### [1.9.3] - 2025-11-11
181190

182191
### Added

docs/reference/identity.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,20 +134,18 @@ export class IdentityClient {
134134
async publiclyRevealAttributes(certificate: WalletCertificate, fieldsToReveal: CertificateFieldNameUnder50Bytes[]): Promise<BroadcastResponse | BroadcastFailure>
135135
async resolveByIdentityKey(args: DiscoverByIdentityKeyArgs, overrideWithContacts = true): Promise<DisplayableIdentity[]>
136136
async resolveByAttributes(args: DiscoverByAttributesArgs, overrideWithContacts = true): Promise<DisplayableIdentity[]>
137+
async revokeCertificateRevelation(serialNumber: Base64String): Promise<BroadcastResponse | BroadcastFailure>
137138
public async getContacts(identityKey?: PubKeyHex, forceRefresh = false, limit = 1000): Promise<Contact[]>
138139
public async saveContact(contact: DisplayableIdentity, metadata?: Record<string, any>): Promise<void>
139140
public async removeContact(identityKey: PubKeyHex): Promise<void>
140141
static parseIdentity(identityToParse: IdentityCertificate): DisplayableIdentity
141142
}
142143
```
143144

144-
See also: [BroadcastFailure](./transaction.md#interface-broadcastfailure), [BroadcastResponse](./transaction.md#interface-broadcastresponse), [CertificateFieldNameUnder50Bytes](./wallet.md#type-certificatefieldnameunder50bytes), [Contact](./identity.md#type-contact), [DEFAULT_IDENTITY_CLIENT_OPTIONS](./identity.md#variable-default_identity_client_options), [DiscoverByAttributesArgs](./wallet.md#interface-discoverbyattributesargs), [DiscoverByIdentityKeyArgs](./wallet.md#interface-discoverbyidentitykeyargs), [DisplayableIdentity](./identity.md#interface-displayableidentity), [IdentityCertificate](./wallet.md#interface-identitycertificate), [OriginatorDomainNameStringUnder250Bytes](./wallet.md#type-originatordomainnamestringunder250bytes), [PubKeyHex](./wallet.md#type-pubkeyhex), [WalletCertificate](./wallet.md#interface-walletcertificate), [WalletInterface](./wallet.md#interface-walletinterface)
145+
See also: [Base64String](./wallet.md#type-base64string), [BroadcastFailure](./transaction.md#interface-broadcastfailure), [BroadcastResponse](./transaction.md#interface-broadcastresponse), [CertificateFieldNameUnder50Bytes](./wallet.md#type-certificatefieldnameunder50bytes), [Contact](./identity.md#type-contact), [DEFAULT_IDENTITY_CLIENT_OPTIONS](./identity.md#variable-default_identity_client_options), [DiscoverByAttributesArgs](./wallet.md#interface-discoverbyattributesargs), [DiscoverByIdentityKeyArgs](./wallet.md#interface-discoverbyidentitykeyargs), [DisplayableIdentity](./identity.md#interface-displayableidentity), [IdentityCertificate](./wallet.md#interface-identitycertificate), [OriginatorDomainNameStringUnder250Bytes](./wallet.md#type-originatordomainnamestringunder250bytes), [PubKeyHex](./wallet.md#type-pubkeyhex), [WalletCertificate](./wallet.md#interface-walletcertificate), [WalletInterface](./wallet.md#interface-walletinterface)
145146

146147
#### Method getContacts
147148

148-
TODO: Implement once revocation overlay is created
149-
Remove public certificate revelation from overlay services by spending the identity token
150-
151149
Load all records from the contacts basket
152150

153151
```ts
@@ -161,8 +159,6 @@ A promise that resolves with an array of contacts
161159

162160
Argument Details
163161

164-
+ **serialNumber**
165-
+ Unique serial number of the certificate to revoke revelation
166162
+ **identityKey**
167163
+ Optional specific identity key to fetch
168164
+ **forceRefresh**
@@ -267,6 +263,20 @@ Argument Details
267263
+ **overrideWithContacts**
268264
+ Whether to override the results with personal contacts if available.
269265

266+
#### Method revokeCertificateRevelation
267+
268+
Remove public certificate revelation from overlay services by spending the identity token
269+
270+
```ts
271+
async revokeCertificateRevelation(serialNumber: Base64String): Promise<BroadcastResponse | BroadcastFailure>
272+
```
273+
See also: [Base64String](./wallet.md#type-base64string), [BroadcastFailure](./transaction.md#interface-broadcastfailure), [BroadcastResponse](./transaction.md#interface-broadcastresponse)
274+
275+
Argument Details
276+
277+
+ **serialNumber**
278+
+ Unique serial number of the certificate to revoke revelation
279+
270280
#### Method saveContact
271281

272282
Save or update a Metanet contact

src/identity/IdentityClient.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export class IdentityClient {
173173
* Remove public certificate revelation from overlay services by spending the identity token
174174
* @param serialNumber - Unique serial number of the certificate to revoke revelation
175175
*/
176-
async revokeCertificateRevelation(
176+
async revokeCertificateRevelation (
177177
serialNumber: Base64String
178178
): Promise<BroadcastResponse | BroadcastFailure> {
179179
// 1. Find existing UTXO
@@ -187,15 +187,15 @@ export class IdentityClient {
187187
}
188188
})
189189

190-
let outpoint: string
190+
let outpoint: string | undefined
191191
let lockingScript: LockingScript | undefined
192192
if (result.type === 'output-list') {
193193
const tx = Transaction.fromBEEF(result.outputs[0].beef)
194194
outpoint = `${tx.id('hex')}.${this.options.outputIndex}` // Consider better way
195195
lockingScript = tx.outputs[this.options.outputIndex].lockingScript
196196
}
197197

198-
if (lockingScript === undefined) {
198+
if (lockingScript === undefined || outpoint === undefined) {
199199
throw new Error('Failed to get locking script for revelation output!')
200200
}
201201

@@ -218,7 +218,7 @@ export class IdentityClient {
218218
}
219219

220220
const partialTx = Transaction.fromBEEF(signableTransaction.tx)
221-
221+
222222
const unlocker = new PushDrop(this.wallet, this.originator).unlock(
223223
this.options.protocolID,
224224
this.options.keyID,
@@ -242,8 +242,8 @@ export class IdentityClient {
242242
networkPreset: (await this.wallet.getNetwork({})).network,
243243
requireAcknowledgmentFromAllHostsForTopics: [],
244244
requireAcknowledgmentFromAnyHostForTopics: [],
245-
requireAcknowledgmentFromSpecificHostsForTopics: {'tm_identity': []},
246-
});
245+
requireAcknowledgmentFromSpecificHostsForTopics: { tm_identity: [] }
246+
})
247247
return await broadcaster.broadcast(Transaction.fromAtomicBEEF(signedTx as number[]))
248248
}
249249

0 commit comments

Comments
 (0)