mirror of
git://jb55.com/damus
synced 2024-09-30 00:40:45 +00:00
ndb: add pubkey to NdbNote
This commit is contained in:
parent
4da23390f8
commit
6d43754e71
@ -901,7 +901,6 @@
|
|||||||
4C06670728FDE62900038D2A /* damus-c */ = {
|
4C06670728FDE62900038D2A /* damus-c */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4CDD1AE72A6B3611001CD4DF /* jsmn.h */,
|
|
||||||
4C9146FF2A2A891E00DDEA40 /* error.c */,
|
4C9146FF2A2A891E00DDEA40 /* error.c */,
|
||||||
4CA927752A2A5E2F0098A105 /* typedefs.h */,
|
4CA927752A2A5E2F0098A105 /* typedefs.h */,
|
||||||
4CA927742A2A5E2F0098A105 /* varint.h */,
|
4CA927742A2A5E2F0098A105 /* varint.h */,
|
||||||
@ -1312,17 +1311,10 @@
|
|||||||
path = Buttons;
|
path = Buttons;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
4C9054832A6AEA7B00811EEC /* NDB */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
4C9054842A6AEAA000811EEC /* NdbTests.swift */,
|
|
||||||
);
|
|
||||||
path = NDB;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
4C9054862A6AEB4500811EEC /* nostrdb */ = {
|
4C9054862A6AEB4500811EEC /* nostrdb */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4CE9FBBB2A6B3D9C007E485C /* Test */,
|
||||||
4C9054882A6AED4700811EEC /* NdbTagIterator.swift */,
|
4C9054882A6AED4700811EEC /* NdbTagIterator.swift */,
|
||||||
4C90548A2A6AEDEE00811EEC /* NdbNote.swift */,
|
4C90548A2A6AEDEE00811EEC /* NdbNote.swift */,
|
||||||
4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */,
|
4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */,
|
||||||
@ -1330,6 +1322,7 @@
|
|||||||
4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */,
|
4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */,
|
||||||
4CE9FBB82A6B3B26007E485C /* nostrdb.c */,
|
4CE9FBB82A6B3B26007E485C /* nostrdb.c */,
|
||||||
4CE9FBB92A6B3B26007E485C /* nostrdb.h */,
|
4CE9FBB92A6B3B26007E485C /* nostrdb.h */,
|
||||||
|
4CDD1AE72A6B3611001CD4DF /* jsmn.h */,
|
||||||
);
|
);
|
||||||
path = nostrdb;
|
path = nostrdb;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1548,7 +1541,6 @@
|
|||||||
4CE6DEF627F7A08200C66700 /* damusTests */ = {
|
4CE6DEF627F7A08200C66700 /* damusTests */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4C9054832A6AEA7B00811EEC /* NDB */,
|
|
||||||
4C9B0DEC2A65A74000CBDA21 /* Util */,
|
4C9B0DEC2A65A74000CBDA21 /* Util */,
|
||||||
4C0C03962A61E2670098B3B8 /* Fixtures */,
|
4C0C03962A61E2670098B3B8 /* Fixtures */,
|
||||||
4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */,
|
4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */,
|
||||||
@ -1618,6 +1610,14 @@
|
|||||||
path = Zaps;
|
path = Zaps;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
4CE9FBBB2A6B3D9C007E485C /* Test */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C9054842A6AEAA000811EEC /* NdbTests.swift */,
|
||||||
|
);
|
||||||
|
path = Test;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
4CEE2AE62804F57B00AB5EEF /* Frameworks */ = {
|
4CEE2AE62804F57B00AB5EEF /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
@ -8,11 +8,12 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
struct NdbNote {
|
struct NdbNote {
|
||||||
|
// we can have owned notes, but we can also have lmdb virtual-memory mapped notes so its optional
|
||||||
private var owned: Data?
|
private var owned: Data?
|
||||||
let note: UnsafeMutablePointer<ndb_note>
|
let note: UnsafeMutablePointer<ndb_note>
|
||||||
|
|
||||||
init(notePointer: UnsafeMutablePointer<ndb_note>, data: Data?) {
|
init(note: UnsafeMutablePointer<ndb_note>, data: Data?) {
|
||||||
self.note = notePointer
|
self.note = note
|
||||||
self.owned = data
|
self.owned = data
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,6 +21,10 @@ struct NdbNote {
|
|||||||
Data(buffer: UnsafeBufferPointer(start: ndb_note_id(note), count: 32))
|
Data(buffer: UnsafeBufferPointer(start: ndb_note_id(note), count: 32))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var pubkey: Data {
|
||||||
|
Data(buffer: UnsafeBufferPointer(start: ndb_note_pubkey(note), count: 32))
|
||||||
|
}
|
||||||
|
|
||||||
func tags() -> TagsSequence {
|
func tags() -> TagsSequence {
|
||||||
return .init(note: note)
|
return .init(note: note)
|
||||||
}
|
}
|
||||||
@ -37,6 +42,6 @@ struct NdbNote {
|
|||||||
guard let note else { return nil }
|
guard let note else { return nil }
|
||||||
|
|
||||||
// Create new Data with just the valid bytes
|
// Create new Data with just the valid bytes
|
||||||
let validData = Data(bytes: ¬e.pointee, count: Int(len))
|
let smol_data = Data(bytes: ¬e.pointee, count: Int(len))
|
||||||
return NdbNote(notePointer: note, data: validData)
|
return NdbNote(note: note, data: smol_data)
|
||||||
}}
|
}}
|
||||||
|
@ -24,7 +24,9 @@ final class NdbTests: XCTestCase {
|
|||||||
guard let note else { return }
|
guard let note else { return }
|
||||||
|
|
||||||
let id = "20d0ff27d6fcb13de8366328c5b1a7af26bcac07f2e558fbebd5e9242e608c09"
|
let id = "20d0ff27d6fcb13de8366328c5b1a7af26bcac07f2e558fbebd5e9242e608c09"
|
||||||
|
let pubkey = "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245"
|
||||||
XCTAssertEqual(hex_encode(note.id), id)
|
XCTAssertEqual(hex_encode(note.id), id)
|
||||||
|
XCTAssertEqual(hex_encode(note.pubkey), pubkey)
|
||||||
|
|
||||||
XCTAssertEqual(note.tags().reduce(0, { sum, _ in sum + 1 }), 786)
|
XCTAssertEqual(note.tags().reduce(0, { sum, _ in sum + 1 }), 786)
|
||||||
XCTAssertEqual(note.tags().reduce(0, { sum, _ in sum + 1 }), 786)
|
XCTAssertEqual(note.tags().reduce(0, { sum, _ in sum + 1 }), 786)
|
Loading…
Reference in New Issue
Block a user