@rift-finance/wallet 1.4.23 → 1.4.25
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.
- package/dist/index.d.ts +6 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -41
- package/dist/index.js.map +1 -1
- package/dist/mpesa-http-client.d.ts +14 -0
- package/dist/mpesa-http-client.d.ts.map +1 -0
- package/dist/mpesa-http-client.js +143 -0
- package/dist/mpesa-http-client.js.map +1 -0
- package/dist/services/Deposits.d.ts +2 -1
- package/dist/services/Deposits.d.ts.map +1 -1
- package/dist/services/Deposits.js +7 -1
- package/dist/services/Deposits.js.map +1 -1
- package/dist/services/onramp.d.ts +14 -0
- package/dist/services/onramp.d.ts.map +1 -0
- package/dist/services/onramp.js +71 -0
- package/dist/services/onramp.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/services/loyalty.d.ts +0 -13
- package/dist/services/loyalty.d.ts.map +0 -1
- package/dist/services/loyalty.js +0 -59
- package/dist/services/loyalty.js.map +0 -1
- package/dist/services/payment-links.d.ts +0 -24
- package/dist/services/payment-links.d.ts.map +0 -1
- package/dist/services/payment-links.js +0 -121
- package/dist/services/payment-links.js.map +0 -1
- package/dist/services/project.d.ts +0 -14
- package/dist/services/project.d.ts.map +0 -1
- package/dist/services/project.js +0 -67
- package/dist/services/project.js.map +0 -1
- package/dist/services/referral-fees.d.ts +0 -10
- package/dist/services/referral-fees.d.ts.map +0 -1
- package/dist/services/referral-fees.js +0 -39
- package/dist/services/referral-fees.js.map +0 -1
- package/dist/services/stats.d.ts +0 -8
- package/dist/services/stats.d.ts.map +0 -1
- package/dist/services/stats.js +0 -26
- package/dist/services/stats.js.map +0 -1
- package/dist/services/weekly-pool.d.ts +0 -8
- package/dist/services/weekly-pool.d.ts.map +0 -1
- package/dist/services/weekly-pool.js +0 -27
- package/dist/services/weekly-pool.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import { Environment, RiftConfig } from "./types";
|
|
|
2
2
|
import { AuthService } from "./services/auth";
|
|
3
3
|
import { WalletService } from "./services/wallet";
|
|
4
4
|
import { TransactionService } from "./services/transactions";
|
|
5
|
-
import { PaymentLinksService } from "./services/payment-links";
|
|
6
5
|
import { SignerService } from "./services/signer";
|
|
7
6
|
import { DeFiService } from "./services/defi";
|
|
8
7
|
import { AssetsService } from "./services/assets";
|
|
8
|
+
import { OnrampService } from "./services/onramp";
|
|
9
9
|
import { OfframpService } from "./services/offramp";
|
|
10
10
|
import { NotificationService } from "./services/notifications";
|
|
11
11
|
import { MerchantService } from "./services/merchant";
|
|
@@ -13,24 +13,19 @@ import { OnrampServiceV2 } from "./services/onramp_v2";
|
|
|
13
13
|
import { DepositsService } from "./services/Deposits";
|
|
14
14
|
import { VaultService } from "./services/vault";
|
|
15
15
|
import { KYCService } from "./services/kyc";
|
|
16
|
-
import { LoyaltyService } from "./services/loyalty";
|
|
17
|
-
import { WeeklyPoolService } from "./services/weekly-pool";
|
|
18
|
-
import { ReferralFeeService } from "./services/referral-fees";
|
|
19
16
|
import { BridgeService } from "./services/bridge";
|
|
20
17
|
import { WalletConnectService } from "./services/wallet-connect";
|
|
21
|
-
import { ProjectService } from "./services/project";
|
|
22
18
|
import { UserManagementService } from "./services/user-management";
|
|
23
|
-
import { StatsService } from "./services/stats";
|
|
24
19
|
export declare class Rift {
|
|
25
20
|
readonly config: RiftConfig;
|
|
26
21
|
private readonly httpClient;
|
|
27
22
|
readonly auth: AuthService;
|
|
28
23
|
readonly wallet: WalletService;
|
|
29
24
|
readonly transactions: TransactionService;
|
|
30
|
-
readonly paymentLinks: PaymentLinksService;
|
|
31
25
|
readonly signer: SignerService;
|
|
32
26
|
readonly defi: DeFiService;
|
|
33
27
|
readonly assets: AssetsService;
|
|
28
|
+
readonly onramp: OnrampService;
|
|
34
29
|
readonly offramp: OfframpService;
|
|
35
30
|
readonly notifications: NotificationService;
|
|
36
31
|
readonly merchant: MerchantService;
|
|
@@ -38,14 +33,9 @@ export declare class Rift {
|
|
|
38
33
|
readonly onrampV2: OnrampServiceV2;
|
|
39
34
|
readonly vault: VaultService;
|
|
40
35
|
readonly kyc: KYCService;
|
|
41
|
-
readonly loyalty: LoyaltyService;
|
|
42
|
-
readonly weeklyPool: WeeklyPoolService;
|
|
43
|
-
readonly referralFees: ReferralFeeService;
|
|
44
36
|
readonly bridge: BridgeService;
|
|
45
37
|
readonly walletConnect: WalletConnectService;
|
|
46
|
-
readonly project: ProjectService;
|
|
47
38
|
readonly userManagement: UserManagementService;
|
|
48
|
-
readonly stats: StatsService;
|
|
49
39
|
constructor(config: RiftConfig);
|
|
50
40
|
/**
|
|
51
41
|
* Set the API key for project authentication
|
|
@@ -59,6 +49,10 @@ export declare class Rift {
|
|
|
59
49
|
* Clear the bearer token from all services
|
|
60
50
|
*/
|
|
61
51
|
clearBearerToken(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Set API key specifically for M-Pesa operations
|
|
54
|
+
*/
|
|
55
|
+
setMpesaApiKey(apiKey: string): void;
|
|
62
56
|
/**
|
|
63
57
|
* Check if the SDK is configured with an API key
|
|
64
58
|
*/
|
|
@@ -82,13 +76,8 @@ export { NotificationService } from "./services/notifications";
|
|
|
82
76
|
export { OfframpService } from "./services/offramp";
|
|
83
77
|
export { VaultService } from "./services/vault";
|
|
84
78
|
export { KYCService } from "./services/kyc";
|
|
85
|
-
export { LoyaltyService } from "./services/loyalty";
|
|
86
|
-
export { WeeklyPoolService } from "./services/weekly-pool";
|
|
87
|
-
export { ReferralFeeService } from "./services/referral-fees";
|
|
88
79
|
export { BridgeService } from "./services/bridge";
|
|
89
80
|
export { WalletConnectService } from "./services/wallet-connect";
|
|
90
|
-
export { ProjectService } from "./services/project";
|
|
91
81
|
export { UserManagementService } from "./services/user-management";
|
|
92
|
-
export { StatsService } from "./services/stats";
|
|
93
82
|
export default Rift;
|
|
94
83
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,17 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.UserManagementService = exports.WalletConnectService = exports.BridgeService = exports.KYCService = exports.VaultService = exports.OfframpService = exports.NotificationService = exports.Environment = exports.Rift = void 0;
|
|
18
18
|
const types_1 = require("./types");
|
|
19
19
|
Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return types_1.Environment; } });
|
|
20
20
|
const http_client_1 = require("./http-client");
|
|
21
21
|
const auth_1 = require("./services/auth");
|
|
22
22
|
const wallet_1 = require("./services/wallet");
|
|
23
23
|
const transactions_1 = require("./services/transactions");
|
|
24
|
-
const payment_links_1 = require("./services/payment-links");
|
|
25
24
|
const signer_1 = require("./services/signer");
|
|
26
25
|
const defi_1 = require("./services/defi");
|
|
27
26
|
const assets_1 = require("./services/assets");
|
|
27
|
+
const onramp_1 = require("./services/onramp");
|
|
28
28
|
const offramp_1 = require("./services/offramp");
|
|
29
29
|
const notifications_1 = require("./services/notifications");
|
|
30
30
|
const merchant_1 = require("./services/merchant");
|
|
@@ -32,14 +32,9 @@ const onramp_v2_1 = require("./services/onramp_v2");
|
|
|
32
32
|
const Deposits_1 = require("./services/Deposits");
|
|
33
33
|
const vault_1 = require("./services/vault");
|
|
34
34
|
const kyc_1 = require("./services/kyc");
|
|
35
|
-
const loyalty_1 = require("./services/loyalty");
|
|
36
|
-
const weekly_pool_1 = require("./services/weekly-pool");
|
|
37
|
-
const referral_fees_1 = require("./services/referral-fees");
|
|
38
35
|
const bridge_1 = require("./services/bridge");
|
|
39
36
|
const wallet_connect_1 = require("./services/wallet-connect");
|
|
40
|
-
const project_1 = require("./services/project");
|
|
41
37
|
const user_management_1 = require("./services/user-management");
|
|
42
|
-
const stats_1 = require("./services/stats");
|
|
43
38
|
class Rift {
|
|
44
39
|
config;
|
|
45
40
|
httpClient;
|
|
@@ -47,10 +42,10 @@ class Rift {
|
|
|
47
42
|
auth;
|
|
48
43
|
wallet;
|
|
49
44
|
transactions;
|
|
50
|
-
paymentLinks;
|
|
51
45
|
signer;
|
|
52
46
|
defi;
|
|
53
47
|
assets;
|
|
48
|
+
onramp;
|
|
54
49
|
offramp;
|
|
55
50
|
notifications;
|
|
56
51
|
merchant;
|
|
@@ -58,14 +53,9 @@ class Rift {
|
|
|
58
53
|
onrampV2;
|
|
59
54
|
vault;
|
|
60
55
|
kyc;
|
|
61
|
-
loyalty;
|
|
62
|
-
weeklyPool;
|
|
63
|
-
referralFees;
|
|
64
56
|
bridge;
|
|
65
57
|
walletConnect;
|
|
66
|
-
project;
|
|
67
58
|
userManagement;
|
|
68
|
-
stats;
|
|
69
59
|
constructor(config) {
|
|
70
60
|
this.config = config;
|
|
71
61
|
this.httpClient = new http_client_1.RiftHttpClient(config);
|
|
@@ -74,24 +64,19 @@ class Rift {
|
|
|
74
64
|
this.deposits = new Deposits_1.DepositsService(this.httpClient);
|
|
75
65
|
this.wallet = new wallet_1.WalletService(this.httpClient);
|
|
76
66
|
this.transactions = new transactions_1.TransactionService(this.httpClient);
|
|
77
|
-
this.paymentLinks = new payment_links_1.PaymentLinksService(this.httpClient);
|
|
78
67
|
this.signer = new signer_1.SignerService(this.httpClient);
|
|
79
68
|
this.defi = new defi_1.DeFiService(this.httpClient);
|
|
80
69
|
this.assets = new assets_1.AssetsService(this.httpClient);
|
|
70
|
+
this.onramp = new onramp_1.OnrampService(this.httpClient, config);
|
|
81
71
|
this.offramp = new offramp_1.OfframpService(this.httpClient);
|
|
82
72
|
this.onrampV2 = new onramp_v2_1.OnrampServiceV2(this.httpClient);
|
|
83
73
|
this.notifications = new notifications_1.NotificationService(this.httpClient);
|
|
84
74
|
this.merchant = new merchant_1.MerchantService(this.httpClient);
|
|
85
75
|
this.vault = new vault_1.VaultService(this.httpClient);
|
|
86
76
|
this.kyc = new kyc_1.KYCService(this.httpClient);
|
|
87
|
-
this.loyalty = new loyalty_1.LoyaltyService(this.httpClient);
|
|
88
|
-
this.weeklyPool = new weekly_pool_1.WeeklyPoolService(this.httpClient);
|
|
89
|
-
this.referralFees = new referral_fees_1.ReferralFeeService(this.httpClient);
|
|
90
77
|
this.bridge = new bridge_1.BridgeService(this.httpClient);
|
|
91
78
|
this.walletConnect = new wallet_connect_1.WalletConnectService(this.httpClient);
|
|
92
|
-
this.project = new project_1.ProjectService(this.httpClient);
|
|
93
79
|
this.userManagement = new user_management_1.UserManagementService(this.httpClient);
|
|
94
|
-
this.stats = new stats_1.StatsService(this.httpClient);
|
|
95
80
|
}
|
|
96
81
|
/**
|
|
97
82
|
* Set the API key for project authentication
|
|
@@ -106,7 +91,6 @@ class Rift {
|
|
|
106
91
|
this.auth.setBearerToken(token);
|
|
107
92
|
this.wallet.setBearerToken(token);
|
|
108
93
|
this.transactions.setBearerToken(token);
|
|
109
|
-
this.paymentLinks.setBearerToken(token);
|
|
110
94
|
this.signer.setBearerToken(token);
|
|
111
95
|
this.defi.setBearerToken(token);
|
|
112
96
|
this.assets.setBearerToken(token);
|
|
@@ -117,14 +101,10 @@ class Rift {
|
|
|
117
101
|
this.deposits.setBearerToken(token);
|
|
118
102
|
this.vault.setBearerToken(token);
|
|
119
103
|
this.kyc.setBearerToken(token);
|
|
120
|
-
this.loyalty.setBearerToken(token);
|
|
121
|
-
this.weeklyPool.setBearerToken(token);
|
|
122
|
-
this.referralFees.setBearerToken(token);
|
|
123
104
|
this.bridge.setBearerToken(token);
|
|
124
105
|
this.walletConnect.setBearerToken(token);
|
|
125
|
-
this.project.setBearerToken(token);
|
|
126
106
|
this.userManagement.setBearerToken(token);
|
|
127
|
-
|
|
107
|
+
// Note: onramp doesn't use bearer tokens
|
|
128
108
|
}
|
|
129
109
|
/**
|
|
130
110
|
* Clear the bearer token from all services
|
|
@@ -133,7 +113,6 @@ class Rift {
|
|
|
133
113
|
this.auth.clearBearerToken();
|
|
134
114
|
this.wallet.clearBearerToken();
|
|
135
115
|
this.transactions.clearBearerToken();
|
|
136
|
-
this.paymentLinks.clearBearerToken();
|
|
137
116
|
this.signer.clearBearerToken();
|
|
138
117
|
this.defi.clearBearerToken();
|
|
139
118
|
this.assets.clearBearerToken();
|
|
@@ -144,14 +123,16 @@ class Rift {
|
|
|
144
123
|
this.deposits.clearBearerToken();
|
|
145
124
|
this.vault.clearBearerToken();
|
|
146
125
|
this.kyc.clearBearerToken();
|
|
147
|
-
this.loyalty.clearBearerToken();
|
|
148
|
-
this.weeklyPool.clearBearerToken();
|
|
149
|
-
this.referralFees.clearBearerToken();
|
|
150
126
|
this.bridge.clearBearerToken();
|
|
151
127
|
this.walletConnect.clearBearerToken();
|
|
152
|
-
this.project.clearBearerToken();
|
|
153
128
|
this.userManagement.clearBearerToken();
|
|
154
|
-
|
|
129
|
+
// Note: onramp doesn't use bearer tokens
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Set API key specifically for M-Pesa operations
|
|
133
|
+
*/
|
|
134
|
+
setMpesaApiKey(apiKey) {
|
|
135
|
+
this.onramp.setMpesaApiKey(apiKey);
|
|
155
136
|
}
|
|
156
137
|
/**
|
|
157
138
|
* Check if the SDK is configured with an API key
|
|
@@ -190,22 +171,12 @@ var vault_2 = require("./services/vault");
|
|
|
190
171
|
Object.defineProperty(exports, "VaultService", { enumerable: true, get: function () { return vault_2.VaultService; } });
|
|
191
172
|
var kyc_2 = require("./services/kyc");
|
|
192
173
|
Object.defineProperty(exports, "KYCService", { enumerable: true, get: function () { return kyc_2.KYCService; } });
|
|
193
|
-
var loyalty_2 = require("./services/loyalty");
|
|
194
|
-
Object.defineProperty(exports, "LoyaltyService", { enumerable: true, get: function () { return loyalty_2.LoyaltyService; } });
|
|
195
|
-
var weekly_pool_2 = require("./services/weekly-pool");
|
|
196
|
-
Object.defineProperty(exports, "WeeklyPoolService", { enumerable: true, get: function () { return weekly_pool_2.WeeklyPoolService; } });
|
|
197
|
-
var referral_fees_2 = require("./services/referral-fees");
|
|
198
|
-
Object.defineProperty(exports, "ReferralFeeService", { enumerable: true, get: function () { return referral_fees_2.ReferralFeeService; } });
|
|
199
174
|
var bridge_2 = require("./services/bridge");
|
|
200
175
|
Object.defineProperty(exports, "BridgeService", { enumerable: true, get: function () { return bridge_2.BridgeService; } });
|
|
201
176
|
var wallet_connect_2 = require("./services/wallet-connect");
|
|
202
177
|
Object.defineProperty(exports, "WalletConnectService", { enumerable: true, get: function () { return wallet_connect_2.WalletConnectService; } });
|
|
203
|
-
var project_2 = require("./services/project");
|
|
204
|
-
Object.defineProperty(exports, "ProjectService", { enumerable: true, get: function () { return project_2.ProjectService; } });
|
|
205
178
|
var user_management_2 = require("./services/user-management");
|
|
206
179
|
Object.defineProperty(exports, "UserManagementService", { enumerable: true, get: function () { return user_management_2.UserManagementService; } });
|
|
207
|
-
var stats_2 = require("./services/stats");
|
|
208
|
-
Object.defineProperty(exports, "StatsService", { enumerable: true, get: function () { return stats_2.StatsService; } });
|
|
209
180
|
// Default export
|
|
210
181
|
exports.default = Rift;
|
|
211
182
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpClient, RequestConfig, RiftConfig } from "./types";
|
|
2
|
+
export declare class MpesaHttpClient implements HttpClient {
|
|
3
|
+
private config;
|
|
4
|
+
private baseUrl;
|
|
5
|
+
constructor(config: RiftConfig);
|
|
6
|
+
private getMpesaBaseUrl;
|
|
7
|
+
request<T>(requestConfig: RequestConfig): Promise<T>;
|
|
8
|
+
private executeWithRetry;
|
|
9
|
+
private handleResponse;
|
|
10
|
+
private handleError;
|
|
11
|
+
private delay;
|
|
12
|
+
setApiKey(apiKey: string): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=mpesa-http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mpesa-http-client.d.ts","sourceRoot":"","sources":["../src/mpesa-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAY,MAAM,SAAS,CAAC;AAE1E,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,UAAU;IAK9B,OAAO,CAAC,eAAe;IAIjB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;YAiD5C,gBAAgB;YAgChB,cAAc;IAsC5B,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,KAAK;IAIb,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MpesaHttpClient = void 0;
|
|
4
|
+
class MpesaHttpClient {
|
|
5
|
+
config;
|
|
6
|
+
baseUrl;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.baseUrl = this.getMpesaBaseUrl();
|
|
10
|
+
}
|
|
11
|
+
getMpesaBaseUrl() {
|
|
12
|
+
return "https://mpesa-offramping-onramping-production.up.railway.app";
|
|
13
|
+
}
|
|
14
|
+
async request(requestConfig) {
|
|
15
|
+
const { method, url, data, params, headers = {} } = requestConfig;
|
|
16
|
+
const fullUrl = new URL(url, this.baseUrl);
|
|
17
|
+
if (params) {
|
|
18
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
19
|
+
if (value !== undefined && value !== null) {
|
|
20
|
+
fullUrl.searchParams.append(key, String(value));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
const requestHeaders = {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
...headers,
|
|
27
|
+
};
|
|
28
|
+
if (this.config.apiKey) {
|
|
29
|
+
requestHeaders["X-API-Key"] = this.config.apiKey;
|
|
30
|
+
}
|
|
31
|
+
const fetchOptions = {
|
|
32
|
+
method,
|
|
33
|
+
headers: requestHeaders,
|
|
34
|
+
};
|
|
35
|
+
if (data && (method === "POST" || method === "PUT")) {
|
|
36
|
+
fetchOptions.body = JSON.stringify(data);
|
|
37
|
+
}
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
const timeoutId = setTimeout(() => {
|
|
40
|
+
controller.abort();
|
|
41
|
+
}, this.config.timeout || 30000);
|
|
42
|
+
fetchOptions.signal = controller.signal;
|
|
43
|
+
try {
|
|
44
|
+
const response = await this.executeWithRetry(fullUrl.toString(), fetchOptions);
|
|
45
|
+
clearTimeout(timeoutId);
|
|
46
|
+
return await this.handleResponse(response);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
clearTimeout(timeoutId);
|
|
50
|
+
throw this.handleError(error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async executeWithRetry(url, options) {
|
|
54
|
+
const maxRetries = this.config.retries || 3;
|
|
55
|
+
let lastError;
|
|
56
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
57
|
+
try {
|
|
58
|
+
const response = await fetch(url, options);
|
|
59
|
+
if (response.ok ||
|
|
60
|
+
(response.status >= 400 && response.status < 500)) {
|
|
61
|
+
return response;
|
|
62
|
+
}
|
|
63
|
+
if (attempt === maxRetries) {
|
|
64
|
+
return response;
|
|
65
|
+
}
|
|
66
|
+
await this.delay(Math.pow(2, attempt) * 1000);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
lastError = error;
|
|
70
|
+
if (attempt === maxRetries) {
|
|
71
|
+
throw lastError;
|
|
72
|
+
}
|
|
73
|
+
await this.delay(Math.pow(2, attempt) * 1000);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
throw lastError;
|
|
77
|
+
}
|
|
78
|
+
async handleResponse(response) {
|
|
79
|
+
const contentType = response.headers.get("content-type");
|
|
80
|
+
if (!response.ok) {
|
|
81
|
+
let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
|
|
82
|
+
let errorDetails = {};
|
|
83
|
+
try {
|
|
84
|
+
if (contentType?.includes("application/json")) {
|
|
85
|
+
errorDetails = await response.json();
|
|
86
|
+
errorMessage =
|
|
87
|
+
errorDetails.message || errorDetails.error || errorMessage;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
errorMessage = (await response.text()) || errorMessage;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// If we can't parse the error response, use the default message
|
|
95
|
+
}
|
|
96
|
+
const apiError = {
|
|
97
|
+
message: errorMessage,
|
|
98
|
+
error: errorDetails.error,
|
|
99
|
+
status: response.status,
|
|
100
|
+
};
|
|
101
|
+
throw apiError;
|
|
102
|
+
}
|
|
103
|
+
if (response.status === 204) {
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
if (contentType?.includes("application/json")) {
|
|
107
|
+
return (await response.json());
|
|
108
|
+
}
|
|
109
|
+
return (await response.text());
|
|
110
|
+
}
|
|
111
|
+
handleError(error) {
|
|
112
|
+
if (error.name === "AbortError") {
|
|
113
|
+
return {
|
|
114
|
+
message: "Request timeout",
|
|
115
|
+
error: "The request took too long to complete",
|
|
116
|
+
status: 408,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
if (error.message && error.status) {
|
|
120
|
+
return error;
|
|
121
|
+
}
|
|
122
|
+
if (error instanceof TypeError && error.message.includes("fetch")) {
|
|
123
|
+
return {
|
|
124
|
+
message: "Network error",
|
|
125
|
+
error: "Unable to connect to the server. Please check your internet connection.",
|
|
126
|
+
status: 0,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
message: error.message || "An unexpected error occurred",
|
|
131
|
+
error: error.toString(),
|
|
132
|
+
status: 500,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
delay(ms) {
|
|
136
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
137
|
+
}
|
|
138
|
+
setApiKey(apiKey) {
|
|
139
|
+
this.config.apiKey = apiKey;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.MpesaHttpClient = MpesaHttpClient;
|
|
143
|
+
//# sourceMappingURL=mpesa-http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mpesa-http-client.js","sourceRoot":"","sources":["../src/mpesa-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseService } from "../base-service";
|
|
2
|
-
import { GetAllDepositsResponse } from "../types";
|
|
2
|
+
import { GetAllDepositsResponse, DepositStatsResponse } from "../types";
|
|
3
3
|
export declare class DepositsService extends BaseService {
|
|
4
4
|
getAllDeposits(): Promise<GetAllDepositsResponse>;
|
|
5
|
+
getDepositStats(): Promise<DepositStatsResponse>;
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=Deposits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deposits.d.ts","sourceRoot":"","sources":["../../src/services/Deposits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Deposits.d.ts","sourceRoot":"","sources":["../../src/services/Deposits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAExE,qBAAa,eAAgB,SAAQ,WAAW;IAEtC,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAOjD,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAOzD"}
|
|
@@ -6,7 +6,13 @@ class DepositsService extends base_service_1.BaseService {
|
|
|
6
6
|
async getAllDeposits() {
|
|
7
7
|
return this.authenticatedRequest({
|
|
8
8
|
method: "GET",
|
|
9
|
-
url: "/offramp/
|
|
9
|
+
url: "/offramp/deposits",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async getDepositStats() {
|
|
13
|
+
return this.authenticatedRequest({
|
|
14
|
+
method: "GET",
|
|
15
|
+
url: "/offramp/deposits/stats",
|
|
10
16
|
});
|
|
11
17
|
}
|
|
12
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deposits.js","sourceRoot":"","sources":["../../src/services/Deposits.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAG9C,MAAa,eAAgB,SAAQ,0BAAW;IAE5C,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,oBAAoB,CAAyB;YACrD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"Deposits.js","sourceRoot":"","sources":["../../src/services/Deposits.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAG9C,MAAa,eAAgB,SAAQ,0BAAW;IAE5C,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,oBAAoB,CAAyB;YACrD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,mBAAmB;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,oBAAoB,CAAuB;YACnD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,yBAAyB;SACjC,CAAC,CAAC;IACP,CAAC;CAEJ;AAhBD,0CAgBC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseService } from "../base-service";
|
|
2
|
+
import { RiftHttpClient } from "../http-client";
|
|
3
|
+
import { MpesaSTKInitiateRequest, MpesaSTKInitiateResponse, MpesaTransactionStatusRequest, MpesaTransactionStatusResponse, MpesaTransactionHistoryRequest, MpesaTransactionHistoryResponse, RiftConfig } from "../types";
|
|
4
|
+
export declare class OnrampService extends BaseService {
|
|
5
|
+
private mpesaClient;
|
|
6
|
+
constructor(httpClient: RiftHttpClient, config: RiftConfig);
|
|
7
|
+
initiateSafaricomSTK(request: MpesaSTKInitiateRequest): Promise<MpesaSTKInitiateResponse>;
|
|
8
|
+
getSafaricomTransactionStatus(request: MpesaTransactionStatusRequest): Promise<MpesaTransactionStatusResponse>;
|
|
9
|
+
pollSafaricomTransactionStatus(checkoutRequestId?: string, merchantId?: string, maxAttempts?: number, intervalMs?: number): Promise<MpesaTransactionStatusResponse>;
|
|
10
|
+
getUserTransactionHistory(request?: MpesaTransactionHistoryRequest): Promise<MpesaTransactionHistoryResponse>;
|
|
11
|
+
setMpesaApiKey(apiKey: string): void;
|
|
12
|
+
private delay;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=onramp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onramp.d.ts","sourceRoot":"","sources":["../../src/services/onramp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,WAAW,CAAkB;gBAEzB,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU;IAKpD,oBAAoB,CACxB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAQ9B,6BAA6B,CACjC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,8BAA8B,CAAC;IAQpC,8BAA8B,CAClC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,SAAK,EAChB,UAAU,SAAQ,GACjB,OAAO,CAAC,8BAA8B,CAAC;IAmCpC,yBAAyB,CAC7B,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAQ3C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OnrampService = void 0;
|
|
4
|
+
const base_service_1 = require("../base-service");
|
|
5
|
+
const mpesa_http_client_1 = require("../mpesa-http-client");
|
|
6
|
+
class OnrampService extends base_service_1.BaseService {
|
|
7
|
+
mpesaClient;
|
|
8
|
+
constructor(httpClient, config) {
|
|
9
|
+
super(httpClient);
|
|
10
|
+
this.mpesaClient = new mpesa_http_client_1.MpesaHttpClient(config);
|
|
11
|
+
}
|
|
12
|
+
async initiateSafaricomSTK(request) {
|
|
13
|
+
return this.mpesaClient.request({
|
|
14
|
+
method: "POST",
|
|
15
|
+
url: "/api/onramp/safaricom/stk/initiate",
|
|
16
|
+
data: request,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async getSafaricomTransactionStatus(request) {
|
|
20
|
+
return this.mpesaClient.request({
|
|
21
|
+
method: "GET",
|
|
22
|
+
url: "/api/onramp/safaricom/transactions/status",
|
|
23
|
+
params: request,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async pollSafaricomTransactionStatus(checkoutRequestId, merchantId, maxAttempts = 10, intervalMs = 10000) {
|
|
27
|
+
if (!checkoutRequestId && !merchantId) {
|
|
28
|
+
throw new Error("Either checkoutRequestId or merchantId must be provided");
|
|
29
|
+
}
|
|
30
|
+
const requestParams = {};
|
|
31
|
+
if (checkoutRequestId) {
|
|
32
|
+
requestParams.checkoutRequestId = checkoutRequestId;
|
|
33
|
+
}
|
|
34
|
+
if (merchantId) {
|
|
35
|
+
requestParams.merchantRequestId = merchantId;
|
|
36
|
+
}
|
|
37
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
38
|
+
try {
|
|
39
|
+
const status = await this.getSafaricomTransactionStatus(requestParams);
|
|
40
|
+
if (status.status === "success" || status.status === "failed") {
|
|
41
|
+
return status;
|
|
42
|
+
}
|
|
43
|
+
if (attempt < maxAttempts) {
|
|
44
|
+
await this.delay(intervalMs);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (attempt === maxAttempts) {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
await this.delay(intervalMs);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return this.getSafaricomTransactionStatus(requestParams);
|
|
55
|
+
}
|
|
56
|
+
async getUserTransactionHistory(request) {
|
|
57
|
+
return this.mpesaClient.request({
|
|
58
|
+
method: "GET",
|
|
59
|
+
url: "/api/onramp/safaricom/transactions/user",
|
|
60
|
+
params: request,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
setMpesaApiKey(apiKey) {
|
|
64
|
+
this.mpesaClient.setApiKey(apiKey);
|
|
65
|
+
}
|
|
66
|
+
delay(ms) {
|
|
67
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.OnrampService = OnrampService;
|
|
71
|
+
//# sourceMappingURL=onramp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onramp.js","sourceRoot":"","sources":["../../src/services/onramp.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAE9C,4DAAuD;AAWvD,MAAa,aAAc,SAAQ,0BAAW;IACpC,WAAW,CAAkB;IAErC,YAAY,UAA0B,EAAE,MAAkB;QACxD,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,mCAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAAgC;QAEhC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAA2B;YACxD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,oCAAoC;YACzC,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,OAAsC;QAEtC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAiC;YAC9D,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,2CAA2C;YAChD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,iBAA0B,EAC1B,UAAmB,EACnB,WAAW,GAAG,EAAE,EAChB,UAAU,GAAG,KAAK;QAElB,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAkC,EAAE,CAAC;QACxD,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QACtD,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,iBAAiB,GAAG,UAAU,CAAC;QAC/C,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9D,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,OAAwC;QAExC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAkC;YAC/D,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,yCAAyC;YAC9C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AArFD,sCAqFC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -443,6 +443,7 @@ export interface OtpResponse {
|
|
|
443
443
|
status: string;
|
|
444
444
|
message?: string;
|
|
445
445
|
}
|
|
446
|
+
export type AutoSwapTargetChain = "BASE" | "ARBITRUM" | "POLYGON" | "ETHEREUM";
|
|
446
447
|
export interface User {
|
|
447
448
|
id: string;
|
|
448
449
|
externalId: string;
|
|
@@ -457,6 +458,8 @@ export interface User {
|
|
|
457
458
|
paymentAccount?: string;
|
|
458
459
|
notificationEmail?: string;
|
|
459
460
|
instantWithdrawals?: boolean;
|
|
461
|
+
autoSwapEnabled?: boolean;
|
|
462
|
+
autoSwapTargetChain?: AutoSwapTargetChain | null;
|
|
460
463
|
[key: string]: any;
|
|
461
464
|
}
|
|
462
465
|
export interface UpdateUserRequest {
|
|
@@ -473,6 +476,8 @@ export interface UpdateUserRequest {
|
|
|
473
476
|
paymentAccount?: string;
|
|
474
477
|
notificationEmail?: string;
|
|
475
478
|
instantWithdrawals?: boolean;
|
|
479
|
+
autoSwapEnabled?: boolean;
|
|
480
|
+
autoSwapTargetChain?: AutoSwapTargetChain | null;
|
|
476
481
|
[key: string]: any;
|
|
477
482
|
}
|
|
478
483
|
export interface UserResponse {
|
|
@@ -1471,6 +1476,14 @@ export interface Deposit {
|
|
|
1471
1476
|
export interface GetAllDepositsResponse {
|
|
1472
1477
|
deposits: Deposit[];
|
|
1473
1478
|
}
|
|
1479
|
+
export interface DepositStatsResponse {
|
|
1480
|
+
stats: {
|
|
1481
|
+
totalDeposits: number;
|
|
1482
|
+
totalUsdcAmount: number;
|
|
1483
|
+
totalKesAmount: number;
|
|
1484
|
+
deposits: Deposit[];
|
|
1485
|
+
};
|
|
1486
|
+
}
|
|
1474
1487
|
export interface ProtocolStats {
|
|
1475
1488
|
tvl: string;
|
|
1476
1489
|
totalDeposits: string;
|