llama-pay-sdk 3.9.2 → 4.0.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 (114) hide show
  1. package/package.json +1 -1
  2. package/src/MerapiClient.ts +82 -2
  3. package/src/index.ts +1 -0
  4. package/src/models/LinkedCard.ts +4 -0
  5. package/src/models/WalletAccount.ts +7 -0
  6. package/src/models/cashout/CashoutLimits.ts +1 -1
  7. package/lib/CashoutClient.d.ts +0 -22
  8. package/lib/CashoutClient.d.ts.map +0 -1
  9. package/lib/CashoutClient.js +0 -95
  10. package/lib/CashoutClient.js.map +0 -1
  11. package/lib/HttpClient.d.ts +0 -28
  12. package/lib/HttpClient.d.ts.map +0 -1
  13. package/lib/HttpClient.js +0 -69
  14. package/lib/HttpClient.js.map +0 -1
  15. package/lib/MerapiClient.d.ts +0 -114
  16. package/lib/MerapiClient.d.ts.map +0 -1
  17. package/lib/MerapiClient.js +0 -261
  18. package/lib/MerapiClient.js.map +0 -1
  19. package/lib/crypto.d.ts +0 -24
  20. package/lib/crypto.d.ts.map +0 -1
  21. package/lib/crypto.js +0 -93
  22. package/lib/crypto.js.map +0 -1
  23. package/lib/device-info.d.ts +0 -5
  24. package/lib/device-info.d.ts.map +0 -1
  25. package/lib/device-info.js +0 -37
  26. package/lib/device-info.js.map +0 -1
  27. package/lib/dora/DoraApiClient.d.ts +0 -30
  28. package/lib/dora/DoraApiClient.d.ts.map +0 -1
  29. package/lib/dora/DoraApiClient.js +0 -34
  30. package/lib/dora/DoraApiClient.js.map +0 -1
  31. package/lib/dora/index.d.ts +0 -2
  32. package/lib/dora/index.d.ts.map +0 -1
  33. package/lib/dora/index.js +0 -6
  34. package/lib/dora/index.js.map +0 -1
  35. package/lib/dora/types/Transaction.d.ts +0 -30
  36. package/lib/dora/types/Transaction.d.ts.map +0 -1
  37. package/lib/dora/types/Transaction.js +0 -3
  38. package/lib/dora/types/Transaction.js.map +0 -1
  39. package/lib/erc20Abi.d.ts +0 -39
  40. package/lib/erc20Abi.d.ts.map +0 -1
  41. package/lib/erc20Abi.js +0 -226
  42. package/lib/erc20Abi.js.map +0 -1
  43. package/lib/index.d.ts +0 -18
  44. package/lib/index.d.ts.map +0 -1
  45. package/lib/index.js +0 -45
  46. package/lib/index.js.map +0 -1
  47. package/lib/models/Balance.d.ts +0 -16
  48. package/lib/models/Balance.d.ts.map +0 -1
  49. package/lib/models/Balance.js +0 -3
  50. package/lib/models/Balance.js.map +0 -1
  51. package/lib/models/FeatureFlags.d.ts +0 -5
  52. package/lib/models/FeatureFlags.d.ts.map +0 -1
  53. package/lib/models/FeatureFlags.js +0 -3
  54. package/lib/models/FeatureFlags.js.map +0 -1
  55. package/lib/models/IBinInfo.d.ts +0 -25
  56. package/lib/models/IBinInfo.d.ts.map +0 -1
  57. package/lib/models/IBinInfo.js +0 -3
  58. package/lib/models/IBinInfo.js.map +0 -1
  59. package/lib/models/IMultisigTransaction.d.ts +0 -41
  60. package/lib/models/IMultisigTransaction.d.ts.map +0 -1
  61. package/lib/models/IMultisigTransaction.js +0 -3
  62. package/lib/models/IMultisigTransaction.js.map +0 -1
  63. package/lib/models/IMultisigWallet.d.ts +0 -36
  64. package/lib/models/IMultisigWallet.d.ts.map +0 -1
  65. package/lib/models/IMultisigWallet.js +0 -3
  66. package/lib/models/IMultisigWallet.js.map +0 -1
  67. package/lib/models/ITokenInfo.d.ts +0 -10
  68. package/lib/models/ITokenInfo.d.ts.map +0 -1
  69. package/lib/models/ITokenInfo.js +0 -3
  70. package/lib/models/ITokenInfo.js.map +0 -1
  71. package/lib/models/IUser.d.ts +0 -10
  72. package/lib/models/IUser.d.ts.map +0 -1
  73. package/lib/models/IUser.js +0 -3
  74. package/lib/models/IUser.js.map +0 -1
  75. package/lib/models/ResponseWrapper.d.ts +0 -9
  76. package/lib/models/ResponseWrapper.d.ts.map +0 -1
  77. package/lib/models/ResponseWrapper.js +0 -3
  78. package/lib/models/ResponseWrapper.js.map +0 -1
  79. package/lib/models/SimpleMultisigTransactionData.d.ts +0 -29
  80. package/lib/models/SimpleMultisigTransactionData.d.ts.map +0 -1
  81. package/lib/models/SimpleMultisigTransactionData.js +0 -3
  82. package/lib/models/SimpleMultisigTransactionData.js.map +0 -1
  83. package/lib/models/Transaction.d.ts +0 -13
  84. package/lib/models/Transaction.d.ts.map +0 -1
  85. package/lib/models/Transaction.js +0 -3
  86. package/lib/models/Transaction.js.map +0 -1
  87. package/lib/models/Wallet.d.ts +0 -15
  88. package/lib/models/Wallet.d.ts.map +0 -1
  89. package/lib/models/Wallet.js +0 -3
  90. package/lib/models/Wallet.js.map +0 -1
  91. package/lib/models/cashout/Atm.d.ts +0 -19
  92. package/lib/models/cashout/Atm.d.ts.map +0 -1
  93. package/lib/models/cashout/Atm.js +0 -3
  94. package/lib/models/cashout/Atm.js.map +0 -1
  95. package/lib/models/cashout/CashoutLimits.d.ts +0 -11
  96. package/lib/models/cashout/CashoutLimits.d.ts.map +0 -1
  97. package/lib/models/cashout/CashoutLimits.js +0 -3
  98. package/lib/models/cashout/CashoutLimits.js.map +0 -1
  99. package/lib/models/cashout/CashoutRequest.d.ts +0 -16
  100. package/lib/models/cashout/CashoutRequest.d.ts.map +0 -1
  101. package/lib/models/cashout/CashoutRequest.js +0 -3
  102. package/lib/models/cashout/CashoutRequest.js.map +0 -1
  103. package/lib/models/cashout/CashoutResponse.d.ts +0 -15
  104. package/lib/models/cashout/CashoutResponse.d.ts.map +0 -1
  105. package/lib/models/cashout/CashoutResponse.js +0 -3
  106. package/lib/models/cashout/CashoutResponse.js.map +0 -1
  107. package/lib/models/cashout/CashoutStatus.d.ts +0 -15
  108. package/lib/models/cashout/CashoutStatus.d.ts.map +0 -1
  109. package/lib/models/cashout/CashoutStatus.js +0 -20
  110. package/lib/models/cashout/CashoutStatus.js.map +0 -1
  111. package/lib/models/cashout/CreateCashoutResponse.d.ts +0 -8
  112. package/lib/models/cashout/CreateCashoutResponse.d.ts.map +0 -1
  113. package/lib/models/cashout/CreateCashoutResponse.js +0 -3
  114. package/lib/models/cashout/CreateCashoutResponse.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llama-pay-sdk",
3
- "version": "3.9.2",
3
+ "version": "4.0.0",
4
4
  "description": "Official SDK for ethpar services. For more details visit https://www.ethpar.com/#join-network",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -16,6 +16,8 @@ import ResponseWrapper from './models/ResponseWrapper'
16
16
  import { CashoutLimits } from './models/cashout/CashoutLimits'
17
17
  import CashoutResponse from './models/cashout/CashoutResponse'
18
18
  import { Transaction } from './models/Transaction'
19
+ import { LinkedCard } from './models/LinkedCard'
20
+ import { WalletAccount } from './models/WalletAccount'
19
21
 
20
22
  type AuthTokenProvider = () => Promise<string | null>
21
23
 
@@ -292,9 +294,9 @@ export class MerapiClient {
292
294
 
293
295
  // cashout
294
296
 
295
- getCashoutLimits = async (): Promise<CashoutLimits> => {
297
+ getCashoutLimits = async (atmId: string): Promise<CashoutLimits> => {
296
298
  return this.http
297
- .get<CashoutLimits>('/cashout/limits')
299
+ .get<CashoutLimits>(`/cashout/limits?atm_id=${atmId}`)
298
300
  .then((res) => res.data)
299
301
  }
300
302
 
@@ -385,6 +387,7 @@ export class MerapiClient {
385
387
  linkCardToAddress = async (params: {
386
388
  address: string
387
389
  cardhash: string
390
+ lastDigits: string
388
391
  }): Promise<void> => {
389
392
  await this.http.post<ResponseWrapper<{ items: [{}] }>>(
390
393
  '/cashout/card/link',
@@ -401,6 +404,30 @@ export class MerapiClient {
401
404
  return response.data.data.items[0]?.address
402
405
  }
403
406
 
407
+ getLinkedCardsCount = async (): Promise<number> => {
408
+ const response = await this.http.post<
409
+ ResponseWrapper<{ items: [{ linked_cards_count: number }] }>
410
+ >('/cashout/card/link/count')
411
+ return response.data.data.items[0].linked_cards_count
412
+ }
413
+
414
+ getLinkedCards = async (): Promise<LinkedCard[]> => {
415
+ const response = await this.http.get<
416
+ ResponseWrapper<{
417
+ items: {
418
+ last_digits: string | null
419
+ address: string
420
+ }[]
421
+ }>
422
+ >('/cashout/card/links')
423
+ return response.data.data.items.map((item) => {
424
+ return {
425
+ address: item.address,
426
+ lastDigits: item.last_digits
427
+ }
428
+ })
429
+ }
430
+
404
431
  submitTransaction = async (params: {
405
432
  transaction: string
406
433
  }): Promise<{
@@ -426,6 +453,59 @@ export class MerapiClient {
426
453
  )
427
454
  return response.data
428
455
  }
456
+
457
+ // wallet accounts
458
+
459
+ createAccount = async (params: {
460
+ address: string
461
+ index: number
462
+ label?: string
463
+ }): Promise<void> => {
464
+ await this.http.post('/wallet/account', {
465
+ address: params.address,
466
+ account_index: params.index,
467
+ optional_account_label: params.label
468
+ })
469
+ }
470
+
471
+ deleteAccount = async (params: { accountIndex: number }): Promise<void> => {
472
+ await this.http.delete('/wallet/account', {
473
+ data: { account_index: params.accountIndex }
474
+ })
475
+ }
476
+
477
+ setAccountLabel = async (params: {
478
+ accountIndex: string
479
+ label: string
480
+ }): Promise<void> => {
481
+ await this.http.post('/wallet/account/label', {
482
+ account_index: params.accountIndex,
483
+ account_label: params.label
484
+ })
485
+ }
486
+
487
+ getAccounts = async (): Promise<WalletAccount[]> => {
488
+ const response = await this.http.get<
489
+ ResponseWrapper<{
490
+ items: {
491
+ account_index: 0
492
+ account_label: string
493
+ address: string
494
+ created_at: string
495
+ updated_at: string | null
496
+ }[]
497
+ }>
498
+ >('/wallet/accounts')
499
+ return response.data.data.items.map((item) => {
500
+ return {
501
+ index: item.account_index,
502
+ address: item.address,
503
+ label: item.account_label,
504
+ createdAt: item.created_at,
505
+ updatedAt: item.updated_at
506
+ }
507
+ })
508
+ }
429
509
  }
430
510
 
431
511
  function buildCashoutItem(result: CashoutResponse): CashoutRequest {
package/src/index.ts CHANGED
@@ -19,6 +19,7 @@ export { IUser } from './models/IUser'
19
19
  export { SimpleMultisigTransactionData } from './models/SimpleMultisigTransactionData'
20
20
  export { Account, HDWallet } from './models/Wallet'
21
21
  export { Transaction } from './models/Transaction'
22
+ export { WalletAccount } from './models/WalletAccount'
22
23
  export { MerapiClient } from './MerapiClient'
23
24
  export { FeatureFlags } from './models/FeatureFlags'
24
25
 
@@ -0,0 +1,4 @@
1
+ export interface LinkedCard {
2
+ address: string
3
+ lastDigits: string | null
4
+ }
@@ -0,0 +1,7 @@
1
+ export interface WalletAccount {
2
+ index: 0
3
+ label: string
4
+ address: string
5
+ createdAt: string
6
+ updatedAt: string | null
7
+ }
@@ -4,7 +4,7 @@ export interface CashoutLimits {
4
4
  maxAmountVerified: number
5
5
  yearSummaryAmount: number
6
6
  yearSummaryAmountVerified: number
7
- feeAmount: number
8
7
  yearRemainAmount: number
8
+ feeAmount: number
9
9
  verified: boolean
10
10
  }
@@ -1,22 +0,0 @@
1
- import { AxiosInstance } from 'axios';
2
- import { Atm } from './models/cashout/Atm';
3
- import { CashoutRequest } from './models/cashout/CashoutRequest';
4
- import { CreateCashoutResponse } from './models/cashout/CreateCashoutResponse';
5
- export declare class CashoutClient {
6
- http: AxiosInstance;
7
- constructor();
8
- setAuthToken(sessionKey: string): void;
9
- guestLogin: () => Promise<string>;
10
- getAtmList: () => Promise<Atm[]>;
11
- sendVerificationWord: (params: {
12
- firstName: string;
13
- lastName: string;
14
- phoneNumber: string;
15
- }) => Promise<void>;
16
- createCashoutRequest: (params: {
17
- atmId: string;
18
- amount: string;
19
- }) => Promise<CreateCashoutResponse>;
20
- getCashOutRequest: (cashCode: string) => Promise<CashoutRequest>;
21
- }
22
- //# sourceMappingURL=CashoutClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CashoutClient.d.ts","sourceRoot":"","sources":["../src/CashoutClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAG9E,qBAAa,aAAa;IACtB,IAAI,EAAE,aAAa,CAAA;;IA6BnB,YAAY,CAAC,UAAU,EAAE,MAAM;IAI/B,UAAU,wBAQT;IAED,UAAU,uBAMT;IAED,oBAAoB,GAAU,QAAQ;QAClC,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;KACtB,mBAaA;IAED,oBAAoB,GAAU,QAAQ;QAClC,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB,KAAG,OAAO,CAAC,qBAAqB,CAAC,CAgCjC;IAED,iBAAiB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC,CAsBpE;CACJ"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CashoutClient = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- class CashoutClient {
9
- constructor() {
10
- this.guestLogin = async () => {
11
- const response = await this.http.post('/wac/guest/login');
12
- const sessionKey = await response.data.data.sessionKey;
13
- this.http.defaults.headers.common['Authorization'] = sessionKey;
14
- return sessionKey;
15
- };
16
- this.getAtmList = async () => {
17
- const response = await this.http.get('/wac/atm/list');
18
- return response.data.data.items;
19
- };
20
- this.sendVerificationWord = async (params) => {
21
- const data = new URLSearchParams();
22
- data.append('first_name', params.firstName);
23
- data.append('last_name', params.lastName);
24
- data.append('phone_number', params.phoneNumber);
25
- data.append('word_code', '1');
26
- data.append('_t', new Date().getTime().toString());
27
- await this.http.post('/wac/pcode/verify', data, {
28
- headers: {
29
- 'Content-Type': 'application/x-www-form-urlencoded'
30
- }
31
- });
32
- };
33
- this.createCashoutRequest = async (params) => {
34
- const data = new URLSearchParams();
35
- data.append('atm_id', params.atmId);
36
- data.append('amount', params.amount);
37
- data.append('_t', new Date().getTime().toString());
38
- const response = await this.http.post('/wac/pcode', data, {
39
- headers: {
40
- 'Content-Type': 'application/x-www-form-urlencoded'
41
- }
42
- });
43
- const result = response.data.data.items[0];
44
- return {
45
- secureCode: result.secure_code,
46
- address: result.address,
47
- usdAmount: result.usd_amount,
48
- btcAmount: result.btc_amount,
49
- btcWholeUnitPrice: result.btc_whole_unit_price
50
- };
51
- };
52
- this.getCashOutRequest = async (cashCode) => {
53
- const response = await this.http.get(`/wac/pcode/${cashCode}`);
54
- const result = response.data.data.items[0];
55
- return {
56
- secureCode: result.secure_code,
57
- pcode: result.pcode,
58
- status: result.status,
59
- address: result.address,
60
- usdAmount: result.usd_amount,
61
- btcAmount: result.btc_amount,
62
- btcWholeUnitPrice: result.btc_whole_unit_price,
63
- expiration: result.expiration,
64
- atmId: result.atm_id,
65
- locDescription: result.loc_description,
66
- locLat: result.loc_lat,
67
- locLon: result.loc_lon
68
- };
69
- };
70
- const baseURL = 'https://genmega.rampatm.net/wac';
71
- this.http = axios_1.default.create({
72
- baseURL,
73
- timeout: 30 * 1000,
74
- headers: {
75
- Accept: '*/*'
76
- },
77
- validateStatus: () => true
78
- });
79
- this.http.interceptors.response.use((response) => {
80
- const result = response.data;
81
- const errorMessage = result?.error?.server_message || result?.error?.code;
82
- if (errorMessage) {
83
- return Promise.reject(new Error(errorMessage));
84
- }
85
- return response;
86
- }, (error) => {
87
- return Promise.reject(error);
88
- });
89
- }
90
- setAuthToken(sessionKey) {
91
- this.http.defaults.headers.common['Authorization'] = sessionKey;
92
- }
93
- }
94
- exports.CashoutClient = CashoutClient;
95
- //# sourceMappingURL=CashoutClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CashoutClient.js","sourceRoot":"","sources":["../src/CashoutClient.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
2
- type Body = Record<string, any> | Record<string, any>[] | string;
3
- type Request = {
4
- url: string;
5
- method: HttpMethod;
6
- headers: Record<string, string>;
7
- body?: BodyInit;
8
- };
9
- interface RequestConfig {
10
- headers?: Record<string, string>;
11
- }
12
- export declare class HttpClient {
13
- private baseUrl;
14
- private defaultHeaders;
15
- private globalBeforeRequest?;
16
- private globalAfterRequest?;
17
- constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
18
- setBeforeRequestCallback(beforeRequest?: (req: Request) => void | Promise<void>): void;
19
- setAfterRequestCallback(afterRequest?: (response: Response) => void | Promise<void>): void;
20
- setDefaultHeaders(headers: Record<string, string>): void;
21
- private request;
22
- get<T>(endpoint: string, body?: Body, config?: RequestConfig): Promise<T>;
23
- post<T>(endpoint: string, body?: Body, config?: RequestConfig): Promise<T>;
24
- put<T>(endpoint: string, body: Body, config?: RequestConfig): Promise<T>;
25
- delete<T>(endpoint: string, config?: RequestConfig): Promise<T>;
26
- }
27
- export {};
28
- //# sourceMappingURL=HttpClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../src/HttpClient.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;AAEjE,KAAK,OAAO,GAAG;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAEF;IAC1B,OAAO,CAAC,kBAAkB,CAAC,CAAkE;gBAEjF,OAAO,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAKxE,wBAAwB,CACtB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,uBAAuB,CACrB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAInC,OAAO;IAgDf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzE,IAAI,CAAC,CAAC,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,CAAC;IAIP,GAAG,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,CAAC;IAIP,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;CAGtE"}
package/lib/HttpClient.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpClient = void 0;
4
- class HttpClient {
5
- constructor(baseUrl, defaultHeaders = {}) {
6
- this.baseUrl = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
7
- this.defaultHeaders = defaultHeaders;
8
- }
9
- setBeforeRequestCallback(beforeRequest) {
10
- this.globalBeforeRequest = beforeRequest;
11
- }
12
- setAfterRequestCallback(afterRequest) {
13
- this.globalAfterRequest = afterRequest;
14
- }
15
- setDefaultHeaders(headers) {
16
- this.defaultHeaders = headers;
17
- }
18
- async request(endpoint, method, body, config = {}) {
19
- const url = `${this.baseUrl}${endpoint}`;
20
- const headers = {
21
- ...this.defaultHeaders,
22
- ...config.headers,
23
- };
24
- if (body && typeof body === "object") {
25
- body = JSON.stringify(body);
26
- }
27
- const request = {
28
- url,
29
- headers,
30
- method,
31
- body
32
- };
33
- if (this.globalBeforeRequest) {
34
- await this.globalBeforeRequest(request);
35
- }
36
- try {
37
- const response = await fetch(request.url, {
38
- method: request.method,
39
- headers: request.headers,
40
- body: request.body,
41
- });
42
- const responseBody = await response.json().catch(e => undefined);
43
- if (this.globalAfterRequest) {
44
- await this.globalAfterRequest(response, responseBody);
45
- }
46
- return responseBody;
47
- }
48
- catch (error) {
49
- if (error instanceof Error) {
50
- throw error;
51
- }
52
- throw new Error(String(error));
53
- }
54
- }
55
- async get(endpoint, body, config) {
56
- return this.request(endpoint, "GET", body, config);
57
- }
58
- async post(endpoint, body, config) {
59
- return this.request(endpoint, "POST", body, config);
60
- }
61
- async put(endpoint, body, config) {
62
- return this.request(endpoint, "PUT", body, config);
63
- }
64
- async delete(endpoint, config) {
65
- return this.request(endpoint, "DELETE", undefined, config);
66
- }
67
- }
68
- exports.HttpClient = HttpClient;
69
- //# sourceMappingURL=HttpClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../src/HttpClient.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- import { AxiosInstance, AxiosResponse } from 'axios';
2
- import { BalanceResponse } from './models/Balance';
3
- import { Atm } from './models/cashout/Atm';
4
- import { CashoutRequest } from './models/cashout/CashoutRequest';
5
- import { CreateCashoutResponse } from './models/cashout/CreateCashoutResponse';
6
- import { FeatureFlags } from './models/FeatureFlags';
7
- import { ICreditCardMultisigWallet, IGeneralMultisigWallet } from './models/IMultisigWallet';
8
- import { ITokenInfo } from './models/ITokenInfo';
9
- import { IMultisigTransaction } from './models/IMultisigTransaction';
10
- import { IUser } from './models/IUser';
11
- import { CashoutLimits } from './models/cashout/CashoutLimits';
12
- import { Transaction } from './models/Transaction';
13
- type AuthTokenProvider = () => Promise<string | null>;
14
- export declare class MerapiClient {
15
- http: AxiosInstance;
16
- private deviceId?;
17
- private userAgent?;
18
- private bundleId?;
19
- afterRequestCallback?: (responseBody: any, response: AxiosResponse) => void | Promise<void>;
20
- authTokenProvider?: AuthTokenProvider;
21
- constructor(params: {
22
- baseUrl: string;
23
- clientId: string;
24
- });
25
- setAuthTokenProvider(provider: AuthTokenProvider): void;
26
- generateLoginCode: (params: {
27
- contact: string;
28
- password?: string;
29
- }) => Promise<void>;
30
- confirmLoginCode: (params: {
31
- contact: string;
32
- code: string;
33
- }) => Promise<{
34
- sessionKey: string;
35
- }>;
36
- getCurrentUser: () => Promise<IUser>;
37
- updateProfile: (params: {
38
- firstName: string;
39
- lastName: string;
40
- }) => Promise<IUser>;
41
- getBalances: (address: string, tokens: {
42
- tokenAddress: string | null;
43
- }[]) => Promise<BalanceResponse[]>;
44
- setUserPublicAddress: (params: {
45
- address: string;
46
- }) => Promise<void>;
47
- getDefaultTokens: () => Promise<ITokenInfo[]>;
48
- createMultisigWallet: (params: {
49
- name: string;
50
- signers: string[];
51
- threshold: number;
52
- }) => Promise<IGeneralMultisigWallet>;
53
- acceptMultisigWallet: (walletId: string) => Promise<void>;
54
- getMultisigWallets: () => Promise<IGeneralMultisigWallet[]>;
55
- createMultisigTransaction: (params: {
56
- walletId: string;
57
- assetType: "native" | "erc20";
58
- to: string;
59
- amount: string;
60
- tokenAddress: string | null;
61
- remark: string | null;
62
- }) => Promise<IMultisigTransaction>;
63
- getMultisigWalletTransactions: (walletId: string) => Promise<IMultisigTransaction[]>;
64
- getMultisigWalletTransaction: (txId: string) => Promise<IMultisigTransaction>;
65
- addMultisigTxSignature: (txId: string, data: {
66
- txid: string;
67
- address: string;
68
- signature: string;
69
- }) => Promise<IMultisigTransaction>;
70
- executeTransaction: (txId: string) => Promise<IMultisigTransaction>;
71
- getCCWallet: () => Promise<ICreditCardMultisigWallet | null>;
72
- getCCWalletTransactions: (walletId: string) => Promise<IMultisigTransaction[]>;
73
- createCCWallet: (params: {
74
- pan: string;
75
- }) => Promise<ICreditCardMultisigWallet>;
76
- executePosTransaction: (params: {
77
- destination: string;
78
- panHash: string;
79
- amount: string;
80
- remark?: string;
81
- merchant: string;
82
- confirmations?: number;
83
- }) => Promise<IMultisigTransaction>;
84
- getTokenInfo: (tokenAddress: string) => Promise<ITokenInfo | null>;
85
- getFeatureFlags: () => Promise<FeatureFlags>;
86
- markTopup: (walletId: string, hash: string) => Promise<IMultisigTransaction>;
87
- getCashoutLimits: () => Promise<CashoutLimits>;
88
- getAtmList: () => Promise<Atm[]>;
89
- sendVerificationWord: (params: {
90
- firstName: string;
91
- lastName: string;
92
- phoneNumber: string;
93
- }) => Promise<void>;
94
- createCashoutRequest: (params: {
95
- atmId: string;
96
- amount: string;
97
- }) => Promise<CreateCashoutResponse>;
98
- getCashOutRequest: (cashCode: string) => Promise<CashoutRequest>;
99
- getCashOutRequests: () => Promise<CashoutRequest[]>;
100
- linkCardToAddress: (params: {
101
- address: string;
102
- cardhash: string;
103
- }) => Promise<void>;
104
- getAddressByCardHash: (cardhash: string) => Promise<string | undefined>;
105
- submitTransaction: (params: {
106
- transaction: string;
107
- }) => Promise<{
108
- hash: string;
109
- }>;
110
- getRpcUrl: () => Promise<string>;
111
- getTransactions: () => Promise<Transaction[]>;
112
- }
113
- export {};
114
- //# sourceMappingURL=MerapiClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MerapiClient.d.ts","sourceRoot":"","sources":["../src/MerapiClient.ts"],"names":[],"mappings":"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"}