basic functionality, untested.
This commit is contained in:
@@ -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})
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user