squarefi-bff-api-module 1.32.1 → 1.32.2

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 (125) hide show
  1. package/dist/api/auth.d.ts +29 -0
  2. package/dist/api/auth.js +59 -0
  3. package/dist/api/bank-data.d.ts +4 -0
  4. package/dist/api/bank-data.js +6 -0
  5. package/dist/api/counterparties.d.ts +14 -0
  6. package/dist/api/counterparties.js +16 -0
  7. package/dist/api/developer.d.ts +12 -0
  8. package/dist/api/developer.js +12 -0
  9. package/dist/api/exchange.d.ts +14 -0
  10. package/dist/api/exchange.js +20 -0
  11. package/dist/api/frontend.d.ts +11 -0
  12. package/dist/api/frontend.js +11 -0
  13. package/dist/api/index.d.ts +38 -0
  14. package/dist/api/index.js +36 -0
  15. package/dist/api/issuing.d.ts +64 -0
  16. package/dist/api/issuing.js +140 -0
  17. package/dist/api/kyc.d.ts +21 -0
  18. package/dist/api/kyc.js +21 -0
  19. package/dist/api/list.d.ts +16 -0
  20. package/dist/api/list.js +16 -0
  21. package/dist/api/orders.d.ts +49 -0
  22. package/dist/api/orders.js +84 -0
  23. package/dist/api/persona.d.ts +7 -0
  24. package/dist/api/persona.js +7 -0
  25. package/dist/api/storage.d.ts +8 -0
  26. package/dist/api/storage.js +16 -0
  27. package/dist/api/tenants.d.ts +6 -0
  28. package/dist/api/tenants.js +6 -0
  29. package/dist/api/totp.d.ts +17 -0
  30. package/dist/api/totp.js +45 -0
  31. package/{src/api/types/autogen/apiV2.types.ts → dist/api/types/autogen/apiV2.types.d.ts} +0 -1
  32. package/dist/api/types/autogen/apiV2.types.js +5 -0
  33. package/dist/api/types/types.d.ts +2258 -0
  34. package/dist/api/types/types.js +1 -0
  35. package/dist/api/user.d.ts +18 -0
  36. package/dist/api/user.js +18 -0
  37. package/dist/api/virtual-accounts.d.ts +9 -0
  38. package/dist/api/virtual-accounts.js +9 -0
  39. package/dist/api/wallets.d.ts +24 -0
  40. package/dist/api/wallets.js +30 -0
  41. package/dist/constants.d.ts +303 -0
  42. package/dist/constants.js +332 -0
  43. package/dist/hooks/index.js +3 -0
  44. package/dist/hooks/useCalc.d.ts +25 -0
  45. package/dist/hooks/useCalc.js +115 -0
  46. package/dist/hooks/useFileUpload.d.ts +49 -0
  47. package/dist/hooks/useFileUpload.js +100 -0
  48. package/dist/hooks/useSupabaseSubscription/config.d.ts +2 -0
  49. package/dist/hooks/useSupabaseSubscription/config.js +5 -0
  50. package/dist/hooks/useSupabaseSubscription/index.js +2 -0
  51. package/dist/hooks/useSupabaseSubscription/specialized.d.ts +5 -0
  52. package/{src/hooks/useSupabaseSubscription/specialized.ts → dist/hooks/useSupabaseSubscription/specialized.js} +2 -5
  53. package/dist/hooks/useSupabaseSubscription/types.d.ts +16 -0
  54. package/dist/hooks/useSupabaseSubscription/types.js +1 -0
  55. package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.d.ts +5 -0
  56. package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.js +37 -0
  57. package/dist/index.d.ts +7 -0
  58. package/dist/utils/apiClientFactory.d.ts +31 -0
  59. package/dist/utils/apiClientFactory.js +138 -0
  60. package/dist/utils/converters.d.ts +1 -0
  61. package/dist/utils/converters.js +1 -0
  62. package/dist/utils/encrypt.d.ts +10 -0
  63. package/dist/utils/encrypt.js +77 -0
  64. package/dist/utils/fileStorage.d.ts +120 -0
  65. package/dist/utils/fileStorage.js +292 -0
  66. package/dist/utils/storage.d.ts +3 -0
  67. package/dist/utils/storage.js +24 -0
  68. package/dist/utils/supabase.d.ts +1 -0
  69. package/dist/utils/supabase.js +12 -0
  70. package/dist/utils/tokensFactory.d.ts +12 -0
  71. package/dist/utils/tokensFactory.js +42 -0
  72. package/package.json +4 -1
  73. package/.env.example +0 -1
  74. package/.husky/pre-commit +0 -2
  75. package/.prettierignore +0 -6
  76. package/.prettierrc +0 -7
  77. package/CHANGELOG.md +0 -1415
  78. package/FIXED_RLS_ERROR.md +0 -146
  79. package/QUICK_TEST.md +0 -127
  80. package/STORAGE_MODULE_SUMMARY.md +0 -228
  81. package/TEST_INSTRUCTIONS.md +0 -122
  82. package/docs/AUTH_TOKEN_USAGE.md +0 -290
  83. package/docs/BACKEND_SERVICE_URL.md +0 -334
  84. package/docs/FRONTEND_STORAGE_GUIDE.md +0 -529
  85. package/docs/STORAGE_MODULE.md +0 -490
  86. package/docs/STORAGE_QUICK_START.md +0 -76
  87. package/scripts/generate-openapi-types.ts +0 -41
  88. package/scripts/supabase-storage-setup.sql +0 -223
  89. package/src/api/auth.ts +0 -78
  90. package/src/api/bank-data.ts +0 -11
  91. package/src/api/counterparties.ts +0 -73
  92. package/src/api/developer.ts +0 -20
  93. package/src/api/exchange.ts +0 -44
  94. package/src/api/frontend.ts +0 -20
  95. package/src/api/index.ts +0 -57
  96. package/src/api/issuing.ts +0 -214
  97. package/src/api/kyc.ts +0 -41
  98. package/src/api/list.ts +0 -26
  99. package/src/api/orders.ts +0 -255
  100. package/src/api/persona.ts +0 -16
  101. package/src/api/storage.ts +0 -24
  102. package/src/api/tenants.ts +0 -8
  103. package/src/api/totp.ts +0 -51
  104. package/src/api/types/types.ts +0 -2820
  105. package/src/api/user.ts +0 -27
  106. package/src/api/virtual-accounts.ts +0 -15
  107. package/src/api/wallets.ts +0 -65
  108. package/src/constants.ts +0 -343
  109. package/src/hooks/useCalc.ts +0 -181
  110. package/src/hooks/useFileUpload.ts +0 -129
  111. package/src/hooks/useSupabaseSubscription/config.ts +0 -7
  112. package/src/hooks/useSupabaseSubscription/types.ts +0 -18
  113. package/src/hooks/useSupabaseSubscription/useSupabaseSubscription.ts +0 -53
  114. package/src/utils/apiClientFactory.ts +0 -194
  115. package/src/utils/converters.ts +0 -1
  116. package/src/utils/encrypt.ts +0 -96
  117. package/src/utils/fileStorage.ts +0 -353
  118. package/src/utils/storage.ts +0 -29
  119. package/src/utils/supabase.ts +0 -16
  120. package/src/utils/tokensFactory.ts +0 -59
  121. package/tsconfig.json +0 -15
  122. package/types.d.ts +0 -11
  123. /package/{src/hooks/index.ts → dist/hooks/index.d.ts} +0 -0
  124. /package/{src/hooks/useSupabaseSubscription/index.ts → dist/hooks/useSupabaseSubscription/index.d.ts} +0 -0
  125. /package/{src/index.ts → dist/index.js} +0 -0
@@ -0,0 +1,332 @@
1
+ export const falsyValues = ['false', '0', '', 'FALSE', false, null, undefined, NaN, 0];
2
+ export var AppEnviroment;
3
+ (function (AppEnviroment) {
4
+ AppEnviroment["WEB"] = "web";
5
+ AppEnviroment["TELEGRAM"] = "telegram";
6
+ })(AppEnviroment || (AppEnviroment = {}));
7
+ export var CardFormFactor;
8
+ (function (CardFormFactor) {
9
+ CardFormFactor["VIRTUAL"] = "VIRTUAL";
10
+ CardFormFactor["PHYSICAL"] = "PHYSICAL";
11
+ })(CardFormFactor || (CardFormFactor = {}));
12
+ export var CardType;
13
+ (function (CardType) {
14
+ CardType["CREDIT"] = "CREDIT";
15
+ CardType["DEBIT"] = "DEBIT";
16
+ })(CardType || (CardType = {}));
17
+ export var CardTransactionType;
18
+ (function (CardTransactionType) {
19
+ CardTransactionType["AUTHORIZATION"] = "AUTHORIZATION";
20
+ CardTransactionType["CLEARING"] = "CLEARING";
21
+ CardTransactionType["REFUND"] = "REFUND";
22
+ CardTransactionType["REVERSAL"] = "REVERSAL";
23
+ CardTransactionType["ORIGINAL_CREDIT"] = "ORIGINAL_CREDIT";
24
+ CardTransactionType["FEE"] = "FEE";
25
+ CardTransactionType["DEPOSIT"] = "DEPOSIT";
26
+ CardTransactionType["WITHDRAWAL"] = "WITHDRAWAL";
27
+ CardTransactionType["PAYMENT"] = "PAYMENT";
28
+ CardTransactionType["PURCHASE"] = "PURCHASE";
29
+ })(CardTransactionType || (CardTransactionType = {}));
30
+ export var WalletTransactionType;
31
+ (function (WalletTransactionType) {
32
+ WalletTransactionType["DEPOSIT"] = "deposit";
33
+ WalletTransactionType["WITHDRAWAL"] = "withdrawal";
34
+ })(WalletTransactionType || (WalletTransactionType = {}));
35
+ export var WalletTransactionMethod;
36
+ (function (WalletTransactionMethod) {
37
+ WalletTransactionMethod["P2P"] = "p2p";
38
+ WalletTransactionMethod["CRYPTO"] = "crypto";
39
+ WalletTransactionMethod["BANK_TRANSFER"] = "bank_transfer";
40
+ WalletTransactionMethod["EXCHANGE"] = "exchange";
41
+ WalletTransactionMethod["SBP"] = "sbp";
42
+ })(WalletTransactionMethod || (WalletTransactionMethod = {}));
43
+ export var WalletTransactionStatus;
44
+ (function (WalletTransactionStatus) {
45
+ WalletTransactionStatus["COMPLETE"] = "complete";
46
+ WalletTransactionStatus["PENDING"] = "pending";
47
+ WalletTransactionStatus["CANCELED"] = "canceled";
48
+ WalletTransactionStatus["FAILED"] = "failed";
49
+ WalletTransactionStatus["PROCESSING"] = "processing";
50
+ WalletTransactionStatus["NEW"] = "new";
51
+ })(WalletTransactionStatus || (WalletTransactionStatus = {}));
52
+ export var OrderPaymentMethod;
53
+ (function (OrderPaymentMethod) {
54
+ OrderPaymentMethod["ACH"] = "ACH";
55
+ OrderPaymentMethod["SEPA"] = "SEPA";
56
+ OrderPaymentMethod["SWIFT"] = "SWIFT";
57
+ OrderPaymentMethod["DOMESTIC_WIRE"] = "DOMESTIC_WIRE";
58
+ OrderPaymentMethod["CRYPTO_EXTERNAL"] = "CRYPTO_EXTERNAL";
59
+ OrderPaymentMethod["CRYPTO_INTERNAL"] = "CRYPTO_INTERNAL";
60
+ OrderPaymentMethod["CHAPS"] = "CHAPS";
61
+ OrderPaymentMethod["FPS"] = "FPS";
62
+ })(OrderPaymentMethod || (OrderPaymentMethod = {}));
63
+ export var OrderType;
64
+ (function (OrderType) {
65
+ // when extend do not forget to add new order type to the enum WalletTransactionRecordType
66
+ OrderType["DEPOSIT_ISSUING_SA_CRYPTO_EXT"] = "DEPOSIT_ISSUING_SA_CRYPTO_EXT";
67
+ OrderType["DEPOSIT_ISSUING_SA_SEPA_EXT"] = "DEPOSIT_ISSUING_SA_SEPA_EXT";
68
+ OrderType["DEPOSIT_CRYPTO"] = "DEPOSIT_CRYPTO";
69
+ OrderType["DEPOSIT_FIAT_SEPA"] = "DEPOSIT_FIAT_SEPA";
70
+ OrderType["DEPOSIT_FIAT_SWIFT"] = "DEPOSIT_FIAT_SWIFT";
71
+ OrderType["EXCHANGE_CRYPTO_INTERNAL"] = "EXCHANGE_CRYPTO_INTERNAL";
72
+ OrderType["EXCHANGE_OMNI"] = "EXCHANGE_OMNI";
73
+ OrderType["TRANSFER_CARD_PREPAID"] = "TRANSFER_CARD_PREPAID";
74
+ OrderType["CARD_ISSUING_FEE"] = "CARD_ISSUING_FEE";
75
+ OrderType["TRANSFER_CARD_SUBACCOUNT"] = "TRANSFER_CARD_SUBACCOUNT";
76
+ OrderType["TRANSFER_CARD_WHOLESALE"] = "TRANSFER_CARD_WHOLESALE";
77
+ OrderType["TRANSFER_INTERNAL"] = "TRANSFER_INTERNAL";
78
+ OrderType["WITHDRAWAL_CRYPTO"] = "WITHDRAWAL_CRYPTO";
79
+ OrderType["WITHDRAWAL_FIAT_SEPA"] = "WITHDRAWAL_FIAT_SEPA";
80
+ OrderType["HIFI_WIRE_ONRAMP"] = "HIFI_WIRE_ONRAMP";
81
+ OrderType["HIFI_WIRE_OFFRAMP"] = "HIFI_WIRE_OFFRAMP";
82
+ OrderType["HIFI_WIRE_DEPOSIT"] = "HIFI_WIRE_DEPOSIT";
83
+ OrderType["HIFI_WIRE_WITHDRAWAL"] = "HIFI_WIRE_WITHDRAWAL";
84
+ OrderType["HIFI_ACH_ONRAMP"] = "HIFI_ACH_ONRAMP";
85
+ OrderType["HIFI_ACH_OFFRAMP"] = "HIFI_ACH_OFFRAMP";
86
+ OrderType["HIFI_ACH_DEPOSIT"] = "HIFI_ACH_DEPOSIT";
87
+ OrderType["HIFI_ACH_WITHDRAWAL"] = "HIFI_ACH_WITHDRAWAL";
88
+ OrderType["HIFI_SEPA_ONRAMP"] = "HIFI_SEPA_ONRAMP";
89
+ OrderType["HIFI_SEPA_OFFRAMP"] = "HIFI_SEPA_OFFRAMP";
90
+ OrderType["HIFI_SEPA_DEPOSIT"] = "HIFI_SEPA_DEPOSIT";
91
+ OrderType["HIFI_SEPA_WITHDRAWAL"] = "HIFI_SEPA_WITHDRAWAL";
92
+ OrderType["HIFI_CRYPTO_TRANSFER"] = "HIFI_CRYPTO_TRANSFER";
93
+ OrderType["HIFI_CRYPTO_WITHDRAWAL"] = "HIFI_CRYPTO_WITHDRAWAL";
94
+ OrderType["HIFI_CRYPTO_DEPOSIT"] = "HIFI_CRYPTO_DEPOSIT";
95
+ OrderType["OMNIBUS_CRYPTO_TRANSFER"] = "OMNIBUS_CRYPTO_TRANSFER";
96
+ OrderType["RN_CARDS_OFFRAMP"] = "RN_CARDS_OFFRAMP";
97
+ OrderType["TBD_SWIFT_WITHDRAWAL"] = "TBD_SWIFT_WITHDRAWAL";
98
+ OrderType["SEGREGATED_CRYPTO_TRANSFER"] = "SEGREGATED_CRYPTO_TRANSFER";
99
+ OrderType["L2F_ACH_ONRAMP"] = "L2F_ACH_ONRAMP";
100
+ OrderType["L2F_ACH_OFFRAMP"] = "L2F_ACH_OFFRAMP";
101
+ OrderType["L2F_ACH_DEPOSIT"] = "L2F_ACH_DEPOSIT";
102
+ OrderType["L2F_ACH_WITHDRAWAL"] = "L2F_ACH_WITHDRAWAL";
103
+ OrderType["L2F_WIRE_ONRAMP"] = "L2F_WIRE_ONRAMP";
104
+ OrderType["L2F_WIRE_OFFRAMP"] = "L2F_WIRE_OFFRAMP";
105
+ OrderType["L2F_WIRE_DEPOSIT"] = "L2F_WIRE_DEPOSIT";
106
+ OrderType["L2F_WIRE_WITHDRAWAL"] = "L2F_WIRE_WITHDRAWAL";
107
+ OrderType["L2F_SWIFT_ONRAMP"] = "L2F_SWIFT_ONRAMP";
108
+ OrderType["L2F_SWIFT_OFFRAMP"] = "L2F_SWIFT_OFFRAMP";
109
+ OrderType["L2F_SWIFT_DEPOSIT"] = "L2F_SWIFT_DEPOSIT";
110
+ OrderType["L2F_SWIFT_WITHDRAWAL"] = "L2F_SWIFT_WITHDRAWAL";
111
+ OrderType["L2F_SEPA_ONRAMP"] = "L2F_SEPA_ONRAMP";
112
+ OrderType["L2F_SEPA_OFFRAMP"] = "L2F_SEPA_OFFRAMP";
113
+ OrderType["L2F_SEPA_DEPOSIT"] = "L2F_SEPA_DEPOSIT";
114
+ OrderType["L2F_SEPA_WITHDRAWAL"] = "L2F_SEPA_WITHDRAWAL";
115
+ OrderType["L2F_CRYPTO_WITHDRAWAL"] = "L2F_CRYPTO_WITHDRAWAL";
116
+ OrderType["L2F_CRYPTO_DEPOSIT"] = "L2F_CRYPTO_DEPOSIT";
117
+ OrderType["OMNIBUS_CRYPTO_WITHDRAWAL"] = "OMNIBUS_CRYPTO_WITHDRAWAL";
118
+ OrderType["WITHDRAW_CARD_PREPAID"] = "WITHDRAW_CARD_PREPAID";
119
+ OrderType["WITHDRAW_CARD_SUBACCOUNT"] = "WITHDRAW_CARD_SUBACCOUNT";
120
+ })(OrderType || (OrderType = {}));
121
+ export var WalletTransactionRecordType;
122
+ (function (WalletTransactionRecordType) {
123
+ WalletTransactionRecordType["CARD_PROVIDER_DEPOSIT"] = "CARD_PROVIDER_DEPOSIT";
124
+ WalletTransactionRecordType["CARD_PROVIDER_REFUND"] = "CARD_PROVIDER_REFUND";
125
+ WalletTransactionRecordType["DEPOSIT"] = "DEPOSIT";
126
+ WalletTransactionRecordType["DEPOSIT_CRYPTO_EXTERNAL"] = "DEPOSIT_CRYPTO_EXTERNAL";
127
+ WalletTransactionRecordType["DEPOSIT_CRYPTO_INTERNAL"] = "DEPOSIT_CRYPTO_INTERNAL";
128
+ WalletTransactionRecordType["DEPOSIT_INTERNAL"] = "DEPOSIT_INTERNAL";
129
+ WalletTransactionRecordType["DEPOSIT_MANUAL"] = "DEPOSIT_MANUAL";
130
+ WalletTransactionRecordType["EXCHANGE_CRYPTO_INTERNAL"] = "EXCHANGE_CRYPTO_INTERNAL";
131
+ WalletTransactionRecordType["EXCHANGE_OMNI"] = "EXCHANGE_OMNI";
132
+ WalletTransactionRecordType["EXT_EXCHANGE"] = "EXT_EXCHANGE";
133
+ WalletTransactionRecordType["FEE"] = "FEE";
134
+ WalletTransactionRecordType["NETWORK_FEE"] = "NETWORK_FEE";
135
+ WalletTransactionRecordType["OFFRAMP_ACHWIRE"] = "OFFRAMP_ACHWIRE";
136
+ WalletTransactionRecordType["OFFRAMP_SEPA"] = "OFFRAMP_SEPA";
137
+ WalletTransactionRecordType["OMNIBUS_CRYPTO_TRANSFER"] = "OMNIBUS_CRYPTO_TRANSFER";
138
+ WalletTransactionRecordType["ONRAMP_ACHWIRE"] = "ONRAMP_ACHWIRE";
139
+ WalletTransactionRecordType["ONRAMP_SEPA"] = "ONRAMP_SEPA";
140
+ WalletTransactionRecordType["REFUND"] = "REFUND";
141
+ WalletTransactionRecordType["RN_CARDS_OFFRAMP"] = "RN_CARDS_OFFRAMP";
142
+ WalletTransactionRecordType["TRANSFER_CARD_PREPAID"] = "TRANSFER_CARD_PREPAID";
143
+ WalletTransactionRecordType["TRANSFER_CARD_SUBACCOUNT"] = "TRANSFER_CARD_SUBACCOUNT";
144
+ WalletTransactionRecordType["TRANSFER_CARD_WHOLESALE"] = "TRANSFER_CARD_WHOLESALE";
145
+ WalletTransactionRecordType["TRANSFER_INTERNAL"] = "TRANSFER_INTERNAL";
146
+ WalletTransactionRecordType["SEGREGATED_CRYPTO_TRANSFER"] = "SEGREGATED_CRYPTO_TRANSFER";
147
+ WalletTransactionRecordType["WHOLESALE_CARD_DEPOSIT"] = "WHOLESALE_CARD_DEPOSIT";
148
+ WalletTransactionRecordType["WITHDRAWAL"] = "WITHDRAWAL";
149
+ WalletTransactionRecordType["WITHDRAWAL_CRYPTO_EXTERNAL"] = "WITHDRAWAL_CRYPTO_EXTERNAL";
150
+ WalletTransactionRecordType["WITHDRAWAL_CRYPTO_INTERNAL"] = "WITHDRAWAL_CRYPTO_INTERNAL";
151
+ WalletTransactionRecordType["WITHDRAWAL_INTERNAL"] = "WITHDRAWAL_INTERNAL";
152
+ WalletTransactionRecordType["WITHDRAW_CARD_PREPAID"] = "WITHDRAW_CARD_PREPAID";
153
+ WalletTransactionRecordType["WITHDRAW_CARD_SUBACCOUNT"] = "WITHDRAW_CARD_SUBACCOUNT";
154
+ WalletTransactionRecordType["L2F_ACH_ONRAMP"] = "L2F_ACH_ONRAMP";
155
+ WalletTransactionRecordType["L2F_ACH_OFFRAMP"] = "L2F_ACH_OFFRAMP";
156
+ WalletTransactionRecordType["L2F_ACH_DEPOSIT"] = "L2F_ACH_DEPOSIT";
157
+ WalletTransactionRecordType["L2F_ACH_WITHDRAWAL"] = "L2F_ACH_WITHDRAWAL";
158
+ WalletTransactionRecordType["L2F_WIRE_ONRAMP"] = "L2F_WIRE_ONRAMP";
159
+ WalletTransactionRecordType["L2F_WIRE_OFFRAMP"] = "L2F_WIRE_OFFRAMP";
160
+ WalletTransactionRecordType["L2F_WIRE_DEPOSIT"] = "L2F_WIRE_DEPOSIT";
161
+ WalletTransactionRecordType["L2F_WIRE_WITHDRAWAL"] = "L2F_WIRE_WITHDRAWAL";
162
+ WalletTransactionRecordType["L2F_SWIFT_ONRAMP"] = "L2F_SWIFT_ONRAMP";
163
+ WalletTransactionRecordType["L2F_SWIFT_OFFRAMP"] = "L2F_SWIFT_OFFRAMP";
164
+ WalletTransactionRecordType["L2F_SWIFT_DEPOSIT"] = "L2F_SWIFT_DEPOSIT";
165
+ WalletTransactionRecordType["L2F_SWIFT_WITHDRAWAL"] = "L2F_SWIFT_WITHDRAWAL";
166
+ WalletTransactionRecordType["L2F_SEPA_ONRAMP"] = "L2F_SEPA_ONRAMP";
167
+ WalletTransactionRecordType["L2F_SEPA_OFFRAMP"] = "L2F_SEPA_OFFRAMP";
168
+ WalletTransactionRecordType["L2F_SEPA_DEPOSIT"] = "L2F_SEPA_DEPOSIT";
169
+ WalletTransactionRecordType["L2F_SEPA_WITHDRAWAL"] = "L2F_SEPA_WITHDRAWAL";
170
+ WalletTransactionRecordType["L2F_CRYPTO_WITHDRAWAL"] = "L2F_CRYPTO_WITHDRAWAL";
171
+ WalletTransactionRecordType["L2F_CRYPTO_DEPOSIT"] = "L2F_CRYPTO_DEPOSIT";
172
+ WalletTransactionRecordType["HIFI_WIRE_ONRAMP"] = "HIFI_WIRE_ONRAMP";
173
+ WalletTransactionRecordType["HIFI_WIRE_OFFRAMP"] = "HIFI_WIRE_OFFRAMP";
174
+ WalletTransactionRecordType["HIFI_WIRE_DEPOSIT"] = "HIFI_WIRE_DEPOSIT";
175
+ WalletTransactionRecordType["HIFI_WIRE_WITHDRAWAL"] = "HIFI_WIRE_WITHDRAWAL";
176
+ WalletTransactionRecordType["HIFI_ACH_ONRAMP"] = "HIFI_ACH_ONRAMP";
177
+ WalletTransactionRecordType["HIFI_ACH_OFFRAMP"] = "HIFI_ACH_OFFRAMP";
178
+ WalletTransactionRecordType["HIFI_ACH_DEPOSIT"] = "HIFI_ACH_DEPOSIT";
179
+ WalletTransactionRecordType["HIFI_ACH_WITHDRAWAL"] = "HIFI_ACH_WITHDRAWAL";
180
+ WalletTransactionRecordType["HIFI_SEPA_ONRAMP"] = "HIFI_SEPA_ONRAMP";
181
+ WalletTransactionRecordType["HIFI_SEPA_OFFRAMP"] = "HIFI_SEPA_OFFRAMP";
182
+ WalletTransactionRecordType["HIFI_SEPA_DEPOSIT"] = "HIFI_SEPA_DEPOSIT";
183
+ WalletTransactionRecordType["HIFI_SEPA_WITHDRAWAL"] = "HIFI_SEPA_WITHDRAWAL";
184
+ WalletTransactionRecordType["HIFI_CRYPTO_TRANSFER"] = "HIFI_CRYPTO_TRANSFER";
185
+ WalletTransactionRecordType["HIFI_CRYPTO_WITHDRAWAL"] = "HIFI_CRYPTO_WITHDRAWAL";
186
+ WalletTransactionRecordType["HIFI_CRYPTO_DEPOSIT"] = "HIFI_CRYPTO_DEPOSIT";
187
+ })(WalletTransactionRecordType || (WalletTransactionRecordType = {}));
188
+ export var RequestStatus;
189
+ (function (RequestStatus) {
190
+ RequestStatus["NONE"] = "none";
191
+ RequestStatus["PENDING"] = "pending";
192
+ RequestStatus["FULLFILLED"] = "fulfilled";
193
+ RequestStatus["REJECTED"] = "rejected";
194
+ })(RequestStatus || (RequestStatus = {}));
195
+ export var RequestLoadingType;
196
+ (function (RequestLoadingType) {
197
+ RequestLoadingType["NORMAL"] = "normal";
198
+ RequestLoadingType["TRANSPARENT"] = "transparent";
199
+ })(RequestLoadingType || (RequestLoadingType = {}));
200
+ export var ResponseStatus;
201
+ (function (ResponseStatus) {
202
+ ResponseStatus[ResponseStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
203
+ ResponseStatus[ResponseStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
204
+ ResponseStatus[ResponseStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
205
+ ResponseStatus[ResponseStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
206
+ ResponseStatus[ResponseStatus["VERIFICATION_EXPIRED"] = 419] = "VERIFICATION_EXPIRED";
207
+ ResponseStatus[ResponseStatus["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
208
+ ResponseStatus[ResponseStatus["USER_BLOCKED"] = 423] = "USER_BLOCKED";
209
+ ResponseStatus[ResponseStatus["SERVER_ERROR"] = 500] = "SERVER_ERROR";
210
+ })(ResponseStatus || (ResponseStatus = {}));
211
+ export var WalletTypeValues;
212
+ (function (WalletTypeValues) {
213
+ WalletTypeValues["BUSINESS"] = "business";
214
+ WalletTypeValues["PERSONAL"] = "personal";
215
+ WalletTypeValues["P2P"] = "trading";
216
+ WalletTypeValues["ESCROW"] = "escrow";
217
+ WalletTypeValues["MERCHANT"] = "merchant";
218
+ WalletTypeValues["EXCHANGE"] = "exchange";
219
+ WalletTypeValues["STAKING"] = "staking";
220
+ WalletTypeValues["VAULT"] = "vault";
221
+ })(WalletTypeValues || (WalletTypeValues = {}));
222
+ export const walletType = {
223
+ personal: { value: WalletTypeValues.PERSONAL, label: 'Personal' },
224
+ p2p: { value: 'p2p', label: 'P2P' },
225
+ escrow: { value: WalletTypeValues.ESCROW, label: 'Escrow' },
226
+ merchant: { value: WalletTypeValues.MERCHANT, label: 'Merchant' },
227
+ exchange: { value: WalletTypeValues.EXCHANGE, label: 'Exchange' },
228
+ staking: { value: WalletTypeValues.STAKING, label: 'Staking' },
229
+ vault: { value: WalletTypeValues.VAULT, label: 'Vault' },
230
+ };
231
+ export const defaultPaginationParams = {
232
+ limit: 10,
233
+ offset: 0,
234
+ isLastPage: true,
235
+ };
236
+ export var CalcType;
237
+ (function (CalcType) {
238
+ CalcType["ONRAMP"] = "onramp";
239
+ CalcType["OFFRAMP"] = "offramp";
240
+ CalcType["WITHDRAWAL"] = "withdrawal";
241
+ })(CalcType || (CalcType = {}));
242
+ export var KYCStatuses;
243
+ (function (KYCStatuses) {
244
+ KYCStatuses["APPROVED"] = "APPROVED";
245
+ KYCStatuses["DECLINED"] = "DECLINED";
246
+ KYCStatuses["PENDING"] = "PENDING";
247
+ KYCStatuses["HOLD"] = "HOLD";
248
+ KYCStatuses["DOUBLE"] = "DOUBLE";
249
+ KYCStatuses["SOFT_REJECT"] = "SOFT_REJECT";
250
+ KYCStatuses["REJECT"] = "REJECT";
251
+ KYCStatuses["UNVERIFIED"] = "UNVERIFIED";
252
+ })(KYCStatuses || (KYCStatuses = {}));
253
+ export var OrderStatuses;
254
+ (function (OrderStatuses) {
255
+ OrderStatuses["NEW"] = "NEW";
256
+ OrderStatuses["PENDING"] = "PENDING";
257
+ OrderStatuses["PROCESSING"] = "PROCESSING";
258
+ OrderStatuses["CANCELED"] = "CANCELED";
259
+ OrderStatuses["COMPLETE"] = "COMPLETE";
260
+ OrderStatuses["ERROR"] = "ERROR";
261
+ OrderStatuses["FAILED"] = "FAILED";
262
+ })(OrderStatuses || (OrderStatuses = {}));
263
+ export var CardStatus;
264
+ (function (CardStatus) {
265
+ CardStatus["ACTIVE"] = "ACTIVE";
266
+ CardStatus["FROZEN"] = "FROZEN";
267
+ CardStatus["BLOCKED"] = "BLOCKED";
268
+ CardStatus["INACTIVE"] = "INACTIVE";
269
+ CardStatus["CANCELED"] = "CANCELED";
270
+ CardStatus["CLOSED"] = "CLOSED";
271
+ })(CardStatus || (CardStatus = {}));
272
+ export var IssuingProgramStatus;
273
+ (function (IssuingProgramStatus) {
274
+ IssuingProgramStatus["ACTIVE"] = "ACTIVE";
275
+ IssuingProgramStatus["ARCHIVED"] = "ARCHIVED";
276
+ })(IssuingProgramStatus || (IssuingProgramStatus = {}));
277
+ export var SubAccountStatus;
278
+ (function (SubAccountStatus) {
279
+ SubAccountStatus["ACTIVE"] = "ACTIVE";
280
+ SubAccountStatus["BLOCKED"] = "BLOCKED";
281
+ SubAccountStatus["INACTIVE"] = "INACTIVE";
282
+ SubAccountStatus["CANCELED"] = "CANCELED";
283
+ })(SubAccountStatus || (SubAccountStatus = {}));
284
+ export var SubAccountType;
285
+ (function (SubAccountType) {
286
+ SubAccountType["PREPAID"] = "prepaid";
287
+ SubAccountType["BALANCE"] = "balance";
288
+ })(SubAccountType || (SubAccountType = {}));
289
+ export var CurrencyType;
290
+ (function (CurrencyType) {
291
+ CurrencyType["TOKEN"] = "token";
292
+ CurrencyType["NATIVE"] = "native";
293
+ CurrencyType["FIAT"] = "fiat";
294
+ })(CurrencyType || (CurrencyType = {}));
295
+ export var APIKeyRole;
296
+ (function (APIKeyRole) {
297
+ APIKeyRole["READ_ONLY"] = "READ_ONLY";
298
+ APIKeyRole["DEVELOPER"] = "DEVELOPER";
299
+ APIKeyRole["PRODUCTION"] = "PRODUCTION";
300
+ })(APIKeyRole || (APIKeyRole = {}));
301
+ export var SortingDirection;
302
+ (function (SortingDirection) {
303
+ SortingDirection["ASC"] = "ASC";
304
+ SortingDirection["DESC"] = "DESC";
305
+ })(SortingDirection || (SortingDirection = {}));
306
+ export var CounterpartyType;
307
+ (function (CounterpartyType) {
308
+ CounterpartyType["INDIVIDUAL"] = "INDIVIDUAL";
309
+ CounterpartyType["BUSINESS"] = "BUSINESS";
310
+ })(CounterpartyType || (CounterpartyType = {}));
311
+ export var CounterpartyDestinationType;
312
+ (function (CounterpartyDestinationType) {
313
+ CounterpartyDestinationType["DOMESTIC_WIRE"] = "DOMESTIC_WIRE";
314
+ CounterpartyDestinationType["ACH"] = "ACH";
315
+ CounterpartyDestinationType["SWIFT"] = "SWIFT";
316
+ CounterpartyDestinationType["SEPA"] = "SEPA";
317
+ CounterpartyDestinationType["CRYPTO_EXTERNAL"] = "CRYPTO_EXTERNAL";
318
+ CounterpartyDestinationType["CRYPTO_INTERNAL"] = "CRYPTO_INTERNAL";
319
+ })(CounterpartyDestinationType || (CounterpartyDestinationType = {}));
320
+ export var CardTransactionStatus;
321
+ (function (CardTransactionStatus) {
322
+ CardTransactionStatus["APPROVED"] = "APPROVED";
323
+ CardTransactionStatus["CLEARED"] = "CLEARED";
324
+ CardTransactionStatus["COMPLETED"] = "COMPLETED";
325
+ CardTransactionStatus["EXPIRED"] = "EXPIRED";
326
+ CardTransactionStatus["FAILED"] = "FAILED";
327
+ CardTransactionStatus["CANCELLED"] = "CANCELLED";
328
+ CardTransactionStatus["CANCELED"] = "CANCELED";
329
+ CardTransactionStatus["PENDING"] = "PENDING";
330
+ CardTransactionStatus["REVERSED"] = "REVERSED";
331
+ CardTransactionStatus["DECLINED"] = "DECLINED";
332
+ })(CardTransactionStatus || (CardTransactionStatus = {}));
@@ -0,0 +1,3 @@
1
+ export * from './useCalc';
2
+ export * from './useSupabaseSubscription';
3
+ export * from './useFileUpload';
@@ -0,0 +1,25 @@
1
+ import { API } from '../api/types/types';
2
+ type CalcData = API.Orders.V2.Calc.Response & {
3
+ is_subtract: boolean;
4
+ is_reverse: boolean;
5
+ };
6
+ export type OrderCalcHandlerProps = Omit<API.Orders.V2.Calc.Request, 'order_type'>;
7
+ export type UseOrderCalcProps = {
8
+ from_currency_id: string | null | undefined;
9
+ to_currency_id: string | null | undefined;
10
+ calcHandler: (props: OrderCalcHandlerProps) => Promise<API.Orders.V2.Calc.Response>;
11
+ disableCalculation?: boolean;
12
+ to_address?: string;
13
+ };
14
+ export type UseOrderCalcData = {
15
+ calcData: CalcData | null;
16
+ sellingAmount: number;
17
+ setSellingAmount: (value: number) => void;
18
+ buyingAmount: number;
19
+ setBuyingAmount: (value: number) => void;
20
+ isSellingValuePending: boolean;
21
+ isBuyingValuePending: boolean;
22
+ };
23
+ export type UseOrderCalc = (props: UseOrderCalcProps) => UseOrderCalcData;
24
+ export declare const useOrderCalc: UseOrderCalc;
25
+ export {};
@@ -0,0 +1,115 @@
1
+ import debounce from 'lodash.debounce';
2
+ import { useEffect, useRef, useState } from 'react';
3
+ export const useOrderCalc = (props) => {
4
+ const { from_currency_id, to_currency_id, calcHandler, disableCalculation, to_address } = props;
5
+ const [sellingAmount, setSellingAmount] = useState(0);
6
+ const [buyingAmount, setBuyingAmount] = useState(0);
7
+ const [calcData, setCalcData] = useState(null);
8
+ const [isSellingValuePending, setIsSellingValuePending] = useState(false);
9
+ const [isBuyingValuePending, setIsBuyingValuePending] = useState(false);
10
+ const abortControllerRef = useRef(null);
11
+ const resetOrderCalc = () => {
12
+ setCalcData(null);
13
+ setIsSellingValuePending(false);
14
+ setIsBuyingValuePending(false);
15
+ setSellingAmount(0);
16
+ setBuyingAmount(0);
17
+ };
18
+ const abortCurrentCalculation = () => {
19
+ if (abortControllerRef.current) {
20
+ abortControllerRef.current.abort();
21
+ }
22
+ };
23
+ const updateCalculations = async ({ is_reverse, is_subtract }) => {
24
+ if (disableCalculation) {
25
+ return;
26
+ }
27
+ abortControllerRef.current = new AbortController();
28
+ if (!from_currency_id || !to_currency_id) {
29
+ throw new Error('From currency or to currency is not defined');
30
+ }
31
+ if (sellingAmount === 0 && buyingAmount === 0 && !calcData) {
32
+ resetOrderCalc();
33
+ return;
34
+ }
35
+ const calcParams = {
36
+ from_currency_id,
37
+ to_currency_id,
38
+ amount: is_reverse ? buyingAmount : sellingAmount,
39
+ is_reverse,
40
+ is_subtract,
41
+ to_address,
42
+ signal: abortControllerRef.current.signal,
43
+ };
44
+ if (!calcParams.amount) {
45
+ resetOrderCalc();
46
+ return;
47
+ }
48
+ try {
49
+ is_reverse ? setIsSellingValuePending(true) : setIsBuyingValuePending(true);
50
+ const data = await calcHandler(calcParams);
51
+ setCalcData({
52
+ ...data,
53
+ is_reverse,
54
+ is_subtract,
55
+ });
56
+ setSellingAmount(data.from_amount);
57
+ setBuyingAmount(data.result_amount);
58
+ abortControllerRef.current = null;
59
+ is_reverse ? setIsSellingValuePending(false) : setIsBuyingValuePending(false);
60
+ }
61
+ catch (error) {
62
+ if (error.code === 'ERR_CANCELED') {
63
+ return;
64
+ }
65
+ is_reverse ? setIsSellingValuePending(false) : setIsBuyingValuePending(false);
66
+ if (error.status === 404) {
67
+ // eslint-disable-next-line no-console
68
+ console.error('Rate not found');
69
+ resetOrderCalc();
70
+ }
71
+ throw error;
72
+ }
73
+ };
74
+ const onSellingValueUpdate = debounce((value) => {
75
+ if (value !== calcData?.from_amount || isBuyingValuePending) {
76
+ updateCalculations({ is_reverse: false, is_subtract: true });
77
+ }
78
+ }, abortControllerRef.current?.signal ? undefined : 1000);
79
+ const onBuyingValueUpdate = debounce((value) => {
80
+ if (value !== calcData?.result_amount || isSellingValuePending) {
81
+ updateCalculations({ is_reverse: true, is_subtract: false });
82
+ }
83
+ }, abortControllerRef.current?.signal ? undefined : 1000);
84
+ const onToAddressUpdate = debounce(() => {
85
+ updateCalculations({ is_reverse: false, is_subtract: true });
86
+ }, abortControllerRef.current?.signal ? undefined : 1000);
87
+ useEffect(() => {
88
+ abortCurrentCalculation();
89
+ updateCalculations({ is_reverse: false, is_subtract: true });
90
+ }, [from_currency_id, to_currency_id]);
91
+ useEffect(() => {
92
+ abortCurrentCalculation();
93
+ onSellingValueUpdate(sellingAmount);
94
+ return onSellingValueUpdate.cancel;
95
+ }, [sellingAmount]);
96
+ useEffect(() => {
97
+ abortCurrentCalculation();
98
+ onBuyingValueUpdate(buyingAmount);
99
+ return onBuyingValueUpdate.cancel;
100
+ }, [buyingAmount]);
101
+ useEffect(() => {
102
+ abortCurrentCalculation();
103
+ onToAddressUpdate();
104
+ return onToAddressUpdate.cancel;
105
+ }, [to_address]);
106
+ return {
107
+ sellingAmount,
108
+ setSellingAmount,
109
+ buyingAmount,
110
+ setBuyingAmount,
111
+ calcData,
112
+ isSellingValuePending,
113
+ isBuyingValuePending,
114
+ };
115
+ };
@@ -0,0 +1,49 @@
1
+ import { UploadFileResult } from '../utils/fileStorage';
2
+ interface UseFileUploadOptions {
3
+ bucket: string;
4
+ folder?: string;
5
+ authToken?: string;
6
+ onSuccess?: (result: UploadFileResult) => void;
7
+ onError?: (error: string) => void;
8
+ }
9
+ interface UseFileUploadReturn {
10
+ upload: (file: File, fileName?: string) => Promise<UploadFileResult>;
11
+ uploading: boolean;
12
+ progress: number;
13
+ error: string | null;
14
+ result: UploadFileResult | null;
15
+ reset: () => void;
16
+ }
17
+ /**
18
+ * React хук для загрузки файлов в Supabase Storage
19
+ *
20
+ * Папки создаются автоматически при загрузке файла, если их не существует.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // Загрузка в корень бакета
25
+ * const { upload, uploading, error, result } = useFileUpload({
26
+ * bucket: 'user-files',
27
+ * onSuccess: (result) => console.log('Загружено:', result.path),
28
+ * });
29
+ *
30
+ * // Загрузка в конкретную папку (папка создастся автоматически)
31
+ * const { upload } = useFileUpload({
32
+ * bucket: 'documents',
33
+ * folder: 'invoices', // файл будет загружен в invoices/
34
+ * });
35
+ *
36
+ * // Загрузка во вложенную папку (все папки создадутся автоматически)
37
+ * const { upload } = useFileUpload({
38
+ * bucket: 'images',
39
+ * folder: 'avatars/2024', // файл будет загружен в avatars/2024/
40
+ * });
41
+ *
42
+ * const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
43
+ * const file = e.target.files?.[0];
44
+ * if (file) await upload(file);
45
+ * };
46
+ * ```
47
+ */
48
+ export declare const useFileUpload: (options: UseFileUploadOptions) => UseFileUploadReturn;
49
+ export {};
@@ -0,0 +1,100 @@
1
+ import { useState, useCallback } from 'react';
2
+ import { uploadFile } from '../utils/fileStorage';
3
+ /**
4
+ * React хук для загрузки файлов в Supabase Storage
5
+ *
6
+ * Папки создаются автоматически при загрузке файла, если их не существует.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * // Загрузка в корень бакета
11
+ * const { upload, uploading, error, result } = useFileUpload({
12
+ * bucket: 'user-files',
13
+ * onSuccess: (result) => console.log('Загружено:', result.path),
14
+ * });
15
+ *
16
+ * // Загрузка в конкретную папку (папка создастся автоматически)
17
+ * const { upload } = useFileUpload({
18
+ * bucket: 'documents',
19
+ * folder: 'invoices', // файл будет загружен в invoices/
20
+ * });
21
+ *
22
+ * // Загрузка во вложенную папку (все папки создадутся автоматически)
23
+ * const { upload } = useFileUpload({
24
+ * bucket: 'images',
25
+ * folder: 'avatars/2024', // файл будет загружен в avatars/2024/
26
+ * });
27
+ *
28
+ * const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
29
+ * const file = e.target.files?.[0];
30
+ * if (file) await upload(file);
31
+ * };
32
+ * ```
33
+ */
34
+ export const useFileUpload = (options) => {
35
+ const { bucket, folder, authToken, onSuccess, onError } = options;
36
+ const [uploading, setUploading] = useState(false);
37
+ const [progress, setProgress] = useState(0);
38
+ const [error, setError] = useState(null);
39
+ const [result, setResult] = useState(null);
40
+ const upload = useCallback(async (file, customFileName) => {
41
+ setUploading(true);
42
+ setProgress(0);
43
+ setError(null);
44
+ setResult(null);
45
+ try {
46
+ // Симулируем прогресс (Supabase не предоставляет реальный progress)
47
+ const progressInterval = setInterval(() => {
48
+ setProgress((prev) => Math.min(prev + 10, 90));
49
+ }, 100);
50
+ const uploadOptions = {
51
+ file,
52
+ fileName: customFileName || `${Date.now()}-${file.name}`,
53
+ bucket,
54
+ folder,
55
+ contentType: file.type,
56
+ authToken,
57
+ };
58
+ const uploadResult = await uploadFile(uploadOptions);
59
+ clearInterval(progressInterval);
60
+ setProgress(100);
61
+ setResult(uploadResult);
62
+ if (uploadResult.success) {
63
+ onSuccess?.(uploadResult);
64
+ }
65
+ else {
66
+ const errorMsg = uploadResult.error || 'Ошибка загрузки файла';
67
+ setError(errorMsg);
68
+ onError?.(errorMsg);
69
+ }
70
+ return uploadResult;
71
+ }
72
+ catch (err) {
73
+ const errorMsg = err instanceof Error ? err.message : 'Непредвиденная ошибка';
74
+ setError(errorMsg);
75
+ onError?.(errorMsg);
76
+ setProgress(0);
77
+ return {
78
+ success: false,
79
+ error: errorMsg,
80
+ };
81
+ }
82
+ finally {
83
+ setUploading(false);
84
+ }
85
+ }, [bucket, folder, authToken, onSuccess, onError]);
86
+ const reset = useCallback(() => {
87
+ setUploading(false);
88
+ setProgress(0);
89
+ setError(null);
90
+ setResult(null);
91
+ }, []);
92
+ return {
93
+ upload,
94
+ uploading,
95
+ progress,
96
+ error,
97
+ result,
98
+ reset,
99
+ };
100
+ };
@@ -0,0 +1,2 @@
1
+ import { SubscriptionConfig } from './types';
2
+ export declare const createWalletTransactionsConfig: (walletId: string) => SubscriptionConfig;
@@ -0,0 +1,5 @@
1
+ export const createWalletTransactionsConfig = (walletId) => ({
2
+ channelName: `wallet-transactions-${walletId}`,
3
+ table: 'transactions',
4
+ filter: `wallet_id=eq.${walletId}`,
5
+ });
@@ -0,0 +1,2 @@
1
+ export { useSupabaseSubscription } from './useSupabaseSubscription';
2
+ export { useWalletTransactionsSubscription } from './specialized';
@@ -0,0 +1,5 @@
1
+ import { UseWalletTransactionsSubscriptionProps } from './types';
2
+ export declare const useWalletTransactionsSubscription: ({ walletId, ...props }: UseWalletTransactionsSubscriptionProps) => {
3
+ isConnected: boolean;
4
+ isClientAvailable: boolean;
5
+ };
@@ -1,9 +1,6 @@
1
1
  import { createWalletTransactionsConfig } from './config';
2
- import { UseWalletTransactionsSubscriptionProps } from './types';
3
2
  import { useSupabaseSubscription } from './useSupabaseSubscription';
4
-
5
- export const useWalletTransactionsSubscription = ({ walletId, ...props }: UseWalletTransactionsSubscriptionProps) =>
6
- useSupabaseSubscription({
3
+ export const useWalletTransactionsSubscription = ({ walletId, ...props }) => useSupabaseSubscription({
7
4
  ...props,
8
5
  config: createWalletTransactionsConfig(walletId || ''),
9
- });
6
+ });