@phala/pay 0.8.3 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +20 -83
  2. package/dist/checkout.d.ts +4 -2
  3. package/dist/checkout.d.ts.map +1 -1
  4. package/dist/checkout.js +16 -1
  5. package/dist/checkout.js.map +1 -1
  6. package/dist/index.d.ts +5 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +4 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/shared/checkout-params.d.ts +7 -0
  11. package/dist/shared/checkout-params.d.ts.map +1 -0
  12. package/dist/shared/checkout-params.js +2 -0
  13. package/dist/shared/checkout-params.js.map +1 -0
  14. package/package.json +12 -30
  15. package/src/checkout.ts +19 -2
  16. package/src/index.ts +5 -2
  17. package/src/shared/checkout-params.ts +6 -0
  18. package/dist/react/Checkout.d.ts +0 -43
  19. package/dist/react/Checkout.d.ts.map +0 -1
  20. package/dist/react/Checkout.js +0 -195
  21. package/dist/react/Checkout.js.map +0 -1
  22. package/dist/react/DepositAddress.d.ts +0 -32
  23. package/dist/react/DepositAddress.d.ts.map +0 -1
  24. package/dist/react/DepositAddress.js +0 -131
  25. package/dist/react/DepositAddress.js.map +0 -1
  26. package/dist/react/Field.d.ts +0 -7
  27. package/dist/react/Field.d.ts.map +0 -1
  28. package/dist/react/Field.js +0 -21
  29. package/dist/react/Field.js.map +0 -1
  30. package/dist/react/Icons.d.ts +0 -17
  31. package/dist/react/Icons.d.ts.map +0 -1
  32. package/dist/react/Icons.js +0 -18
  33. package/dist/react/Icons.js.map +0 -1
  34. package/dist/react/QrCode.d.ts +0 -8
  35. package/dist/react/QrCode.d.ts.map +0 -1
  36. package/dist/react/QrCode.js +0 -20
  37. package/dist/react/QrCode.js.map +0 -1
  38. package/dist/react/appearance.d.ts +0 -5
  39. package/dist/react/appearance.d.ts.map +0 -1
  40. package/dist/react/appearance.js +0 -2
  41. package/dist/react/appearance.js.map +0 -1
  42. package/dist/react/icon-paths.d.ts +0 -13
  43. package/dist/react/icon-paths.d.ts.map +0 -1
  44. package/dist/react/icon-paths.js +0 -14
  45. package/dist/react/icon-paths.js.map +0 -1
  46. package/dist/react/index.d.ts +0 -6
  47. package/dist/react/index.d.ts.map +0 -1
  48. package/dist/react/index.js +0 -6
  49. package/dist/react/index.js.map +0 -1
  50. package/dist/react/useCheckout.d.ts +0 -9
  51. package/dist/react/useCheckout.d.ts.map +0 -1
  52. package/dist/react/useCheckout.js +0 -32
  53. package/dist/react/useCheckout.js.map +0 -1
  54. package/dist/server/addresses.d.ts +0 -78
  55. package/dist/server/addresses.d.ts.map +0 -1
  56. package/dist/server/addresses.js +0 -118
  57. package/dist/server/addresses.js.map +0 -1
  58. package/dist/server/index.d.ts +0 -12
  59. package/dist/server/index.d.ts.map +0 -1
  60. package/dist/server/index.js +0 -12
  61. package/dist/server/index.js.map +0 -1
  62. package/dist/server/sweeps.d.ts +0 -78
  63. package/dist/server/sweeps.d.ts.map +0 -1
  64. package/dist/server/sweeps.js +0 -117
  65. package/dist/server/sweeps.js.map +0 -1
  66. package/dist/server/webhook.d.ts +0 -61
  67. package/dist/server/webhook.d.ts.map +0 -1
  68. package/dist/server/webhook.js +0 -154
  69. package/dist/server/webhook.js.map +0 -1
  70. package/src/css.d.ts +0 -1
  71. package/src/react/Checkout.tsx +0 -475
  72. package/src/react/DepositAddress.tsx +0 -240
  73. package/src/react/Field.tsx +0 -46
  74. package/src/react/Icons.tsx +0 -43
  75. package/src/react/QrCode.tsx +0 -39
  76. package/src/react/appearance.ts +0 -4
  77. package/src/react/icon-paths.tsx +0 -13
  78. package/src/react/index.ts +0 -7
  79. package/src/react/useCheckout.ts +0 -58
  80. package/src/server/addresses.ts +0 -223
  81. package/src/server/index.ts +0 -38
  82. package/src/server/sweeps.ts +0 -197
  83. package/src/server/webhook.ts +0 -208
  84. package/src/styles.css +0 -80
@@ -1,195 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useEffect, useId, useRef, useState } from "react";
4
- import { networkName, transactionUrl } from "../chains.js";
5
- import { formatAmount, formatCountdown, formatMinorAmount, formatTokenAmount, formatWait, tokenAmount, } from "../format.js";
6
- import { quoteTransfer } from "../payment.js";
7
- import { WalletError, payWithWallet, watchWallets, } from "../wallet.js";
8
- import { AssetIcon, NetworkIcon } from "./Icons.js";
9
- import { Field } from "./Field.js";
10
- import { QrCode } from "./QrCode.js";
11
- import { useCheckout } from "./useCheckout.js";
12
- const METHODS = [
13
- { id: "wallet", label: "Wallet" },
14
- { id: "qr", label: "QR code" },
15
- { id: "manual", label: "Manual" },
16
- ];
17
- /** A checkout for one quote: pay from a browser wallet, by QR code, or manually, with live status. */
18
- export function Checkout({ clientSecret, expectedAddress, apiBase, onSuccess, onExpire, onChange, onWalletError, appearance, pollInterval, className, buttonText = "Pay with crypto", walletClient, }) {
19
- const { status, quote, error, refresh } = useCheckout({
20
- clientSecret,
21
- expectedAddress,
22
- apiBase,
23
- ...(pollInterval === undefined ? {} : { pollInterval }),
24
- });
25
- const [txHash, setTxHash] = useState(null);
26
- const now = useNow(status === "waiting");
27
- const callbacks = useRef({ onSuccess, onExpire, onChange });
28
- const state = useRef({ status, quote, error });
29
- useEffect(() => {
30
- callbacks.current = { onSuccess, onExpire, onChange };
31
- state.current = { status, quote, error };
32
- });
33
- // Once per status change, not on every poll.
34
- useEffect(() => {
35
- callbacks.current.onChange?.(state.current);
36
- }, [status]);
37
- const notified = useRef(new Set());
38
- useEffect(() => {
39
- if (quote === null) {
40
- return;
41
- }
42
- if (status === "credited") {
43
- const key = `${quote.id}:success`;
44
- if (!notified.current.has(key)) {
45
- notified.current.add(key);
46
- callbacks.current.onSuccess?.(quote);
47
- }
48
- }
49
- else if (status === "expired" || status === "canceled") {
50
- const key = `${quote.id}:expire`;
51
- if (!notified.current.has(key)) {
52
- notified.current.add(key);
53
- callbacks.current.onExpire?.(quote);
54
- }
55
- }
56
- }, [status, quote]);
57
- return (_jsxs("div", { className: className === undefined ? "pp-root" : `pp-root ${className}`, "data-theme": appearance?.theme ?? "light", children: [quote !== null && (_jsxs(_Fragment, { children: [_jsxs("p", { className: "pp-amount", children: [_jsx(AssetIcon, { asset: quote.asset, size: 20 }), " ", formatTokenAmount(quote), " ", quote.asset.toUpperCase()] }), _jsxs("p", { className: "pp-subtitle", children: [formatAmount(quote), " top-up \u00B7 ", _jsx(NetworkIcon, { chainId: quote.chain_id, size: 16 }), " ", networkName(quote.chain_id), !quote.livemode && _jsx("span", { className: "pp-badge", children: " \u00B7 Test mode" })] })] })), _jsx(StatusLine, { status: status, quote: quote, now: now, error: error }), txHash !== null && quote !== null && _jsx(Transaction, { hash: txHash, chainId: quote.chain_id }), status === "waiting" && quote !== null && (_jsx(PaymentOptions, { quote: quote, buttonText: buttonText, walletClient: walletClient, onSent: (hash) => {
58
- setTxHash(hash);
59
- refresh();
60
- }, onWalletError: onWalletError }))] }));
61
- }
62
- function StatusLine({ status, quote, now, error, }) {
63
- const tone = status === "credited"
64
- ? "success"
65
- : ["rejected", "reversed", "expired", "canceled", "error"].includes(status)
66
- ? "danger"
67
- : "neutral";
68
- return (_jsxs("div", { className: "pp-status", "data-tone": tone, children: [_jsxs("span", { role: "status", "aria-live": "polite", children: [statusMessage(status, quote, error?.code), error !== null && status !== "error" ? " (reconnecting…)" : ""] }), status === "waiting" && quote !== null && (_jsx("span", { className: "pp-countdown", "aria-label": "Time left to pay", children: formatCountdown(quote.expires_at, now) }))] }));
69
- }
70
- function statusMessage(status, quote, code) {
71
- switch (status) {
72
- case "loading":
73
- return "Loading payment details…";
74
- case "waiting":
75
- return "Waiting for your payment";
76
- case "seen":
77
- return seenMessage(quote);
78
- case "confirming":
79
- return "Confirmed on chain, crediting…";
80
- case "credited":
81
- return creditedMessage(quote);
82
- case "rejected":
83
- return "This payment cannot be credited. Contact support with your transaction.";
84
- case "reversed":
85
- return "Payment reversed: a chain reorganization replaced it and its credit was removed. Check your wallet, then start a new top-up.";
86
- case "expired":
87
- return "Quote expired. Do not send funds; start a new top-up.";
88
- case "canceled":
89
- return "Quote canceled. Do not send funds.";
90
- case "error":
91
- return code === "address_mismatch"
92
- ? "This payment address could not be verified. Do not send funds; contact support."
93
- : "This payment link is not valid. Start a new top-up.";
94
- }
95
- }
96
- function seenMessage(quote) {
97
- if (quote === null) {
98
- return "Received, crediting after confirmation";
99
- }
100
- const wait = formatWait(quote.typical_credit_seconds);
101
- return quote.confirmations === null
102
- ? `Received, crediting in ${wait}`
103
- : `Received, ${quote.confirmations} confirmation${quote.confirmations === 1 ? "" : "s"}. Crediting in ${wait}`;
104
- }
105
- /** What was credited and, when the payment was valued at the market price, the quote it missed. */
106
- function creditedMessage(quote) {
107
- if (quote?.amount_credited == null) {
108
- return "Payment credited";
109
- }
110
- const credited = formatMinorAmount(quote, quote.amount_credited);
111
- if (quote.amount_credited < quote.amount) {
112
- return `Payment credited: ${credited} of ${formatAmount(quote)}`;
113
- }
114
- if (quote.amount_credited > quote.amount) {
115
- return `Payment credited: ${credited} (${formatAmount(quote)} quoted)`;
116
- }
117
- return `Payment credited: ${credited}`;
118
- }
119
- function Transaction({ hash, chainId }) {
120
- const url = transactionUrl(chainId, hash);
121
- return (_jsxs("p", { className: "pp-tx", children: ["Transaction sent:", " ", url === undefined ? (_jsx("span", { className: "pp-value", children: hash })) : (_jsx("a", { className: "pp-value", href: url, target: "_blank", rel: "noreferrer", children: hash }))] }));
122
- }
123
- function PaymentOptions({ quote, buttonText, walletClient, onSent, onWalletError, }) {
124
- const [selectedMethod, setMethod] = useState(null);
125
- const [discovered, setDiscovered] = useState([]);
126
- useEffect(() => (walletClient === undefined ? watchWallets(setDiscovered) : undefined), [walletClient]);
127
- const method = selectedMethod ?? (walletClient !== undefined || discovered.length > 0 ? "wallet" : "qr");
128
- const id = useId();
129
- const tabs = useRef([]);
130
- const amount = `${formatTokenAmount(quote)} ${quote.asset.toUpperCase()}`;
131
- const onKeyDown = (event) => {
132
- const index = METHODS.findIndex((m) => m.id === method);
133
- const next = event.key === "ArrowRight"
134
- ? (index + 1) % METHODS.length
135
- : event.key === "ArrowLeft"
136
- ? (index - 1 + METHODS.length) % METHODS.length
137
- : event.key === "Home"
138
- ? 0
139
- : event.key === "End"
140
- ? METHODS.length - 1
141
- : null;
142
- const target = next === null ? undefined : METHODS[next];
143
- if (next !== null && target !== undefined) {
144
- event.preventDefault();
145
- setMethod(target.id);
146
- tabs.current[next]?.focus();
147
- }
148
- };
149
- return (_jsxs(_Fragment, { children: [_jsxs("p", { className: "pp-notice", children: ["Send ", _jsxs("strong", { children: ["exactly ", amount] }), " on ", networkName(quote.chain_id), " in one transfer before the timer ends. Otherwise it\u2019s credited at the market rate."] }), _jsx("div", { className: "pp-tabs", role: "tablist", "aria-label": "Payment method", onKeyDown: onKeyDown, children: METHODS.map((m, index) => (_jsx("button", { ref: (element) => {
150
- tabs.current[index] = element;
151
- }, type: "button", role: "tab", className: "pp-tab", id: `${id}-tab-${m.id}`, "aria-label": m.id === "wallet" ? "Browser wallet" : m.id === "manual" ? "Manual transfer" : m.label, "aria-selected": method === m.id, "aria-controls": `${id}-panel-${m.id}`, tabIndex: method === m.id ? 0 : -1, onClick: () => setMethod(m.id), children: m.label }, m.id))) }), _jsxs("div", { role: "tabpanel", id: `${id}-panel-${method}`, "aria-labelledby": `${id}-tab-${method}`, tabIndex: 0, children: [method === "wallet" && (_jsx(WalletPanel, { quote: quote, buttonText: buttonText, walletClient: walletClient, discovered: discovered, onSent: onSent, onWalletError: onWalletError })), method === "qr" && (_jsxs("div", { className: "pp-qr-panel", children: [_jsx(QrCode, { value: quote.payment_uri, label: `Payment request for ${amount}` }), _jsxs("p", { className: "pp-message", children: ["Scan with your wallet app and check it shows ", amount, " on ", networkName(quote.chain_id), "."] })] })), method === "manual" && _jsx(ManualPanel, { quote: quote })] })] }));
152
- }
153
- function WalletPanel({ quote, buttonText, walletClient, discovered, onSent, onWalletError, }) {
154
- const [step, setStep] = useState({ kind: "idle" });
155
- const wallets = walletClient === undefined
156
- ? discovered.map(({ info: { uuid, name, icon }, provider }) => ({ id: uuid, name, icon, wallet: provider }))
157
- : [{ id: "client", name: "your wallet", icon: "", wallet: walletClient }];
158
- const pay = async ({ name, wallet }) => {
159
- setStep({ kind: "pending", wallet: name });
160
- try {
161
- onSent(await payWithWallet(wallet, quote));
162
- setStep({ kind: "idle" });
163
- }
164
- catch (error) {
165
- setStep({
166
- kind: "failed",
167
- message: error instanceof WalletError ? error.message : "The payment could not be sent",
168
- });
169
- if (error instanceof WalletError) {
170
- onWalletError?.(error, wallet);
171
- }
172
- }
173
- };
174
- if (wallets.length === 0) {
175
- return (_jsx("p", { className: "pp-message", children: "Install a browser wallet to pay here." }));
176
- }
177
- return (_jsxs("div", { className: "pp-wallets", children: [wallets.map((choice) => (_jsxs("button", { type: "button", className: "pp-button", disabled: step.kind === "pending", onClick: () => void pay(choice), "aria-label": walletClient === undefined ? `${buttonText} (${choice.name})` : buttonText, children: [choice.icon !== "" && _jsx("img", { src: choice.icon, alt: "" }), _jsx("span", { children: buttonText }), walletClient === undefined && _jsx("span", { className: "pp-wallet-name", children: choice.name })] }, choice.id))), _jsxs("p", { className: "pp-message", "data-tone": step.kind === "failed" ? "danger" : undefined, "aria-live": "polite", children: [step.kind === "pending" && `Confirm the payment in ${step.wallet}…`, step.kind === "failed" && step.message] })] }));
178
- }
179
- function ManualPanel({ quote }) {
180
- const token = quoteTransfer(quote).token;
181
- return (_jsxs(_Fragment, { children: [_jsxs("dl", { className: "pp-fields", children: [_jsx(Field, { label: "Network", value: `${networkName(quote.chain_id)} (chain ID ${quote.chain_id})` }), _jsx(Field, { label: `Token (${quote.asset.toUpperCase()}) contract`, value: token, copy: true }), _jsx(Field, { label: "Send to address", value: quote.address, copy: true }), _jsx(Field, { label: "Exact amount", value: formatTokenAmount(quote), copy: tokenAmount(quote) })] }), _jsxs("p", { className: "pp-message", children: ["Only ", quote.asset.toUpperCase(), " on ", networkName(quote.chain_id), " is credited. Exchange withdrawal fees must not reduce the amount received."] })] }));
182
- }
183
- /** The current time in milliseconds, updated every second while `active`. */
184
- function useNow(active) {
185
- const [now, setNow] = useState(() => Date.now());
186
- useEffect(() => {
187
- if (!active) {
188
- return;
189
- }
190
- const timer = setInterval(() => setNow(Date.now()), 1000);
191
- return () => clearInterval(timer);
192
- }, [active]);
193
- return now;
194
- }
195
- //# sourceMappingURL=Checkout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/react/Checkout.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { type DepositAddressDetails } from "../payment.js";
2
- import type { Appearance } from "./appearance.js";
3
- export interface DepositAddressProps {
4
- /** `address` and `networks` from your backend's `POST /v1/deposit_addresses`. */
5
- depositAddress: DepositAddressDetails;
6
- /** The network shown first; the first of `networks` by default. */
7
- chainId?: number;
8
- /** The token shown first, for example `pha`; the network's first token by default. */
9
- asset?: string;
10
- /**
11
- * The `client_secret` of the same response. With `apiBase`, the component follows the
12
- * address's payments and shows each one within about a block of arriving: received with its
13
- * confirmations, then credited, and states each network's typical credit time. Display only;
14
- * credit from your `deposit.credited` webhook.
15
- */
16
- clientSecret?: string;
17
- /** The service origin, for example `https://pay.example.com`; needed with `clientSecret`. */
18
- apiBase?: string;
19
- /** Milliseconds between payment reads; default 3000. */
20
- pollInterval?: number;
21
- appearance?: Appearance;
22
- className?: string;
23
- }
24
- /**
25
- * A customer's persistent deposit address: one address for every supported token on every
26
- * supported network. The payer picks a network and a token; the component shows a QR code of that
27
- * EIP-681 transfer request and the address and token contract to copy. Any amount of a supported
28
- * token sent is credited at the market rate when it arrives; follow it from your backend's
29
- * `deposit.credited` webhook.
30
- */
31
- export declare function DepositAddress({ depositAddress, chainId, asset, clientSecret, apiBase, pollInterval, appearance, className, }: DepositAddressProps): import("react").JSX.Element;
32
- //# sourceMappingURL=DepositAddress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DepositAddress.d.ts","sourceRoot":"","sources":["../../src/react/DepositAddress.tsx"],"names":[],"mappings":"AAYA,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,cAAc,EAAE,qBAAqB,CAAC;IACtC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,OAAO,EACP,KAAK,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,GACV,EAAE,mBAAmB,+BAsFrB"}
@@ -1,131 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useId, useState } from "react";
4
- import { formatUnits } from "viem";
5
- import { networkName } from "../chains.js";
6
- import { retrieveDepositAddress, } from "../deposit-address.js";
7
- import { CheckoutError, pollDelay } from "../checkout.js";
8
- import { formatWait } from "../format.js";
9
- import { depositAddressTransfer } from "../payment.js";
10
- import { AssetIcon, NetworkIcon } from "./Icons.js";
11
- import { Field } from "./Field.js";
12
- import { QrCode } from "./QrCode.js";
13
- /**
14
- * A customer's persistent deposit address: one address for every supported token on every
15
- * supported network. The payer picks a network and a token; the component shows a QR code of that
16
- * EIP-681 transfer request and the address and token contract to copy. Any amount of a supported
17
- * token sent is credited at the market rate when it arrives; follow it from your backend's
18
- * `deposit.credited` webhook.
19
- */
20
- export function DepositAddress({ depositAddress, chainId, asset, clientSecret, apiBase, pollInterval, appearance, className, }) {
21
- const { networks } = depositAddress;
22
- const id = useId();
23
- const view = useClientView(clientSecret, apiBase, pollInterval ?? 3000);
24
- const payments = view?.payments ?? [];
25
- const [selectedChain, setSelectedChain] = useState(chainId ?? networks[0]?.chain_id);
26
- const [selectedAsset, setSelectedAsset] = useState(asset);
27
- const network = networks.find((candidate) => candidate.chain_id === selectedChain) ?? networks[0];
28
- if (network === undefined) {
29
- throw new TypeError("the deposit address has no network");
30
- }
31
- const token = network.assets.find((candidate) => candidate.asset === selectedAsset) ?? network.assets[0];
32
- if (token === undefined) {
33
- throw new TypeError(`the deposit address takes no token on chain ${network.chain_id}`);
34
- }
35
- const { token: contract, to } = depositAddressTransfer(network, token);
36
- const symbol = token.asset.toUpperCase();
37
- const name = networkName(network.chain_id);
38
- return (_jsxs("div", { className: className === undefined ? "pp-root" : `pp-root ${className}`, "data-theme": appearance?.theme ?? "light", children: [_jsx("p", { className: "pp-subtitle", children: depositAddress.address === null
39
- ? "Reusable deposit address; varies by network"
40
- : "One reusable address for supported tokens and networks" }), networks.length > 1 && (_jsxs("fieldset", { className: "pp-choices", children: [_jsx("legend", { children: "Network" }), networks.map((each) => (_jsxs("label", { children: [_jsx("input", { type: "radio", name: `${id}-network`, checked: each.chain_id === network.chain_id, onChange: () => setSelectedChain(each.chain_id) }), _jsx(NetworkIcon, { chainId: each.chain_id, size: 16 }), " ", networkName(each.chain_id)] }, each.chain_id)))] })), network.assets.length > 1 && (_jsxs("fieldset", { className: "pp-choices", children: [_jsx("legend", { children: "Token" }), network.assets.map((each) => (_jsxs("label", { children: [_jsx("input", { type: "radio", name: `${id}-token`, checked: each.asset === token.asset, onChange: () => setSelectedAsset(each.asset) }), _jsx(AssetIcon, { asset: each.asset, size: 16 }), " ", each.asset.toUpperCase()] }, each.asset)))] })), _jsx("div", { className: "pp-qr-panel", children: _jsx(QrCode, { value: token.payment_uri, label: `Deposit address for ${symbol} on ${name}` }) }), _jsxs("dl", { className: "pp-fields", children: [_jsx(Field, { label: "Network", value: `${name} (chain ID ${network.chain_id})` }), _jsx(Field, { label: `Token (${symbol}) contract`, value: contract, copy: true }), _jsx(Field, { label: "Deposit address", value: to, copy: true })] }), payments.length > 0 && (_jsx("ul", { className: "pp-payments", "aria-live": "polite", "aria-label": "Payments", children: payments.map((payment) => (_jsx("li", { children: paymentMessage(payment) }, `${payment.chain_id}:${payment.tx_hash}:${payment.created}`))) })), _jsxs("p", { className: "pp-message", children: ["Send ", symbol, " on ", name, ". Unsupported tokens or networks are not credited.", " ", creditMessage(networks.map((each) => each.chain_id), view)] })] }));
41
- }
42
- /** The address's public view, read every `interval` while mounted; `null` without a secret. */
43
- function useClientView(clientSecret, apiBase, interval) {
44
- const key = clientSecret === undefined || apiBase === undefined ? "" : `${apiBase} ${clientSecret}`;
45
- const [current, setCurrent] = useState({
46
- key: "",
47
- view: null,
48
- });
49
- useEffect(() => {
50
- if (clientSecret === undefined || apiBase === undefined) {
51
- return;
52
- }
53
- const controller = new AbortController();
54
- let stopped = false;
55
- let timer;
56
- let failures = 0;
57
- const load = async () => {
58
- let failure = null;
59
- try {
60
- const view = await retrieveDepositAddress({ clientSecret, apiBase, signal: controller.signal });
61
- failures = 0;
62
- if (!stopped) {
63
- setCurrent({ key, view });
64
- }
65
- }
66
- catch (error) {
67
- failures += 1;
68
- // A secret that is not valid will not become valid: stop, keep showing the address.
69
- if (error instanceof CheckoutError && error.code === "invalid_client_secret") {
70
- return;
71
- }
72
- failure = error instanceof CheckoutError ? error : null;
73
- }
74
- if (!stopped) {
75
- timer = setTimeout(() => void load(), pollDelay(interval, failures, failure));
76
- }
77
- };
78
- void load();
79
- return () => {
80
- stopped = true;
81
- controller.abort();
82
- clearTimeout(timer);
83
- };
84
- }, [key, clientSecret, apiBase, interval]);
85
- // Another address starts without the previous one's view.
86
- return current.key === key && key !== "" ? current.view : null;
87
- }
88
- /**
89
- * When a payment on each of `chainIds` is credited, from `view`'s typical credit times, for
90
- * example "usually in about 30 seconds on Ethereum and about 7 seconds on Base". Before the view
91
- * is loaded it names no time.
92
- */
93
- function creditMessage(chainIds, view) {
94
- const names = new Map();
95
- for (const network of view?.networks ?? []) {
96
- if (chainIds.includes(network.chain_id)) {
97
- const seconds = network.typical_credit_seconds;
98
- names.set(seconds, [...(names.get(seconds) ?? []), networkName(network.chain_id)]);
99
- }
100
- }
101
- if (names.size === 0) {
102
- return "Any amount is credited at the market rate after confirmation.";
103
- }
104
- const list = new Intl.ListFormat("en", { type: "conjunction" });
105
- const [only, ...others] = names.keys();
106
- const usually = only !== undefined && others.length === 0
107
- ? formatWait(only)
108
- : list.format([...names].map(([seconds, on]) => `${formatWait(seconds)} on ${list.format(on)}`));
109
- return `Any amount is credited at the market rate on arrival, usually in ${usually}.`;
110
- }
111
- function paymentMessage(payment) {
112
- const amount = payment.asset === null || payment.decimals === null
113
- ? "A payment"
114
- : `${formatUnits(BigInt(payment.amount_atomic), payment.decimals)} ${payment.asset.toUpperCase()}`;
115
- const on = `on ${networkName(payment.chain_id)}`;
116
- switch (payment.status) {
117
- case "seen":
118
- return payment.confirmations === null
119
- ? `${amount} received ${on}, crediting shortly`
120
- : `${amount} received ${on}, ${payment.confirmations} confirmation${payment.confirmations === 1 ? "" : "s"}`;
121
- case "confirming":
122
- return `${amount} confirmed ${on}, crediting…`;
123
- case "credited":
124
- return `${amount} ${on} credited`;
125
- case "rejected":
126
- return `${amount} ${on} cannot be credited. Contact support with your transaction.`;
127
- case "reversed":
128
- return `${amount} ${on} was reversed: a chain reorganization replaced it and its credit was removed.`;
129
- }
130
- }
131
- //# sourceMappingURL=DepositAddress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DepositAddress.js","sourceRoot":"","sources":["../../src/react/DepositAddress.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /** `copy` adds a copy button, copying `value`, or the given string when it differs from it. */
2
- export declare function Field({ label, value, copy, }: {
3
- label: string;
4
- value: string;
5
- copy?: boolean | string;
6
- }): import("react").JSX.Element;
7
- //# sourceMappingURL=Field.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/react/Field.tsx"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,IAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB,+BAYA"}
@@ -1,21 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
3
- /** `copy` adds a copy button, copying `value`, or the given string when it differs from it. */
4
- export function Field({ label, value, copy = false, }) {
5
- return (_jsxs("div", { className: "pp-field", children: [_jsx("dt", { children: label }), _jsxs("dd", { children: [_jsx("span", { className: copy === false ? undefined : "pp-value", children: value }), copy !== false && (_jsx(CopyButton, { value: typeof copy === "string" ? copy : value, label: label }))] })] }));
6
- }
7
- function CopyButton({ value, label }) {
8
- const [copied, setCopied] = useState(null);
9
- useEffect(() => {
10
- if (copied === null) {
11
- return;
12
- }
13
- const timer = setTimeout(() => setCopied(null), 2000);
14
- return () => clearTimeout(timer);
15
- }, [copied]);
16
- const onClick = () => {
17
- navigator.clipboard.writeText(value).then(() => setCopied(true), () => setCopied(false));
18
- };
19
- return (_jsx("button", { type: "button", className: "pp-copy", onClick: onClick, "aria-label": `Copy ${label}`, children: _jsx("span", { "aria-live": "polite", children: copied === null ? "Copy" : copied ? "Copied" : "Copy failed" }) }));
20
- }
21
- //# sourceMappingURL=Field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/react/Field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,+FAA+F;AAC/F,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,IAAI,GAAG,KAAK,GAKb;IACC,OAAO,CACL,eAAK,SAAS,EAAC,UAAU,aACvB,uBAAK,KAAK,GAAM,EAChB,yBACE,eAAM,SAAS,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,YAAG,KAAK,GAAQ,EACvE,IAAI,KAAK,KAAK,IAAI,CACjB,KAAC,UAAU,IAAC,KAAK,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAC7E,IACE,IACD,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC;IACpE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EACrB,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CACvB,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,gBAAc,QAAQ,KAAK,EAAE,YACrF,4BAAgB,QAAQ,YAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAQ,GACvF,CACV,CAAC;AACJ,CAAC"}
@@ -1,17 +0,0 @@
1
- export interface IconProps {
2
- /** Width and height in pixels; default 18. No inline styles are injected. */
3
- size?: number;
4
- /** Default true next to visible text. Set false when the icon is used alone. */
5
- decorative?: boolean;
6
- }
7
- export interface NetworkIconProps extends IconProps {
8
- chainId: number;
9
- }
10
- export interface AssetIconProps extends IconProps {
11
- asset: string;
12
- }
13
- /** Branded network icon; testnets reuse their mainnet family artwork. */
14
- export declare function NetworkIcon({ chainId, ...props }: NetworkIconProps): import("react").JSX.Element;
15
- /** Branded token icon, or a neutral first-letter monogram for unknown symbols. */
16
- export declare function AssetIcon({ asset, ...props }: AssetIconProps): import("react").JSX.Element;
17
- //# sourceMappingURL=Icons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icons.d.ts","sourceRoot":"","sources":["../../src/react/Icons.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAAG,OAAO,EAAE,MAAM,CAAA;CAAE;AACvE,MAAM,WAAW,cAAe,SAAQ,SAAS;IAAG,KAAK,EAAE,MAAM,CAAA;CAAE;AAqBnE,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAElE;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAE5D"}
@@ -1,18 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { networkName, networkIconName } from "../chains.js";
4
- import { assetIconName, iconMonogram } from "../icon-names.js";
5
- import { ICON_PATHS } from "./icon-paths.js";
6
- function Icon({ name, label, size = 18, decorative = true }) {
7
- const pixels = Number.isFinite(size) && size > 0 ? size : 18;
8
- return (_jsx("span", { className: "pp-icon-label", role: decorative ? undefined : "img", "aria-label": decorative ? undefined : label || "Unknown asset", children: _jsx("svg", { className: "pp-icon", xmlns: "http://www.w3.org/2000/svg", width: pixels, height: pixels, viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", focusable: "false", children: name === undefined ? _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "11", fill: "currentColor", opacity: "0.12" }), _jsx("text", { x: "12", y: "16", textAnchor: "middle", fontFamily: "sans-serif", fontSize: "12", fill: "currentColor", children: iconMonogram(label) })] }) : ICON_PATHS[name] }) }));
9
- }
10
- /** Branded network icon; testnets reuse their mainnet family artwork. */
11
- export function NetworkIcon({ chainId, ...props }) {
12
- return _jsx(Icon, { ...props, name: networkIconName(chainId), label: networkName(chainId) });
13
- }
14
- /** Branded token icon, or a neutral first-letter monogram for unknown symbols. */
15
- export function AssetIcon({ asset, ...props }) {
16
- return _jsx(Icon, { ...props, name: assetIconName(asset), label: asset.trim().toUpperCase() });
17
- }
18
- //# sourceMappingURL=Icons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/react/Icons.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,EAGxD;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,CACL,eAAM,SAAS,EAAC,eAAe,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,gBACtD,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,YAC7D,cAAK,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACvF,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YACnE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,8BACpB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,GAAG,EACpE,eAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,YAAY,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,YAAE,YAAY,CAAC,KAAK,CAAC,GAAQ,IAC7H,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAClB,GACD,CACR,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAoB;IACjE,OAAO,KAAC,IAAI,OAAK,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAI,CAAC;AAC1F,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAkB;IAC3D,OAAO,KAAC,IAAI,OAAK,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,GAAI,CAAC;AAC5F,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface QrCodeProps {
2
- value: string;
3
- label: string;
4
- size?: number;
5
- }
6
- /** A QR code as an SVG path, one unit per module. */
7
- export declare function QrCode({ value, label, size }: QrCodeProps): import("react").JSX.Element;
8
- //# sourceMappingURL=QrCode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QrCode.d.ts","sourceRoot":"","sources":["../../src/react/QrCode.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE,WAAW,+BA4B/D"}
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import { encode } from "uqr";
4
- /** A QR code as an SVG path, one unit per module. */
5
- export function QrCode({ value, label, size = 208 }) {
6
- const { path, width } = useMemo(() => {
7
- const { data, size: modules } = encode(value, { ecc: "M", border: 2 });
8
- let d = "";
9
- data.forEach((row, y) => {
10
- row.forEach((dark, x) => {
11
- if (dark) {
12
- d += `M${x} ${y}h1v1h-1z`;
13
- }
14
- });
15
- });
16
- return { path: d, width: modules };
17
- }, [value]);
18
- return (_jsxs("svg", { className: "pp-qr", role: "img", "aria-label": label, width: size, height: size, viewBox: `0 0 ${width} ${width}`, shapeRendering: "crispEdges", children: [_jsx("rect", { width: width, height: width, fill: "#fff" }), _jsx("path", { d: path, fill: "#000" })] }));
19
- }
20
- //# sourceMappingURL=QrCode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QrCode.js","sourceRoot":"","sources":["../../src/react/QrCode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAQ7B,qDAAqD;AACrD,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAe;IAC9D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACtB,IAAI,IAAI,EAAE,CAAC;oBACT,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,eACE,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,KAAK,gBACE,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,EAAE,EAChC,cAAc,EAAC,YAAY,aAE3B,eAAM,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,GAAG,EACjD,eAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,GAAG,IACzB,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- /** Base theme; customize CSS properties on `.pp-root` in your stylesheet. */
2
- export interface Appearance {
3
- theme?: "light" | "dark";
4
- }
5
- //# sourceMappingURL=appearance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appearance.d.ts","sourceRoot":"","sources":["../../src/react/appearance.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=appearance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appearance.js","sourceRoot":"","sources":["../../src/react/appearance.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- /** Generated from @web3icons/core@4.0.57 by scripts/generate-icons.mjs.
2
- * SPDX-License-Identifier: MIT; Copyright (c) 2024 0xa3k5.
3
- * See THIRD_PARTY_NOTICES for the full license. Do not edit.
4
- */
5
- export declare const ICON_PATHS: {
6
- usdc: import("react").JSX.Element;
7
- usdt: import("react").JSX.Element;
8
- pha: import("react").JSX.Element;
9
- eth: import("react").JSX.Element;
10
- ethereum: import("react").JSX.Element;
11
- base: import("react").JSX.Element;
12
- };
13
- //# sourceMappingURL=icon-paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-paths.d.ts","sourceRoot":"","sources":["../../src/react/icon-paths.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /** Generated from @web3icons/core@4.0.57 by scripts/generate-icons.mjs.
3
- * SPDX-License-Identifier: MIT; Copyright (c) 2024 0xa3k5.
4
- * See THIRD_PARTY_NOTICES for the full license. Do not edit.
5
- */
6
- export const ICON_PATHS = {
7
- usdc: _jsxs(_Fragment, { children: [_jsx("path", { fill: "#0B53BF", d: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18" }), _jsx("path", { fill: "#fff", d: "M13.62 5.45v1.159a5.64 5.64 0 0 1 4.005 5.394 5.64 5.64 0 0 1-4.005 5.394v1.16a6.74 6.74 0 0 0 5.13-6.554 6.74 6.74 0 0 0-5.13-6.553m-7.245 6.553a5.64 5.64 0 0 1 4.005-5.394V5.45a6.74 6.74 0 0 0-5.13 6.553 6.74 6.74 0 0 0 5.13 6.553v-1.159a5.63 5.63 0 0 1-4.005-5.394" }), _jsx("path", { fill: "#fff", d: "M14.419 13.258c0-2.301-3.606-1.356-3.606-2.627 0-.456.366-.748 1.063-.748.833 0 1.12.405 1.21.95h1.147c-.102-1.024-.69-1.67-1.67-1.863v-.904h-1.125v.872c-1.075.137-1.75.762-1.75 1.693 0 2.312 3.611 1.445 3.611 2.694 0 .472-.455.787-1.226.787-1.007 0-1.339-.444-1.462-1.057H9.49c.073 1.122.764 1.823 1.947 1.999v.886h1.125v-.875c1.153-.149 1.856-.82 1.856-1.807" })] }),
8
- usdt: _jsx(_Fragment, { children: _jsx("path", { fill: "#009393", d: "m12 19.2-9-8.88L6.433 4.8h11.134L21 10.32zm.9-8.1v-1.098c1.62.08 3.132.396 3.6.805-.544.477-2.493.824-4.5.824s-3.956-.347-4.5-.824c.463-.41 1.98-.72 3.6-.81V11.1zm-5.4-.297v.661c.463.41 1.975.72 3.6.81V14.7h1.8v-2.43c1.62-.081 3.136-.396 3.6-.806v-1.318c-.464-.41-1.98-.725-3.6-.81V8.4h2.7V7.05H8.4V8.4h2.7v.936c-1.625.085-3.137.4-3.6.81z" }) }),
9
- pha: _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#252525" }), _jsx("path", { fill: "#D1FF52", fillRule: "evenodd", d: "M3 3h14.143v3.857H21V12h-3.857V6.857H6.857V12H3zm3.857 12.857h10.286V12H6.857zm0 0V21H3v-5.143z", clipRule: "evenodd" })] }),
10
- eth: _jsxs(_Fragment, { children: [_jsx("path", { fill: "#8FFCF3", d: "M12 3v6.65l5.625 2.516z" }), _jsx("path", { fill: "#CABCF8", d: "m12 3-5.625 9.166L12 9.651z" }), _jsx("path", { fill: "#CBA7F5", d: "M12 16.477v4.522l5.625-7.784z" }), _jsx("path", { fill: "#74A0F3", d: "M12 21v-4.523l-5.625-3.262z" }), _jsx("path", { fill: "#CBA7F5", d: "m12 15.43 5.625-3.263L12 9.65z" }), _jsx("path", { fill: "#74A0F3", d: "M6.375 12.167 12 15.429V9.651z" }), _jsx("path", { fill: "#202699", fillRule: "evenodd", d: "m12 15.429-5.625-3.263L12 3l5.625 9.166zM6.749 11.9l5.16-8.41v6.115zm-.077.23 5.238-2.327v5.364zm5.418-2.327v5.364l5.233-3.038zm0-.198 5.16 2.295-5.16-8.41z", clipRule: "evenodd" }), _jsx("path", { fill: "#202699", fillRule: "evenodd", d: "M12 16.406 6.375 13.21 12 21l5.625-7.79zm-4.995-2.633 4.905 2.79v4.005zm5.085 2.79v4.005l4.905-6.795z", clipRule: "evenodd" })] }),
11
- ethereum: _jsxs(_Fragment, { children: [_jsx("path", { fill: "#8FFCF3", d: "M12 3v6.651l5.625 2.516z" }), _jsx("path", { fill: "#CABCF8", d: "m12 3-5.625 9.166L12 9.653z" }), _jsx("path", { fill: "#CBA7F5", d: "M12 16.478V21l5.625-7.784z" }), _jsx("path", { fill: "#74A0F3", d: "M12 21v-4.522l-5.625-3.262z" }), _jsx("path", { fill: "#CBA7F5", d: "m12 15.43 5.625-3.263L12 9.652z" }), _jsx("path", { fill: "#74A0F3", d: "M6.375 12.167 12 15.43V9.652z" }), _jsx("path", { fill: "#202699", fillRule: "evenodd", d: "m12 15.43-5.625-3.263L12 3l5.624 9.166zm-5.252-3.528 5.161-8.41v6.114zm-.077.229 5.238-2.327v5.364zm5.418-2.327v5.364l5.234-3.037zm0-.198 5.161 2.296-5.161-8.41z", clipRule: "evenodd" }), _jsx("path", { fill: "#202699", fillRule: "evenodd", d: "m12 16.406-5.625-3.195L12 21l5.624-7.79zm-4.995-2.633 4.904 2.79v4.005zm5.084 2.79v4.005l4.905-6.795z", clipRule: "evenodd" })] }),
12
- base: _jsx(_Fragment, { children: _jsx("path", { fill: "#00F", d: "M3 4.706c0-.585 0-.877.11-1.101.106-.215.28-.39.496-.495C3.83 3 4.122 3 4.706 3h14.588c.585 0 .876 0 1.101.11.215.105.389.28.494.495.111.225.111.517.111 1.101v14.588c0 .585 0 .876-.11 1.101-.106.215-.28.389-.495.494-.225.111-.517.111-1.101.111H4.706c-.585 0-.876 0-1.101-.11a1.08 1.08 0 0 1-.494-.495C3 20.17 3 19.878 3 19.294z" }) }),
13
- };
14
- //# sourceMappingURL=icon-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-paths.js","sourceRoot":"","sources":["../../src/react/icon-paths.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,8BAAE,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,sCAAsC,GAAE,EAAA,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,6QAA6Q,GAAE,EAAA,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,0WAA0W,GAAE,IAAG;IAC7uB,IAAI,EAAE,4BAAE,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,oVAAoV,GAAE,GAAG;IACxX,GAAG,EAAE,8BAAE,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,iGAAiG,EAAC,QAAQ,EAAC,SAAS,GAAE,IAAG;IACzN,GAAG,EAAE,8BAAE,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,yBAAyB,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,6BAA6B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,+BAA+B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,6BAA6B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,gCAAgC,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,gCAAgC,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,8JAA8J,EAAC,QAAQ,EAAC,SAAS,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,uGAAuG,EAAC,QAAQ,EAAC,SAAS,GAAE,IAAG;IACrtB,QAAQ,EAAE,8BAAE,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,0BAA0B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,6BAA6B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,4BAA4B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,6BAA6B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,iCAAiC,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,+BAA+B,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,mKAAmK,EAAC,QAAQ,EAAC,SAAS,GAAE,EAAA,eAAM,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,uGAAuG,EAAC,QAAQ,EAAC,SAAS,GAAE,IAAG;IAC7tB,IAAI,EAAE,4BAAE,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,yUAAyU,GAAE,GAAG;CAC3W,CAAC"}