Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
try {
// Create record
entryData = await ipns.create(privKey, value, seqNumber, validity)
} catch (err) {
const errMsg = `ipns record for ${value} could not be created`
log.error(err)
throw errcode(new Error(errMsg), 'ERR_CREATING_IPNS_RECORD')
}
// TODO IMPROVEMENT - set ttl (still experimental feature for go)
try {
// Marshal record
const data = ipns.marshal(entryData)
// Store the new record
await this._datastore.put(ipns.getLocalKey(peerId.id), data)
log(`ipns record for ${value} was stored in the datastore`)
return entryData
} catch (err) {
const errMsg = `ipns record for ${value} could not be stored in the datastore`
log.error(errMsg)
throw errcode(new Error(errMsg), 'ERR_STORING_IN_DATASTORE')
}
}
}
async _publishEntry (key, entry) {
if (!(Key.isKey(key))) {
const errMsg = 'datastore key does not have a valid format'
log.error(errMsg)
throw errcode(new Error(errMsg), 'ERR_INVALID_DATASTORE_KEY')
}
let entryData
try {
// Marshal record
entryData = ipns.marshal(entry)
} catch (err) {
log.error(err)
throw err
}
// Add record to routing (buffer key)
try {
const res = await this._routing.put(key.toBuffer(), entryData)
log(`ipns record for ${key.toString('base64')} was stored in the routing`)
return res
} catch (err) {
const errMsg = `ipns record for ${key.toString('base64')} could not be stored in the routing`
log.error(errMsg)
log.error(err)