diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 459914f91d..b08b9729b3 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -1136,7 +1136,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { } private formatFragment(fragmentParams: URLSearchParams, anchor: string | null = null): string | null { - const params = new URLSearchParams(fragmentParams.toString()); + const params = new URLSearchParams(fragmentParams); for (const [key, value] of Array.from(params.entries())) { if (value === '') { params.delete(key); @@ -1145,7 +1145,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { if (anchor) { params.set(anchor, ''); } - return params.toString() || null; + return Array.from(params.entries()).map(([key, value]) => `${key}=${value}`).join('&') || null; } toggleGraph() { diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index d22322fa24..c0b2bc38b9 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -478,16 +478,31 @@

A third party may need to verify unpublished script paths for a Taproot address. One option is to reveal each script by spending coins through every path on-chain, but this hurts privacy and may not be possible if a script is timelocked, for example.

-

A more private option is to share the Taproot data directly with the third party using the Taproot Tree widget. On the address page, use the icon to open a form where Taproot data can be entered. The same data can also be shared directly in the URL fragment:

+

Alternatively, you can share the Taproot data privately with the third party, using the Taproot Tree widget to fill in scripts that are not already known from on-chain spends. On the address page, use the icon to open a form where unpublished Taproot leaves can be passed.

+

The following formats are supported:

+ +

You can also embed the data directly in the URL fragment. Click the links below for examples:

-

Cryptographic checks on the provided data are done in the browser so the verifier can independently confirm that the provided scripts commit to the Taproot output key for the address.

+

The provided tapleaves are cryptographically verified against the address before being added to the Taproot Tree widget. Verification happens entirely in the browser, using the following process for each leaf derived from passed data:

+