feat: Implemented NIP-4e (#11)

* chore: refactor account registry

* wip: nip4e

* chore: rename account to device

* feat: nip44 encryption with master signer

* update

* refactor

* feat: unwrap with device keys

* chore: improve handler

* chore: fix rustls

* chore: refactor onboarding

* chore: fix compose

* chore: fix send message

* chore: fix forgot to request device

* fix send message

* chore: fix deadlock

* chore: small fixes

* chore: improve

* fix

* refactor

* refactor

* refactor

* fix

* add fetch request

* save keys

* fix

* update

* update

* update
This commit is contained in:
reya
2025-03-08 19:29:25 +07:00
committed by GitHub
parent 81664e3d4e
commit a53b2181ab
31 changed files with 1744 additions and 1065 deletions

68
Cargo.lock generated
View File

@@ -2,20 +2,6 @@
# It is not intended for manual editing.
version = 4
[[package]]
name = "account"
version = "0.0.0"
dependencies = [
"anyhow",
"common",
"gpui",
"log",
"nostr-sdk",
"oneshot",
"smol",
"state",
]
[[package]]
name = "addr2line"
version = "0.24.2"
@@ -941,6 +927,7 @@ dependencies = [
"anyhow",
"chrono",
"common",
"global",
"gpui",
"itertools 0.13.0",
"log",
@@ -948,7 +935,6 @@ dependencies = [
"oneshot",
"smallvec",
"smol",
"state",
]
[[package]]
@@ -1144,11 +1130,13 @@ dependencies = [
"anyhow",
"chrono",
"dirs 5.0.1",
"global",
"gpui",
"itertools 0.13.0",
"nostr-sdk",
"qrcode-generator",
"random_name_generator",
"smallvec",
]
[[package]]
@@ -1190,12 +1178,12 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
name = "coop"
version = "0.1.3"
dependencies = [
"account",
"anyhow",
"chats",
"common",
"dirs 5.0.1",
"futures",
"global",
"gpui",
"itertools 0.13.0",
"log",
@@ -1209,7 +1197,6 @@ dependencies = [
"serde_json",
"smallvec",
"smol",
"state",
"tracing-subscriber",
"ui",
]
@@ -2083,6 +2070,16 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
[[package]]
name = "global"
version = "0.0.0"
dependencies = [
"dirs 5.0.1",
"nostr-sdk",
"smol",
"whoami",
]
[[package]]
name = "globset"
version = "0.4.15"
@@ -3329,7 +3326,7 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]]
name = "nostr"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"aes",
"base64",
@@ -3353,7 +3350,7 @@ dependencies = [
[[package]]
name = "nostr-connect"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"async-utility",
"nostr",
@@ -3365,7 +3362,7 @@ dependencies = [
[[package]]
name = "nostr-database"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"flatbuffers",
"lru",
@@ -3376,7 +3373,7 @@ dependencies = [
[[package]]
name = "nostr-lmdb"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"async-utility",
"heed",
@@ -3389,7 +3386,7 @@ dependencies = [
[[package]]
name = "nostr-relay-pool"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"async-utility",
"async-wsocket",
@@ -3406,7 +3403,7 @@ dependencies = [
[[package]]
name = "nostr-sdk"
version = "0.39.0"
source = "git+https://github.com/rust-nostr/nostr#16ad5e1190733f6e20d84891165e54d30f917e6d"
source = "git+https://github.com/reyamir/nostr?branch=feat%2Fimprove-nip17#82c0f9e43519e66503491935924b5d9dc29d1dff"
dependencies = [
"async-utility",
"nostr",
@@ -5244,14 +5241,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "state"
version = "0.0.0"
dependencies = [
"dirs 5.0.1",
"nostr-sdk",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
@@ -6288,6 +6277,12 @@ dependencies = [
"wit-bindgen-rt",
]
[[package]]
name = "wasite"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
version = "0.2.100"
@@ -6513,6 +6508,17 @@ dependencies = [
"rustix",
]
[[package]]
name = "whoami"
version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d"
dependencies = [
"redox_syscall",
"wasite",
"web-sys",
]
[[package]]
name = "winapi"
version = "0.3.9"