Compare commits

...

3 Commits

Author SHA1 Message Date
fiatjaf
d0ae8b36a2 tag v2.5.1 2024-04-24 17:47:45 -03:00
fiatjaf
fd945757be accept localSecretKey as a parameter on nip46.createAccount()
fixes https://github.com/nbd-wtf/nostr-tools/issues/401
2024-04-24 10:12:33 -03:00
Daniele Tonon
c12ddd3c53 Add hyphen to BUNKER_REGEX 2024-04-20 16:16:13 -03:00
2 changed files with 6 additions and 4 deletions

View File

@@ -17,7 +17,7 @@ export function useFetchImplementation(fetchImplementation: any) {
_fetch = fetchImplementation
}
export const BUNKER_REGEX = /^bunker:\/\/([0-9a-f]{64})\??([?\/\w:.=&%]*)$/
export const BUNKER_REGEX = /^bunker:\/\/([0-9a-f]{64})\??([?\/\w:.=&%-]*)$/
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
export type BunkerPointer = {
@@ -254,6 +254,8 @@ export class BunkerSigner {
* @param username - The username for the account.
* @param domain - The domain for the account.
* @param email - The optional email for the account.
* @param localSecretKey - Optionally pass a local secret key that will be used to communicate with the bunker,
this will default to generating a random key.
* @throws Error if the email is present but invalid.
* @returns A Promise that resolves to the auth_url that the client should follow to create an account.
*/
@@ -263,11 +265,11 @@ export async function createAccount(
username: string,
domain: string,
email?: string,
localSecretKey: Uint8Array = generateSecretKey()
): Promise<BunkerSigner> {
if (email && !EMAIL_REGEX.test(email)) throw new Error('Invalid email')
let sk = generateSecretKey()
let rpc = new BunkerSigner(sk, bunker.bunkerPointer, params)
let rpc = new BunkerSigner(localSecretKey, bunker.bunkerPointer, params)
let pubkey = await rpc.sendRequest('create_account', [username, domain, email || ''])

View File

@@ -1,7 +1,7 @@
{
"type": "module",
"name": "nostr-tools",
"version": "2.5.0",
"version": "2.5.1",
"description": "Tools for making a Nostr client.",
"repository": {
"type": "git",