react-native-fpay 0.1.1

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 (167) hide show
  1. package/Fpay.podspec +20 -0
  2. package/LICENSE +20 -0
  3. package/README.md +37 -0
  4. package/android/build.gradle +67 -0
  5. package/android/src/main/AndroidManifest.xml +2 -0
  6. package/android/src/main/java/com/fpay/FpayModule.kt +15 -0
  7. package/android/src/main/java/com/fpay/FpayPackage.kt +31 -0
  8. package/ios/Fpay.h +5 -0
  9. package/ios/Fpay.mm +21 -0
  10. package/lib/module/FountainPayProvider.js +18 -0
  11. package/lib/module/FountainPayProvider.js.map +1 -0
  12. package/lib/module/core/api/client.js +47 -0
  13. package/lib/module/core/api/client.js.map +1 -0
  14. package/lib/module/core/api/index.js +35 -0
  15. package/lib/module/core/api/index.js.map +1 -0
  16. package/lib/module/core/types/index.js +4 -0
  17. package/lib/module/core/types/index.js.map +1 -0
  18. package/lib/module/engine/BLEReceiverService.js +190 -0
  19. package/lib/module/engine/BLEReceiverService.js.map +1 -0
  20. package/lib/module/engine/BLESenderService.js +259 -0
  21. package/lib/module/engine/BLESenderService.js.map +1 -0
  22. package/lib/module/engine/FPEngine.js +340 -0
  23. package/lib/module/engine/FPEngine.js.map +1 -0
  24. package/lib/module/engine/NearbyUsersService.js +87 -0
  25. package/lib/module/engine/NearbyUsersService.js.map +1 -0
  26. package/lib/module/index.js +16 -0
  27. package/lib/module/index.js.map +1 -0
  28. package/lib/module/package.json +1 -0
  29. package/lib/module/ui/components/FPButton.js +71 -0
  30. package/lib/module/ui/components/FPButton.js.map +1 -0
  31. package/lib/module/ui/components/LoadingAnimation/InLoading.js +74 -0
  32. package/lib/module/ui/components/LoadingAnimation/InLoading.js.map +1 -0
  33. package/lib/module/ui/components/LoadingAnimation/index.js +82 -0
  34. package/lib/module/ui/components/LoadingAnimation/index.js.map +1 -0
  35. package/lib/module/ui/components/OtpInput/OTPInputView.js +290 -0
  36. package/lib/module/ui/components/OtpInput/OTPInputView.js.map +1 -0
  37. package/lib/module/ui/components/OtpInput/Styles.js +20 -0
  38. package/lib/module/ui/components/OtpInput/Styles.js.map +1 -0
  39. package/lib/module/ui/components/OtpInput/helpers/codeToArray.js +7 -0
  40. package/lib/module/ui/components/OtpInput/helpers/codeToArray.js.map +1 -0
  41. package/lib/module/ui/components/OtpInput/helpers/device.js +9 -0
  42. package/lib/module/ui/components/OtpInput/helpers/device.js.map +1 -0
  43. package/lib/module/ui/components/OtpInput/helpers/styles.js +17 -0
  44. package/lib/module/ui/components/OtpInput/helpers/styles.js.map +1 -0
  45. package/lib/module/ui/components/OtpInput/helpers/types.js +4 -0
  46. package/lib/module/ui/components/OtpInput/helpers/types.js.map +1 -0
  47. package/lib/module/ui/components/OtpInput/index.js +45 -0
  48. package/lib/module/ui/components/OtpInput/index.js.map +1 -0
  49. package/lib/module/ui/components/PulseAnimation.js +61 -0
  50. package/lib/module/ui/components/PulseAnimation.js.map +1 -0
  51. package/lib/module/ui/modals/FPPaymentRequestModal.js +253 -0
  52. package/lib/module/ui/modals/FPPaymentRequestModal.js.map +1 -0
  53. package/lib/module/ui/modals/FPShell.js +180 -0
  54. package/lib/module/ui/modals/FPShell.js.map +1 -0
  55. package/lib/module/ui/screens/ReceiveScreen.js +291 -0
  56. package/lib/module/ui/screens/ReceiveScreen.js.map +1 -0
  57. package/lib/module/ui/screens/SendScreen.js +216 -0
  58. package/lib/module/ui/screens/SendScreen.js.map +1 -0
  59. package/lib/module/ui/screens/sub/BluetoothSubScreen.js +403 -0
  60. package/lib/module/ui/screens/sub/BluetoothSubScreen.js.map +1 -0
  61. package/lib/module/ui/screens/sub/NFCSubScreen.js +169 -0
  62. package/lib/module/ui/screens/sub/NFCSubScreen.js.map +1 -0
  63. package/lib/module/ui/screens/sub/NQRSubScreen.js +136 -0
  64. package/lib/module/ui/screens/sub/NQRSubScreen.js.map +1 -0
  65. package/lib/module/ui/screens/sub/ProximitySubScreen.js +501 -0
  66. package/lib/module/ui/screens/sub/ProximitySubScreen.js.map +1 -0
  67. package/lib/module/ui/screens/sub/TransferSubScreen.js +361 -0
  68. package/lib/module/ui/screens/sub/TransferSubScreen.js.map +1 -0
  69. package/lib/module/ui/theme/index.js +64 -0
  70. package/lib/module/ui/theme/index.js.map +1 -0
  71. package/lib/module/useFountainPay.js +82 -0
  72. package/lib/module/useFountainPay.js.map +1 -0
  73. package/lib/typescript/package.json +1 -0
  74. package/lib/typescript/src/FountainPayProvider.d.ts +7 -0
  75. package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -0
  76. package/lib/typescript/src/core/api/client.d.ts +7 -0
  77. package/lib/typescript/src/core/api/client.d.ts.map +1 -0
  78. package/lib/typescript/src/core/api/index.d.ts +67 -0
  79. package/lib/typescript/src/core/api/index.d.ts.map +1 -0
  80. package/lib/typescript/src/core/types/index.d.ts +130 -0
  81. package/lib/typescript/src/core/types/index.d.ts.map +1 -0
  82. package/lib/typescript/src/engine/BLEReceiverService.d.ts +43 -0
  83. package/lib/typescript/src/engine/BLEReceiverService.d.ts.map +1 -0
  84. package/lib/typescript/src/engine/BLESenderService.d.ts +39 -0
  85. package/lib/typescript/src/engine/BLESenderService.d.ts.map +1 -0
  86. package/lib/typescript/src/engine/FPEngine.d.ts +24 -0
  87. package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -0
  88. package/lib/typescript/src/engine/NearbyUsersService.d.ts +19 -0
  89. package/lib/typescript/src/engine/NearbyUsersService.d.ts.map +1 -0
  90. package/lib/typescript/src/index.d.ts +4 -0
  91. package/lib/typescript/src/index.d.ts.map +1 -0
  92. package/lib/typescript/src/ui/components/FPButton.d.ts +12 -0
  93. package/lib/typescript/src/ui/components/FPButton.d.ts.map +1 -0
  94. package/lib/typescript/src/ui/components/LoadingAnimation/InLoading.d.ts +7 -0
  95. package/lib/typescript/src/ui/components/LoadingAnimation/InLoading.d.ts.map +1 -0
  96. package/lib/typescript/src/ui/components/LoadingAnimation/index.d.ts +6 -0
  97. package/lib/typescript/src/ui/components/LoadingAnimation/index.d.ts.map +1 -0
  98. package/lib/typescript/src/ui/components/OtpInput/OTPInputView.d.ts +29 -0
  99. package/lib/typescript/src/ui/components/OtpInput/OTPInputView.d.ts.map +1 -0
  100. package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts +330 -0
  101. package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts.map +1 -0
  102. package/lib/typescript/src/ui/components/OtpInput/helpers/codeToArray.d.ts +6 -0
  103. package/lib/typescript/src/ui/components/OtpInput/helpers/codeToArray.d.ts.map +1 -0
  104. package/lib/typescript/src/ui/components/OtpInput/helpers/device.d.ts +6 -0
  105. package/lib/typescript/src/ui/components/OtpInput/helpers/device.d.ts.map +1 -0
  106. package/lib/typescript/src/ui/components/OtpInput/helpers/styles.d.ts +6 -0
  107. package/lib/typescript/src/ui/components/OtpInput/helpers/styles.d.ts.map +1 -0
  108. package/lib/typescript/src/ui/components/OtpInput/helpers/types.d.ts +84 -0
  109. package/lib/typescript/src/ui/components/OtpInput/helpers/types.d.ts.map +1 -0
  110. package/lib/typescript/src/ui/components/OtpInput/index.d.ts +9 -0
  111. package/lib/typescript/src/ui/components/OtpInput/index.d.ts.map +1 -0
  112. package/lib/typescript/src/ui/components/PulseAnimation.d.ts +2 -0
  113. package/lib/typescript/src/ui/components/PulseAnimation.d.ts.map +1 -0
  114. package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts +2 -0
  115. package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts.map +1 -0
  116. package/lib/typescript/src/ui/modals/FPShell.d.ts +2 -0
  117. package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -0
  118. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts +10 -0
  119. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts.map +1 -0
  120. package/lib/typescript/src/ui/screens/SendScreen.d.ts +9 -0
  121. package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -0
  122. package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts +552 -0
  123. package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts.map +1 -0
  124. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts +19 -0
  125. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts.map +1 -0
  126. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts +13 -0
  127. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts.map +1 -0
  128. package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts +552 -0
  129. package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts.map +1 -0
  130. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts +12 -0
  131. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts.map +1 -0
  132. package/lib/typescript/src/ui/theme/index.d.ts +62 -0
  133. package/lib/typescript/src/ui/theme/index.d.ts.map +1 -0
  134. package/lib/typescript/src/useFountainPay.d.ts +3 -0
  135. package/lib/typescript/src/useFountainPay.d.ts.map +1 -0
  136. package/package.json +217 -0
  137. package/src/FountainPayProvider.tsx +21 -0
  138. package/src/core/api/client.ts +47 -0
  139. package/src/core/api/index.ts +61 -0
  140. package/src/core/types/index.ts +144 -0
  141. package/src/engine/BLEReceiverService.ts +244 -0
  142. package/src/engine/BLESenderService.ts +314 -0
  143. package/src/engine/FPEngine.ts +370 -0
  144. package/src/engine/NearbyUsersService.ts +106 -0
  145. package/src/index.ts +30 -0
  146. package/src/ui/components/FPButton.tsx +42 -0
  147. package/src/ui/components/LoadingAnimation/InLoading.tsx +88 -0
  148. package/src/ui/components/LoadingAnimation/index.tsx +93 -0
  149. package/src/ui/components/OtpInput/OTPInputView.tsx +243 -0
  150. package/src/ui/components/OtpInput/Styles.ts +19 -0
  151. package/src/ui/components/OtpInput/helpers/codeToArray.ts +3 -0
  152. package/src/ui/components/OtpInput/helpers/device.ts +6 -0
  153. package/src/ui/components/OtpInput/helpers/styles.ts +17 -0
  154. package/src/ui/components/OtpInput/helpers/types.ts +88 -0
  155. package/src/ui/components/OtpInput/index.tsx +51 -0
  156. package/src/ui/components/PulseAnimation.tsx +78 -0
  157. package/src/ui/modals/FPPaymentRequestModal.tsx +158 -0
  158. package/src/ui/modals/FPShell.tsx +107 -0
  159. package/src/ui/screens/ReceiveScreen.tsx +119 -0
  160. package/src/ui/screens/SendScreen.tsx +86 -0
  161. package/src/ui/screens/sub/BluetoothSubScreen.tsx +433 -0
  162. package/src/ui/screens/sub/NFCSubScreen.tsx +83 -0
  163. package/src/ui/screens/sub/NQRSubScreen.tsx +61 -0
  164. package/src/ui/screens/sub/ProximitySubScreen.tsx +390 -0
  165. package/src/ui/screens/sub/TransferSubScreen.tsx +146 -0
  166. package/src/ui/theme/index.ts +24 -0
  167. package/src/useFountainPay.ts +95 -0
@@ -0,0 +1,130 @@
1
+ import type { Device } from "react-native-ble-plx";
2
+ export type FPCurrency = 'NGN' | 'USD' | 'GBP' | 'EUR' | string;
3
+ export type FPChannel = 'transfer' | 'nqr' | 'proximity' | 'bluetooth' | 'nfc';
4
+ export type FPTxStatus = 'pending' | 'processing' | 'successful' | 'failed' | 'reversed';
5
+ export type FPTxType = 'debit' | 'credit';
6
+ export interface FPUserInfo {
7
+ accountName: string;
8
+ accountNumber: string;
9
+ bankName: string;
10
+ bankCode: string;
11
+ phone?: string;
12
+ email?: string;
13
+ userId?: string;
14
+ }
15
+ export interface FPSDKOptions {
16
+ baseUrl?: string;
17
+ environment?: 'sandbox' | 'production';
18
+ proximityRadius?: number;
19
+ bluetoothDisplayName?: string;
20
+ }
21
+ export interface FPParty {
22
+ accountName: string;
23
+ accountNumber?: string;
24
+ bankName?: string;
25
+ bankCode?: string;
26
+ phone?: string;
27
+ email?: string;
28
+ }
29
+ export interface FPTransaction {
30
+ id: string;
31
+ reference: string;
32
+ type: FPTxType;
33
+ channel: FPChannel;
34
+ amount: number;
35
+ currency: FPCurrency;
36
+ status: FPTxStatus;
37
+ description?: string;
38
+ sender?: FPParty;
39
+ recipient?: FPParty;
40
+ metadata?: Record<string, unknown>;
41
+ createdAt: string;
42
+ }
43
+ export interface FPGenerateAccountRequest {
44
+ accountName: string;
45
+ email?: string;
46
+ phone?: string;
47
+ reference?: string;
48
+ amount?: number;
49
+ currency?: FPCurrency;
50
+ expiresInMinutes?: number;
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ export interface FPVirtualAccount {
54
+ accountNumber: string;
55
+ accountName: string;
56
+ bankName: string;
57
+ bankCode: string;
58
+ currency: FPCurrency;
59
+ balance: number;
60
+ reference: string;
61
+ walletId: string;
62
+ qrCode?: string;
63
+ expiresAt?: string;
64
+ createdAt: string;
65
+ }
66
+ export interface FPBluetoothPaymentRequest {
67
+ requestId: string;
68
+ sender: FPParty & {
69
+ deviceId: string;
70
+ deviceName?: string;
71
+ };
72
+ amount: number;
73
+ currency: FPCurrency;
74
+ narration?: string;
75
+ timestamp: string;
76
+ }
77
+ export interface FPProximityPeer {
78
+ peerId: string;
79
+ displayName: string;
80
+ accountNumber: string;
81
+ bankCode: string;
82
+ bankName: string;
83
+ distance?: number;
84
+ lastSeen: string;
85
+ }
86
+ export interface FPNQRData {
87
+ qrString: string;
88
+ qrCodeImageBase64: string;
89
+ reference: string;
90
+ amount?: number;
91
+ currency?: FPCurrency;
92
+ expiresAt?: string;
93
+ }
94
+ export interface FPBankItem {
95
+ name: string;
96
+ code: string;
97
+ logo?: string;
98
+ }
99
+ export interface FPCallbacks {
100
+ onPaymentRequest?: (request: FPBluetoothPaymentRequest) => void;
101
+ onPaymentReceived?: (transaction: FPTransaction) => void;
102
+ onPaymentDeclined?: (request: FPBluetoothPaymentRequest) => void;
103
+ onPaymentSent?: (transaction: FPTransaction) => void;
104
+ onError?: (error: FPError) => void;
105
+ }
106
+ export interface FPError {
107
+ code: string;
108
+ message: string;
109
+ statusCode?: number;
110
+ }
111
+ export interface FPInstance {
112
+ initializeSDK: (user: FPUserInfo, callbacks?: FPCallbacks) => Promise<void>;
113
+ send: (amount: number, currency: FPCurrency) => void;
114
+ receive: (amount?: number, currency?: FPCurrency) => void;
115
+ generateAccountNumber: (request: FPGenerateAccountRequest) => Promise<FPVirtualAccount>;
116
+ listen: () => void;
117
+ destroy: () => void;
118
+ isReady: boolean;
119
+ currentUser: FPUserInfo | null;
120
+ }
121
+ export interface FintechDevice {
122
+ id: string;
123
+ name: string;
124
+ appName: string;
125
+ userName?: string;
126
+ rssi: number;
127
+ rawDevice: Device;
128
+ waiting?: boolean;
129
+ }
130
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare const FP_SERVICE_UUID = "E8E66D12-C217-425A-AB36-DDBA22F22A5D";
2
+ export declare const FP_REQUEST_CHAR_UUID = "E1CC0349-343A-4E12-A4EF-CF69A681EE86";
3
+ export declare const FP_RESPONSE_CHAR_UUID = "DA9318CA-C740-4951-9C7C-5747FE002EF9";
4
+ export declare const FP_USERINFO_CHAR_UUID = "933CA5AE-4D53-4CF4-864A-2FF51AFA05E9";
5
+ export interface BLEPaymentRequest {
6
+ amount: number;
7
+ currency: string;
8
+ senderId: string;
9
+ senderName: string;
10
+ timestamp: number;
11
+ }
12
+ export interface BLEPaymentResponse {
13
+ accepted: boolean;
14
+ transactionId?: string;
15
+ timestamp: number;
16
+ accountDetails?: {
17
+ accountName: string;
18
+ accountNumber: string;
19
+ bankName: string;
20
+ bankCode: string;
21
+ };
22
+ requestTimestamp?: number;
23
+ }
24
+ export type PaymentRequestCallback = (request: BLEPaymentRequest, deviceId: string) => void;
25
+ declare class BLEReceiverService {
26
+ private peripheral;
27
+ private isAdvertising;
28
+ private onRequestCallback;
29
+ private userInfo;
30
+ initializeWithUserInfo(userId: string, userName: string, appName?: string): Promise<void>;
31
+ private _requestPermissions;
32
+ startAdvertising(): Promise<void>;
33
+ private _setupEventListeners;
34
+ private _handlePaymentRequest;
35
+ listenForPaymentRequests(callback: PaymentRequestCallback): void;
36
+ sendPaymentResponse(response: BLEPaymentResponse): Promise<void>;
37
+ stopAdvertising(): Promise<void>;
38
+ getIsAdvertising(): boolean;
39
+ destroy(): void;
40
+ }
41
+ declare const _default: BLEReceiverService;
42
+ export default _default;
43
+ //# sourceMappingURL=BLEReceiverService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BLEReceiverService.d.ts","sourceRoot":"","sources":["../../../../src/engine/BLEReceiverService.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,yCAA+C,CAAC;AAC5E,eAAO,MAAM,oBAAoB,yCAA0C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAC5E,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAI5E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAI5F,cAAM,kBAAkB;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAwD;IAIlE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAKxF,mBAAmB;IAgB3B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuFvC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,qBAAqB;IAiC7B,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAK1D,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC,gBAAgB,IAAI,OAAO;IAE3B,OAAO,IAAI,IAAI;CAKhB;;AAED,wBAAwC"}
@@ -0,0 +1,39 @@
1
+ import { Device } from 'react-native-ble-plx';
2
+ import type { FintechDevice } from '../core/types';
3
+ export interface BLESendPaymentRequest {
4
+ amount: number;
5
+ currency: string;
6
+ senderId: string;
7
+ senderName: string;
8
+ timestamp: number;
9
+ }
10
+ export interface BLESendPaymentResponse {
11
+ accepted: boolean;
12
+ transactionId?: string;
13
+ timestamp: number;
14
+ accountDetails?: {
15
+ accountName: string;
16
+ accountNumber: string;
17
+ bankName: string;
18
+ bankCode: string;
19
+ };
20
+ requestTimestamp?: number;
21
+ }
22
+ declare class BLESenderService {
23
+ private bleManager;
24
+ private connectedDevices;
25
+ private monitorSubscription;
26
+ constructor();
27
+ initialize(): Promise<void>;
28
+ private _requestPermissions;
29
+ private _initializeBLE;
30
+ scanForDevices(onDeviceFound: (device: FintechDevice) => void, durationMs?: number): Promise<void>;
31
+ private _readDeviceInfo;
32
+ connectToDevice(deviceId: string): Promise<Device>;
33
+ sendPaymentRequest(deviceId: string, request: BLESendPaymentRequest): Promise<BLESendPaymentResponse>;
34
+ disconnectDevice(deviceId: string): Promise<void>;
35
+ destroy(): void;
36
+ }
37
+ declare const _default: BLESenderService;
38
+ export default _default;
39
+ //# sourceMappingURL=BLESenderService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BLESenderService.d.ts","sourceRoot":"","sources":["../../../../src/engine/BLESenderService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,MAAM,EAAqC,MAAM,sBAAsB,CAAC;AAS7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,cAAM,gBAAgB;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAAa;;IAQlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAKnB,mBAAmB;IAcjC,OAAO,CAAC,cAAc;IA+BhB,cAAc,CAClB,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,EAC9C,UAAU,SAAO,GAChB,OAAO,CAAC,IAAI,CAAC;YAsCF,eAAe;IAyBvB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBlD,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA0F5B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,OAAO,IAAI,IAAI;CAMhB;;AAED,wBAAsC"}
@@ -0,0 +1,24 @@
1
+ import type { FPUserInfo, FPSDKOptions, FPCallbacks, FPBluetoothPaymentRequest, FPVirtualAccount, FPGenerateAccountRequest, FintechDevice } from '../core/types';
2
+ import { type BLESendPaymentRequest, type BLESendPaymentResponse } from './BLESenderService';
3
+ type FPEventName = 'incoming_payment_request' | 'show_send' | 'show_receive';
4
+ export declare function _emitEvent(event: FPEventName, data?: unknown): void;
5
+ export declare function _onEvent(event: FPEventName, fn: Function): () => void;
6
+ export declare const FPEngine: {
7
+ initialize(apiKey: string, user: FPUserInfo, options?: FPSDKOptions, callbacks?: FPCallbacks): Promise<void>;
8
+ deviceConnection(deviceId: string): Promise<void>;
9
+ startListening(): void;
10
+ stopListening(): void;
11
+ acceptPaymentRequest(request: FPBluetoothPaymentRequest): Promise<void>;
12
+ declinePaymentRequest(request: FPBluetoothPaymentRequest): Promise<void>;
13
+ scanForBluetoothDevices(onDeviceFound: (device: FintechDevice) => void, durationMs?: number): Promise<void>;
14
+ sendBluetoothPaymentRequest(deviceId: string, request: BLESendPaymentRequest): Promise<BLESendPaymentResponse>;
15
+ generateAccount(req: FPGenerateAccountRequest): Promise<FPVirtualAccount>;
16
+ showSend(amount: number, currency: string): void;
17
+ showReceive(amount?: number, currency?: string): void;
18
+ getUser: () => FPUserInfo | null;
19
+ isReady: () => boolean;
20
+ getCallbacks: () => FPCallbacks;
21
+ destroy(): Promise<void>;
22
+ };
23
+ export {};
24
+ //# sourceMappingURL=FPEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FPEngine.d.ts","sourceRoot":"","sources":["../../../../src/engine/FPEngine.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EAExB,aAAa,EACd,MAAM,eAAe,CAAC;AAEvB,OAAyB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAiB/G,KAAK,WAAW,GAAG,0BAA0B,GAAG,WAAW,GAAG,cAAc,CAAC;AAG7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEnE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,IAAI,CAIrE;AA8ID,eAAO,MAAM,QAAQ;uBAKT,MAAM,QACR,UAAU,YACP,YAAY,cACV,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC;+BA2CkB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;sBAOtC,IAAI;qBAOL,IAAI;kCAQe,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;mCA4CxC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;2CAc7D,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,wBAE7C,OAAO,CAAC,IAAI,CAAC;0CAQJ,MAAM,WACP,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;yBAMP,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC;qBAI9D,MAAM,YAAY,MAAM,GAAG,IAAI;yBAI3B,MAAM,aAAa,MAAM,GAAG,IAAI;;;;eAQpC,OAAO,CAAC,IAAI,CAAC;CAa/B,CAAC"}
@@ -0,0 +1,19 @@
1
+ interface NearbyUser {
2
+ userId: string;
3
+ userName: string;
4
+ distance: number;
5
+ lastSeen: number;
6
+ }
7
+ declare class NearbyUsersService {
8
+ private locationUpdateInterval;
9
+ private readonly API_URL;
10
+ startBroadcasting(): Promise<void>;
11
+ private sendLocationToServer;
12
+ getNearbyUsers(): Promise<NearbyUser[]>;
13
+ sendPaymentRequest(receiverId: string, amount: number, currency?: string): Promise<any>;
14
+ stopBroadcasting(): void;
15
+ private getAuthToken;
16
+ }
17
+ declare const _default: NearbyUsersService;
18
+ export default _default;
19
+ //# sourceMappingURL=NearbyUsersService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NearbyUsersService.d.ts","sourceRoot":"","sources":["../../../../src/engine/NearbyUsersService.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,kBAAkB;IACtB,OAAO,CAAC,sBAAsB,CAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAG9D,iBAAiB;YAOT,oBAAoB;IA0B5B,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBvC,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc;IAyB1B,gBAAgB;YAMF,YAAY;CAI3B;;AAED,wBAAwC"}
@@ -0,0 +1,4 @@
1
+ export { useFountainPay } from './useFountainPay';
2
+ export { FountainPayProvider } from './FountainPayProvider';
3
+ export type { FPInstance, FPUserInfo, FPSDKOptions, FPCallbacks, FPCurrency, FPTransaction, FPVirtualAccount, FPGenerateAccountRequest, FPBluetoothPaymentRequest, FPProximityPeer, FPNQRData, FPBankItem, FPError, FPTxStatus, FPChannel, } from './core/types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAY,kBAAkB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAO,uBAAuB,CAAC;AAG7D,YAAY,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,SAAS,EACT,UAAU,EACV,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ViewStyle } from 'react-native';
2
+ interface Props {
3
+ label: string;
4
+ onPress: () => void;
5
+ variant?: 'primary' | 'outline' | 'ghost' | 'danger';
6
+ loading?: boolean;
7
+ disabled?: boolean;
8
+ style?: ViewStyle;
9
+ }
10
+ export declare function FPButton({ label, onPress, variant, loading, disabled, style }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=FPButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FPButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FPButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGrG,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,2CAchG"}
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ size?: number;
3
+ text?: string;
4
+ };
5
+ declare const InLoading: ({ size, text }: Props) => import("react/jsx-runtime").JSX.Element;
6
+ export default InLoading;
7
+ //# sourceMappingURL=InLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InLoading.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/LoadingAnimation/InLoading.tsx"],"names":[],"mappings":"AAOA,KAAK,KAAK,GAAG;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA+BF,QAAA,MAAM,SAAS,GAAI,gBAAkC,KAAK,4CA4CzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ type Props = {
2
+ text?: string;
3
+ };
4
+ declare const LoadingAnimation: ({ text }: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export default LoadingAnimation;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/LoadingAnimation/index.tsx"],"names":[],"mappings":"AAOA,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AA+BF,QAAA,MAAM,gBAAgB,GAAI,UAAyB,KAAK,4CAkDvD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { InputProps, OTPInputViewState } from './helpers/types';
2
+ import { Component } from 'react';
3
+ import { TextInput } from 'react-native';
4
+ export default class OTPInputView extends Component<InputProps, OTPInputViewState> {
5
+ private fields;
6
+ private keyboardDidHideListener?;
7
+ private timer?;
8
+ private hasCheckedClipBoard?;
9
+ private clipBoardCode?;
10
+ constructor(props: InputProps);
11
+ UNSAFE_componentWillReceiveProps(nextProps: InputProps): void;
12
+ componentDidMount(): void;
13
+ componentWillUnmount(): void;
14
+ private copyCodeFromClipBoardOnAndroid;
15
+ bringUpKeyBoardIfNeeded: () => void;
16
+ getDigits: () => string[];
17
+ private handleKeyboardDidHide;
18
+ private notifyCodeChanged;
19
+ checkPinCodeFromClipBoard: () => void;
20
+ private handleChangeText;
21
+ private handleKeyPressTextInput;
22
+ focusField: (index: number) => void;
23
+ blurAllFields: () => void;
24
+ clearAllFields: () => void;
25
+ renderOneInputField: (_: TextInput, index: number) => import("react/jsx-runtime").JSX.Element;
26
+ renderTextFields: () => import("react/jsx-runtime").JSX.Element[];
27
+ render(): import("react/jsx-runtime").JSX.Element;
28
+ }
29
+ //# sourceMappingURL=OTPInputView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTPInputView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/OtpInput/OTPInputView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAQ,SAAS,EAAwF,MAAM,cAAc,CAAA;AASpI,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAE9E,OAAO,CAAC,MAAM,CAAkC;IAEhD,OAAO,CAAC,uBAAuB,CAAC,CAAsB;IACtD,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAU;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;gBAEnB,KAAK,EAAE,UAAU;IAS7B,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAOtD,iBAAiB;IAMjB,oBAAoB;IAOpB,OAAO,CAAC,8BAA8B,CAKrC;IAED,uBAAuB,aAOtB;IAED,SAAS,iBAIR;IAED,OAAO,CAAC,qBAAqB,CAE5B;IAED,OAAO,CAAC,iBAAiB,CAOxB;IAED,yBAAyB,aAiBxB;IAED,OAAO,CAAC,gBAAgB,CAoCvB;IAED,OAAO,CAAC,uBAAuB,CAQ9B;IAID,UAAU,GAAI,OAAO,MAAM,UAK1B;IAED,aAAa,aAGZ;IAGD,cAAc,aAKb;IAED,mBAAmB,GAAI,GAAG,SAAS,EAAE,OAAO,MAAM,6CAiCjD;IAED,gBAAgB,kDAIf;IAED,MAAM;CA4BT"}