diff --git a/nip19.test.ts b/nip19.test.ts index fe38e28..680ddc6 100644 --- a/nip19.test.ts +++ b/nip19.test.ts @@ -78,13 +78,13 @@ test('encode and decode naddr', () => { test('encode and decode nevent', () => { let pk = getPublicKey(generateSecretKey()) let relays = ['wss://relay.nostr.example.mydomain.example.com', 'wss://nostr.banana.com'] - let naddr = neventEncode({ + let nevent = neventEncode({ id: pk, relays, kind: 30023, }) - expect(naddr).toMatch(/nevent1\w+/) - let { type, data } = decode(naddr) + expect(nevent).toMatch(/nevent1\w+/) + let { type, data } = decode(nevent) expect(type).toEqual('nevent') const pointer = data as EventPointer expect(pointer.id).toEqual(pk) @@ -95,13 +95,13 @@ test('encode and decode nevent', () => { test('encode and decode nevent with kind 0', () => { let pk = getPublicKey(generateSecretKey()) let relays = ['wss://relay.nostr.example.mydomain.example.com', 'wss://nostr.banana.com'] - let naddr = neventEncode({ + let nevent = neventEncode({ id: pk, relays, kind: 0, }) - expect(naddr).toMatch(/nevent1\w+/) - let { type, data } = decode(naddr) + expect(nevent).toMatch(/nevent1\w+/) + let { type, data } = decode(nevent) expect(type).toEqual('nevent') const pointer = data as EventPointer expect(pointer.id).toEqual(pk) diff --git a/nip19.ts b/nip19.ts index 64d0471..652f51a 100644 --- a/nip19.ts +++ b/nip19.ts @@ -227,15 +227,17 @@ export function nrelayEncode(url: string): `nrelay1${string}` { function encodeTLV(tlv: TLV): Uint8Array { let entries: Uint8Array[] = [] - Object.entries(tlv).forEach(([t, vs]) => { - vs.forEach(v => { - let entry = new Uint8Array(v.length + 2) - entry.set([parseInt(t)], 0) - entry.set([v.length], 1) - entry.set(v, 2) - entries.push(entry) + Object.entries(tlv) + .reverse() + .forEach(([t, vs]) => { + vs.forEach(v => { + let entry = new Uint8Array(v.length + 2) + entry.set([parseInt(t)], 0) + entry.set([v.length], 1) + entry.set(v, 2) + entries.push(entry) + }) }) - }) return concatBytes(...entries) }