extract HomeModel from ContentView

huge refactor

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-05-24 12:57:40 -07:00
parent b230d430ee
commit 097cc54bba
27 changed files with 1221 additions and 371 deletions

View File

@@ -349,22 +349,33 @@ func get_referenced_ids(tags: [[String]], key: String) -> [ReferencedId] {
}
}
func make_first_contact_event(keypair: Keypair) -> NostrEvent {
func make_first_contact_event(keypair: Keypair) -> NostrEvent? {
guard let privkey = keypair.privkey else {
return nil
}
let rw_relay_info = RelayInfo(read: true, write: true)
let damus_relay = "wss://relay.damus.io"
let relays: [String: RelayInfo] = ["wss://relay.damus.io": rw_relay_info]
let relay_json = encode_json(relays)!
let damus_pubkey = "3efdaebb1d8923ebd99c9e7ace3b4194ab45512e2be79c1b7d68d9243e0d2681"
let tags = [
["p", damus_pubkey],
["p", keypair.pubkey] // you're a friend of yourself!
]
let ev = NostrEvent(content: relay_json,
pubkey: keypair.pubkey,
kind: NostrKind.contacts.rawValue,
tags: [["p", damus_pubkey, damus_relay]])
tags: tags)
ev.calculate_id()
ev.sign(privkey: keypair.privkey)
ev.sign(privkey: privkey)
return ev
}
func make_metadata_event(keypair: Keypair, metadata: NostrMetadata) -> NostrEvent {
func make_metadata_event(keypair: Keypair, metadata: NostrMetadata) -> NostrEvent? {
guard let privkey = keypair.privkey else {
return nil
}
let metadata_json = encode_json(metadata)!
let ev = NostrEvent(content: metadata_json,
pubkey: keypair.pubkey,
@@ -372,7 +383,7 @@ func make_metadata_event(keypair: Keypair, metadata: NostrMetadata) -> NostrEven
tags: [])
ev.calculate_id()
ev.sign(privkey: keypair.privkey)
ev.sign(privkey: privkey)
return ev
}

View File

@@ -75,6 +75,9 @@ func char_to_hex(_ c: UInt8) -> UInt8?
func hex_decode(_ str: String) -> [UInt8]?
{
if str.count == 0 {
return nil
}
var ret: [UInt8] = []
let chars = Array(str.utf8)
var i: Int = 0