@directcryptopay/sdk 0.1.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 (141) hide show
  1. package/README.md +357 -0
  2. package/dist/ConstantsUtil-B-_-u8aQ.js +6 -0
  3. package/dist/add-KF4m4jFK.js +19 -0
  4. package/dist/all-wallets-D6NAjQgX.js +10 -0
  5. package/dist/app-store-D7TTn-EO.js +21 -0
  6. package/dist/apple-DjX2E2hE.js +22 -0
  7. package/dist/arrow-bottom-C0YrNJYB.js +12 -0
  8. package/dist/arrow-bottom-circle-Dlxvx_XG.js +15 -0
  9. package/dist/arrow-left-x8_-lUyK.js +12 -0
  10. package/dist/arrow-right-BTZybj80.js +12 -0
  11. package/dist/arrow-top-LzH7iLCp.js +12 -0
  12. package/dist/bank-23jp-IV_.js +18 -0
  13. package/dist/browser-EjoorDid.js +18 -0
  14. package/dist/card-DGgWwtwC.js +18 -0
  15. package/dist/ccip-BMANewTU.js +150 -0
  16. package/dist/checkmark-B1qcQhBo.js +15 -0
  17. package/dist/checkmark-bold-Cyc4IEEJ.js +12 -0
  18. package/dist/chevron-bottom-ClHs08rB.js +12 -0
  19. package/dist/chevron-left-O8h_551_.js +12 -0
  20. package/dist/chevron-right-DP3xpyIA.js +12 -0
  21. package/dist/chevron-top-CuwkBUs9.js +12 -0
  22. package/dist/chrome-store-zfT_aJ3R.js +65 -0
  23. package/dist/clock-DHZqivIS.js +12 -0
  24. package/dist/close-Cp9rNAw4.js +12 -0
  25. package/dist/coinPlaceholder-U7-T1KKQ.js +12 -0
  26. package/dist/compass-Ds5-PRSR.js +12 -0
  27. package/dist/copy-Jg4HdIMf.js +19 -0
  28. package/dist/core/api.d.ts +30 -0
  29. package/dist/core/config.d.ts +59 -0
  30. package/dist/core/logic.d.ts +2 -0
  31. package/dist/core/wallet.d.ts +34 -0
  32. package/dist/cursor-DmMevduB.js +7 -0
  33. package/dist/cursor-transparent-Dn9-1SV8.js +16 -0
  34. package/dist/dcp-sdk.umd.js +12000 -0
  35. package/dist/dcp.d.ts +10 -0
  36. package/dist/desktop-C4udXXlZ.js +13 -0
  37. package/dist/disconnect-wd1BYLxt.js +12 -0
  38. package/dist/discord-DthxuCAP.js +21 -0
  39. package/dist/email-B3jSnUFE.js +696 -0
  40. package/dist/embedded-wallet-CJHmoBI2.js +468 -0
  41. package/dist/etherscan-Cjp4xfMW.js +10 -0
  42. package/dist/exclamation-triangle-CRNR5WOy.js +8 -0
  43. package/dist/extension-Cydk0mZt.js +12 -0
  44. package/dist/external-link-CuPTAoq9.js +12 -0
  45. package/dist/facebook-CghqXmdf.js +30 -0
  46. package/dist/farcaster-BREqMX4y.js +16 -0
  47. package/dist/filters-Dn_Ys7ew.js +12 -0
  48. package/dist/github-C-A7JmIY.js +22 -0
  49. package/dist/google-CCdM_naE.js +22 -0
  50. package/dist/hashTypedData-D2Qmzscs.js +197 -0
  51. package/dist/help-circle-DIH4vyj3.js +16 -0
  52. package/dist/id-DkJ0gBuy.js +16 -0
  53. package/dist/if-defined-BciplFKz.js +744 -0
  54. package/dist/image-qMjyiXM0.js +8 -0
  55. package/dist/index--3Zp0jAb.js +45 -0
  56. package/dist/index-1adX-Fit.js +65 -0
  57. package/dist/index-AvC0IGDl.js +7864 -0
  58. package/dist/index-B2-vKLd8.js +276 -0
  59. package/dist/index-B2iDt0TJ.js +146 -0
  60. package/dist/index-B5zkXsLJ.js +320 -0
  61. package/dist/index-B7K86vWu.js +1742 -0
  62. package/dist/index-BBkcvSiY.js +511 -0
  63. package/dist/index-BdjxQs66.js +181 -0
  64. package/dist/index-Bijd4_Ns.js +294 -0
  65. package/dist/index-BpXOsxzU.js +387 -0
  66. package/dist/index-C1QEJL-2.js +572 -0
  67. package/dist/index-C27dwOyE.js +243 -0
  68. package/dist/index-C4BX3QW8.js +58 -0
  69. package/dist/index-CMPIqsB1.js +170 -0
  70. package/dist/index-CTYngdl0.js +21991 -0
  71. package/dist/index-CUdQyyFn.js +51 -0
  72. package/dist/index-CX60z_g2.js +573 -0
  73. package/dist/index-CppCc1n8.js +65 -0
  74. package/dist/index-CqVegmN4.js +559 -0
  75. package/dist/index-CuiyMA8F.js +78 -0
  76. package/dist/index-CwB_qRfM.js +305 -0
  77. package/dist/index-CxOF7GqE.js +265 -0
  78. package/dist/index-D-IzHD_8.js +54 -0
  79. package/dist/index-DRNiFv9I.js +218 -0
  80. package/dist/index-Da8oZh8H.js +838 -0
  81. package/dist/index-DiHImG4L.js +44236 -0
  82. package/dist/index-DmOMXRG1.js +181 -0
  83. package/dist/index-DoSYqTQg.js +199 -0
  84. package/dist/index-DpHXq5_E.js +603 -0
  85. package/dist/index-DtCsAVBg.js +78 -0
  86. package/dist/index-Ij6XA6_4.js +77 -0
  87. package/dist/index-SzyBYfzA.js +8490 -0
  88. package/dist/index-eW8y-mXH.js +257 -0
  89. package/dist/index-fxzIDZsb.js +75 -0
  90. package/dist/index-lbhz9evJ.js +97 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.js +4 -0
  93. package/dist/info-DMIGgjkL.js +7 -0
  94. package/dist/info-circle-CJuIKZSx.js +16 -0
  95. package/dist/lightbulb-qFT6WEWV.js +7 -0
  96. package/dist/localBatchGatewayRequest-CsMVMFBc.js +91 -0
  97. package/dist/mail-DoYgQvOt.js +12 -0
  98. package/dist/mobile-URtsh7o-.js +13 -0
  99. package/dist/more-DoQd10TF.js +15 -0
  100. package/dist/network-placeholder-BBA2Ue6C.js +18 -0
  101. package/dist/nftPlaceholder-C9RXWz9k.js +12 -0
  102. package/dist/off-YcuDQczT.js +12 -0
  103. package/dist/onramp-BfqDIx4o.js +1279 -0
  104. package/dist/parseSignature-280HB24T.js +3560 -0
  105. package/dist/play-store-sFaloG_r.js +36 -0
  106. package/dist/plus-l0wekSht.js +17 -0
  107. package/dist/qr-code-CihrUU4G.js +10 -0
  108. package/dist/receive-dfY1Cu-g.js +186 -0
  109. package/dist/recycle-horizontal-nXu6YaPw.js +13 -0
  110. package/dist/ref-huAzXCX0.js +41 -0
  111. package/dist/refresh-D2ZbVeNC.js +12 -0
  112. package/dist/reown-logo-BMaTMJmc.js +16 -0
  113. package/dist/search-YVM9q3J-.js +12 -0
  114. package/dist/secp256k1-BrysY3Sv.js +1302 -0
  115. package/dist/secp256k1-DPQgTBwQ.js +1510 -0
  116. package/dist/send-BwQZPKxI.js +19 -0
  117. package/dist/send-GyetMVu1.js +1038 -0
  118. package/dist/socials-B0W91J9k.js +574 -0
  119. package/dist/swapHorizontal-Dy_oQEkp.js +12 -0
  120. package/dist/swapHorizontalBold-C4JpaMpc.js +12 -0
  121. package/dist/swapHorizontalMedium-D5NuVZFh.js +20 -0
  122. package/dist/swapHorizontalRoundedBold-Bq4P2MCj.js +12 -0
  123. package/dist/swapVertical-CVQ8Mg03.js +12 -0
  124. package/dist/swaps-CA04SSdK.js +1637 -0
  125. package/dist/telegram-BP4SgW_L.js +20 -0
  126. package/dist/three-dots-BJYGJ-dQ.js +9 -0
  127. package/dist/transactions-Bq-98Tsg.js +37 -0
  128. package/dist/twitch-DTATWo9M.js +22 -0
  129. package/dist/twitterIcon-D5UWPInb.js +10 -0
  130. package/dist/types.d.ts +128 -0
  131. package/dist/ui/Modal.d.ts +9 -0
  132. package/dist/ui/index.d.ts +6 -0
  133. package/dist/verify-Byvj8Wi1.js +12 -0
  134. package/dist/verify-filled-B40taNm0.js +12 -0
  135. package/dist/w3m-modal-HV6SE74G.js +1037 -0
  136. package/dist/wallet-Cp-6Kk88.js +12 -0
  137. package/dist/wallet-placeholder-C3juwA9o.js +18 -0
  138. package/dist/walletconnect-CRkIiLCx.js +36 -0
  139. package/dist/warning-circle-DtvCLwG4.js +16 -0
  140. package/dist/x-Cqyx5eCt.js +16 -0
  141. package/package.json +70 -0
package/README.md ADDED
@@ -0,0 +1,357 @@
1
+ # @directcryptopay/sdk
2
+
3
+ Official TypeScript/JavaScript SDK for DirectCryptoPay. Create payment intents, verify webhooks, and manage crypto payments from Node.js, Edge Functions, or the browser.
4
+
5
+ ## Features
6
+
7
+ ✅ **TypeScript-first** - Full type safety with exported types
8
+ ✅ **Web Crypto API** - Works in Node.js, Edge (Vercel, Cloudflare), and browsers
9
+ ✅ **Webhook verification** - HMAC-SHA256 signature validation
10
+ ✅ **Zero dependencies** - Lightweight, uses only platform APIs
11
+ ✅ **Idempotency support** - Prevent duplicate requests
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @directcryptopay/sdk
17
+ # or
18
+ pnpm add @directcryptopay/sdk
19
+ # or
20
+ yarn add @directcryptopay/sdk
21
+ ```
22
+
23
+ ## Quick Start
24
+
25
+ ### Server-side: Create Payment Intent
26
+
27
+ ```typescript
28
+ import { DirectCryptoPay } from '@directcryptopay/sdk';
29
+
30
+ const dcp = new DirectCryptoPay({
31
+ baseURL: 'https://test-api.directcryptopay.com',
32
+ apiKey: process.env.DCP_API_KEY!,
33
+ });
34
+
35
+ const intent = await dcp.createPaymentIntent({
36
+ amount: 49.99,
37
+ currency: 'USD',
38
+ metadata: {
39
+ order_id: 'ORD-123',
40
+ customer_email: 'customer@example.com'
41
+ },
42
+ idempotencyKey: crypto.randomUUID(), // Recommended
43
+ });
44
+
45
+ console.log(intent.id); // pi_abc123...
46
+ console.log(intent.recipient); // 0x1234...
47
+ console.log(intent.amount_wei); // "50000000000000000"
48
+ ```
49
+
50
+ ### Server-side: Verify Webhook
51
+
52
+ ```typescript
53
+ import { verifyWebhookSignature } from '@directcryptopay/sdk';
54
+
55
+ export async function POST(req: Request) {
56
+ const rawBody = await req.text();
57
+ const signature = req.headers.get('x-dcp-signature') ?? '';
58
+
59
+ const isValid = await verifyWebhookSignature({
60
+ rawBody,
61
+ signatureHeader: signature,
62
+ secret: process.env.DCP_WEBHOOK_SECRET!,
63
+ });
64
+
65
+ if (!isValid) {
66
+ return new Response('Invalid signature', { status: 400 });
67
+ }
68
+
69
+ const event = JSON.parse(rawBody);
70
+
71
+ if (event.event === 'payment.succeeded') {
72
+ // Handle payment success
73
+ console.log('Payment confirmed:', event.data.id);
74
+ }
75
+
76
+ return new Response('OK', { status: 200 });
77
+ }
78
+ ```
79
+
80
+ ## API Reference
81
+
82
+ ### `DirectCryptoPay`
83
+
84
+ Main SDK class for interacting with DirectCryptoPay API.
85
+
86
+ #### Constructor
87
+
88
+ ```typescript
89
+ const dcp = new DirectCryptoPay({
90
+ baseURL: string; // e.g., 'https://api.directcryptopay.com'
91
+ apiKey: string; // Your server-side API key
92
+ fetch?: typeof fetch; // Optional: custom fetch (for testing)
93
+ });
94
+ ```
95
+
96
+ #### Methods
97
+
98
+ ##### `createPaymentIntent(input)`
99
+
100
+ Create a new payment intent.
101
+
102
+ ```typescript
103
+ const intent = await dcp.createPaymentIntent({
104
+ amount: 49.99,
105
+ currency: 'USD',
106
+ metadata?: { order_id: 'ORD-123' },
107
+ expiry_seconds?: 900, // Default: 900 (15 min)
108
+ idempotencyKey?: string, // Recommended
109
+ });
110
+ ```
111
+
112
+ **Returns:** `Promise<Intent>`
113
+
114
+ ##### `declareTx(input)`
115
+
116
+ Declare a blockchain transaction for a payment intent.
117
+
118
+ ```typescript
119
+ await dcp.declareTx({
120
+ intentId: 'pi_abc123',
121
+ txHash: '0x1234...',
122
+ idempotencyKey?: string,
123
+ });
124
+ ```
125
+
126
+ **Returns:** `Promise<{ accepted: true }>`
127
+
128
+ ##### `getIntentStatus(intentId)`
129
+
130
+ Get current status of a payment intent.
131
+
132
+ ```typescript
133
+ const intent = await dcp.getIntentStatus('pi_abc123');
134
+ console.log(intent.status); // 'created' | 'pending' | 'paid' | 'failed' | 'expired'
135
+ ```
136
+
137
+ **Returns:** `Promise<Intent>`
138
+
139
+ ##### `waitForConfirmation(intentId, options?)`
140
+
141
+ Poll for payment confirmation with automatic retry.
142
+
143
+ ```typescript
144
+ const confirmedIntent = await dcp.waitForConfirmation('pi_abc123', {
145
+ intervalMs: 2000, // Poll every 2 seconds
146
+ maxAttempts: 60, // Max 60 attempts (2 min total)
147
+ onTick: (attempt, status) => {
148
+ console.log(`Attempt ${attempt}: ${status}`);
149
+ },
150
+ });
151
+
152
+ console.log('Payment confirmed:', confirmedIntent.tx_hash);
153
+ ```
154
+
155
+ **Returns:** `Promise<Intent>` (with `status: 'paid'`)
156
+ **Throws:** If payment fails, expires, or times out
157
+
158
+ ##### `listPaymentIntents(options?)`
159
+
160
+ List payment intents with pagination.
161
+
162
+ ```typescript
163
+ const { data, hasMore, nextCursor } = await dcp.listPaymentIntents({
164
+ limit: 20,
165
+ cursor: 'cursor_abc',
166
+ status: 'paid',
167
+ });
168
+ ```
169
+
170
+ **Returns:** `Promise<{ data: Intent[], hasMore: boolean, nextCursor?: string }>`
171
+
172
+ ### `verifyWebhookSignature(options)`
173
+
174
+ Verify HMAC-SHA256 webhook signature (timing-safe).
175
+
176
+ ```typescript
177
+ const isValid = await verifyWebhookSignature({
178
+ rawBody: string, // Request body as string (exact as received)
179
+ signatureHeader: string, // 'X-DCP-Signature' header value
180
+ secret: string, // Your webhook secret
181
+ toleranceSec?: number, // Default: 300 (5 minutes)
182
+ });
183
+ ```
184
+
185
+ **Returns:** `Promise<boolean>`
186
+
187
+ ## Types
188
+
189
+ All types are exported:
190
+
191
+ ```typescript
192
+ import type {
193
+ Intent,
194
+ PaymentStatus,
195
+ CreateIntentInput,
196
+ DeclareTxInput,
197
+ SdkConfig,
198
+ ChainId,
199
+ } from '@directcryptopay/sdk';
200
+ ```
201
+
202
+ ### `Intent`
203
+
204
+ ```typescript
205
+ interface Intent {
206
+ id: string;
207
+ chain_id: ChainId;
208
+ recipient: `0x${string}`;
209
+ amount_wei: string;
210
+ currency: string;
211
+ amount: number;
212
+ expires_at: string;
213
+ status: PaymentStatus;
214
+ signature: string;
215
+ asset_type: 'native' | 'erc20';
216
+ token_address?: `0x${string}`;
217
+ tx_hash?: `0x${string}`;
218
+ confirmed_at?: string;
219
+ }
220
+ ```
221
+
222
+ ### `PaymentStatus`
223
+
224
+ ```typescript
225
+ type PaymentStatus = 'created' | 'pending' | 'paid' | 'failed' | 'expired' | 'late_confirmed';
226
+ ```
227
+
228
+ ## Usage Examples
229
+
230
+ ### Next.js API Route (App Router)
231
+
232
+ ```typescript
233
+ // app/api/dcp/create-intent/route.ts
234
+ import { DirectCryptoPay } from '@directcryptopay/sdk';
235
+
236
+ const dcp = new DirectCryptoPay({
237
+ baseURL: process.env.DCP_API_BASE!,
238
+ apiKey: process.env.DCP_API_KEY!,
239
+ });
240
+
241
+ export async function POST(req: Request) {
242
+ const { amount, currency } = await req.json();
243
+
244
+ const intent = await dcp.createPaymentIntent({
245
+ amount,
246
+ currency,
247
+ idempotencyKey: crypto.randomUUID(),
248
+ });
249
+
250
+ return Response.json(intent);
251
+ }
252
+ ```
253
+
254
+ ### Next.js Webhook Handler
255
+
256
+ ```typescript
257
+ // app/api/dcp/webhook/route.ts
258
+ import { verifyWebhookSignature } from '@directcryptopay/sdk';
259
+
260
+ export async function POST(req: Request) {
261
+ const rawBody = await req.text();
262
+ const signature = req.headers.get('x-dcp-signature') ?? '';
263
+
264
+ const isValid = await verifyWebhookSignature({
265
+ rawBody,
266
+ signatureHeader: signature,
267
+ secret: process.env.DCP_WEBHOOK_SECRET!,
268
+ });
269
+
270
+ if (!isValid) {
271
+ return new Response('Invalid signature', { status: 400 });
272
+ }
273
+
274
+ const event = JSON.parse(rawBody);
275
+
276
+ switch (event.event) {
277
+ case 'payment.succeeded':
278
+ // Handle success
279
+ break;
280
+ case 'payment.failed':
281
+ // Handle failure
282
+ break;
283
+ }
284
+
285
+ return new Response('OK');
286
+ }
287
+ ```
288
+
289
+ ### Cloudflare Workers / Edge
290
+
291
+ ```typescript
292
+ export default {
293
+ async fetch(req: Request, env: Env) {
294
+ const dcp = new DirectCryptoPay({
295
+ baseURL: 'https://api.directcryptopay.com',
296
+ apiKey: env.DCP_API_KEY,
297
+ });
298
+
299
+ const intent = await dcp.createPaymentIntent({
300
+ amount: 99.99,
301
+ currency: 'USD',
302
+ });
303
+
304
+ return new Response(JSON.stringify(intent), {
305
+ headers: { 'Content-Type': 'application/json' },
306
+ });
307
+ },
308
+ };
309
+ ```
310
+
311
+ ## Security Best Practices
312
+
313
+ ### ✅ DO:
314
+
315
+ 1. **Always verify webhook signatures** using `verifyWebhookSignature`
316
+ 2. **Use environment variables** for API keys and secrets
317
+ 3. **Use HTTPS in production**
318
+ 4. **Use idempotency keys** to prevent duplicate payments
319
+ 5. **Validate payment amounts** server-side before fulfillment
320
+
321
+ ### ❌ DON'T:
322
+
323
+ 1. **Never expose API keys** to the client (browser)
324
+ 2. **Never trust client-side payment amounts**
325
+ 3. **Never skip signature verification** on webhooks
326
+ 4. **Never hardcode secrets** in source code
327
+
328
+ ## Testing
329
+
330
+ The SDK uses Web Crypto API which works in:
331
+
332
+ - Node.js 16+ (with `globalThis.crypto`)
333
+ - Deno
334
+ - Cloudflare Workers
335
+ - Vercel Edge Functions
336
+ - Modern browsers
337
+
338
+ ### Test Networks
339
+
340
+ - **Sepolia** (Ethereum) - chainId: 11155111
341
+ - **Polygon Amoy** - chainId: 80002
342
+ - **BSC Testnet** - chainId: 97
343
+
344
+ ### Get Test Tokens
345
+
346
+ - Sepolia ETH: https://sepoliafaucet.com
347
+ - Sepolia USDC: https://faucet.circle.com
348
+
349
+ ## Support
350
+
351
+ - **Documentation:** https://docs.directcryptopay.com
352
+ - **API Reference:** https://api.directcryptopay.com/docs
353
+ - **Dashboard:** https://app.directcryptopay.com
354
+
355
+ ## License
356
+
357
+ MIT
@@ -0,0 +1,6 @@
1
+ const s = /[.*+?^${}()|[\]\\]/gu, e = /[0-9,.]/u, t = "https://reown.com";
2
+ export {
3
+ t as R,
4
+ e as n,
5
+ s
6
+ };
@@ -0,0 +1,19 @@
1
+ import { cy as l } from "./index-DiHImG4L.js";
2
+ const o = l`<svg
3
+ width="14"
4
+ height="14"
5
+ viewBox="0 0 14 14"
6
+ fill="none"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ >
9
+ <path
10
+ fill="currentColor"
11
+ fill-rule="evenodd"
12
+ clip-rule="evenodd"
13
+ d="M7.0023 0.875C7.48571 0.875 7.8776 1.26675 7.8776 1.75V6.125H12.2541C12.7375 6.125 13.1294 6.51675 13.1294 7C13.1294 7.48325 12.7375 7.875 12.2541 7.875H7.8776V12.25C7.8776 12.7332 7.48571 13.125 7.0023 13.125C6.51889 13.125 6.12701 12.7332 6.12701 12.25V7.875H1.75054C1.26713 7.875 0.875244 7.48325 0.875244 7C0.875244 6.51675 1.26713 6.125 1.75054 6.125H6.12701V1.75C6.12701 1.26675 6.51889 0.875 7.0023 0.875Z"
14
+ fill="#667dff"
15
+ /></svg
16
+ >`;
17
+ export {
18
+ o as addSvg
19
+ };
@@ -0,0 +1,10 @@
1
+ import { cy as a } from "./index-DiHImG4L.js";
2
+ const o = a`<svg fill="none" viewBox="0 0 24 24">
3
+ <path
4
+ style="fill: var(--wui-color-accent-100);"
5
+ d="M10.2 6.6a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM21 6.6a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM10.2 17.4a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM21 17.4a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0Z"
6
+ />
7
+ </svg>`;
8
+ export {
9
+ o as allWalletsSvg
10
+ };
@@ -0,0 +1,21 @@
1
+ import { cy as a } from "./index-DiHImG4L.js";
2
+ const e = a`
3
+ <svg width="36" height="36">
4
+ <path
5
+ d="M28.724 0H7.271A7.269 7.269 0 0 0 0 7.272v21.46A7.268 7.268 0 0 0 7.271 36H28.73A7.272 7.272 0 0 0 36 28.728V7.272A7.275 7.275 0 0 0 28.724 0Z"
6
+ fill="url(#a)"
7
+ />
8
+ <path
9
+ d="m17.845 8.271.729-1.26a1.64 1.64 0 1 1 2.843 1.638l-7.023 12.159h5.08c1.646 0 2.569 1.935 1.853 3.276H6.434a1.632 1.632 0 0 1-1.638-1.638c0-.909.73-1.638 1.638-1.638h4.176l5.345-9.265-1.67-2.898a1.642 1.642 0 0 1 2.844-1.638l.716 1.264Zm-6.317 17.5-1.575 2.732a1.64 1.64 0 1 1-2.844-1.638l1.17-2.025c1.323-.41 2.398-.095 3.249.931Zm13.56-4.954h4.262c.909 0 1.638.729 1.638 1.638 0 .909-.73 1.638-1.638 1.638h-2.367l1.597 2.772c.45.788.185 1.782-.602 2.241a1.642 1.642 0 0 1-2.241-.603c-2.69-4.666-4.711-8.159-6.052-10.485-1.372-2.367-.391-4.743.576-5.549 1.075 1.846 2.682 4.631 4.828 8.348Z"
10
+ fill="#fff"
11
+ />
12
+ <defs>
13
+ <linearGradient id="a" x1="18" y1="0" x2="18" y2="36" gradientUnits="userSpaceOnUse">
14
+ <stop stop-color="#18BFFB" />
15
+ <stop offset="1" stop-color="#2072F3" />
16
+ </linearGradient>
17
+ </defs>
18
+ </svg>`;
19
+ export {
20
+ e as appStoreSvg
21
+ };
@@ -0,0 +1,22 @@
1
+ import { cy as l } from "./index-DiHImG4L.js";
2
+ const f = l`<svg fill="none" viewBox="0 0 40 40">
3
+ <g clip-path="url(#a)">
4
+ <g clip-path="url(#b)">
5
+ <circle cx="20" cy="19.89" r="20" fill="#000" />
6
+ <g clip-path="url(#c)">
7
+ <path
8
+ fill="#fff"
9
+ d="M28.77 23.3c-.69 1.99-2.75 5.52-4.87 5.56-1.4.03-1.86-.84-3.46-.84-1.61 0-2.12.81-3.45.86-2.25.1-5.72-5.1-5.72-9.62 0-4.15 2.9-6.2 5.42-6.25 1.36-.02 2.64.92 3.47.92.83 0 2.38-1.13 4.02-.97.68.03 2.6.28 3.84 2.08-3.27 2.14-2.76 6.61.75 8.25ZM24.2 7.88c-2.47.1-4.49 2.69-4.2 4.84 2.28.17 4.47-2.39 4.2-4.84Z"
10
+ />
11
+ </g>
12
+ </g>
13
+ </g>
14
+ <defs>
15
+ <clipPath id="a"><rect width="40" height="40" fill="#fff" rx="20" /></clipPath>
16
+ <clipPath id="b"><path fill="#fff" d="M0 0h40v40H0z" /></clipPath>
17
+ <clipPath id="c"><path fill="#fff" d="M8 7.89h24v24H8z" /></clipPath>
18
+ </defs>
19
+ </svg>`;
20
+ export {
21
+ f as appleSvg
22
+ };
@@ -0,0 +1,12 @@
1
+ import { cy as o } from "./index-DiHImG4L.js";
2
+ const e = o`<svg fill="none" viewBox="0 0 14 15">
3
+ <path
4
+ fill="currentColor"
5
+ fill-rule="evenodd"
6
+ d="M7 1.99a1 1 0 0 1 1 1v7.58l2.46-2.46a1 1 0 0 1 1.41 1.42L7.7 13.69a1 1 0 0 1-1.41 0L2.12 9.53A1 1 0 0 1 3.54 8.1L6 10.57V3a1 1 0 0 1 1-1Z"
7
+ clip-rule="evenodd"
8
+ />
9
+ </svg>`;
10
+ export {
11
+ e as arrowBottomSvg
12
+ };
@@ -0,0 +1,15 @@
1
+ import { cy as C } from "./index-DiHImG4L.js";
2
+ const e = C`<svg
3
+ fill="none"
4
+ viewBox="0 0 21 20"
5
+ >
6
+ <path
7
+ fill="currentColor"
8
+ fill-rule="evenodd"
9
+ d="M10.5 2.42908C6.31875 2.42908 2.92859 5.81989 2.92859 10.0034C2.92859 14.1869 6.31875 17.5777 10.5 17.5777C14.6813 17.5777 18.0714 14.1869 18.0714 10.0034C18.0714 5.81989 14.6813 2.42908 10.5 2.42908ZM0.928589 10.0034C0.928589 4.71596 5.21355 0.429077 10.5 0.429077C15.7865 0.429077 20.0714 4.71596 20.0714 10.0034C20.0714 15.2908 15.7865 19.5777 10.5 19.5777C5.21355 19.5777 0.928589 15.2908 0.928589 10.0034ZM10.5 5.75003C11.0523 5.75003 11.5 6.19774 11.5 6.75003L11.5 10.8343L12.7929 9.54137C13.1834 9.15085 13.8166 9.15085 14.2071 9.54137C14.5976 9.9319 14.5976 10.5651 14.2071 10.9556L11.2071 13.9556C10.8166 14.3461 10.1834 14.3461 9.79291 13.9556L6.79291 10.9556C6.40239 10.5651 6.40239 9.9319 6.79291 9.54137C7.18343 9.15085 7.8166 9.15085 8.20712 9.54137L9.50002 10.8343L9.50002 6.75003C9.50002 6.19774 9.94773 5.75003 10.5 5.75003Z"
10
+ clip-rule="evenodd"
11
+ /></svg
12
+ >`;
13
+ export {
14
+ e as arrowBottomCircleSvg
15
+ };
@@ -0,0 +1,12 @@
1
+ import { cy as e } from "./index-DiHImG4L.js";
2
+ const o = e`<svg fill="none" viewBox="0 0 14 15">
3
+ <path
4
+ fill="currentColor"
5
+ fill-rule="evenodd"
6
+ d="M13 7.99a1 1 0 0 1-1 1H4.4l2.46 2.46a1 1 0 1 1-1.41 1.41L1.29 8.7a1 1 0 0 1 0-1.41L5.46 3.1a1 1 0 0 1 1.41 1.42L4.41 6.99H12a1 1 0 0 1 1 1Z"
7
+ clip-rule="evenodd"
8
+ />
9
+ </svg>`;
10
+ export {
11
+ o as arrowLeftSvg
12
+ };
@@ -0,0 +1,12 @@
1
+ import { cy as l } from "./index-DiHImG4L.js";
2
+ const e = l`<svg fill="none" viewBox="0 0 14 15">
3
+ <path
4
+ fill="currentColor"
5
+ fill-rule="evenodd"
6
+ d="M1 7.99a1 1 0 0 1 1-1h7.58L7.12 4.53A1 1 0 1 1 8.54 3.1l4.16 4.17a1 1 0 0 1 0 1.41l-4.16 4.17a1 1 0 1 1-1.42-1.41l2.46-2.46H2a1 1 0 0 1-1-1Z"
7
+ clip-rule="evenodd"
8
+ />
9
+ </svg>`;
10
+ export {
11
+ e as arrowRightSvg
12
+ };
@@ -0,0 +1,12 @@
1
+ import { cy as o } from "./index-DiHImG4L.js";
2
+ const e = o`<svg fill="none" viewBox="0 0 14 15">
3
+ <path
4
+ fill="currentColor"
5
+ fill-rule="evenodd"
6
+ d="M7 13.99a1 1 0 0 1-1-1V5.4L3.54 7.86a1 1 0 0 1-1.42-1.41L6.3 2.28a1 1 0 0 1 1.41 0l4.17 4.17a1 1 0 1 1-1.41 1.41L8 5.4v7.59a1 1 0 0 1-1 1Z"
7
+ clip-rule="evenodd"
8
+ />
9
+ </svg>`;
10
+ export {
11
+ e as arrowTopSvg
12
+ };
@@ -0,0 +1,18 @@
1
+ import { cy as e } from "./index-DiHImG4L.js";
2
+ const o = e`<svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ width="12"
5
+ height="13"
6
+ viewBox="0 0 12 13"
7
+ fill="none"
8
+ >
9
+ <path
10
+ fill-rule="evenodd"
11
+ clip-rule="evenodd"
12
+ d="M5.61391 1.57124C5.85142 1.42873 6.14813 1.42873 6.38564 1.57124L11.0793 4.38749C11.9179 4.89067 11.5612 6.17864 10.5832 6.17864H9.96398V10.0358H10.2854C10.6996 10.0358 11.0354 10.3716 11.0354 10.7858C11.0354 11.2 10.6996 11.5358 10.2854 11.5358H1.71416C1.29995 11.5358 0.964172 11.2 0.964172 10.7858C0.964172 10.3716 1.29995 10.0358 1.71416 10.0358H2.03558L2.03558 6.17864H1.41637C0.438389 6.17864 0.0816547 4.89066 0.920263 4.38749L5.61391 1.57124ZM3.53554 6.17864V10.0358H5.24979V6.17864H3.53554ZM6.74976 6.17864V10.0358H8.46401V6.17864H6.74976ZM8.64913 4.67864H3.35043L5.99978 3.089L8.64913 4.67864Z"
13
+ fill="currentColor"
14
+ /></svg
15
+ >`;
16
+ export {
17
+ o as bankSvg
18
+ };
@@ -0,0 +1,18 @@
1
+ import { cy as l } from "./index-DiHImG4L.js";
2
+ const a = l`<svg fill="none" viewBox="0 0 20 20">
3
+ <path
4
+ fill="currentColor"
5
+ fill-rule="evenodd"
6
+ d="M4 6.4a1 1 0 0 1-.46.89 6.98 6.98 0 0 0 .38 6.18A7 7 0 0 0 16.46 7.3a1 1 0 0 1-.47-.92 7 7 0 0 0-12 .03Zm-2.02-.5a9 9 0 1 1 16.03 8.2A9 9 0 0 1 1.98 5.9Z"
7
+ clip-rule="evenodd"
8
+ />
9
+ <path
10
+ fill="currentColor"
11
+ fill-rule="evenodd"
12
+ d="M6.03 8.63c-1.46-.3-2.72-.75-3.6-1.35l-.02-.01-.14-.11a1 1 0 0 1 1.2-1.6l.1.08c.6.4 1.52.74 2.69 1 .16-.99.39-1.88.67-2.65.3-.79.68-1.5 1.15-2.02A2.58 2.58 0 0 1 9.99 1c.8 0 1.45.44 1.92.97.47.52.84 1.23 1.14 2.02.29.77.52 1.66.68 2.64a8 8 0 0 0 2.7-1l.26-.18h.48a1 1 0 0 1 .12 2c-.86.51-2.01.91-3.34 1.18a22.24 22.24 0 0 1-.03 3.19c1.45.29 2.7.73 3.58 1.31a1 1 0 0 1-1.1 1.68c-.6-.4-1.56-.76-2.75-1-.15.8-.36 1.55-.6 2.2-.3.79-.67 1.5-1.14 2.02-.47.53-1.12.97-1.92.97-.8 0-1.45-.44-1.91-.97a6.51 6.51 0 0 1-1.15-2.02c-.24-.65-.44-1.4-.6-2.2-1.18.24-2.13.6-2.73.99a1 1 0 1 1-1.1-1.67c.88-.58 2.12-1.03 3.57-1.31a22.03 22.03 0 0 1-.04-3.2Zm2.2-1.7c.15-.86.34-1.61.58-2.24.24-.65.51-1.12.76-1.4.25-.28.4-.29.42-.29.03 0 .17.01.42.3.25.27.52.74.77 1.4.23.62.43 1.37.57 2.22a19.96 19.96 0 0 1-3.52 0Zm-.18 4.6a20.1 20.1 0 0 1-.03-2.62 21.95 21.95 0 0 0 3.94 0 20.4 20.4 0 0 1-.03 2.63 21.97 21.97 0 0 0-3.88 0Zm.27 2c.13.66.3 1.26.49 1.78.24.65.51 1.12.76 1.4.25.28.4.29.42.29.03 0 .17-.01.42-.3.25-.27.52-.74.77-1.4.19-.5.36-1.1.49-1.78a20.03 20.03 0 0 0-3.35 0Z"
13
+ clip-rule="evenodd"
14
+ />
15
+ </svg>`;
16
+ export {
17
+ a as browserSvg
18
+ };
@@ -0,0 +1,18 @@
1
+ import { cy as C } from "./index-DiHImG4L.js";
2
+ const l = C`<svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ width="12"
5
+ height="13"
6
+ viewBox="0 0 12 13"
7
+ fill="none"
8
+ >
9
+ <path
10
+ fill-rule="evenodd"
11
+ clip-rule="evenodd"
12
+ d="M4.16072 2C4.17367 2 4.18665 2 4.19968 2L7.83857 2C8.36772 1.99998 8.82398 1.99996 9.19518 2.04018C9.5895 2.0829 9.97577 2.17811 10.3221 2.42971C10.5131 2.56849 10.6811 2.73647 10.8198 2.92749C11.0714 3.27379 11.1666 3.66007 11.2094 4.0544C11.2496 4.42561 11.2496 4.88188 11.2495 5.41105V7.58896C11.2496 8.11812 11.2496 8.57439 11.2094 8.94561C11.1666 9.33994 11.0714 9.72621 10.8198 10.0725C10.6811 10.2635 10.5131 10.4315 10.3221 10.5703C9.97577 10.8219 9.5895 10.9171 9.19518 10.9598C8.82398 11 8.36772 11 7.83856 11H4.16073C3.63157 11 3.17531 11 2.80411 10.9598C2.40979 10.9171 2.02352 10.8219 1.67722 10.5703C1.48621 10.4315 1.31824 10.2635 1.17946 10.0725C0.927858 9.72621 0.832652 9.33994 0.78993 8.94561C0.749713 8.5744 0.749733 8.11813 0.749757 7.58896L0.749758 5.45C0.749758 5.43697 0.749758 5.42399 0.749757 5.41104C0.749733 4.88188 0.749713 4.42561 0.78993 4.0544C0.832652 3.66007 0.927858 3.27379 1.17946 2.92749C1.31824 2.73647 1.48621 2.56849 1.67722 2.42971C2.02352 2.17811 2.40979 2.0829 2.80411 2.04018C3.17531 1.99996 3.63157 1.99998 4.16072 2ZM2.96567 3.53145C2.69897 3.56034 2.60687 3.60837 2.55888 3.64324C2.49521 3.6895 2.43922 3.74549 2.39296 3.80916C2.35809 3.85715 2.31007 3.94926 2.28117 4.21597C2.26629 4.35335 2.25844 4.51311 2.25431 4.70832H9.74498C9.74085 4.51311 9.733 4.35335 9.71812 4.21597C9.68922 3.94926 9.6412 3.85715 9.60633 3.80916C9.56007 3.74549 9.50408 3.6895 9.44041 3.64324C9.39242 3.60837 9.30031 3.56034 9.03362 3.53145C8.75288 3.50103 8.37876 3.5 7.79961 3.5H4.19968C3.62053 3.5 3.24641 3.50103 2.96567 3.53145ZM9.74956 6.20832H2.24973V7.55C2.24973 8.12917 2.25076 8.5033 2.28117 8.78404C2.31007 9.05074 2.35809 9.14285 2.39296 9.19084C2.43922 9.25451 2.49521 9.31051 2.55888 9.35677C2.60687 9.39163 2.69897 9.43966 2.96567 9.46856C3.24641 9.49897 3.62053 9.5 4.19968 9.5H7.79961C8.37876 9.5 8.75288 9.49897 9.03362 9.46856C9.30032 9.43966 9.39242 9.39163 9.44041 9.35677C9.50408 9.31051 9.56007 9.25451 9.60633 9.19084C9.6412 9.14285 9.68922 9.05075 9.71812 8.78404C9.74854 8.5033 9.74956 8.12917 9.74956 7.55V6.20832ZM6.74963 8C6.74963 7.58579 7.08541 7.25 7.49961 7.25H8.2496C8.6638 7.25 8.99958 7.58579 8.99958 8C8.99958 8.41422 8.6638 8.75 8.2496 8.75H7.49961C7.08541 8.75 6.74963 8.41422 6.74963 8Z"
13
+ fill="currentColor"
14
+ /></svg
15
+ >`;
16
+ export {
17
+ l as cardSvg
18
+ };