@coinflowlabs/angular 1.3.2 → 1.5.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 (37) hide show
  1. package/README.md +8 -0
  2. package/fesm2022/coinflowlabs-angular.mjs +99 -59
  3. package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
  4. package/package.json +5 -5
  5. package/types/coinflowlabs-angular.d.ts +1529 -0
  6. package/index.d.ts +0 -5
  7. package/lib/card-form/CardFormService.d.ts +0 -14
  8. package/lib/card-form/coinflow-card-number-input.component.d.ts +0 -17
  9. package/lib/card-form/coinflow-card-number-only-input.component.d.ts +0 -17
  10. package/lib/card-form/coinflow-cvv-input.component.d.ts +0 -6
  11. package/lib/card-form/coinflow-cvv-only-input.component.d.ts +0 -19
  12. package/lib/coinflow-iframe.component.d.ts +0 -22
  13. package/lib/coinflow-purchase-history.component.d.ts +0 -5
  14. package/lib/coinflow-purchase-protection.component.d.ts +0 -5
  15. package/lib/coinflow-purchase.component.d.ts +0 -11
  16. package/lib/coinflow-withdraw-history.component.d.ts +0 -5
  17. package/lib/coinflow-withdraw.component.d.ts +0 -11
  18. package/lib/common/CoinflowLibMessageHandlers.d.ts +0 -35
  19. package/lib/common/CoinflowTypes.d.ts +0 -547
  20. package/lib/common/CoinflowUtils.d.ts +0 -24
  21. package/lib/common/EventBus.d.ts +0 -6
  22. package/lib/common/SolanaPeerDeps.d.ts +0 -5
  23. package/lib/common/card-form/TokenEx.d.ts +0 -171
  24. package/lib/common/card-form/tokenexHelpers.d.ts +0 -35
  25. package/lib/common/index.d.ts +0 -11
  26. package/lib/common/types/AnyObject.d.ts +0 -5
  27. package/lib/common/types/CartitemCommon.d.ts +0 -163
  28. package/lib/common/types/Subtotal.d.ts +0 -210
  29. package/lib/common/types/cryptoCartItem.d.ts +0 -63
  30. package/lib/common/types/giftCardCartItem.d.ts +0 -58
  31. package/lib/common/types/moneyTopUpCartItem.d.ts +0 -44
  32. package/lib/common/types/nftCartItem.d.ts +0 -108
  33. package/lib/mobile-wallet/coinflow-apple-pay-button.component.d.ts +0 -11
  34. package/lib/mobile-wallet/coinflow-google-pay-button.component.d.ts +0 -10
  35. package/lib/mobile-wallet/coinflow-mobile-wallet-button.component.d.ts +0 -22
  36. package/lib/mobile-wallet/google-pay-overlay.component.d.ts +0 -6
  37. package/public-api.d.ts +0 -16
@@ -0,0 +1,1529 @@
1
+ import { PublicKey, Transaction, VersionedTransaction, Signer, Connection } from '@solana/web3.js';
2
+ import { Properties } from 'csstype';
3
+ import * as i0 from '@angular/core';
4
+ import { EventEmitter, ElementRef, OnDestroy, SimpleChanges } from '@angular/core';
5
+ import { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
6
+
7
+ declare enum Currency {
8
+ USD = "USD",
9
+ AED = "AED",
10
+ AFN = "AFN",
11
+ ALL = "ALL",
12
+ AMD = "AMD",
13
+ ANG = "ANG",
14
+ AOA = "AOA",
15
+ ARS = "ARS",
16
+ AUD = "AUD",
17
+ AWG = "AWG",
18
+ AZN = "AZN",
19
+ BAM = "BAM",
20
+ BBD = "BBD",
21
+ BDT = "BDT",
22
+ BGN = "BGN",
23
+ BHD = "BHD",
24
+ BIF = "BIF",
25
+ BMD = "BMD",
26
+ BND = "BND",
27
+ BOB = "BOB",
28
+ BRL = "BRL",
29
+ BSD = "BSD",
30
+ BTN = "BTN",
31
+ BWP = "BWP",
32
+ BYN = "BYN",
33
+ BZD = "BZD",
34
+ CAD = "CAD",
35
+ CHF = "CHF",
36
+ CLF = "CLF",
37
+ CLP = "CLP",
38
+ CNY = "CNY",
39
+ COP = "COP",
40
+ CRC = "CRC",
41
+ CUP = "CUP",
42
+ CVE = "CVE",
43
+ CZK = "CZK",
44
+ DJF = "DJF",
45
+ DKK = "DKK",
46
+ DOP = "DOP",
47
+ DZD = "DZD",
48
+ EGP = "EGP",
49
+ ETB = "ETB",
50
+ EUR = "EUR",
51
+ FJD = "FJD",
52
+ GBP = "GBP",
53
+ GEL = "GEL",
54
+ GHS = "GHS",
55
+ GMD = "GMD",
56
+ GNF = "GNF",
57
+ GTQ = "GTQ",
58
+ GYD = "GYD",
59
+ HKD = "HKD",
60
+ HNL = "HNL",
61
+ HTG = "HTG",
62
+ HUF = "HUF",
63
+ IDR = "IDR",
64
+ ILS = "ILS",
65
+ INR = "INR",
66
+ IQD = "IQD",
67
+ IRR = "IRR",
68
+ ISK = "ISK",
69
+ JMD = "JMD",
70
+ JOD = "JOD",
71
+ JPY = "JPY",
72
+ KES = "KES",
73
+ KGS = "KGS",
74
+ KHR = "KHR",
75
+ KMF = "KMF",
76
+ KRW = "KRW",
77
+ KWD = "KWD",
78
+ KYD = "KYD",
79
+ KZT = "KZT",
80
+ LAK = "LAK",
81
+ LBP = "LBP",
82
+ LKR = "LKR",
83
+ LRD = "LRD",
84
+ LSL = "LSL",
85
+ LYD = "LYD",
86
+ MAD = "MAD",
87
+ MDL = "MDL",
88
+ MGA = "MGA",
89
+ MKD = "MKD",
90
+ MMK = "MMK",
91
+ MNT = "MNT",
92
+ MOP = "MOP",
93
+ MRU = "MRU",
94
+ MUR = "MUR",
95
+ MWK = "MWK",
96
+ MVR = "MVR",
97
+ MXN = "MXN",
98
+ MYR = "MYR",
99
+ MZN = "MZN",
100
+ NAD = "NAD",
101
+ NGN = "NGN",
102
+ NIO = "NIO",
103
+ NOK = "NOK",
104
+ NPR = "NPR",
105
+ NZD = "NZD",
106
+ OMR = "OMR",
107
+ PAB = "PAB",
108
+ PEN = "PEN",
109
+ PGK = "PGK",
110
+ PHP = "PHP",
111
+ PKR = "PKR",
112
+ PLN = "PLN",
113
+ PYG = "PYG",
114
+ QAR = "QAR",
115
+ RON = "RON",
116
+ RSD = "RSD",
117
+ RWF = "RWF",
118
+ SAR = "SAR",
119
+ SCR = "SCR",
120
+ SDG = "SDG",
121
+ SEK = "SEK",
122
+ SGD = "SGD",
123
+ SLE = "SLE",
124
+ SLL = "SLL",
125
+ SOS = "SOS",
126
+ SRD = "SRD",
127
+ STN = "STN",
128
+ SVC = "SVC",
129
+ SYP = "SYP",
130
+ SZL = "SZL",
131
+ THB = "THB",
132
+ TJS = "TJS",
133
+ TMT = "TMT",
134
+ TND = "TND",
135
+ TOP = "TOP",
136
+ TRY = "TRY",
137
+ TTD = "TTD",
138
+ TWD = "TWD",
139
+ TZS = "TZS",
140
+ UAH = "UAH",
141
+ UGX = "UGX",
142
+ UYU = "UYU",
143
+ UZS = "UZS",
144
+ VND = "VND",
145
+ VUV = "VUV",
146
+ WST = "WST",
147
+ XAF = "XAF",
148
+ XCD = "XCD",
149
+ XOF = "XOF",
150
+ XPF = "XPF",
151
+ YER = "YER",
152
+ ZAR = "ZAR",
153
+ ZMW = "ZMW",
154
+ ZWL = "ZWL",
155
+ CDF = "CDF",
156
+ ERN = "ERN",
157
+ FKP = "FKP",
158
+ KPW = "KPW",
159
+ RUB = "RUB",
160
+ SBD = "SBD",
161
+ SHP = "SHP",
162
+ SSP = "SSP",
163
+ VES = "VES"
164
+ }
165
+ declare const CurrencyToISO4217: Record<Currency, string>;
166
+ type WithdrawCurrency = Currency.USD | Currency.EUR | Currency.GBP | Currency.BRL | Currency.CAD;
167
+ declare const WithdrawCurrencies: {
168
+ readonly USD: Currency.USD;
169
+ readonly EUR: Currency.EUR;
170
+ readonly GBP: Currency.GBP;
171
+ readonly BRL: Currency.BRL;
172
+ readonly CAD: Currency.CAD;
173
+ };
174
+ declare function isWithdrawCurrency(currency: Currency): currency is WithdrawCurrency;
175
+ type BankingCurrency = Currency.USD | Currency.EUR | Currency.GBP | Currency.CAD | Currency.BRL;
176
+ declare const BankingCurrencies: {
177
+ readonly USD: Currency.USD;
178
+ readonly EUR: Currency.EUR;
179
+ readonly GBP: Currency.GBP;
180
+ readonly CAD: Currency.CAD;
181
+ readonly BRL: Currency.BRL;
182
+ };
183
+ declare function isBankingCurrency(currency: Currency): currency is BankingCurrency;
184
+ declare function getCurrencyDecimals(currency: Currency): number;
185
+ interface Cents {
186
+ /**
187
+ * @isInt Cents must be an integer
188
+ * @minimum 0 Minimum Cents is 0
189
+ */
190
+ cents: number;
191
+ }
192
+ interface CurrencyCents extends Cents {
193
+ currency: Currency;
194
+ }
195
+ interface TypedCurrencyCents<T extends Currency> extends Cents {
196
+ currency: T;
197
+ }
198
+ declare function isTypedCurrencyCents<T extends Currency>(cents: CurrencyCents, currency: T): cents is TypedCurrencyCents<T>;
199
+ interface TokenSubtotal {
200
+ /**
201
+ * The tokens address
202
+ *
203
+ * Solana - Token Mint Address
204
+ * Evm - Token Contract Address
205
+ */
206
+ address: string;
207
+ /**
208
+ * Number of tokens
209
+ */
210
+ amount: number | string;
211
+ /**
212
+ * Number of decimals for the token
213
+ */
214
+ decimals?: number;
215
+ }
216
+ type Subtotal = CurrencyCents | Cents | TokenSubtotal;
217
+
218
+ /**
219
+ * Address structure
220
+ */
221
+ interface CartItemAddress {
222
+ /**
223
+ * Country code specified as a two letter code according to ISO 3166 Alpha-2
224
+ * Between 2 and 2 characters
225
+ * Example: US
226
+ * Pattern: ^[A-Z]{2}$
227
+ */
228
+ country?: string;
229
+ /**
230
+ * The state or province
231
+ * Example: PA
232
+ */
233
+ state?: string;
234
+ /**
235
+ * The city or locality
236
+ * Example: Pittsburgh
237
+ */
238
+ city?: string;
239
+ /**
240
+ * The street name
241
+ * Example: Baker St
242
+ */
243
+ street?: string;
244
+ /**
245
+ * The address postal code
246
+ */
247
+ postalCode?: string;
248
+ }
249
+ /**
250
+ * Phone information structure
251
+ */
252
+ interface PhoneInfo {
253
+ /**
254
+ * The mobile carrier
255
+ * Example: T-Mobile
256
+ */
257
+ carrier?: string;
258
+ /**
259
+ * The country code (leading `+` is optional)
260
+ * Example: 42
261
+ * Pattern: ^\+?[0-9]+$
262
+ */
263
+ countryCode: string;
264
+ /**
265
+ * The phone number without the country code or hyphens
266
+ * Example: 2025550169
267
+ * Pattern: ^[0-9]+$
268
+ */
269
+ phone: string;
270
+ }
271
+ /**
272
+ * Common currency amount structure
273
+ */
274
+ interface CurrencyAmount {
275
+ /**
276
+ * The amount in the currency, which is specified in the `currency` property
277
+ * Example: 90
278
+ */
279
+ valueInCurrency: number;
280
+ /**
281
+ * Currency specified as a three letter code according to ISO 4217
282
+ * Example: USD
283
+ */
284
+ currency: string;
285
+ }
286
+ interface RecipientInfo {
287
+ /**
288
+ * The ID of the account that will receive the purchased goods
289
+ */
290
+ accountId?: string;
291
+ /**
292
+ * Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY
293
+ * Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
294
+ */
295
+ dob?: string;
296
+ /**
297
+ * Email
298
+ * Example: lois.lane@dailyplanet.com
299
+ */
300
+ email?: string | null;
301
+ /**
302
+ * First name
303
+ * Example: Lois
304
+ */
305
+ firstName?: string;
306
+ /**
307
+ * Gender
308
+ * Example: female
309
+ */
310
+ gender?: string;
311
+ /**
312
+ * Last name
313
+ * Example: Lois
314
+ */
315
+ lastName?: string;
316
+ /**
317
+ * The message that the recipient will receive
318
+ */
319
+ message?: string;
320
+ /**
321
+ * A phone number descriptor
322
+ */
323
+ phoneInfo?: PhoneInfo;
324
+ /**
325
+ * Shipping address
326
+ */
327
+ shippingAddress?: CartItemAddress;
328
+ /**
329
+ * The crypto wallet that will receive the funds
330
+ */
331
+ wallet?: {
332
+ /**
333
+ * The crypto wallet address that will receive the funds
334
+ */
335
+ address: string;
336
+ /**
337
+ * The blockchain on which the transaction was made
338
+ * Example: BTC
339
+ * Pattern: ^[A-Z0-9-]+$
340
+ */
341
+ blockchain: string;
342
+ /**
343
+ * The type of the wallet
344
+ * Allowed values: custodial, nonCustodial, unknown
345
+ * Example: custodial
346
+ */
347
+ custodialType: 'custodial' | 'nonCustodial' | 'unknown';
348
+ };
349
+ }
350
+ interface SellerInfo {
351
+ /**
352
+ * Id of the seller
353
+ */
354
+ id?: string;
355
+ /**
356
+ * Email
357
+ * Example: lois.lane@dailyplanet.com
358
+ */
359
+ email?: string | null;
360
+ /**
361
+ * First name
362
+ * Example: Lois
363
+ */
364
+ firstName?: string;
365
+ /**
366
+ * Last name
367
+ * Example: Lois
368
+ */
369
+ lastName?: string;
370
+ /**
371
+ * Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY
372
+ * Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
373
+ */
374
+ dob?: string;
375
+ /**
376
+ * Additional raw data about the seller
377
+ * Example: {"FeedbackCount":100,"FeedbackScore":99.5,"FirstSeenTimestamp":1731841819965,"LatestWithdrawal":3263,"OrderCount":101,"DisputeCount":2}
378
+ */
379
+ rawSellerData?: Record<string, any>;
380
+ }
381
+
382
+ interface GiftCardCartItem {
383
+ itemClass: 'giftCard';
384
+ productType: 'giftCard';
385
+ /**
386
+ * The cart items’s unique ID
387
+ */
388
+ id: string;
389
+ /**
390
+ * The number of units sold
391
+ */
392
+ quantity: number;
393
+ /**
394
+ * How the product was fulfilled.
395
+ */
396
+ itemFulfillment: 'digital' | 'physical';
397
+ sellingPrice: {
398
+ valueInCurrency: number;
399
+ currency: string;
400
+ };
401
+ /**
402
+ * Any additional product data which can be provided, e.g. description, link to image, etc
403
+ */
404
+ rawProductData?: Record<string, any>;
405
+ /**
406
+ * The stock-keeping unit (SKU) number
407
+ */
408
+ sku?: string;
409
+ /**
410
+ * The name of the brand
411
+ */
412
+ brand?: string;
413
+ /**
414
+ * The category in the site/app in which the item was classified (e.g., fashion)
415
+ */
416
+ categories?: string[];
417
+ listPrice?: {
418
+ valueInCurrency: number;
419
+ currency: string;
420
+ };
421
+ isGift?: boolean;
422
+ /**
423
+ * The user's personal info
424
+ */
425
+ recipientInfo?: RecipientInfo;
426
+ /**
427
+ * The item's selling price
428
+ */
429
+ seller?: SellerInfo;
430
+ /**
431
+ * The expected delay in delivery, in hours
432
+ */
433
+ expectedDeliveryDelay?: number;
434
+ /**
435
+ * Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc. or whether it was a different amount, e.g. 27
436
+ */
437
+ isPresetAmount?: boolean;
438
+ }
439
+
440
+ type AnyObject = {
441
+ [key: string]: any;
442
+ } & {
443
+ example?: string;
444
+ };
445
+
446
+ type TransactionHistoryItem = {
447
+ txHash: string;
448
+ blockNumber: number;
449
+ txTime: string;
450
+ assetID: string;
451
+ registryContract: string;
452
+ from: string;
453
+ to: string;
454
+ paymentToken: string;
455
+ paymentAmount: string;
456
+ chain: string;
457
+ txType: string;
458
+ };
459
+ type productType = 'inGameProduct' | 'gameOfSkill' | 'dataStorage' | 'computingResources' | 'sportsTicket' | 'eSportsTicket' | 'musicTicket' | 'conferenceTicket' | 'virtualSportsTicket' | 'virtualESportsTicket' | 'virtualMusicTicket' | 'virtualConferenceTicket' | 'alcohol' | 'DLC' | 'subscription' | 'fundACause' | 'realEstate' | 'computingContract' | 'digitalArt' | 'topUp' | 'ownershipContract' | 'inGameCurrency' | 'digitalCollectibles' | 'digitalCollectiblesMarketplace' | 'digitalGiftingMarketplace' | 'sweepstakes' | 'virtualSportsEvents' | 'contractInvoicing' | 'onlineCasino' | 'cryptoOnramp' | 'gaming' | 'travelDocuments' | 'musicStreaming' | 'digitalContent' | 'eBooks' | 'digitalSubscriptionContent';
460
+ /**
461
+ * An nft cart item
462
+ */
463
+ type nftCartItem = {
464
+ /**
465
+ * Denotes the cart item class. The item schema is chosen based on this value
466
+ */
467
+ itemClass: 'nft';
468
+ /**
469
+ * The name of the related product
470
+ *
471
+ * @minLength 1
472
+ */
473
+ productName: string;
474
+ /**
475
+ * The product type. Possible values include: inGameProduct, gameOfSkill, dataStorage, computingResources, sportsTicket, eSportsTicket, musicTicket, conferenceTicket, virtualSportsTicket, virtualESportsTicket, virtualMusicTicket, virtualConferenceTicket, alcohol, DLC, subscription, fundACause, realEstate, computingContract, digitalArt, topUp
476
+ */
477
+ productType: productType;
478
+ /**
479
+ * The item's list price
480
+ */
481
+ listPrice?: {
482
+ /**
483
+ * The amount in the currency, which is specified in the `currency` property
484
+ */
485
+ valueInCurrency?: number;
486
+ /**
487
+ * Currency specified as a three letter code according to ISO 4217
488
+ */
489
+ currency?: string;
490
+ };
491
+ /**
492
+ * The item's list price
493
+ */
494
+ sellingPrice: {
495
+ /**
496
+ * The amount in the currency, which is specified in the `currency` property
497
+ */
498
+ valueInCurrency?: number;
499
+ /**
500
+ * Currency specified as a three-letter code according to ISO 4217
501
+ */
502
+ currency?: string;
503
+ };
504
+ /**
505
+ * The number of units sold
506
+ */
507
+ quantity: number;
508
+ /**
509
+ * Any additional data that the store can provide on the product, e.g. description, link to image, etc.
510
+ */
511
+ rawProductData?: AnyObject;
512
+ seller?: SellerInfo;
513
+ transactionHistory?: TransactionHistoryItem[];
514
+ };
515
+ declare namespace nftCartItem {
516
+ /**
517
+ * Denotes the cart item class. The item schema is chosen based on this value
518
+ */
519
+ enum itemClass {
520
+ NFT = "nft"
521
+ }
522
+ /**
523
+ * The product type. Possible values include: inGameProduct, gameOfSkill, dataStorage, computingResources, sportsTicket, eSportsTicket, musicTicket, conferenceTicket, virtualSportsTicket, virtualESportsTicket, virtualMusicTicket, virtualConferenceTicket, alcohol, DLC, subscription, fundACause, realEstate, computingContract, digitalArt, topUp
524
+ */
525
+ enum productType {
526
+ IN_GAME_PRODUCT = "inGameProduct",
527
+ GAME_OF_SKILL = "gameOfSkill",
528
+ DATA_STORAGE = "dataStorage",
529
+ COMPUTING_RESOURCES = "computingResources",
530
+ SPORTS_TICKET = "sportsTicket",
531
+ E_SPORTS_TICKET = "eSportsTicket",
532
+ MUSIC_TICKET = "musicTicket",
533
+ CONFERENCE_TICKET = "conferenceTicket",
534
+ VIRTUAL_SPORTS_TICKET = "virtualSportsTicket",
535
+ VIRTUAL_ESPORTS_TICKET = "virtualESportsTicket",
536
+ VIRTUAL_MUSIC_TICKET = "virtualMusicTicket",
537
+ VIRTUAL_CONFERENCE_TICKET = "virtualConferenceTicket",
538
+ ALCOHOL = "alcohol",
539
+ DLC = "DLC",
540
+ SUBSCRIPTION = "subscription",
541
+ FUND_ACAUSE = "fundACause",
542
+ REAL_ESTATE = "realEstate",
543
+ COMPUTING_CONTRACT = "computingContract",
544
+ DIGITAL_ART = "digitalArt",
545
+ TOP_UP = "topUp",
546
+ OWNERSHIP_CONTRACT = "ownershipContract",
547
+ IN_GAME_CURRENCY = "inGameCurrency",
548
+ MONEY_TOP_UP_CART_ITEM = "moneyTopUpCartItem"
549
+ }
550
+ }
551
+
552
+ /**
553
+ * Represents a crypto item in a shopping cart
554
+ */
555
+ interface CryptoCartItem {
556
+ /**
557
+ * Denotes the cart item class. The item schema is chosen based on this value.
558
+ * Allowed value: crypto
559
+ * Example: crypto
560
+ */
561
+ itemClass: 'crypto';
562
+ /**
563
+ * The cart items's unique ID
564
+ * Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
565
+ */
566
+ id?: string;
567
+ /**
568
+ * Any additional product data which can be provided, e.g. description, link to image, etc
569
+ * Example: {"any":"data","description":"This is the product description"}
570
+ */
571
+ rawProductData?: AnyObject;
572
+ /**
573
+ * The amount in the crypto currency which is specified in the `cryptoCurrency` property
574
+ * Example: 1.04112
575
+ * Pattern: ^[0-9]+(\.[0-9]+)?$
576
+ */
577
+ units: string;
578
+ /**
579
+ * The crypto-currency symbol (uppercase)
580
+ * Example: BTC
581
+ * Pattern: ^[A-Z0-9-]+$
582
+ */
583
+ cryptoCurrency: string;
584
+ /**
585
+ * The price per 1 unit
586
+ */
587
+ unitPrice: {
588
+ /**
589
+ * The amount in the currency, which is specified in the `currency` property
590
+ * Example: 90
591
+ */
592
+ valueInCurrency: number;
593
+ /**
594
+ * Currency specified as a three letter code according to ISO 4217
595
+ * Example: USD
596
+ */
597
+ currency: string;
598
+ };
599
+ /**
600
+ * The expected delay in delivery, in hours
601
+ * Min value: 0
602
+ */
603
+ expectedDeliveryDelay?: number;
604
+ /**
605
+ * The user's personal info
606
+ */
607
+ recipientInfo: RecipientInfo;
608
+ /**
609
+ * Seller info
610
+ */
611
+ seller?: SellerInfo;
612
+ }
613
+
614
+ /**
615
+ * Represents a money top-up item in a shopping cart
616
+ */
617
+ interface MoneyTopUpCartItem {
618
+ /**
619
+ * Denotes the cart item class. The item schema is chosen based on this value.
620
+ * Allowed value: moneyTopUp
621
+ * Example: moneyTopUp
622
+ */
623
+ itemClass: 'moneyTopUp';
624
+ /**
625
+ * The cart items's unique ID
626
+ * Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
627
+ */
628
+ id?: string;
629
+ /**
630
+ * Any additional product data which can be provided, e.g. description, link to image, etc
631
+ * Example: {"any":"data","description":"This is the product description"}
632
+ */
633
+ rawProductData?: Record<string, any>;
634
+ /**
635
+ * The item's selling price
636
+ */
637
+ sellingPrice: CurrencyAmount;
638
+ /**
639
+ * The user's personal info
640
+ */
641
+ recipientInfo?: RecipientInfo;
642
+ /**
643
+ * The item's topUp amount
644
+ */
645
+ topUpAmount: CurrencyAmount;
646
+ /**
647
+ * Quantity
648
+ * Example: 2
649
+ */
650
+ quantity: number;
651
+ /**
652
+ * Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc.
653
+ * or whether it was a different amount, e.g. 27
654
+ */
655
+ isPresetAmount: boolean;
656
+ }
657
+
658
+ declare enum WithdrawCategory {
659
+ USER = "user",
660
+ BUSINESS = "business"
661
+ }
662
+ declare enum WithdrawSpeed {
663
+ ASAP = "asap",
664
+ SAME_DAY = "same_day",
665
+ STANDARD = "standard",
666
+ CARD = "card",
667
+ IBAN = "iban",
668
+ PIX = "pix",
669
+ EFT = "eft",
670
+ VENMO = "venmo",
671
+ PAYPAL = "paypal",
672
+ WIRE = "wire",
673
+ INTERAC = "interac"
674
+ }
675
+ declare enum SettlementType {
676
+ Credits = "Credits",
677
+ USDC = "USDC",
678
+ Bank = "Bank"
679
+ }
680
+ /**
681
+ * Configuration for zero authorization flow - controls saved payment method visibility.
682
+ */
683
+ interface ZeroAuthSavedPaymentMethods {
684
+ disableSavedPaymentMethods: boolean;
685
+ }
686
+ /**
687
+ * Configuration for zero authorization flow - verify existing card mode.
688
+ * Shows the "Verify Card" flow for a specific saved card.
689
+ * The card token will be validated to ensure it belongs to the current user's wallet.
690
+ * If the card doesn't belong to the user, falls back to "Add New Card" view.
691
+ */
692
+ interface ZeroAuthVerifyCard {
693
+ cardToken: string;
694
+ }
695
+ /**
696
+ * Configuration for zero authorization flow.
697
+ * The presence of this object indicates the checkout is in zero auth mode.
698
+ *
699
+ * Two mutually exclusive modes:
700
+ * - Saved payment methods: `{ disableSavedPaymentMethods: boolean }` - show or hide saved methods
701
+ * - Verify card: `{ cardToken: "token" }` - verify a specific saved card
702
+ */
703
+ type ZeroAuthorizationConfig = ZeroAuthSavedPaymentMethods | ZeroAuthVerifyCard;
704
+ declare function isZeroAuthVerifyCard(config: ZeroAuthorizationConfig): config is ZeroAuthVerifyCard;
705
+ declare function isZeroAuthSavedPaymentMethods(config: ZeroAuthorizationConfig): config is ZeroAuthSavedPaymentMethods;
706
+ declare enum MerchantStyle {
707
+ Rounded = "rounded",
708
+ Sharp = "sharp",
709
+ Pill = "pill"
710
+ }
711
+ type MerchantTheme = {
712
+ primary?: string;
713
+ background?: string;
714
+ backgroundAccent?: string;
715
+ backgroundAccent2?: string;
716
+ textColor?: string;
717
+ textColorAccent?: string;
718
+ textColorAction?: string;
719
+ ctaColor?: string;
720
+ font?: string;
721
+ style?: MerchantStyle;
722
+ };
723
+ interface BaseCustomerInfo {
724
+ verificationId?: string;
725
+ displayName?: string;
726
+ address?: string;
727
+ city?: string;
728
+ state?: string;
729
+ zip?: string;
730
+ country?: string;
731
+ ip?: string;
732
+ lat?: string;
733
+ lng?: string;
734
+ /**
735
+ * Date of birth in YYYY-MM-DD format
736
+ */
737
+ dob?: string;
738
+ email?: string;
739
+ }
740
+ interface NameCustomerInfo extends BaseCustomerInfo {
741
+ /**
742
+ * @hidden
743
+ */
744
+ name?: string;
745
+ }
746
+ interface SplitNameCustomerInfo extends BaseCustomerInfo {
747
+ /**
748
+ * @minLength 1
749
+ */
750
+ firstName: string;
751
+ /**
752
+ * @minLength 1
753
+ */
754
+ lastName: string;
755
+ }
756
+ type CustomerInfo = SplitNameCustomerInfo | NameCustomerInfo;
757
+ /** Coinflow Types **/
758
+ type CoinflowBlockchain = 'solana' | 'eth' | 'polygon' | 'base' | 'arbitrum' | 'monad' | 'user';
759
+ type CoinflowEnvs = 'prod' | 'staging' | 'staging-live' | 'sandbox' | 'local';
760
+ interface CoinflowTypes {
761
+ merchantId: string;
762
+ env?: CoinflowEnvs;
763
+ loaderBackground?: string;
764
+ blockchain?: CoinflowBlockchain | undefined;
765
+ handleHeightChange?: (height: string) => void;
766
+ theme?: MerchantTheme;
767
+ }
768
+ type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
769
+ type MergeWithOptionalDiff<A, B> = Pick<A, Extract<keyof A, keyof B>> & Pick<B, Extract<keyof B, keyof A>> & Partial<Omit<A, keyof B>> & Partial<Omit<B, keyof A>>;
770
+ type OnSuccessMethod = (args: {
771
+ paymentId: string;
772
+ hash?: string | undefined;
773
+ } | string) => void | Promise<void>;
774
+ type AuthDeclinedWalletCallInfo = {
775
+ title: string;
776
+ code: string;
777
+ action: string;
778
+ message: string;
779
+ total: string;
780
+ };
781
+ type OnAuthDeclinedMethod = (args: AuthDeclinedWalletCallInfo) => void | Promise<void>;
782
+ /** Wallets **/
783
+ interface SolanaWallet {
784
+ publicKey: PublicKey | null;
785
+ signTransaction?: <T extends Transaction | VersionedTransaction>(transaction: T) => Promise<T>;
786
+ sendTransaction: <T extends Transaction | VersionedTransaction>(transaction: T) => Promise<string>;
787
+ signMessage?: (message: Uint8Array) => Promise<Uint8Array>;
788
+ }
789
+ type AccessList = Array<{
790
+ address: string;
791
+ storageKeys: Array<string>;
792
+ }>;
793
+ type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
794
+ type EthWallet = {
795
+ address: string | null | undefined;
796
+ sendTransaction: (transaction: {
797
+ to: string;
798
+ from?: string;
799
+ nonce?: Bytes | bigint | string | number;
800
+ gasLimit?: Bytes | bigint | string | number;
801
+ gasPrice?: Bytes | bigint | string | number;
802
+ data?: BytesLike;
803
+ value?: Bytes | bigint | string | number;
804
+ chainId?: number;
805
+ type?: number;
806
+ accessList?: AccessListish;
807
+ maxPriorityFeePerGas?: Bytes | bigint | string | number;
808
+ maxFeePerGas?: Bytes | bigint | string | number;
809
+ customData?: Record<string, any>;
810
+ ccipReadEnabled?: boolean;
811
+ }) => Promise<{
812
+ hash: string;
813
+ }>;
814
+ signMessage: (message: string) => Promise<string>;
815
+ };
816
+ /** History **/
817
+ interface CoinflowSolanaHistoryProps extends CoinflowTypes {
818
+ wallet: SolanaWallet;
819
+ connection: Connection;
820
+ blockchain: 'solana';
821
+ }
822
+ interface CoinflowSessionKeyHistoryProps extends CoinflowTypes {
823
+ sessionKey: string;
824
+ blockchain?: undefined;
825
+ }
826
+ interface CoinflowEvmHistoryProps extends CoinflowTypes {
827
+ wallet: EthWallet;
828
+ blockchain: 'eth' | 'polygon' | 'base' | 'arbitrum' | 'monad';
829
+ }
830
+ interface CoinflowEthHistoryProps extends CoinflowEvmHistoryProps {
831
+ blockchain: 'eth';
832
+ }
833
+ interface CoinflowPolygonHistoryProps extends CoinflowEvmHistoryProps {
834
+ blockchain: 'polygon';
835
+ }
836
+ interface CoinflowBaseHistoryProps extends CoinflowEvmHistoryProps {
837
+ blockchain: 'base';
838
+ }
839
+ interface CoinflowArbitrumHistoryProps extends CoinflowEvmHistoryProps {
840
+ blockchain: 'arbitrum';
841
+ }
842
+ interface CoinflowMonadHistoryProps extends CoinflowEvmHistoryProps {
843
+ blockchain: 'monad';
844
+ }
845
+ type CoinflowHistoryProps = CoinflowSolanaHistoryProps | CoinflowPolygonHistoryProps | CoinflowEthHistoryProps | CoinflowBaseHistoryProps | CoinflowArbitrumHistoryProps | CoinflowMonadHistoryProps | CoinflowSessionKeyHistoryProps;
846
+ type Bytes = ArrayLike<number>;
847
+ type BytesLike = Bytes | string;
848
+ /** Purchase **/
849
+ type CartClassOmitted = CartItemClassOmitted[];
850
+ type ChargebackProtectionData = CartClassOmitted;
851
+ type CartItemClassOmitted = NftCartItemClassOmitted | Omit<GiftCardCartItem, 'listPrice'> | CryptoCartItem | MoneyTopUpCartItem;
852
+ type ChargebackProtectionItem = CartItemClassOmitted;
853
+ type NftCartItemClassOmitted = Omit<nftCartItem, 'sellingPrice' | 'itemClass'>;
854
+ type Cart = CartItem[];
855
+ type CartItem = Omit<nftCartItem, 'listPrice' | 'sellingPrice'> | Omit<GiftCardCartItem, 'listPrice'> | CryptoCartItem | MoneyTopUpCartItem;
856
+ declare enum ThreeDsChallengePreference {
857
+ NoPreference = "NoPreference",
858
+ Frictionless = "Frictionless",
859
+ Challenge = "Challenge"
860
+ }
861
+ declare enum PaymentMethods {
862
+ card = "card",
863
+ ach = "ach",
864
+ fasterPayments = "fasterPayments",
865
+ sepa = "sepa",
866
+ pix = "pix",
867
+ usdc = "usdc",
868
+ googlePay = "googlePay",
869
+ applePay = "applePay",
870
+ credits = "credits",
871
+ crypto = "crypto",
872
+ instantBankTransfer = "instantBankTransfer",
873
+ wire = "wire"
874
+ }
875
+ declare const paymentMethodLabels: Record<PaymentMethods, string>;
876
+ interface CoinflowCommonPurchaseProps extends CoinflowTypes {
877
+ subtotal?: Subtotal;
878
+ presentment?: Currency;
879
+ onSuccess?: OnSuccessMethod;
880
+ onAuthDeclined?: OnAuthDeclinedMethod;
881
+ webhookInfo?: {
882
+ [key: string]: any;
883
+ };
884
+ email?: string;
885
+ chargebackProtectionData?: ChargebackProtectionData;
886
+ planCode?: string;
887
+ /**
888
+ * The payment methods displayed on the UI. If omitted, all available payment methods will be displayed.
889
+ */
890
+ allowedPaymentMethods?: PaymentMethods[];
891
+ customerInfo?: CustomerInfo;
892
+ settlementType?: SettlementType;
893
+ authOnly?: boolean;
894
+ /**
895
+ * @deprecated Use zeroAuthorizationConfig instead for more control over zero auth behavior.
896
+ * Simple boolean flag for zero authorization mode. When true, defaults to showing saved payment methods.
897
+ */
898
+ isZeroAuthorization?: boolean;
899
+ /**
900
+ * Configuration for zero authorization flow. Takes precedence over isZeroAuthorization if both are provided.
901
+ * Use this to control whether saved payment methods are shown and to pre-select a specific card for verification.
902
+ */
903
+ zeroAuthorizationConfig?: ZeroAuthorizationConfig;
904
+ /**
905
+ * If true, pre-checks the partial USDC payment checkbox when USDC balance is available.
906
+ * If false or undefined, maintains default behavior (unchecked).
907
+ */
908
+ partialUsdcChecked?: boolean;
909
+ /**
910
+ * The DeviceID gotten from the Coinflow SDK:
911
+ * https://docs.coinflow.cash/guides/checkout/fraud-protection/chargeback-protection/implement-chargeback-protection#how-to-add-chargeback-protection
912
+ *
913
+ * nSureSDK.getDeviceId()
914
+ */
915
+ deviceId?: string;
916
+ jwtToken?: string;
917
+ /**
918
+ * Your company email address that the customer can contact.
919
+ */
920
+ supportEmail?: string;
921
+ /**
922
+ * If rendering the Coinflow component within multiple nested iframes, all ancestors in the chain must be provided as a comma-separated list.
923
+ *
924
+ * Example:
925
+ * Primary origin that will be interacting with the Coinflow iFrame: foo.com
926
+ * Subsequent origins that will render foo.com: bar.com
927
+ * The origin array would then be: [https://foo.com,https://bar.com]
928
+ */
929
+ origins?: string[];
930
+ threeDsChallengePreference?: ThreeDsChallengePreference;
931
+ destinationAuthKey?: string;
932
+ accountFundingTransaction?: AccountFundingTransaction;
933
+ }
934
+ /**
935
+ * Used for Account Funding Transactions
936
+ */
937
+ interface AccountFundingTransaction {
938
+ /**
939
+ * Recipient information for Account Funding Transactions (AFT).
940
+ * Required when AFT is enabled and type requires it.
941
+ */
942
+ recipientAftInfo?: RecipientAftInfo;
943
+ }
944
+ interface CoinflowSolanaPurchaseProps extends CoinflowCommonPurchaseProps {
945
+ wallet: SolanaWallet;
946
+ transaction?: Transaction | VersionedTransaction;
947
+ partialSigners?: Signer[];
948
+ debugTx?: boolean;
949
+ connection: Connection;
950
+ blockchain: 'solana';
951
+ rent?: {
952
+ lamports: string | number;
953
+ };
954
+ nativeSolToConvert?: {
955
+ lamports: string | number;
956
+ };
957
+ redemptionCheck?: boolean;
958
+ }
959
+ interface CoinflowSessionKeyPurchaseProps extends CoinflowCommonPurchaseProps {
960
+ sessionKey: string;
961
+ wallet?: undefined;
962
+ blockchain?: CoinflowBlockchain | undefined;
963
+ }
964
+ interface CoinflowEvmPurchaseProps extends CoinflowCommonPurchaseProps {
965
+ transaction?: EvmTransactionData;
966
+ wallet: EthWallet;
967
+ }
968
+ interface CoinflowPolygonPurchaseProps extends CoinflowEvmPurchaseProps {
969
+ blockchain: 'polygon';
970
+ }
971
+ interface CoinflowEthPurchaseProps extends CoinflowEvmPurchaseProps {
972
+ blockchain: 'eth';
973
+ }
974
+ interface CoinflowBasePurchaseProps extends CoinflowEvmPurchaseProps {
975
+ blockchain: 'base';
976
+ }
977
+ interface CoinflowArbitrumPurchaseProps extends CoinflowEvmPurchaseProps {
978
+ blockchain: 'arbitrum';
979
+ }
980
+ interface CoinflowMonadPurchaseProps extends CoinflowEvmPurchaseProps {
981
+ blockchain: 'monad';
982
+ }
983
+ type CoinflowPurchaseProps = CoinflowSolanaPurchaseProps | CoinflowSessionKeyPurchaseProps | CoinflowPolygonPurchaseProps | CoinflowEthPurchaseProps | CoinflowBasePurchaseProps | CoinflowArbitrumPurchaseProps | CoinflowMonadPurchaseProps;
984
+ /** Withdraw **/
985
+ interface CoinflowCommonWithdrawProps extends CoinflowTypes {
986
+ onSuccess?: OnSuccessMethod;
987
+ tokens?: string[];
988
+ lockDefaultToken?: boolean;
989
+ amount?: number;
990
+ email?: string;
991
+ bankAccountLinkRedirect?: string;
992
+ additionalWallets?: {
993
+ wallet: string;
994
+ blockchain: 'solana' | 'eth' | 'polygon' | 'base' | 'arbitrum' | 'monad';
995
+ }[];
996
+ lockAmount?: boolean;
997
+ transactionSigner?: string;
998
+ /**
999
+ * If rendering the Coinflow component within multiple nested iframes, all ancestors in the chain must be provided as a comma-separated list.
1000
+ *
1001
+ * Example:
1002
+ * Primary origin that will be interacting with the Coinflow iFrame: foo.com
1003
+ * Subsequent origins that will render foo.com: bar.com
1004
+ * The origin array would then be: [https://foo.com,https://bar.com]
1005
+ */
1006
+ origins?: string[];
1007
+ /**
1008
+ * If the withdrawer is authenticated with a sessionKey pass it here.
1009
+ */
1010
+ sessionKey?: string;
1011
+ /**
1012
+ * Array of allowed withdrawal speeds. If not provided, all speeds are allowed.
1013
+ */
1014
+ allowedWithdrawSpeeds?: WithdrawSpeed[];
1015
+ }
1016
+ type WalletTypes = SolanaWallet | EthWallet;
1017
+ interface SolanaWalletProps {
1018
+ wallet: SolanaWallet;
1019
+ connection: Connection;
1020
+ blockchain: 'solana';
1021
+ }
1022
+ type CoinflowSolanaWithdrawProps = CoinflowCommonWithdrawProps & SolanaWalletProps;
1023
+ interface EvmWalletProps {
1024
+ wallet: EthWallet;
1025
+ usePermit?: boolean;
1026
+ }
1027
+ type CoinflowEvmWithdrawProps = CoinflowCommonWithdrawProps & EvmWalletProps;
1028
+ interface EthWalletProps {
1029
+ blockchain: 'eth';
1030
+ }
1031
+ type CoinflowEthWithdrawProps = CoinflowEvmWithdrawProps & EthWalletProps;
1032
+ interface PolygonWalletProps {
1033
+ blockchain: 'polygon';
1034
+ }
1035
+ type CoinflowPolygonWithdrawProps = CoinflowEvmWithdrawProps & PolygonWalletProps;
1036
+ interface BaseWalletProps {
1037
+ blockchain: 'base';
1038
+ }
1039
+ type CoinflowBaseWithdrawProps = CoinflowEvmWithdrawProps & BaseWalletProps;
1040
+ interface ArbitrumWalletProps {
1041
+ blockchain: 'arbitrum';
1042
+ }
1043
+ type CoinflowArbitrumWithdrawProps = CoinflowEvmWithdrawProps & ArbitrumWalletProps;
1044
+ interface MonadWalletProps {
1045
+ blockchain: 'monad';
1046
+ }
1047
+ type CoinflowMonadWithdrawProps = CoinflowEvmWithdrawProps & MonadWalletProps;
1048
+ type CoinflowWithdrawProps = CoinflowSolanaWithdrawProps | CoinflowEthWithdrawProps | CoinflowPolygonWithdrawProps | CoinflowBaseWithdrawProps | CoinflowArbitrumWithdrawProps | CoinflowMonadWithdrawProps;
1049
+ interface CommonEvmRedeem {
1050
+ /**
1051
+ * Whether the UI should wait
1052
+ * for the transaction to be sent and
1053
+ * the hash to be returned.
1054
+ */
1055
+ waitForHash?: boolean;
1056
+ }
1057
+ /**
1058
+ * (EVM only) If your contract sends the item/service being purchased via a custom "receiver" field, then utilize this object.
1059
+ *
1060
+ * The coinflow contract calls the "to" contract, which transfers the NFT/item to the "receiver" address defined in the contract function arguments.
1061
+ */
1062
+ interface NormalRedeem extends CommonEvmRedeem {
1063
+ /**
1064
+ * Transaction to be called.
1065
+ */
1066
+ transaction: {
1067
+ /**
1068
+ * The merchant's whitelisted contract
1069
+ */
1070
+ to: string;
1071
+ /**
1072
+ * The data to call this contract with, HEX encoded.
1073
+ *
1074
+ * The coinflow contract calls the "to" contract, contract pulls USDC from msg.sender, and transfers the NFT/item to the "receiver" address defined in the contract function arguments.
1075
+ */
1076
+ data: string;
1077
+ };
1078
+ }
1079
+ /**
1080
+ * (EVM only) If your know the ID of the NFT being purchased, then utilize this object.
1081
+ *
1082
+ * The contract transfers the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract fwd's the NFT to the end user's wallet.
1083
+ */
1084
+ interface KnownTokenIdRedeem extends NormalRedeem {
1085
+ /**
1086
+ * The address of the Nft's Contract
1087
+ *
1088
+ * @minLength 42 Please provide a valid EVM Address (42 Characters Long)
1089
+ * @maxLength 42 Please provide a valid EVM Address (42 Characters Long)
1090
+ */
1091
+ nftContract: string;
1092
+ /**
1093
+ * The ID of the NFT being purchased. Will be forwarded by the Coinflow contract to the customer's wallet.
1094
+ *
1095
+ * @minLength 1 Please provide a valid Nft Id
1096
+ */
1097
+ nftId: string;
1098
+ }
1099
+ /**
1100
+ * (EVM only) If your contract mints an NFT via a OpenZeppelin Safe Mint Call, then utilize this object.
1101
+ *
1102
+ * The contract mints the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract picks up the SafeMint event, and fwd's the NFT to the end user's wallet.
1103
+ */
1104
+ interface SafeMintRedeem extends NormalRedeem {
1105
+ type: 'safeMint';
1106
+ nftContract?: string;
1107
+ }
1108
+ /**
1109
+ * (EVM only) If your contract returns the NFT ID, then utilize this object.
1110
+ *
1111
+ * The contract mints the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract picks up the returned NFT ID, and fwd's the NFT to the end user's wallet.
1112
+ */
1113
+ interface ReturnedTokenIdRedeem extends NormalRedeem {
1114
+ type: 'returned';
1115
+ nftContract?: string;
1116
+ }
1117
+ interface TokenRedeem extends CommonEvmRedeem {
1118
+ type: 'token';
1119
+ destination: string;
1120
+ }
1121
+ /**
1122
+ * If your contract exists on a chain supported by Decent, pass this object in order to call it.
1123
+ */
1124
+ interface DecentRedeem extends CommonEvmRedeem {
1125
+ type: 'decent';
1126
+ /**
1127
+ * ID of the destination chain you will be using
1128
+ * Find your chain ID here: https://chainlist.org/
1129
+ */
1130
+ dstChainId: number;
1131
+ /**
1132
+ * Address on that chain of the token you will be receiving
1133
+ */
1134
+ dstToken: string;
1135
+ /**
1136
+ * The contract address which will be called on the destination chain
1137
+ */
1138
+ contractAddress: string;
1139
+ contractData: string;
1140
+ /**
1141
+ * Amount of the token on the destination chain you will be receiving
1142
+ */
1143
+ cost: {
1144
+ /**
1145
+ * This is the raw amount of the token
1146
+ * ex: 50000000000000n
1147
+ */
1148
+ amount: string;
1149
+ /**
1150
+ * Whether or not the token is the native token for the chain (ex: Ethereum - ETH, Polygon - POL).
1151
+ * If native dstToken should be the 0 address (0x00...)
1152
+ */
1153
+ isNative: boolean;
1154
+ };
1155
+ }
1156
+ /**
1157
+ * (EVM only) if you want to execute an EVM transaction on a successful purchase, you can pass a transaction request here.
1158
+ *
1159
+ * Gas fees for the transaction will be automatically calculated and added to the total charged to the customer. Optionally the merchant can opt to pay for these gas fees.
1160
+ */
1161
+ type EvmTransactionData = SafeMintRedeem | ReturnedTokenIdRedeem | KnownTokenIdRedeem | NormalRedeem | TokenRedeem | DecentRedeem;
1162
+ interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId' | 'handleHeightChange'>, Pick<CoinflowCommonPurchaseProps, 'chargebackProtectionData' | 'webhookInfo' | 'subtotal' | 'presentment' | 'customerInfo' | 'settlementType' | 'email' | 'planCode' | 'deviceId' | 'jwtToken' | 'origins' | 'threeDsChallengePreference' | 'supportEmail' | 'allowedPaymentMethods' | 'accountFundingTransaction' | 'partialUsdcChecked' | 'isZeroAuthorization' | 'zeroAuthorizationConfig'>, Pick<CoinflowCommonWithdrawProps, 'bankAccountLinkRedirect' | 'additionalWallets' | 'transactionSigner' | 'lockAmount' | 'lockDefaultToken' | 'origins' | 'allowedWithdrawSpeeds'>, Pick<CoinflowEvmPurchaseProps, 'authOnly'>, Pick<CoinflowSolanaPurchaseProps, 'rent' | 'nativeSolToConvert' | 'destinationAuthKey' | 'redemptionCheck'> {
1163
+ walletPubkey: string | null | undefined;
1164
+ sessionKey?: string;
1165
+ route: string;
1166
+ routePrefix?: string;
1167
+ transaction?: string;
1168
+ tokens?: string[] | PublicKey[];
1169
+ merchantCss?: string;
1170
+ color?: 'white' | 'black';
1171
+ disableApplePay?: boolean;
1172
+ disableGooglePay?: boolean;
1173
+ theme?: MerchantTheme;
1174
+ usePermit?: boolean;
1175
+ handleHeightChangeId: string | number;
1176
+ }
1177
+ declare enum CardType {
1178
+ VISA = "VISA",
1179
+ MASTERCARD = "MSTR",
1180
+ AMEX = "AMEX",
1181
+ DISCOVER = "DISC"
1182
+ }
1183
+ interface RecipientAftInfo {
1184
+ /**
1185
+ * @minLength 2
1186
+ */
1187
+ firstName: string;
1188
+ /**
1189
+ * @minLength 2
1190
+ */
1191
+ lastName: string;
1192
+ /**
1193
+ * @minLength 2
1194
+ */
1195
+ address1: string;
1196
+ /**
1197
+ * @minLength 2
1198
+ */
1199
+ city: string;
1200
+ /**
1201
+ * @minLength 2
1202
+ */
1203
+ postalCode: string;
1204
+ /**
1205
+ * @minLength 2
1206
+ */
1207
+ state?: string;
1208
+ /**
1209
+ * @minLength 2
1210
+ * @maxLength 2
1211
+ */
1212
+ countryCode: string;
1213
+ /**
1214
+ * Recipients Date Of Birth in YYYMMDD format.
1215
+ * @pattern ^\d{8}$
1216
+ */
1217
+ dateOfBirth?: string;
1218
+ /**
1219
+ * @pattern ^\d+$
1220
+ */
1221
+ phoneNumber?: string;
1222
+ documentReference?: string;
1223
+ }
1224
+ declare const RN_REDIRECT_MESSAGE_NAME = "rnredirect";
1225
+
1226
+ declare class CoinflowUtils {
1227
+ env: CoinflowEnvs;
1228
+ url: string;
1229
+ constructor(env?: CoinflowEnvs);
1230
+ getNSurePartnerId(merchantId: string): Promise<string | undefined>;
1231
+ static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
1232
+ static getCoinflowAppBaseUrl(env?: CoinflowEnvs): string;
1233
+ static getCoinflowApiUrl(env?: CoinflowEnvs): string;
1234
+ static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, presentment, transaction, blockchain, webhookInfo, email, loaderBackground, handleHeightChangeId, bankAccountLinkRedirect, additionalWallets, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, allowedPaymentMethods, accountFundingTransaction, partialUsdcChecked, redemptionCheck, allowedWithdrawSpeeds, isZeroAuthorization, zeroAuthorizationConfig, baseUrl, }: CoinflowIFrameProps & {
1235
+ baseUrl?: string;
1236
+ }): string;
1237
+ static getTransaction(props: CoinflowPurchaseProps): string | undefined;
1238
+ static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
1239
+ solana: T;
1240
+ eth: T;
1241
+ polygon: T;
1242
+ base: T;
1243
+ arbitrum: T;
1244
+ monad: T;
1245
+ user: T;
1246
+ }): T;
1247
+ }
1248
+ interface FullName {
1249
+ firstName: string;
1250
+ lastName: string;
1251
+ }
1252
+ declare function getCustomerName(info: CustomerInfo | undefined): FullName | undefined;
1253
+
1254
+ type WalletCall = {
1255
+ method: IFrameMessageMethods;
1256
+ data: string;
1257
+ } | SuccessWalletCall;
1258
+ type SuccessWalletCall = {
1259
+ method: IFrameMessageMethods.Success;
1260
+ data: string;
1261
+ info: {
1262
+ paymentId: string;
1263
+ hash?: string;
1264
+ };
1265
+ };
1266
+ interface IFrameMessageHandlers {
1267
+ handleSendTransaction: (transaction: string) => Promise<string>;
1268
+ handleSignMessage?: (message: string) => Promise<string>;
1269
+ handleSignTransaction?: (transaction: string) => Promise<string>;
1270
+ handleHeightChange?: (height: string) => void;
1271
+ onSuccess: OnSuccessMethod | undefined;
1272
+ onAuthDeclined: OnAuthDeclinedMethod | undefined;
1273
+ }
1274
+ declare enum IFrameMessageMethods {
1275
+ SignMessage = "signMessage",
1276
+ SignTransaction = "signTransaction",
1277
+ SendTransaction = "sendTransaction",
1278
+ HeightChange = "heightChange",
1279
+ Success = "success",
1280
+ AuthDeclined = "authDeclined",
1281
+ Loaded = "loaded",
1282
+ AccountLinked = "accountLinked"
1283
+ }
1284
+ declare function getWalletPubkey(input: Pick<CoinflowPurchaseProps, 'wallet' | 'blockchain'>): string | null | undefined;
1285
+ declare function handleIFrameMessage(rawMessage: string, handlers: IFrameMessageHandlers, handleHeightChangeId: string | number): Promise<string> | void;
1286
+ declare function getHandlers(props: Pick<CoinflowPurchaseProps, 'wallet' | 'blockchain' | 'onSuccess' | 'onAuthDeclined'>): Omit<IFrameMessageHandlers, 'handleHeightChange'>;
1287
+
1288
+ type EventBusCallback = (event: Event) => void;
1289
+ declare class EventBus {
1290
+ static on(type: string, callback: EventBusCallback): void;
1291
+ static dispatch(type: string, data: any): void;
1292
+ static remove(type: string, callback: EventBusCallback): void;
1293
+ }
1294
+
1295
+ declare const TokenExCardNumberIframeId = "tokenExCardNumber";
1296
+ declare const TokenExCvvContainerID = "tokenExCardCvv";
1297
+ interface TokenExIframe extends ReturnType<typeof TokenEx.Iframe> {
1298
+ tokenize: () => Promise<TokenizationResponse>;
1299
+ }
1300
+ declare const CARD_TYPE_MAPPING: Record<CardType, string>;
1301
+ interface TokenExIFrameConfiguration {
1302
+ origin: string;
1303
+ timestamp: string;
1304
+ tokenExID: string;
1305
+ tokenScheme: string;
1306
+ authenticationKey: string;
1307
+ pci: true;
1308
+ token?: string;
1309
+ use3DS?: boolean;
1310
+ threeDSMethodNotificationUrl?: string;
1311
+ }
1312
+ interface CardFormInputStyles {
1313
+ base: Properties | string;
1314
+ placeholder?: Properties | string;
1315
+ focus?: Properties | string;
1316
+ error?: Properties | string;
1317
+ }
1318
+ type CoinflowCardTokenResponse = {
1319
+ token: string;
1320
+ };
1321
+ interface CoinflowCardNumberInputProps {
1322
+ env: CoinflowEnvs;
1323
+ css: CardFormInputStyles & {
1324
+ cvv: CardFormInputStyles;
1325
+ };
1326
+ debug?: boolean;
1327
+ origins: string[];
1328
+ font?: string;
1329
+ }
1330
+ interface CoinflowCvvOnlyInputProps {
1331
+ token: string;
1332
+ cardType: CardType;
1333
+ env: CoinflowEnvs;
1334
+ css: CardFormInputStyles & {
1335
+ cvv: CardFormInputStyles;
1336
+ };
1337
+ debug?: boolean;
1338
+ origins: string[];
1339
+ font?: string;
1340
+ }
1341
+ interface VersionDetail {
1342
+ threeDSMethodURL: string;
1343
+ acsStartProtocolVersion: string;
1344
+ acsEndProtocolVersion: string;
1345
+ threeDSServerStartVersion: string;
1346
+ threeDSServerEndVersion?: string;
1347
+ acsInfoInd: [string];
1348
+ directoryServerID: string;
1349
+ dsStartProtocolVersion: string;
1350
+ dsEndProtocolVersion: string;
1351
+ dsIdentifier: string;
1352
+ threeDSServerTransID: string;
1353
+ }
1354
+ interface TokenizationResponse {
1355
+ cardType: string;
1356
+ cvvIncluded: true;
1357
+ firstSix: string;
1358
+ lastFour: string;
1359
+ referenceNumber: string;
1360
+ token: string;
1361
+ tokenHMAC: string;
1362
+ recommended3dsVersion?: Record<string, string>;
1363
+ threeDSecureResponse?: VersionDetail[];
1364
+ }
1365
+
1366
+ type MerchantIdOrCheckoutJwt = {
1367
+ checkoutJwt: string;
1368
+ } | {
1369
+ merchantId: string;
1370
+ };
1371
+ interface CommonDoInitializeTokenExIframeArgs {
1372
+ css: string;
1373
+ debug?: boolean;
1374
+ font?: string;
1375
+ origins: string[];
1376
+ tokenExScriptLoaded: boolean;
1377
+ env: CoinflowEnvs;
1378
+ setCachedToken: (s: string | undefined) => void;
1379
+ setLoaded: (b: boolean) => void;
1380
+ }
1381
+ type DoInitializeTokenExIframeArgs = CommonDoInitializeTokenExIframeArgs & MerchantIdOrCheckoutJwt;
1382
+ type DoInitializeCvvOnlyTokenExIframeArgs = DoInitializeTokenExIframeArgs & {
1383
+ token: string;
1384
+ cardType: CardType;
1385
+ };
1386
+ type GetIFrameConfigArgs = {
1387
+ token?: string;
1388
+ origins: string[];
1389
+ env: CoinflowEnvs;
1390
+ } & MerchantIdOrCheckoutJwt;
1391
+ declare function getIframeConfig(args: GetIFrameConfigArgs): Promise<TokenExIFrameConfiguration>;
1392
+ declare function setTokenExScriptTag({ env, setTokenExScriptLoaded, }: {
1393
+ env: CoinflowEnvs;
1394
+ setTokenExScriptLoaded: (b: boolean) => void;
1395
+ }): void;
1396
+ declare function doInitializeCvvOnlyTokenExIframe(args: DoInitializeCvvOnlyTokenExIframeArgs): Promise<TokenExIframe | undefined>;
1397
+ declare function doInitializeTokenExIframe(args: DoInitializeTokenExIframeArgs): Promise<TokenExIframe | undefined>;
1398
+ declare function doInitializeTokenExCardOnlyIframe(args: DoInitializeTokenExIframeArgs): Promise<TokenExIframe | undefined>;
1399
+
1400
+ declare class CoinflowIFrameComponent {
1401
+ private sanitizer;
1402
+ iframeProps: CoinflowIFrameProps;
1403
+ messageHandlers: IFrameMessageHandlers;
1404
+ onLoad?: () => void | Promise<void>;
1405
+ waitForLoadedMessage?: boolean;
1406
+ messageEvent: EventEmitter<any>;
1407
+ dynamicUrl?: SafeResourceUrl;
1408
+ iframe?: ElementRef<HTMLIFrameElement>;
1409
+ private isLoading;
1410
+ constructor(sanitizer: DomSanitizer);
1411
+ ngOnInit(): void;
1412
+ onPostMessage(event: any): void;
1413
+ sendMessage(message: string): void;
1414
+ handleIframeLoad(): void;
1415
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowIFrameComponent, never>;
1416
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowIFrameComponent, "lib-coinflow-iframe", never, { "iframeProps": { "alias": "iframeProps"; "required": false; }; "messageHandlers": { "alias": "messageHandlers"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "waitForLoadedMessage": { "alias": "waitForLoadedMessage"; "required": false; }; }, { "messageEvent": "messageEvent"; }, never, never, true, never>;
1417
+ }
1418
+
1419
+ declare class CoinflowPurchaseComponent {
1420
+ purchaseProps: CoinflowPurchaseProps & WithOnLoad;
1421
+ iframeProps?: CoinflowIFrameProps;
1422
+ messageHandlers?: IFrameMessageHandlers;
1423
+ ngOnInit(): void;
1424
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowPurchaseComponent, never>;
1425
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowPurchaseComponent, "lib-coinflow-purchase", never, { "purchaseProps": { "alias": "purchaseProps"; "required": false; }; }, {}, never, never, true, never>;
1426
+ }
1427
+
1428
+ declare class CoinflowPurchaseHistoryComponent {
1429
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowPurchaseHistoryComponent, never>;
1430
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowPurchaseHistoryComponent, "lib-coinflow-purchase-history", never, {}, {}, never, never, true, never>;
1431
+ }
1432
+
1433
+ declare class CoinflowPurchaseProtectionComponent {
1434
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowPurchaseProtectionComponent, never>;
1435
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowPurchaseProtectionComponent, "lib-coinflow-purchase-protection", never, {}, {}, never, never, true, never>;
1436
+ }
1437
+
1438
+ declare class CoinflowWithdrawComponent {
1439
+ withdrawProps: CoinflowWithdrawProps & WithOnLoad;
1440
+ iframeProps?: CoinflowIFrameProps;
1441
+ messageHandlers?: IFrameMessageHandlers;
1442
+ ngOnInit(): void;
1443
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowWithdrawComponent, never>;
1444
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowWithdrawComponent, "lib-coinflow-withdraw", never, { "withdrawProps": { "alias": "withdrawProps"; "required": false; }; }, {}, never, never, true, never>;
1445
+ }
1446
+
1447
+ declare class CoinflowWithdrawHistoryComponent {
1448
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowWithdrawHistoryComponent, never>;
1449
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowWithdrawHistoryComponent, "lib-coinflow-withdraw-history", never, {}, {}, never, never, true, never>;
1450
+ }
1451
+
1452
+ declare class CoinflowCardNumberInput implements OnDestroy {
1453
+ private cardFormService;
1454
+ args: CoinflowCardNumberInputProps & MerchantIdOrCheckoutJwt;
1455
+ private iframe;
1456
+ private onScriptLoaded;
1457
+ private initializeTokenEx;
1458
+ reinitialize(): void;
1459
+ ngOnInit(): void;
1460
+ ngOnDestroy(): void;
1461
+ tokenize(): Promise<TokenizationResponse>;
1462
+ protected readonly TokenExCardNumberIframeId = "tokenExCardNumber";
1463
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowCardNumberInput, never>;
1464
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowCardNumberInput, "lib-coinflow-card-number-input", never, { "args": { "alias": "args"; "required": false; }; }, {}, never, never, true, never>;
1465
+ }
1466
+
1467
+ declare class CoinflowCardNumberOnlyInput implements OnDestroy {
1468
+ private cardFormService;
1469
+ args: CoinflowCardNumberInputProps & MerchantIdOrCheckoutJwt;
1470
+ private iframe;
1471
+ private onScriptLoaded;
1472
+ private initializeTokenEx;
1473
+ reinitialize(): void;
1474
+ ngOnInit(): void;
1475
+ ngOnDestroy(): void;
1476
+ tokenize(): Promise<TokenizationResponse>;
1477
+ protected readonly TokenExCardNumberIframeId = "tokenExCardNumber";
1478
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowCardNumberOnlyInput, never>;
1479
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowCardNumberOnlyInput, "lib-coinflow-card-number-only-input", never, { "args": { "alias": "args"; "required": false; }; }, {}, never, never, true, never>;
1480
+ }
1481
+
1482
+ declare class CoinflowCvvInputComponent {
1483
+ protected readonly TokenExCvvContainerID = "tokenExCardCvv";
1484
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowCvvInputComponent, never>;
1485
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowCvvInputComponent, "lib-coinflow-cvv-input", never, {}, {}, never, never, true, never>;
1486
+ }
1487
+
1488
+ declare class CoinflowCvvOnlyInputComponent implements OnDestroy {
1489
+ private cardFormService;
1490
+ args: CoinflowCvvOnlyInputProps & MerchantIdOrCheckoutJwt;
1491
+ private iframe;
1492
+ private onScriptLoaded;
1493
+ private cleanup;
1494
+ private initializeTokenEx;
1495
+ ngOnChanges(changes: SimpleChanges): void;
1496
+ reinitialize(): void;
1497
+ ngOnInit(): void;
1498
+ ngOnDestroy(): void;
1499
+ tokenize(): Promise<TokenizationResponse>;
1500
+ protected readonly TokenExCvvContainerID = "tokenExCardCvv";
1501
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowCvvOnlyInputComponent, never>;
1502
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowCvvOnlyInputComponent, "lib-coinflow-cvv-only-input", never, { "args": { "alias": "args"; "required": false; }; }, {}, never, never, true, never>;
1503
+ }
1504
+
1505
+ declare class CoinflowApplePayButtonComponent {
1506
+ purchaseProps: CoinflowPurchaseProps & {
1507
+ color: 'white' | 'black';
1508
+ onError?: (message: string) => void;
1509
+ };
1510
+ fill(): "#000" | "#FFF";
1511
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowApplePayButtonComponent, never>;
1512
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowApplePayButtonComponent, "lib-coinflow-apple-pay-button", never, { "purchaseProps": { "alias": "purchaseProps"; "required": false; }; }, {}, never, never, true, never>;
1513
+ }
1514
+
1515
+ declare class CoinflowGooglePayButtonComponent {
1516
+ purchaseProps: CoinflowPurchaseProps & {
1517
+ color: 'white' | 'black';
1518
+ onError?: (message: string) => void;
1519
+ };
1520
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoinflowGooglePayButtonComponent, never>;
1521
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoinflowGooglePayButtonComponent, "lib-coinflow-google-pay-button", never, { "purchaseProps": { "alias": "purchaseProps"; "required": false; }; }, {}, never, never, true, never>;
1522
+ }
1523
+
1524
+ type WithOnLoad = {
1525
+ onLoad?: () => void | Promise<void>;
1526
+ };
1527
+
1528
+ export { BankingCurrencies, CARD_TYPE_MAPPING, CardType, CoinflowApplePayButtonComponent, CoinflowCardNumberInput, CoinflowCardNumberOnlyInput, CoinflowCvvInputComponent, CoinflowCvvOnlyInputComponent, CoinflowGooglePayButtonComponent, CoinflowIFrameComponent, CoinflowPurchaseComponent, CoinflowPurchaseHistoryComponent, CoinflowPurchaseProtectionComponent, CoinflowUtils, CoinflowWithdrawComponent, CoinflowWithdrawHistoryComponent, Currency, CurrencyToISO4217, EventBus, IFrameMessageMethods, MerchantStyle, PaymentMethods, RN_REDIRECT_MESSAGE_NAME, SettlementType, ThreeDsChallengePreference, TokenExCardNumberIframeId, TokenExCvvContainerID, WithdrawCategory, WithdrawCurrencies, WithdrawSpeed, doInitializeCvvOnlyTokenExIframe, doInitializeTokenExCardOnlyIframe, doInitializeTokenExIframe, getCurrencyDecimals, getCustomerName, getHandlers, getIframeConfig, getWalletPubkey, handleIFrameMessage, isBankingCurrency, isTypedCurrencyCents, isWithdrawCurrency, isZeroAuthSavedPaymentMethods, isZeroAuthVerifyCard, nftCartItem, paymentMethodLabels, productType, setTokenExScriptTag };
1529
+ export type { AccountFundingTransaction, AnyObject, ArbitrumWalletProps, AuthDeclinedWalletCallInfo, BankingCurrency, BaseWalletProps, CardFormInputStyles, Cart, CartClassOmitted, CartItem, CartItemClassOmitted, Cents, ChargebackProtectionData, ChargebackProtectionItem, CoinflowArbitrumHistoryProps, CoinflowArbitrumPurchaseProps, CoinflowArbitrumWithdrawProps, CoinflowBaseHistoryProps, CoinflowBasePurchaseProps, CoinflowBaseWithdrawProps, CoinflowBlockchain, CoinflowCardNumberInputProps, CoinflowCardTokenResponse, CoinflowCommonPurchaseProps, CoinflowCommonWithdrawProps, CoinflowCvvOnlyInputProps, CoinflowEnvs, CoinflowEthHistoryProps, CoinflowEthPurchaseProps, CoinflowEthWithdrawProps, CoinflowEvmHistoryProps, CoinflowEvmPurchaseProps, CoinflowHistoryProps, CoinflowIFrameProps, CoinflowMonadHistoryProps, CoinflowMonadPurchaseProps, CoinflowMonadWithdrawProps, CoinflowPolygonHistoryProps, CoinflowPolygonPurchaseProps, CoinflowPolygonWithdrawProps, CoinflowPurchaseProps, CoinflowSessionKeyHistoryProps, CoinflowSessionKeyPurchaseProps, CoinflowSolanaHistoryProps, CoinflowSolanaPurchaseProps, CoinflowSolanaWithdrawProps, CoinflowTypes, CoinflowWithdrawProps, CommonDoInitializeTokenExIframeArgs, CommonEvmRedeem, CryptoCartItem, CurrencyCents, CustomerInfo, DecentRedeem, DoInitializeCvvOnlyTokenExIframeArgs, DoInitializeTokenExIframeArgs, EthWallet, EthWalletProps, EventBusCallback, EvmTransactionData, FullName, GetIFrameConfigArgs, GiftCardCartItem, IFrameMessageHandlers, KnownTokenIdRedeem, MerchantIdOrCheckoutJwt, MerchantTheme, MergeWithOptionalDiff, MonadWalletProps, NameCustomerInfo, NftCartItemClassOmitted, NormalRedeem, OnAuthDeclinedMethod, OnSuccessMethod, PartialBy, PolygonWalletProps, RecipientAftInfo, ReturnedTokenIdRedeem, SafeMintRedeem, SolanaWallet, SolanaWalletProps, SplitNameCustomerInfo, Subtotal, TokenExIFrameConfiguration, TokenExIframe, TokenRedeem, TokenSubtotal, TokenizationResponse, TypedCurrencyCents, VersionDetail, WalletCall, WalletTypes, WithOnLoad, WithdrawCurrency, ZeroAuthSavedPaymentMethods, ZeroAuthVerifyCard, ZeroAuthorizationConfig };