@fiddupay/fiddupay-node 2.4.9 → 2.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 (44) hide show
  1. package/README.md +14 -6
  2. package/dist/src/client.d.ts.map +1 -1
  3. package/dist/src/client.js +4 -6
  4. package/dist/src/client.js.map +1 -1
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +1 -15
  7. package/dist/src/index.js.map +1 -1
  8. package/dist/src/resources/customers.d.ts +6 -9
  9. package/dist/src/resources/customers.d.ts.map +1 -1
  10. package/dist/src/resources/customers.js +6 -0
  11. package/dist/src/resources/customers.js.map +1 -1
  12. package/dist/src/resources/invoices.d.ts +15 -8
  13. package/dist/src/resources/invoices.d.ts.map +1 -1
  14. package/dist/src/resources/invoices.js +18 -4
  15. package/dist/src/resources/invoices.js.map +1 -1
  16. package/dist/src/resources/merchants.d.ts +20 -1
  17. package/dist/src/resources/merchants.d.ts.map +1 -1
  18. package/dist/src/resources/merchants.js +28 -0
  19. package/dist/src/resources/merchants.js.map +1 -1
  20. package/dist/src/resources/payments.d.ts +0 -11
  21. package/dist/src/resources/payments.d.ts.map +1 -1
  22. package/dist/src/resources/payments.js +0 -18
  23. package/dist/src/resources/payments.js.map +1 -1
  24. package/dist/src/resources/wallets.d.ts +5 -8
  25. package/dist/src/resources/wallets.d.ts.map +1 -1
  26. package/dist/src/resources/wallets.js +5 -14
  27. package/dist/src/resources/wallets.js.map +1 -1
  28. package/dist/src/resources/webhooks.d.ts.map +1 -1
  29. package/dist/src/resources/webhooks.js +1 -3
  30. package/dist/src/resources/webhooks.js.map +1 -1
  31. package/dist/src/resources/withdrawals.d.ts +1 -1
  32. package/dist/src/resources/withdrawals.d.ts.map +1 -1
  33. package/dist/src/resources/withdrawals.js +1 -2
  34. package/dist/src/resources/withdrawals.js.map +1 -1
  35. package/dist/src/types/index.d.ts +44 -6
  36. package/dist/src/types/index.d.ts.map +1 -1
  37. package/dist/src/types/index.js.map +1 -1
  38. package/dist/tests/error-handling.test.js +1 -24
  39. package/dist/tests/error-handling.test.js.map +1 -1
  40. package/dist/tests/fiddupay.test.js +154 -50
  41. package/dist/tests/fiddupay.test.js.map +1 -1
  42. package/dist/tests/sdk-integration.test.js +138 -15
  43. package/dist/tests/sdk-integration.test.js.map +1 -1
  44. package/package.json +1 -1
@@ -9,8 +9,7 @@ describe('FidduPay SDK - Core Functionality', () => {
9
9
  let client;
10
10
  beforeEach(() => {
11
11
  client = new src_1.default({
12
- apiKey: 'sk_sandbox_1234567890',
13
- environment: 'sandbox'
12
+ apiKey: 'sk_sandbox_1234567890'
14
13
  });
15
14
  });
16
15
  describe('Constructor', () => {
@@ -33,12 +32,11 @@ describe('FidduPay SDK - Core Functionality', () => {
33
32
  });
34
33
  it('should support all crypto types', () => {
35
34
  const fiddupay = new src_1.default({
36
- apiKey: 'sk_sandbox_1234567890abcdef',
37
- environment: 'sandbox'
35
+ apiKey: 'sk_sandbox_1234567890abcdef'
38
36
  });
39
37
  const allCryptoTypes = [
40
38
  'SOL', 'ETH', 'BNB', 'MATIC', 'ARB',
41
- 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL'
39
+ 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL', 'BTC'
42
40
  ];
43
41
  allCryptoTypes.forEach(token => {
44
42
  expect(() => {
@@ -67,24 +65,9 @@ describe('FidduPay SDK - Core Functionality', () => {
67
65
  new src_1.default({ apiKey: 'invalid_key' });
68
66
  }).toThrow('Invalid API key format');
69
67
  });
70
- it('should throw error for invalid environment', () => {
71
- expect(() => {
72
- new src_1.default({
73
- apiKey: 'sk_sandbox_1234567890',
74
- environment: 'invalid'
75
- });
76
- }).toThrow(errors_1.FidduPayValidationError);
77
- expect(() => {
78
- new src_1.default({
79
- apiKey: 'sk_sandbox_1234567890',
80
- environment: 'invalid'
81
- });
82
- }).toThrow('Environment must be either "sandbox" or "production"');
83
- });
84
68
  it('should create instance with all configuration options', () => {
85
69
  const fiddupay = new src_1.default({
86
70
  apiKey: 'sk_sandbox_full_config',
87
- environment: 'sandbox',
88
71
  timeout: 15000,
89
72
  maxRetries: 5,
90
73
  baseURL: 'https://custom.api.com/v1'
@@ -100,32 +83,96 @@ describe('FidduPay SDK - Core Functionality', () => {
100
83
  expect(client.analytics).toBeDefined();
101
84
  expect(client.webhooks).toBeDefined();
102
85
  expect(client.wallets).toBeDefined();
103
- expect(client.withdrawals.process).toBeDefined();
104
- expect(client.withdrawals.validateGas).toBeDefined();
105
- expect(client.withdrawals.getGasEstimates).toBeDefined();
106
- expect(client.withdrawals.checkCapability).toBeDefined();
86
+ expect(client.withdrawals).toBeDefined();
87
+ expect(client.invoices).toBeDefined();
88
+ expect(client.customers).toBeDefined();
89
+ expect(client.balances).toBeDefined();
90
+ expect(client.auditLogs).toBeDefined();
91
+ expect(client.sandbox).toBeDefined();
92
+ expect(client.contact).toBeDefined();
93
+ expect(client.transactions).toBeDefined();
107
94
  });
108
95
  it('should have payment methods', () => {
109
96
  expect(client.payments.create).toBeDefined();
110
97
  expect(client.payments.retrieve).toBeDefined();
98
+ expect(client.payments.verify).toBeDefined();
111
99
  expect(client.payments.list).toBeDefined();
112
100
  expect(client.payments.cancel).toBeDefined();
101
+ expect(client.payments.finalizeSelection).toBeDefined();
113
102
  expect(client.payments.createAddressOnly).toBeDefined();
114
103
  expect(client.payments.retrieveAddressOnly).toBeDefined();
115
- expect(client.payments.getAnalytics).toBeDefined();
104
+ expect(client.payments.listAddressOnlyCurrencies).toBeDefined();
105
+ expect(client.payments.getAddressOnlyStats).toBeDefined();
106
+ expect(client.payments.getAddressOnlyHealth).toBeDefined();
107
+ expect(client.payments.updateFeeSetting).toBeDefined();
108
+ expect(client.payments.getFeeSetting).toBeDefined();
116
109
  });
117
110
  it('should have merchant methods', () => {
118
- expect(client.merchants.getBalance).toBeDefined();
119
111
  expect(client.merchants.register).toBeDefined();
120
112
  expect(client.merchants.retrieve).toBeDefined();
113
+ expect(client.merchants.getStatus).toBeDefined();
121
114
  expect(client.merchants.switchEnvironment).toBeDefined();
122
115
  expect(client.merchants.generateApiKey).toBeDefined();
123
116
  expect(client.merchants.rotateApiKey).toBeDefined();
117
+ expect(client.merchants.getFeeSetting).toBeDefined();
124
118
  expect(client.merchants.updateSettings).toBeDefined();
125
119
  expect(client.merchants.getSettings).toBeDefined();
126
120
  expect(client.merchants.sendTestWebhook).toBeDefined();
121
+ expect(client.merchants.getIpWhitelist).toBeDefined();
122
+ expect(client.merchants.getBalance).toBeDefined();
123
+ expect(client.merchants.getAuditLogs).toBeDefined();
127
124
  expect(client.merchants.getBalanceHistory).toBeDefined();
128
- expect(client.merchants.getFeeSetting).toBeDefined();
125
+ expect(client.merchants.login).toBeDefined();
126
+ expect(client.merchants.getSupportedCurrencies).toBeDefined();
127
+ expect(client.merchants.getPricing).toBeDefined();
128
+ expect(client.merchants.getSystemStatus).toBeDefined();
129
+ });
130
+ it('should have customer methods', () => {
131
+ expect(client.customers.register).toBeDefined();
132
+ expect(client.customers.createWallets).toBeDefined();
133
+ expect(client.customers.getWallets).toBeDefined();
134
+ expect(client.customers.getBalances).toBeDefined();
135
+ expect(client.customers.list).toBeDefined();
136
+ expect(client.customers.withdraw).toBeDefined();
137
+ expect(client.customers.sweep).toBeDefined();
138
+ expect(client.customers.deactivate).toBeDefined();
139
+ expect(client.customers.getTransactions).toBeDefined();
140
+ expect(client.customers.updateStatus).toBeDefined();
141
+ expect(client.customers.updatePermissions).toBeDefined();
142
+ expect(client.customers.getDepositAddress).toBeDefined();
143
+ expect(client.customers.payMerchant).toBeDefined();
144
+ });
145
+ it('should have invoice methods', () => {
146
+ expect(client.invoices.create).toBeDefined();
147
+ expect(client.invoices.retrieve).toBeDefined();
148
+ expect(client.invoices.list).toBeDefined();
149
+ });
150
+ it('should have refund methods', () => {
151
+ expect(client.refunds.create).toBeDefined();
152
+ expect(client.refunds.retrieve).toBeDefined();
153
+ expect(client.refunds.list).toBeDefined();
154
+ expect(client.refunds.complete).toBeDefined();
155
+ });
156
+ it('should have wallet methods', () => {
157
+ expect(client.wallets.setup).toBeDefined();
158
+ expect(client.wallets.generate).toBeDefined();
159
+ expect(client.wallets.configureAddress).toBeDefined();
160
+ expect(client.wallets.getConfigurations).toBeDefined();
161
+ expect(client.wallets.getBalances).toBeDefined();
162
+ expect(client.wallets.getGasEstimates).toBeDefined();
163
+ expect(client.wallets.checkGasRequirements).toBeDefined();
164
+ expect(client.wallets.checkWithdrawalCapability).toBeDefined();
165
+ expect(client.wallets.revoke).toBeDefined();
166
+ });
167
+ it('should have withdrawal methods', () => {
168
+ expect(client.withdrawals.create).toBeDefined();
169
+ expect(client.withdrawals.list).toBeDefined();
170
+ expect(client.withdrawals.get).toBeDefined();
171
+ expect(client.withdrawals.cancel).toBeDefined();
172
+ expect(client.withdrawals.process).toBeDefined();
173
+ expect(client.withdrawals.validateGas).toBeDefined();
174
+ expect(client.withdrawals.getGasEstimates).toBeDefined();
175
+ expect(client.withdrawals.checkCapability).toBeDefined();
129
176
  });
130
177
  it('should have security methods', () => {
131
178
  expect(client.security.getEvents).toBeDefined();
@@ -149,6 +196,12 @@ describe('FidduPay SDK - Core Functionality', () => {
149
196
  it('should have sandbox methods', () => {
150
197
  expect(client.sandbox.simulatePayment).toBeDefined();
151
198
  });
199
+ it('should have contact methods', () => {
200
+ expect(client.contact.submit).toBeDefined();
201
+ });
202
+ it('should have transaction methods', () => {
203
+ expect(client.transactions.list).toBeDefined();
204
+ });
152
205
  });
153
206
  it('should validate sandbox simulation request', () => {
154
207
  expect(() => {
@@ -171,27 +224,19 @@ describe('FidduPay SDK - Core Functionality', () => {
171
224
  const request = {
172
225
  crypto_type: 'ETH',
173
226
  merchant_address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
174
- requested_amount: '0.05',
175
- customer_pays_fee: true
227
+ requested_amount: '0.05'
176
228
  };
177
229
  expect(request.crypto_type).toBe('ETH');
178
230
  expect(request.requested_amount).toBe('0.05');
179
- expect(request.customer_pays_fee).toBe(true);
180
231
  }).not.toThrow();
181
232
  });
182
- it('should support fee toggle in address-only payments', () => {
183
- const customerPaysRequest = {
184
- crypto_type: 'USDT_ETH',
185
- merchant_address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
186
- requested_amount: '100.00',
187
- customer_pays_fee: true
188
- };
189
- const merchantPaysRequest = {
190
- crypto_type: 'USDT_ETH',
191
- merchant_address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
192
- requested_amount: '100.00',
193
- customer_pays_fee: false
194
- };
233
+ it('should support fee toggle via updateFeeSetting', () => {
234
+ // Fee toggle is a separate operation via payments.updateFeeSetting,
235
+ // not a field on CreateAddressOnlyPaymentRequest
236
+ expect(client.payments.updateFeeSetting).toBeDefined();
237
+ expect(client.payments.getFeeSetting).toBeDefined();
238
+ const customerPaysRequest = { customer_pays_fee: true };
239
+ const merchantPaysRequest = { customer_pays_fee: false };
195
240
  expect(customerPaysRequest.customer_pays_fee).toBe(true);
196
241
  expect(merchantPaysRequest.customer_pays_fee).toBe(false);
197
242
  });
@@ -202,14 +247,26 @@ describe('FidduPay SDK - Core Functionality', () => {
202
247
  client.merchants.updateSettings({ customer_pays_fee: false });
203
248
  }).not.toThrow();
204
249
  });
205
- it('should support evm auto-generation flag', () => {
250
+ it('should support wallet generation mode', () => {
206
251
  expect(() => {
207
252
  const request = {
208
253
  crypto_type: 'ETH',
209
- mode: 'generate',
210
- enable_all_evm: true
254
+ mode: 'generate'
211
255
  };
212
- expect(request.enable_all_evm).toBe(true);
256
+ expect(request.mode).toBe('generate');
257
+ expect(request.crypto_type).toBe('ETH');
258
+ }).not.toThrow();
259
+ });
260
+ it('should support wallet address mode', () => {
261
+ expect(() => {
262
+ const request = {
263
+ crypto_type: 'ETH',
264
+ mode: 'address',
265
+ address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
266
+ is_active: true
267
+ };
268
+ expect(request.mode).toBe('address');
269
+ expect(request.address).toBeDefined();
213
270
  }).not.toThrow();
214
271
  });
215
272
  });
@@ -228,7 +285,7 @@ describe('FidduPay SDK - Core Functionality', () => {
228
285
  it('should support all crypto types', () => {
229
286
  const cryptoTypes = [
230
287
  'SOL', 'ETH', 'BNB', 'MATIC', 'ARB',
231
- 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL'
288
+ 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL', 'BTC'
232
289
  ];
233
290
  cryptoTypes.forEach(crypto => {
234
291
  expect(() => {
@@ -279,6 +336,54 @@ describe('FidduPay SDK - Core Functionality', () => {
279
336
  }).not.toThrow();
280
337
  });
281
338
  });
339
+ describe('Invoice Operations', () => {
340
+ it('should support itemized invoice creation', () => {
341
+ expect(() => {
342
+ const request = {
343
+ customer_email: 'customer@example.com',
344
+ customer_name: 'John Doe',
345
+ currency: 'USD',
346
+ items: [
347
+ {
348
+ description: 'Service A',
349
+ quantity: 1,
350
+ unit_price: '100.00',
351
+ amount: '100.00'
352
+ },
353
+ {
354
+ description: 'Service B',
355
+ quantity: 2,
356
+ unit_price: '25.00',
357
+ amount: '50.00'
358
+ }
359
+ ]
360
+ };
361
+ expect(request.items).toHaveLength(2);
362
+ expect(request.items[0].description).toBe('Service A');
363
+ }).not.toThrow();
364
+ });
365
+ });
366
+ describe('Customer Operations', () => {
367
+ it('should support customer registration with names', () => {
368
+ expect(() => {
369
+ const request = {
370
+ email: 'customer@example.com',
371
+ first_name: 'John',
372
+ last_name: 'Doe'
373
+ };
374
+ expect(request.first_name).toBe('John');
375
+ }).not.toThrow();
376
+ });
377
+ it('should support updating customer permissions', () => {
378
+ expect(() => {
379
+ const request = {
380
+ can_withdraw: true,
381
+ withdrawal_limit: '1000.00'
382
+ };
383
+ expect(request.withdrawal_limit).toBe('1000.00');
384
+ }).not.toThrow();
385
+ });
386
+ });
282
387
  describe('SDK Exports and Compatibility', () => {
283
388
  it('should export FidduPay as default', () => {
284
389
  expect(src_1.default).toBeDefined();
@@ -324,8 +429,7 @@ describe('FidduPay SDK - Core Functionality', () => {
324
429
  });
325
430
  it('should have different instances for different clients', () => {
326
431
  const client2 = new src_1.default({
327
- apiKey: 'sk_sandbox_different_client',
328
- environment: 'sandbox'
432
+ apiKey: 'sk_sandbox_different_client'
329
433
  });
330
434
  expect(client.payments).not.toBe(client2.payments);
331
435
  expect(client.merchants).not.toBe(client2.merchants);
@@ -1 +1 @@
1
- {"version":3,"file":"fiddupay.test.js","sourceRoot":"","sources":["../../tests/fiddupay.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fiddupay.test.js","sourceRoot":"","sources":["../../tests/fiddupay.test.ts"],"names":[],"mappings":";;;;;AAAA,iDAA8B;AAC9B,0CAAwD;AAGxD,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,IAAI,MAAgB,CAAC;IAErB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAI,aAAQ,CAAC;YACpB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC;gBAC5B,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,aAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC;gBAC5B,MAAM,EAAE,6BAA6B;aACtC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAiB;gBACnC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;gBACnC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK;aAC7E,CAAC;YAEF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7B,MAAM,CAAC,GAAG,EAAE;oBACV,MAAM,OAAO,GAAG;wBACd,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,KAAK;wBAClB,WAAW,EAAE,QAAQ,KAAK,UAAU;qBACrC,CAAC;oBACF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,aAAQ,CAAC,EAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAuB,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,aAAQ,CAAC,EAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,aAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAuB,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,aAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAGH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC;gBAC5B,MAAM,EAAE,wBAAwB;gBAChC,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,aAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,UAAU;gBAC5B,YAAY,EAAE,aAAa;aAC5B,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAGH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,WAAW,EAAE,KAAK;oBAClB,gBAAgB,EAAE,2CAA2C;oBAC7D,gBAAgB,EAAE,MAAM;iBACzB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,oEAAoE;YACpE,iDAAiD;YACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpD,MAAM,mBAAmB,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACxD,MAAM,mBAAmB,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAEzD,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAEtD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,UAAmB;iBAC1B,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,SAAkB;oBACxB,OAAO,EAAE,2CAA2C;oBACpD,SAAS,EAAE,IAAI;iBAChB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE,QAAQ;oBACpB,WAAW,EAAE,KAAmB;oBAChC,WAAW,EAAE,cAAc;iBAC5B,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,WAAW,GAAiB;gBAChC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;gBACnC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK;aAC7E,CAAC;YAEF,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,EAAE;oBACV,MAAM,OAAO,GAAG;wBACd,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,MAAM;wBACnB,WAAW,EAAE,QAAQ,MAAM,UAAU;qBACtC,CAAC;oBACF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE,QAAQ;oBACpB,WAAW,EAAE,KAAmB;oBAChC,WAAW,EAAE,4BAA4B;oBACzC,QAAQ,EAAE;wBACR,QAAQ,EAAE,OAAO;wBACjB,WAAW,EAAE,UAAU;wBACvB,YAAY,EAAE,cAAc;qBAC7B;iBACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE,QAAQ;oBACpB,WAAW,EAAE,KAAmB;oBAChC,WAAW,EAAE,8BAA8B;oBAC3C,kBAAkB,EAAE,EAAE;iBACvB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE,QAAQ;oBACpB,WAAW,EAAE,KAAmB;oBAChC,WAAW,EAAE,2BAA2B;oBACxC,WAAW,EAAE,6BAA6B;iBAC3C,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,cAAc,EAAE,sBAAsB;oBACtC,aAAa,EAAE,UAAU;oBACzB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE;wBACL;4BACE,WAAW,EAAE,WAAW;4BACxB,QAAQ,EAAE,CAAC;4BACX,UAAU,EAAE,QAAQ;4BACpB,MAAM,EAAE,QAAQ;yBACjB;wBACD;4BACE,WAAW,EAAE,WAAW;4BACxB,QAAQ,EAAE,CAAC;4BACX,UAAU,EAAE,OAAO;4BACnB,MAAM,EAAE,OAAO;yBAChB;qBACF;iBACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,KAAK,EAAE,sBAAsB;oBAC7B,UAAU,EAAE,MAAM;oBAClB,SAAS,EAAE,KAAK;iBACjB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,SAAS;iBAC5B,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,aAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,aAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,aAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,OAAO,GAAG,IAAI,aAAQ,CAAC;gBAC3B,MAAM,EAAE,6BAA6B;aACtC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -10,7 +10,6 @@ describe('FidduPay SDK - Integration Test Suite', () => {
10
10
  beforeAll(() => {
11
11
  client = new src_1.default({
12
12
  apiKey: 'sk_sandbox_integration_key',
13
- environment: 'sandbox',
14
13
  timeout: 30000
15
14
  });
16
15
  });
@@ -37,7 +36,7 @@ describe('FidduPay SDK - Integration Test Suite', () => {
37
36
  new src_1.default({ apiKey: 'sk_sandbox_valid_key' });
38
37
  }).not.toThrow();
39
38
  expect(() => {
40
- new src_1.default({ apiKey: 'sk_live_valid_key' });
39
+ new src_1.default({ apiKey: 'live_valid_key' });
41
40
  }).not.toThrow();
42
41
  });
43
42
  });
@@ -48,13 +47,27 @@ describe('FidduPay SDK - Integration Test Suite', () => {
48
47
  expect(typeof client.payments.list).toBe('function');
49
48
  expect(typeof client.payments.createAddressOnly).toBe('function');
50
49
  });
50
+ it('should have all invoice methods available', () => {
51
+ expect(typeof client.invoices.create).toBe('function');
52
+ expect(typeof client.invoices.retrieve).toBe('function');
53
+ expect(typeof client.invoices.list).toBe('function');
54
+ });
55
+ it('should have all customer methods available', () => {
56
+ expect(typeof client.customers.register).toBe('function');
57
+ expect(typeof client.customers.createWallets).toBe('function');
58
+ expect(typeof client.customers.getBalances).toBe('function');
59
+ });
51
60
  it('should have all merchant methods available', () => {
52
61
  expect(typeof client.merchants.register).toBe('function');
62
+ expect(typeof client.merchants.login).toBe('function');
53
63
  expect(typeof client.merchants.rotateApiKey).toBe('function');
54
64
  expect(typeof client.merchants.switchEnvironment).toBe('function');
55
65
  expect(typeof client.merchants.getBalance).toBe('function');
56
66
  expect(typeof client.merchants.updateSettings).toBe('function');
57
67
  expect(typeof client.merchants.getSettings).toBe('function');
68
+ expect(typeof client.merchants.getSupportedCurrencies).toBe('function');
69
+ expect(typeof client.merchants.getPricing).toBe('function');
70
+ expect(typeof client.merchants.getSystemStatus).toBe('function');
58
71
  });
59
72
  it('should have all refund methods available', () => {
60
73
  expect(typeof client.refunds.create).toBe('function');
@@ -64,7 +77,6 @@ describe('FidduPay SDK - Integration Test Suite', () => {
64
77
  it('should have all wallet methods available', () => {
65
78
  expect(typeof client.wallets.setup).toBe('function');
66
79
  expect(typeof client.wallets.checkGasRequirements).toBe('function');
67
- expect(typeof client.wallets.gasCheck).toBe('function');
68
80
  expect(typeof client.wallets.revoke).toBe('function');
69
81
  });
70
82
  it('should have all analytics methods available', () => {
@@ -92,15 +104,13 @@ describe('FidduPay SDK - Integration Test Suite', () => {
92
104
  });
93
105
  });
94
106
  describe('Configuration Validation', () => {
95
- it('should handle different environment settings', () => {
107
+ it('should handle API key configuration', () => {
96
108
  const sandboxClient = new src_1.default({
97
- apiKey: 'sk_sandbox_sandbox',
98
- environment: 'sandbox'
109
+ apiKey: 'sk_sandbox_sandbox'
99
110
  });
100
111
  expect(sandboxClient).toBeInstanceOf(src_1.default);
101
112
  const prodClient = new src_1.default({
102
- apiKey: 'live_production_key',
103
- environment: 'production'
113
+ apiKey: 'sk_live_production_key'
104
114
  });
105
115
  expect(prodClient).toBeInstanceOf(src_1.default);
106
116
  });
@@ -138,7 +148,7 @@ describe('FidduPay SDK - Integration Test Suite', () => {
138
148
  });
139
149
  describe('Type Safety', () => {
140
150
  it('should enforce correct crypto types', () => {
141
- const validCryptoTypes = ['SOL', 'ETH', 'BNB', 'MATIC', 'ARB', 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL'];
151
+ const validCryptoTypes = ['SOL', 'ETH', 'BNB', 'MATIC', 'ARB', 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL', 'BTC'];
142
152
  validCryptoTypes.forEach(cryptoType => {
143
153
  expect(() => {
144
154
  const paymentData = {
@@ -146,13 +156,12 @@ describe('FidduPay SDK - Integration Test Suite', () => {
146
156
  crypto_type: cryptoType,
147
157
  description: 'Test payment'
148
158
  };
149
- // This should not throw a validation error for valid crypto types
150
159
  expect(paymentData.crypto_type).toBe(cryptoType);
151
160
  }).not.toThrow();
152
161
  });
153
162
  });
154
163
  it('should enforce correct payment status types', () => {
155
- const validStatuses = ['PENDING', 'CONFIRMING', 'CONFIRMED', 'FAILED', 'EXPIRED'];
164
+ const validStatuses = ['PENDING', 'CONFIRMING', 'CONFIRMED', 'FAILED', 'EXPIRED', 'REFUNDED', 'SELECTION_REQUIRED'];
156
165
  validStatuses.forEach(status => {
157
166
  expect(validStatuses).toContain(status);
158
167
  });
@@ -169,7 +178,13 @@ describe('FidduPay SDK - Integration Test Suite', () => {
169
178
  'security',
170
179
  'withdrawals',
171
180
  'sandbox',
172
- 'webhooks'
181
+ 'webhooks',
182
+ 'invoices',
183
+ 'customers',
184
+ 'balances',
185
+ 'auditLogs',
186
+ 'contact',
187
+ 'transactions'
173
188
  ];
174
189
  expectedResources.forEach(resource => {
175
190
  expect(client).toHaveProperty(resource);
@@ -177,19 +192,85 @@ describe('FidduPay SDK - Integration Test Suite', () => {
177
192
  });
178
193
  });
179
194
  it('should provide comprehensive payment operations', () => {
180
- const paymentMethods = ['create', 'retrieve', 'list', 'createAddressOnly'];
195
+ const paymentMethods = [
196
+ 'create', 'retrieve', 'list', 'cancel', 'verify', 'finalizeSelection',
197
+ 'createAddressOnly', 'retrieveAddressOnly',
198
+ 'listAddressOnlyCurrencies', 'getAddressOnlyStats', 'getAddressOnlyHealth',
199
+ 'updateFeeSetting', 'getFeeSetting'
200
+ ];
181
201
  paymentMethods.forEach(method => {
182
202
  expect(client.payments).toHaveProperty(method);
183
203
  expect(typeof client.payments[method]).toBe('function');
184
204
  });
185
205
  });
186
206
  it('should provide comprehensive merchant operations', () => {
187
- const merchantMethods = ['register', 'rotateApiKey', 'switchEnvironment', 'getBalance', 'updateSettings'];
207
+ const merchantMethods = [
208
+ 'register', 'login', 'retrieve', 'getStatus', 'switchEnvironment', 'generateApiKey',
209
+ 'rotateApiKey', 'getFeeSetting', 'updateSettings', 'getSettings',
210
+ 'sendTestWebhook', 'getIpWhitelist', 'getBalance', 'getAuditLogs', 'getBalanceHistory',
211
+ 'getSupportedCurrencies', 'getPricing', 'getSystemStatus'
212
+ ];
188
213
  merchantMethods.forEach(method => {
189
214
  expect(client.merchants).toHaveProperty(method);
190
215
  expect(typeof client.merchants[method]).toBe('function');
191
216
  });
192
217
  });
218
+ it('should provide comprehensive refund operations', () => {
219
+ const refundMethods = ['create', 'retrieve', 'list', 'complete'];
220
+ refundMethods.forEach(method => {
221
+ expect(client.refunds).toHaveProperty(method);
222
+ expect(typeof client.refunds[method]).toBe('function');
223
+ });
224
+ });
225
+ it('should provide comprehensive invoice operations', () => {
226
+ const invoiceMethods = ['create', 'retrieve', 'list'];
227
+ invoiceMethods.forEach(method => {
228
+ expect(client.invoices).toHaveProperty(method);
229
+ expect(typeof client.invoices[method]).toBe('function');
230
+ });
231
+ });
232
+ it('should provide comprehensive customer operations', () => {
233
+ const customerMethods = [
234
+ 'register', 'list', 'getBalances', 'getWallets', 'createWallets',
235
+ 'updateStatus', 'updatePermissions', 'withdraw', 'sweep', 'deactivate',
236
+ 'getTransactions', 'getDepositAddress', 'payMerchant'
237
+ ];
238
+ customerMethods.forEach(method => {
239
+ expect(client.customers).toHaveProperty(method);
240
+ expect(typeof client.customers[method]).toBe('function');
241
+ });
242
+ });
243
+ it('should provide comprehensive wallet operations', () => {
244
+ const walletMethods = [
245
+ 'setup', 'generate', 'configureAddress', 'getConfigurations', 'getBalances', 'revoke',
246
+ 'checkGasRequirements', 'getGasEstimates', 'checkWithdrawalCapability'
247
+ ];
248
+ walletMethods.forEach(method => {
249
+ expect(client.wallets).toHaveProperty(method);
250
+ expect(typeof client.wallets[method]).toBe('function');
251
+ });
252
+ });
253
+ it('should provide comprehensive withdrawal operations', () => {
254
+ const withdrawalMethods = [
255
+ 'create', 'list', 'get', 'cancel', 'process',
256
+ 'validateGas', 'getGasEstimates', 'checkCapability'
257
+ ];
258
+ withdrawalMethods.forEach(method => {
259
+ expect(client.withdrawals).toHaveProperty(method);
260
+ expect(typeof client.withdrawals[method]).toBe('function');
261
+ });
262
+ });
263
+ it('should provide comprehensive security operations', () => {
264
+ const securityMethods = [
265
+ 'getEvents', 'getAlerts', 'acknowledgeAlert', 'getBalanceAlerts',
266
+ 'resolveBalanceAlert', 'checkGasBalances', 'getSettings', 'updateSettings',
267
+ 'toggleWalletLock', 'toggleCustomerWalletLock'
268
+ ];
269
+ securityMethods.forEach(method => {
270
+ expect(client.security).toHaveProperty(method);
271
+ expect(typeof client.security[method]).toBe('function');
272
+ });
273
+ });
193
274
  it('should provide webhook utilities', () => {
194
275
  const webhookMethods = ['verifySignature', 'constructEvent', 'generateSignature'];
195
276
  webhookMethods.forEach(method => {
@@ -197,6 +278,48 @@ describe('FidduPay SDK - Integration Test Suite', () => {
197
278
  expect(typeof client.webhooks[method]).toBe('function');
198
279
  });
199
280
  });
281
+ it('should provide comprehensive analytics operations', () => {
282
+ const analyticsMethods = ['retrieve', 'export'];
283
+ analyticsMethods.forEach(method => {
284
+ expect(client.analytics).toHaveProperty(method);
285
+ expect(typeof client.analytics[method]).toBe('function');
286
+ });
287
+ });
288
+ it('should provide comprehensive balances operations', () => {
289
+ const balanceMethods = ['get', 'getHistory'];
290
+ balanceMethods.forEach(method => {
291
+ expect(client.balances).toHaveProperty(method);
292
+ expect(typeof client.balances[method]).toBe('function');
293
+ });
294
+ });
295
+ it('should provide comprehensive audit log operations', () => {
296
+ const auditMethods = ['list'];
297
+ auditMethods.forEach(method => {
298
+ expect(client.auditLogs).toHaveProperty(method);
299
+ expect(typeof client.auditLogs[method]).toBe('function');
300
+ });
301
+ });
302
+ it('should provide comprehensive sandbox operations', () => {
303
+ const sandboxMethods = ['simulatePayment'];
304
+ sandboxMethods.forEach(method => {
305
+ expect(client.sandbox).toHaveProperty(method);
306
+ expect(typeof client.sandbox[method]).toBe('function');
307
+ });
308
+ });
309
+ it('should provide comprehensive contact operations', () => {
310
+ const contactMethods = ['submit'];
311
+ contactMethods.forEach(method => {
312
+ expect(client.contact).toHaveProperty(method);
313
+ expect(typeof client.contact[method]).toBe('function');
314
+ });
315
+ });
316
+ it('should provide comprehensive transactions operations', () => {
317
+ const txnMethods = ['list'];
318
+ txnMethods.forEach(method => {
319
+ expect(client.transactions).toHaveProperty(method);
320
+ expect(typeof client.transactions[method]).toBe('function');
321
+ });
322
+ });
200
323
  });
201
324
  describe('Mock Integration Tests', () => {
202
325
  it('should handle successful API responses', async () => {
@@ -205,7 +328,7 @@ describe('FidduPay SDK - Integration Test Suite', () => {
205
328
  payment_id: 'pay_test_123',
206
329
  status: 'PENDING',
207
330
  amount_usd: '100.00',
208
- crypto_amount: '0.05',
331
+ amount: '0.05',
209
332
  crypto_type: 'ETH',
210
333
  deposit_address: '0x123...',
211
334
  created_at: new Date().toISOString(),