mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-03-17 21:31:52 +01:00
nip44 encryption on noogle
This commit is contained in:
parent
db9cfe381a
commit
9678c2d132
@ -40,13 +40,11 @@ class DVM:
|
||||
uniffi_set_event_loop(asyncio.get_running_loop())
|
||||
|
||||
async def run_dvm(self, dvm_config, admin_config):
|
||||
|
||||
self.dvm_config = dvm_config
|
||||
self.admin_config = admin_config
|
||||
self.keys = Keys.parse(dvm_config.PRIVATE_KEY)
|
||||
relaylimits = RelayLimits.disable()
|
||||
opts = (
|
||||
Options().relay_limits(relaylimits)) #.difficulty(28)
|
||||
opts = Options().relay_limits(relaylimits) #.difficulty(28)
|
||||
|
||||
#self.client = Client(self.keys)
|
||||
self.client = ClientBuilder().signer(NostrSigner.keys(self.keys)).opts(opts).build()
|
||||
@ -94,6 +92,7 @@ class DVM:
|
||||
keys = self.keys
|
||||
|
||||
async def handle(self, relay_url, subscription_id, nostr_event: Event):
|
||||
print(nostr_event.as_json())
|
||||
if self.dvm_config.LOGLEVEL.value >= LogLevel.DEBUG.value:
|
||||
print(nostr_event.as_json())
|
||||
if EventDefinitions.KIND_NIP90_EXTRACT_TEXT.as_u16() <= nostr_event.kind().as_u16() <= EventDefinitions.KIND_NIP90_GENERIC.as_u16():
|
||||
@ -108,6 +107,7 @@ class DVM:
|
||||
|
||||
async def handle_nip90_job_event(nip90_event):
|
||||
# decrypted encrypted events
|
||||
|
||||
nip90_event, use_legacy_encryption = check_and_decrypt_tags(nip90_event, self.dvm_config)
|
||||
# if event is encrypted, but we can't decrypt it (e.g. because its directed to someone else), return
|
||||
if nip90_event is None:
|
||||
|
@ -16,7 +16,7 @@ class DVMConfig:
|
||||
FIX_COST: float = None
|
||||
PER_UNIT_COST: float = None
|
||||
|
||||
RELAY_LIST = [
|
||||
RELAY_LIST = ["wss://relay.primal.net",
|
||||
"wss://nostr.mom",
|
||||
"wss://nostr.oxtr.dev",
|
||||
]
|
||||
|
@ -207,8 +207,8 @@ def playground():
|
||||
advanced_search_wine = build_advanced_search_wine("Nostr.wine Search", "discovery_content_searchwine")
|
||||
advanced_search_wine.run()
|
||||
|
||||
profile_search = build_user_search("Profile Searcher", "profile_search")
|
||||
profile_search.run()
|
||||
#profile_search = build_user_search("Profile Searcher", "profile_search")
|
||||
#profile_search.run()
|
||||
|
||||
|
||||
|
||||
|
@ -947,7 +947,6 @@ async function unfollow_all(results) {
|
||||
let relayopts = new Options().relayLimits(limits);
|
||||
let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build()
|
||||
await dbclient.addRelay("wss://relay.damus.io");
|
||||
await dbclient.addRelay("wss://purplepag.es");
|
||||
await dbclient.connect()
|
||||
let found = false
|
||||
let element
|
||||
@ -1027,7 +1026,6 @@ async function unfollow(result) {
|
||||
let relayopts = new Options().relayLimits(limits);
|
||||
let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build()
|
||||
await dbclient.addRelay("wss://relay.damus.io");
|
||||
await dbclient.addRelay("wss://purplepag.es");
|
||||
await dbclient.connect()
|
||||
console.log(result.authorid)
|
||||
let found = false
|
||||
|
@ -320,7 +320,14 @@ export default {
|
||||
} else {
|
||||
await this.sign_in_anon()
|
||||
}
|
||||
await this.getnip89s()
|
||||
await this.getnip89s()
|
||||
|
||||
|
||||
await this.reconcile_all_profiles(store.state.pubkey)
|
||||
|
||||
|
||||
|
||||
|
||||
let nwc = loadNWCObject()
|
||||
this.hasNWC = false
|
||||
|
||||
@ -397,7 +404,7 @@ export default {
|
||||
console.log("SIGNER: " + this.signer.toString())
|
||||
let limits = RelayLimits.disable()
|
||||
|
||||
let opts = new Options().waitForSend(false).connectionTimeout(Duration.fromSecs(5)).relayLimits(limits);
|
||||
let opts = new Options().relayLimits(limits);
|
||||
let client = new ClientBuilder().signer(this.signer).opts(opts).build()
|
||||
|
||||
|
||||
@ -416,10 +423,7 @@ export default {
|
||||
localStorage.setItem('nostr-key', pubkey.toHex())
|
||||
console.log("Client Nip46 connected")
|
||||
await this.get_user_info(pubkey)
|
||||
if (launch) {
|
||||
await this.reconcile_all_profiles(pubkey)
|
||||
|
||||
}
|
||||
console.log(pubkey.toBech32())
|
||||
//await this.reconcile_all_profiles()
|
||||
|
||||
@ -683,7 +687,8 @@ export default {
|
||||
async getnip89s() {
|
||||
|
||||
//let keys = Keys.generate()
|
||||
let keys = Keys.parse(store.state.nooglekey)
|
||||
let keys = Keys.parse(import.meta.env.VITE_NOOGLE_PK)
|
||||
// let keys = Keys.parse(store.state.nooglekey)
|
||||
let signer = NostrSigner.keys(keys)
|
||||
let client = new ClientBuilder().signer(signer).build()
|
||||
|
||||
@ -872,7 +877,7 @@ export default {
|
||||
dbclient = new ClientBuilder().signer(signer).database(await db).opts(relayopts).build()
|
||||
|
||||
await dbclient.addRelay("wss://relay.damus.io");
|
||||
await dbclient.addRelay("wss://purplepag.es");
|
||||
await dbclient.addRelay("wss://relay.primal.net");
|
||||
await dbclient.connect()
|
||||
|
||||
store.commit('set_dbclient', dbclient)
|
||||
|
@ -158,23 +158,30 @@ async function send_search_request(msg) {
|
||||
let contentwine = await signer.nip44Encrypt(PublicKey.parse(winesearch), tags_as_str, NIP44Version.V2)
|
||||
let contentprofile = await signer.nip44Encrypt(PublicKey.parse(profilesearch), tags_profile_as_str, NIP44Version.V2)
|
||||
|
||||
let relays = ["relays"]
|
||||
for (let relay of store.state.relays) {
|
||||
relays.push(relay)
|
||||
}
|
||||
|
||||
let tags_nb = [
|
||||
["p", nostrbadnsearch],
|
||||
["encrypted"],
|
||||
["client", "noogle"]
|
||||
]
|
||||
tags_nb.push(relays)
|
||||
|
||||
let tags_wine = [
|
||||
["p", winesearch],
|
||||
["encrypted"],
|
||||
["client", "noogle"]
|
||||
]
|
||||
tags_wine.push(relays)
|
||||
let tags_profile = [
|
||||
["p", profilesearch],
|
||||
["encrypted"],
|
||||
["client", "noogle"]
|
||||
]
|
||||
tags_profile.push(relays)
|
||||
|
||||
|
||||
let res;
|
||||
@ -208,6 +215,8 @@ async function send_search_request(msg) {
|
||||
|
||||
res = await client.sendEventBuilder(evt)
|
||||
requestid = res.toHex()
|
||||
console.log(requestid)
|
||||
|
||||
|
||||
let res2 = await client.sendEventBuilder(evt2)
|
||||
requestid2 = res2.toHex()
|
||||
@ -302,8 +311,16 @@ async function listen() {
|
||||
if (is_encrypted) {
|
||||
let signer = store.state.signer
|
||||
if (ptag === store.state.pubkey.toHex()) {
|
||||
let tags_str = await signer.nip44Decrypt(event.author, event.content)
|
||||
let tags_str = ""
|
||||
try{
|
||||
tags_str = await signer.nip44Decrypt(event.author, event.content)
|
||||
console.log(tags_str)
|
||||
}
|
||||
catch(e){
|
||||
tags_str = await signer.nip04Decrypt(event.author, event.content)
|
||||
console.log(tags_str)
|
||||
}
|
||||
|
||||
let params = JSON.parse(tags_str)
|
||||
params.push(Tag.parse(["p", ptag]).asVec())
|
||||
params.push(Tag.parse(["encrypted"]).asVec())
|
||||
@ -387,11 +404,20 @@ async function listen() {
|
||||
} else if (event.kind === 6302) {
|
||||
let entries = []
|
||||
//console.log("6302:", event.content);
|
||||
|
||||
let content = ""
|
||||
if (is_encrypted) {
|
||||
let signer = store.state.signer
|
||||
if (ptag === store.state.pubkey.toHex()) {
|
||||
content = await signer.nip44Decrypt(event.author, event.content)
|
||||
|
||||
try{
|
||||
content = await signer.nip44Decrypt(event.author, event.content)
|
||||
console.log("nip44")
|
||||
|
||||
}
|
||||
catch(e){
|
||||
content = await signer.nip04Decrypt(event.author, event.content)
|
||||
console.log("nip04")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -399,7 +425,6 @@ async function listen() {
|
||||
try {
|
||||
|
||||
let event_etags = JSON.parse(content)
|
||||
console.log(event_etags)
|
||||
if (event_etags.length > 0) {
|
||||
for (let etag of event_etags) {
|
||||
const eventid = EventId.parse(etag[1]).toHex() //a bit unnecessary
|
||||
@ -452,8 +477,8 @@ async function listen() {
|
||||
store.commit('set_active_search_dvms', dvms)
|
||||
console.log("Events from" + event.author.toHex())
|
||||
store.commit('set_search_results', items)
|
||||
} catch {
|
||||
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
} else if (event.kind === 6303) {
|
||||
let entries = []
|
||||
|
@ -32,8 +32,8 @@ const store = createStore({
|
||||
results: [],
|
||||
profile_results: [],
|
||||
relays: ["wss://relay.primal.net",
|
||||
"wss://nostr.mom", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net"
|
||||
"wss://nostr.mom",
|
||||
"wss://nostr.oxtr.dev",
|
||||
],
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user