Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 57x 1x 1x 1x 3x 1x 1x 1x | import { AcquireCertificateResult } from '@bsv/sdk'
import { sdk, table, WalletSigner } from '../../index.client'
export async function acquireDirectCertificate(
signer: WalletSigner,
auth: sdk.AuthId,
vargs: sdk.ValidAcquireDirectCertificateArgs
)
: Promise<AcquireCertificateResult>
{
const now = new Date()
const newCert: table.CertificateX = {
certificateId: 0, // replaced by storage insert
created_at: now,
updated_at: now,
userId: auth.userId!,
type: vargs.type,
subject: vargs.subject,
verifier: vargs.keyringRevealer === 'certifier' ? vargs.certifier : vargs.keyringRevealer,
serialNumber: vargs.serialNumber,
certifier: vargs.certifier,
revocationOutpoint: vargs.revocationOutpoint,
signature: vargs.signature,
fields: [],
isDeleted: false
}
for (const [name, value] of Object.entries(vargs.fields)) {
newCert.fields?.push({
certificateId: 0, // replaced by storage insert
created_at: now,
updated_at: now,
userId: auth.userId!,
fieldName: name,
fieldValue: value,
masterKey: vargs.keyringForSubject[name] || ''
})
}
const count = await signer.storage.insertCertificate(newCert)
const r: AcquireCertificateResult = {
type: vargs.type,
subject: vargs.subject,
serialNumber: vargs.serialNumber,
certifier: vargs.certifier,
revocationOutpoint: vargs.revocationOutpoint,
signature: vargs.signature,
fields: vargs.fields
}
return r
}
|