basic functionality, untested.

This commit is contained in:
fiatjaf
2022-01-10 14:11:49 -03:00
parent 853a2b304b
commit 88a2dd806d
11 changed files with 156 additions and 23 deletions

View File

@@ -1,9 +1,34 @@
browser.runtime.onMessage.addListener((req, sender, reply) => {
switch (req.type) {
case 'getPublicKey':
reply({})
break
case 'signEvent':
break
import browser from 'webextension-polyfill'
import {validateEvent, signEvent, getPublicKey} from 'nostr-tools'
browser.runtime.onMessage.addListener(async (req, sender, reply) => {
let {type, params, host} = req
try {
switch (type) {
case 'getPublicKey': {
let results = browser.storage.local.get('private_key')
if (results && results.private_key) {
reply(getPublicKey(results.private_key))
} else {
reply({error: 'no private key found'})
}
break
}
case 'signEvent': {
let {event} = params
if (!validateEvent(event)) return reply({error: 'invalid event'})
let results = browser.storage.local.get('private_key')
if (results && results.private_key) {
reply(signEvent(event, results.private_key))
} else {
reply({error: 'no private key found'})
}
break
}
}
} catch (error) {
reply({error})
}
})