From 37ce3972f9bc37c0b96ed78814dc99303b202859 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 20 Apr 2022 13:25:13 -0300 Subject: refactor payto and test --- packages/taler-util/src/payto.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'packages/taler-util/src/payto.ts') diff --git a/packages/taler-util/src/payto.ts b/packages/taler-util/src/payto.ts index dd764e42d..7dcb28098 100644 --- a/packages/taler-util/src/payto.ts +++ b/packages/taler-util/src/payto.ts @@ -49,9 +49,8 @@ export interface PaytoUriTalerBank extends PaytoUriGeneric { export interface PaytoUriBitcoin extends PaytoUriGeneric { isKnown: true; targetType: "bitcoin"; - generateSegwitAddress: (r: string) => { addr1: string; addr2: string }; - addr1?: string; - addr2?: string; + addr1: string; + addr2: string; } const paytoPfx = "payto://"; @@ -131,7 +130,7 @@ export function parsePaytoUri(s: string): PaytoUri | undefined { const searchParams = new URLSearchParams(search || ""); searchParams.forEach((v, k) => { - params[v] = k; + params[k] = v; }); if (targetType === "x-taler-bank") { @@ -157,15 +156,18 @@ export function parsePaytoUri(s: string): PaytoUri | undefined { }; } if (targetType === "bitcoin") { + const msg = /\b([A-Z0-9]{52})\b/.exec(params["message"]) + const reserve = !msg ? params["subject"] : msg[0]; + const { addr1, addr2 } = generateFakeSegwitAddress(reserve, targetPath); + const result: PaytoUriBitcoin = { isKnown: true, targetPath, targetType, params, - generateSegwitAddress: (): any => null, + addr1, addr2 }; - result.generateSegwitAddress = buildSegwitGenerator(result, targetPath); return result; } return { -- cgit v1.2.3