@rift-finance/wallet 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/Readme.md +1345 -0
  2. package/dist/base-service.d.ts +28 -0
  3. package/dist/base-service.d.ts.map +1 -0
  4. package/dist/base-service.js +49 -0
  5. package/dist/base-service.js.map +1 -0
  6. package/dist/http-client.d.ts +15 -0
  7. package/dist/http-client.d.ts.map +1 -0
  8. package/dist/http-client.js +166 -0
  9. package/dist/http-client.js.map +1 -0
  10. package/dist/index.d.ts +61 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +130 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/mpesa-http-client.d.ts +14 -0
  15. package/dist/mpesa-http-client.d.ts.map +1 -0
  16. package/dist/mpesa-http-client.js +156 -0
  17. package/dist/mpesa-http-client.js.map +1 -0
  18. package/dist/services/assets.d.ts +31 -0
  19. package/dist/services/assets.d.ts.map +1 -0
  20. package/dist/services/assets.js +75 -0
  21. package/dist/services/assets.js.map +1 -0
  22. package/dist/services/auth.d.ts +23 -0
  23. package/dist/services/auth.d.ts.map +1 -0
  24. package/dist/services/auth.js +131 -0
  25. package/dist/services/auth.js.map +1 -0
  26. package/dist/services/defi.d.ts +6 -0
  27. package/dist/services/defi.d.ts.map +1 -0
  28. package/dist/services/defi.js +15 -0
  29. package/dist/services/defi.js.map +1 -0
  30. package/dist/services/notifications.d.ts +39 -0
  31. package/dist/services/notifications.d.ts.map +1 -0
  32. package/dist/services/notifications.js +79 -0
  33. package/dist/services/notifications.js.map +1 -0
  34. package/dist/services/onramp.d.ts +43 -0
  35. package/dist/services/onramp.d.ts.map +1 -0
  36. package/dist/services/onramp.js +109 -0
  37. package/dist/services/onramp.js.map +1 -0
  38. package/dist/services/payment-links.d.ts +24 -0
  39. package/dist/services/payment-links.d.ts.map +1 -0
  40. package/dist/services/payment-links.js +121 -0
  41. package/dist/services/payment-links.js.map +1 -0
  42. package/dist/services/signer.d.ts +25 -0
  43. package/dist/services/signer.d.ts.map +1 -0
  44. package/dist/services/signer.js +52 -0
  45. package/dist/services/signer.js.map +1 -0
  46. package/dist/services/transactions.d.ts +8 -0
  47. package/dist/services/transactions.d.ts.map +1 -0
  48. package/dist/services/transactions.js +29 -0
  49. package/dist/services/transactions.js.map +1 -0
  50. package/dist/services/wallet.d.ts +7 -0
  51. package/dist/services/wallet.d.ts.map +1 -0
  52. package/dist/services/wallet.js +28 -0
  53. package/dist/services/wallet.js.map +1 -0
  54. package/dist/types.d.ts +1069 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +17 -0
  57. package/dist/types.js.map +1 -0
  58. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpesa-http-client.js","sourceRoot":"","sources":["../src/mpesa-http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { BaseService } from "../base-service";
2
+ import { WalletChain, WalletToken, ApiResponse } from "../types";
3
+ export declare class AssetsService extends BaseService {
4
+ /**
5
+ * Get supported chains
6
+ * @param active - If true, returns only chains where the user has active balances (requires authentication)
7
+ */
8
+ getSupportedChains(active?: boolean): Promise<ApiResponse<WalletChain[]>>;
9
+ /**
10
+ * Get all available tokens
11
+ */
12
+ getAllTokens(): Promise<ApiResponse<WalletToken[]>>;
13
+ /**
14
+ * Get tokens owned by the authenticated user
15
+ */
16
+ getUserTokens(): Promise<ApiResponse<WalletToken[]>>;
17
+ /**
18
+ * Get tokens for a specific chain by chain ID
19
+ */
20
+ getTokensByChainId(chainId: string): Promise<ApiResponse<WalletToken[]>>;
21
+ /**
22
+ * Get a single token by token ID
23
+ * @param tokenId - Token ID in format: CHAINNAME-SYMBOL (e.g., "ETHEREUM-USDC")
24
+ */
25
+ getTokenById(tokenId: string): Promise<ApiResponse<WalletToken>>;
26
+ /**
27
+ * Get a single chain by chain ID
28
+ */
29
+ getChainById(chainId: string): Promise<ApiResponse<WalletChain>>;
30
+ }
31
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/services/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EAEZ,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAc,SAAQ,WAAW;IAC5C;;;OAGG;IACG,kBAAkB,CACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAiBtC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAOzD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAO1D;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAOtC;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAOtE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;CAMvE"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AssetsService = void 0;
4
+ const base_service_1 = require("../base-service");
5
+ class AssetsService extends base_service_1.BaseService {
6
+ /**
7
+ * Get supported chains
8
+ * @param active - If true, returns only chains where the user has active balances (requires authentication)
9
+ */
10
+ async getSupportedChains(active) {
11
+ if (active) {
12
+ // This requires authentication
13
+ return this.authenticatedRequest({
14
+ method: "GET",
15
+ url: "/assets/supported-chains",
16
+ params: { active: "true" },
17
+ });
18
+ }
19
+ else {
20
+ // Public endpoint
21
+ return this.publicRequest({
22
+ method: "GET",
23
+ url: "/assets/supported-chains",
24
+ });
25
+ }
26
+ }
27
+ /**
28
+ * Get all available tokens
29
+ */
30
+ async getAllTokens() {
31
+ return this.publicRequest({
32
+ method: "GET",
33
+ url: "/assets/tokens",
34
+ });
35
+ }
36
+ /**
37
+ * Get tokens owned by the authenticated user
38
+ */
39
+ async getUserTokens() {
40
+ return this.authenticatedRequest({
41
+ method: "GET",
42
+ url: "/assets/tokens/user",
43
+ });
44
+ }
45
+ /**
46
+ * Get tokens for a specific chain by chain ID
47
+ */
48
+ async getTokensByChainId(chainId) {
49
+ return this.publicRequest({
50
+ method: "GET",
51
+ url: `/assets/tokens/chain/${chainId}`,
52
+ });
53
+ }
54
+ /**
55
+ * Get a single token by token ID
56
+ * @param tokenId - Token ID in format: CHAINNAME-SYMBOL (e.g., "ETHEREUM-USDC")
57
+ */
58
+ async getTokenById(tokenId) {
59
+ return this.publicRequest({
60
+ method: "GET",
61
+ url: `/assets/tokens/${tokenId}`,
62
+ });
63
+ }
64
+ /**
65
+ * Get a single chain by chain ID
66
+ */
67
+ async getChainById(chainId) {
68
+ return this.publicRequest({
69
+ method: "GET",
70
+ url: `/assets/chains/${chainId}`,
71
+ });
72
+ }
73
+ }
74
+ exports.AssetsService = AssetsService;
75
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/services/assets.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAQ9C,MAAa,aAAc,SAAQ,0BAAW;IAC5C;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAgB;QAEhB,IAAI,MAAM,EAAE,CAAC;YACX,+BAA+B;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAA6B;gBAC3D,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;gBAC/B,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,OAAO,IAAI,CAAC,aAAa,CAA6B;gBACpD,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,0BAA0B;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,aAAa,CAA6B;YACpD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,oBAAoB,CAA6B;YAC3D,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,qBAAqB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAe;QAEf,OAAO,IAAI,CAAC,aAAa,CAA6B;YACpD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,wBAAwB,OAAO,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,aAAa,CAA2B;YAClD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,kBAAkB,OAAO,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,aAAa,CAA2B;YAClD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,kBAAkB,OAAO,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AA5ED,sCA4EC"}
@@ -0,0 +1,23 @@
1
+ import { BaseService } from "../base-service";
2
+ import { LoginRequest, SignupRequest, OtpRequest, OtpVerifyRequest, OtpResponse, UserResponse, DeleteUserRequest, ApiResponse, LoginResponse, SignupResponse, DeleteUserResponse, CreateRecoveryRequest, CreateRecoveryResponse, RecoveryOptionsResponse, RequestPasswordResetRequest, RequestPasswordResetResponse, ResetPasswordRequest, ResetPasswordResponse, UpdateRecoveryRequest, UpdateRecoveryResponse, AddRecoveryMethodRequest, AddRecoveryMethodResponse, RemoveRecoveryMethodRequest, RemoveRecoveryMethodResponse, UpdateRecoveryMethodRequest, UpdateRecoveryMethodResponse, GetMyRecoveryMethodsRequest, GetMyRecoveryMethodsResponse, DeleteAllRecoveryMethodsRequest, DeleteAllRecoveryMethodsResponse } from "../types";
3
+ export declare class AuthService extends BaseService {
4
+ signup(request: SignupRequest): Promise<SignupResponse>;
5
+ login(request: LoginRequest): Promise<LoginResponse>;
6
+ sendOtp(request: OtpRequest): Promise<OtpResponse>;
7
+ verifyOtp(request: OtpVerifyRequest): Promise<OtpResponse>;
8
+ getUser(): Promise<UserResponse>;
9
+ deleteUser(request: DeleteUserRequest): Promise<ApiResponse<DeleteUserResponse>>;
10
+ logout(): void;
11
+ isAuthenticated(): boolean;
12
+ createRecoveryMethods(request: CreateRecoveryRequest): Promise<CreateRecoveryResponse>;
13
+ getRecoveryOptions(externalId: string): Promise<RecoveryOptionsResponse>;
14
+ requestPasswordReset(request: RequestPasswordResetRequest): Promise<RequestPasswordResetResponse>;
15
+ resetPassword(request: ResetPasswordRequest): Promise<ResetPasswordResponse>;
16
+ updateRecoveryMethods(request: UpdateRecoveryRequest): Promise<UpdateRecoveryResponse>;
17
+ addRecoveryMethod(request: AddRecoveryMethodRequest): Promise<AddRecoveryMethodResponse>;
18
+ removeRecoveryMethod(request: RemoveRecoveryMethodRequest): Promise<RemoveRecoveryMethodResponse>;
19
+ updateRecoveryMethod(request: UpdateRecoveryMethodRequest): Promise<UpdateRecoveryMethodResponse>;
20
+ getMyRecoveryMethods(request: GetMyRecoveryMethodsRequest): Promise<GetMyRecoveryMethodsResponse>;
21
+ deleteAllRecoveryMethods(request: DeleteAllRecoveryMethodsRequest): Promise<DeleteAllRecoveryMethodsResponse>;
22
+ }
23
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAElB,qBAAa,WAAY,SAAQ,WAAW;IACpC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAcpD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAQlD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAOhC,UAAU,CACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAc3C,MAAM,IAAI,IAAI;IAId,eAAe,IAAI,OAAO;IAMpB,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,kBAAkB,CACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAO7B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAQ/B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,gCAAgC,CAAC;CAO7C"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthService = void 0;
4
+ const base_service_1 = require("../base-service");
5
+ class AuthService extends base_service_1.BaseService {
6
+ async signup(request) {
7
+ return this.publicRequest({
8
+ method: "POST",
9
+ url: "/auth/signup",
10
+ data: request,
11
+ });
12
+ }
13
+ async login(request) {
14
+ const response = await this.publicRequest({
15
+ method: "POST",
16
+ url: "/auth/login",
17
+ data: request,
18
+ });
19
+ if (response.accessToken) {
20
+ this.setBearerToken(response.accessToken);
21
+ }
22
+ return response;
23
+ }
24
+ async sendOtp(request) {
25
+ return this.publicRequest({
26
+ method: "POST",
27
+ url: "/otp/send",
28
+ data: request,
29
+ });
30
+ }
31
+ async verifyOtp(request) {
32
+ return this.publicRequest({
33
+ method: "POST",
34
+ url: "/otp/verify",
35
+ data: request,
36
+ });
37
+ }
38
+ async getUser() {
39
+ return this.authenticatedRequest({
40
+ method: "GET",
41
+ url: "/user/me",
42
+ });
43
+ }
44
+ async deleteUser(request) {
45
+ const response = await this.authenticatedRequest({
46
+ method: "DELETE",
47
+ url: "/user/delete",
48
+ data: request,
49
+ });
50
+ this.clearBearerToken();
51
+ return response;
52
+ }
53
+ logout() {
54
+ this.clearBearerToken();
55
+ }
56
+ isAuthenticated() {
57
+ return !!this.getBearerToken();
58
+ }
59
+ // Recovery System Methods
60
+ async createRecoveryMethods(request) {
61
+ return this.authenticatedRequest({
62
+ method: "POST",
63
+ url: "/recovery/create",
64
+ data: request,
65
+ });
66
+ }
67
+ async getRecoveryOptions(externalId) {
68
+ return this.publicRequest({
69
+ method: "GET",
70
+ url: `/recovery/options/${externalId}`,
71
+ });
72
+ }
73
+ async requestPasswordReset(request) {
74
+ return this.publicRequest({
75
+ method: "POST",
76
+ url: "/recovery/request-reset",
77
+ data: request,
78
+ });
79
+ }
80
+ async resetPassword(request) {
81
+ return this.publicRequest({
82
+ method: "POST",
83
+ url: "/recovery/reset-password",
84
+ data: request,
85
+ });
86
+ }
87
+ async updateRecoveryMethods(request) {
88
+ return this.authenticatedRequest({
89
+ method: "PUT",
90
+ url: "/recovery/update",
91
+ data: request,
92
+ });
93
+ }
94
+ async addRecoveryMethod(request) {
95
+ return this.authenticatedRequest({
96
+ method: "POST",
97
+ url: "/recovery/add-method",
98
+ data: request,
99
+ });
100
+ }
101
+ async removeRecoveryMethod(request) {
102
+ return this.authenticatedRequest({
103
+ method: "DELETE",
104
+ url: "/recovery/remove-method",
105
+ data: request,
106
+ });
107
+ }
108
+ async updateRecoveryMethod(request) {
109
+ return this.authenticatedRequest({
110
+ method: "PUT",
111
+ url: "/recovery/update-method",
112
+ data: request,
113
+ });
114
+ }
115
+ async getMyRecoveryMethods(request) {
116
+ return this.authenticatedRequest({
117
+ method: "POST",
118
+ url: "/recovery/my-methods",
119
+ data: request,
120
+ });
121
+ }
122
+ async deleteAllRecoveryMethods(request) {
123
+ return this.authenticatedRequest({
124
+ method: "DELETE",
125
+ url: "/recovery/delete-all",
126
+ data: request,
127
+ });
128
+ }
129
+ }
130
+ exports.AuthService = AuthService;
131
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BaseService } from "../base-service";
2
+ import { SwapRequest, SwapResponse } from "../types";
3
+ export declare class DeFiService extends BaseService {
4
+ swap(request: SwapRequest): Promise<SwapResponse>;
5
+ }
6
+ //# sourceMappingURL=defi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defi.d.ts","sourceRoot":"","sources":["../../src/services/defi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,WAAY,SAAQ,WAAW;IACpC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAOxD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeFiService = void 0;
4
+ const base_service_1 = require("../base-service");
5
+ class DeFiService extends base_service_1.BaseService {
6
+ async swap(request) {
7
+ return this.authenticatedRequest({
8
+ method: "POST",
9
+ url: "/defi/swap",
10
+ data: request,
11
+ });
12
+ }
13
+ }
14
+ exports.DeFiService = DeFiService;
15
+ //# sourceMappingURL=defi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defi.js","sourceRoot":"","sources":["../../src/services/defi.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAG9C,MAAa,WAAY,SAAQ,0BAAW;IAC1C,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAe;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;CACF;AARD,kCAQC"}
@@ -0,0 +1,39 @@
1
+ import { BaseService } from "../base-service";
2
+ import { ApiResponse, NotificationSubscriptionRequest, NotificationSubscription, NotificationTestRequest, NotificationSendRequest, NotificationSendResponse, UserNotificationSubscription } from "../types";
3
+ export declare class NotificationService extends BaseService {
4
+ /**
5
+ * Register or update a notification subscription for the current user
6
+ */
7
+ registerSubscription(request: NotificationSubscriptionRequest): Promise<ApiResponse<{
8
+ subscription: NotificationSubscription;
9
+ }>>;
10
+ /**
11
+ * Unsubscribe from notifications
12
+ */
13
+ unsubscribe(subscriberId: string): Promise<ApiResponse<void>>;
14
+ /**
15
+ * Get all notification subscriptions for the current user
16
+ */
17
+ getUserSubscriptions(): Promise<ApiResponse<{
18
+ subscriptions: UserNotificationSubscription[];
19
+ activeCount: number;
20
+ totalCount: number;
21
+ }>>;
22
+ /**
23
+ * Send a test notification to a specific subscriber
24
+ */
25
+ sendTestNotification(request: NotificationTestRequest): Promise<ApiResponse<{
26
+ requestId: string;
27
+ }>>;
28
+ /**
29
+ * Send notification to all subscribers of the current user
30
+ */
31
+ sendToAllUserSubscribers(request: NotificationSendRequest): Promise<ApiResponse<NotificationSendResponse>>;
32
+ /**
33
+ * Delete all notification subscriptions for the current user
34
+ */
35
+ deleteAllSubscriptions(): Promise<ApiResponse<{
36
+ deletedCount: number;
37
+ }>>;
38
+ }
39
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/services/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,qBAAa,mBAAoB,SAAQ,WAAW;IAClD;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,WAAW,CAAC;QAAE,YAAY,EAAE,wBAAwB,CAAA;KAAE,CAAC,CAAC;IAcnE;;OAEG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAQnE;;OAEG;IACG,oBAAoB,IAAI,OAAO,CACnC,WAAW,CAAC;QACV,aAAa,EAAE,4BAA4B,EAAE,CAAC;QAC9C,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CACH;IAaD;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAa9C;;OAEG;IACG,wBAAwB,CAC5B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAYjD;;OAEG;IACG,sBAAsB,IAAI,OAAO,CACrC,WAAW,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CACtC;CAMF"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationService = void 0;
4
+ const base_service_1 = require("../base-service");
5
+ class NotificationService extends base_service_1.BaseService {
6
+ /**
7
+ * Register or update a notification subscription for the current user
8
+ */
9
+ async registerSubscription(request) {
10
+ return this.authenticatedRequest({
11
+ method: "POST",
12
+ url: "/notifications/register",
13
+ data: {
14
+ subscriberId: request.subscriberId,
15
+ deviceInfo: request.deviceInfo,
16
+ platform: request.platform,
17
+ },
18
+ });
19
+ }
20
+ /**
21
+ * Unsubscribe from notifications
22
+ */
23
+ async unsubscribe(subscriberId) {
24
+ return this.authenticatedRequest({
25
+ method: "POST",
26
+ url: "/notifications/unsubscribe",
27
+ data: { subscriberId },
28
+ });
29
+ }
30
+ /**
31
+ * Get all notification subscriptions for the current user
32
+ */
33
+ async getUserSubscriptions() {
34
+ return this.authenticatedRequest({
35
+ method: "GET",
36
+ url: "/notifications/subscriptions",
37
+ });
38
+ }
39
+ /**
40
+ * Send a test notification to a specific subscriber
41
+ */
42
+ async sendTestNotification(request) {
43
+ return this.authenticatedRequest({
44
+ method: "POST",
45
+ url: "/notifications/test",
46
+ data: {
47
+ subscriberId: request.subscriberId,
48
+ message: request.message,
49
+ targetUrl: request.targetUrl,
50
+ title: request.title,
51
+ },
52
+ });
53
+ }
54
+ /**
55
+ * Send notification to all subscribers of the current user
56
+ */
57
+ async sendToAllUserSubscribers(request) {
58
+ return this.authenticatedRequest({
59
+ method: "POST",
60
+ url: "/notifications/send",
61
+ data: {
62
+ message: request.message,
63
+ targetUrl: request.targetUrl,
64
+ title: request.title,
65
+ },
66
+ });
67
+ }
68
+ /**
69
+ * Delete all notification subscriptions for the current user
70
+ */
71
+ async deleteAllSubscriptions() {
72
+ return this.authenticatedRequest({
73
+ method: "DELETE",
74
+ url: "/notifications/subscriptions",
75
+ });
76
+ }
77
+ }
78
+ exports.NotificationService = NotificationService;
79
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/services/notifications.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAW9C,MAAa,mBAAoB,SAAQ,0BAAW;IAClD;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAwC;QAExC,OAAO,IAAI,CAAC,oBAAoB,CAE9B;YACA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,yBAAyB;YAC9B,IAAI,EAAE;gBACJ,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,oBAAoB,CAAoB;YAClD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,4BAA4B;YACjC,IAAI,EAAE,EAAE,YAAY,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QAOxB,OAAO,IAAI,CAAC,oBAAoB,CAM9B;YACA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,8BAA8B;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAgC;QAEhC,OAAO,IAAI,CAAC,oBAAoB,CAAqC;YACnE,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,qBAAqB;YAC1B,IAAI,EAAE;gBACJ,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAgC;QAEhC,OAAO,IAAI,CAAC,oBAAoB,CAAwC;YACtE,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,qBAAqB;YAC1B,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAG1B,OAAO,IAAI,CAAC,oBAAoB,CAAwC;YACtE,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,8BAA8B;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AAnGD,kDAmGC"}
@@ -0,0 +1,43 @@
1
+ import { BaseService } from "../base-service";
2
+ import { MpesaSTKInitiateRequest, MpesaSTKInitiateResponse, MpesaTransactionStatusRequest, MpesaTransactionStatusResponse, MpesaTransactionHistoryRequest, MpesaTransactionHistoryResponse, RiftConfig } from "../types";
3
+ export declare class OnrampService extends BaseService {
4
+ private mpesaClient;
5
+ constructor(httpClient: any, config: RiftConfig);
6
+ /**
7
+ * Initiates an M-Pesa STK push for crypto on-ramping
8
+ * @param request - The STK initiation request containing user details and payment info
9
+ * @returns Promise with the STK initiation response
10
+ */
11
+ initiateSafaricomSTK(request: MpesaSTKInitiateRequest): Promise<MpesaSTKInitiateResponse>;
12
+ /**
13
+ * Gets the status of a Safaricom transaction
14
+ * @param request - The transaction status request with checkout or merchant request ID
15
+ * @returns Promise with the transaction status response
16
+ */
17
+ getSafaricomTransactionStatus(request: MpesaTransactionStatusRequest): Promise<MpesaTransactionStatusResponse>;
18
+ /**
19
+ * Polls transaction status until completion or timeout
20
+ * @param checkoutRequestId - The checkout request ID from STK initiation (optional)
21
+ * @param merchantId - The merchant request ID from STK initiation (optional)
22
+ * @param maxAttempts - Maximum number of polling attempts (default: 10)
23
+ * @param intervalMs - Interval between polls in milliseconds (default: 10000)
24
+ * @returns Promise with the final transaction status
25
+ */
26
+ pollSafaricomTransactionStatus(checkoutRequestId?: string, merchantId?: string, maxAttempts?: number, intervalMs?: number): Promise<MpesaTransactionStatusResponse>;
27
+ /**
28
+ * Gets user's M-Pesa onramp transaction history with filtering and pagination
29
+ * @param request - The transaction history request with optional filters
30
+ * @returns Promise with the transaction history response
31
+ */
32
+ getUserTransactionHistory(request?: MpesaTransactionHistoryRequest): Promise<MpesaTransactionHistoryResponse>;
33
+ /**
34
+ * Set API key for M-Pesa operations
35
+ */
36
+ setMpesaApiKey(apiKey: string): void;
37
+ /**
38
+ * Utility method to delay execution
39
+ * @param ms - Milliseconds to delay
40
+ */
41
+ private delay;
42
+ }
43
+ //# 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;AAE9C,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,GAAG,EAAE,MAAM,EAAE,UAAU;IAM/C;;;;OAIG;IACG,oBAAoB,CACxB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAQpC;;;;OAIG;IACG,6BAA6B,CACjC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,8BAA8B,CAAC;IAQ1C;;;;;;;OAOG;IACG,8BAA8B,CAClC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,MAAW,EACxB,UAAU,GAAE,MAAc,GACzB,OAAO,CAAC,8BAA8B,CAAC;IA4C1C;;;;OAIG;IACG,yBAAyB,CAC7B,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAQ3C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -0,0 +1,109 @@
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
+ // Create separate client for M-Pesa operations
11
+ this.mpesaClient = new mpesa_http_client_1.MpesaHttpClient(config);
12
+ }
13
+ /**
14
+ * Initiates an M-Pesa STK push for crypto on-ramping
15
+ * @param request - The STK initiation request containing user details and payment info
16
+ * @returns Promise with the STK initiation response
17
+ */
18
+ async initiateSafaricomSTK(request) {
19
+ return this.mpesaClient.request({
20
+ method: "POST",
21
+ url: "/api/onramp/safaricom/stk/initiate",
22
+ data: request,
23
+ });
24
+ }
25
+ /**
26
+ * Gets the status of a Safaricom transaction
27
+ * @param request - The transaction status request with checkout or merchant request ID
28
+ * @returns Promise with the transaction status response
29
+ */
30
+ async getSafaricomTransactionStatus(request) {
31
+ return this.mpesaClient.request({
32
+ method: "GET",
33
+ url: "/api/onramp/safaricom/transactions/status",
34
+ params: request,
35
+ });
36
+ }
37
+ /**
38
+ * Polls transaction status until completion or timeout
39
+ * @param checkoutRequestId - The checkout request ID from STK initiation (optional)
40
+ * @param merchantId - The merchant request ID from STK initiation (optional)
41
+ * @param maxAttempts - Maximum number of polling attempts (default: 10)
42
+ * @param intervalMs - Interval between polls in milliseconds (default: 10000)
43
+ * @returns Promise with the final transaction status
44
+ */
45
+ async pollSafaricomTransactionStatus(checkoutRequestId, merchantId, maxAttempts = 10, intervalMs = 10000) {
46
+ // Validate that at least one ID is provided
47
+ if (!checkoutRequestId && !merchantId) {
48
+ throw new Error("Either checkoutRequestId or merchantId must be provided");
49
+ }
50
+ // Build the request parameters
51
+ const requestParams = {};
52
+ if (checkoutRequestId) {
53
+ requestParams.checkoutRequestId = checkoutRequestId;
54
+ }
55
+ if (merchantId) {
56
+ requestParams.merchantRequestId = merchantId;
57
+ }
58
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
59
+ try {
60
+ const status = await this.getSafaricomTransactionStatus(requestParams);
61
+ // If transaction is completed (success or failed), return the result
62
+ if (status.status === "success" || status.status === "failed") {
63
+ return status;
64
+ }
65
+ // If not the last attempt and still pending, wait before next poll
66
+ if (attempt < maxAttempts) {
67
+ await this.delay(intervalMs);
68
+ }
69
+ }
70
+ catch (error) {
71
+ // If it's the last attempt, throw the error
72
+ if (attempt === maxAttempts) {
73
+ throw error;
74
+ }
75
+ // Otherwise, wait and retry
76
+ await this.delay(intervalMs);
77
+ }
78
+ }
79
+ // If we've exhausted all attempts, return the last known status
80
+ return this.getSafaricomTransactionStatus(requestParams);
81
+ }
82
+ /**
83
+ * Gets user's M-Pesa onramp transaction history with filtering and pagination
84
+ * @param request - The transaction history request with optional filters
85
+ * @returns Promise with the transaction history response
86
+ */
87
+ async getUserTransactionHistory(request) {
88
+ return this.mpesaClient.request({
89
+ method: "GET",
90
+ url: "/api/onramp/safaricom/transactions/user",
91
+ params: request,
92
+ });
93
+ }
94
+ /**
95
+ * Set API key for M-Pesa operations
96
+ */
97
+ setMpesaApiKey(apiKey) {
98
+ this.mpesaClient.setApiKey(apiKey);
99
+ }
100
+ /**
101
+ * Utility method to delay execution
102
+ * @param ms - Milliseconds to delay
103
+ */
104
+ delay(ms) {
105
+ return new Promise((resolve) => setTimeout(resolve, ms));
106
+ }
107
+ }
108
+ exports.OnrampService = OnrampService;
109
+ //# sourceMappingURL=onramp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onramp.js","sourceRoot":"","sources":["../../src/services/onramp.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAC9C,4DAAuD;AAWvD,MAAa,aAAc,SAAQ,0BAAW;IACpC,WAAW,CAAkB;IAErC,YAAY,UAAe,EAAE,MAAkB;QAC7C,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,mCAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,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;;;;OAIG;IACH,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;;;;;;;OAOG;IACH,KAAK,CAAC,8BAA8B,CAClC,iBAA0B,EAC1B,UAAmB,EACnB,cAAsB,EAAE,EACxB,aAAqB,KAAK;QAE1B,4CAA4C;QAC5C,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,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;gBAEvE,qEAAqE;gBACrE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9D,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,mEAAmE;gBACnE,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,4CAA4C;gBAC5C,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,4BAA4B;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,OAAO,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,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;;OAEG;IACH,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AA7HD,sCA6HC"}
@@ -0,0 +1,24 @@
1
+ import { BaseService } from "../base-service";
2
+ import { CreatePaymentRequestInput, PaymentRequestResult, ClaimPaymentRequest, ClaimPaymentResponse, GetPaymentRequestsInput, GetPaymentRequestsResult, GetSendLinksInput, GetSendLinksResult, CancelPaymentRequestResult, CancelSendLinkResult, PayPaymentRequestResponse, SendSpecificPaymentRequest, SendOpenPaymentRequest, RegisterRedirectUrlRequest, RegisterRedirectUrlResponse, GetAllUsersResponse, GetRedirectLinksRequest, GetRedirectLinksResponse } from "../types";
3
+ export declare class PaymentLinksService extends BaseService {
4
+ /**
5
+ * Validates the time format for send links
6
+ * Expected format: number followed by s, m, h, or d (e.g., 1s, 5m, 2h, 30d)
7
+ */
8
+ private validateTimeFormat;
9
+ requestPayment(request: CreatePaymentRequestInput): Promise<PaymentRequestResult>;
10
+ payPaymentRequest(nonce: string): Promise<PayPaymentRequestResponse>;
11
+ createSpecificSendLink(request: SendSpecificPaymentRequest): Promise<PaymentRequestResult>;
12
+ createOpenSendLink(request: SendOpenPaymentRequest): Promise<PaymentRequestResult>;
13
+ claimSpecificSendLink(request: ClaimPaymentRequest): Promise<ClaimPaymentResponse>;
14
+ claimOpenSendLink(request: ClaimPaymentRequest): Promise<ClaimPaymentResponse>;
15
+ listPaymentRequests(request?: GetPaymentRequestsInput): Promise<GetPaymentRequestsResult>;
16
+ listSendLinks(request?: GetSendLinksInput): Promise<GetSendLinksResult>;
17
+ cancelPaymentRequest(nonce: string): Promise<CancelPaymentRequestResult>;
18
+ cancelSendLink(urlId: string): Promise<CancelSendLinkResult>;
19
+ registerRequestLinkRedirectUrl(request: RegisterRedirectUrlRequest): Promise<RegisterRedirectUrlResponse>;
20
+ registerSendLinkRedirectUrl(request: RegisterRedirectUrlRequest): Promise<RegisterRedirectUrlResponse>;
21
+ getAllUsers(): Promise<GetAllUsersResponse>;
22
+ getRedirectLinks(request: GetRedirectLinksRequest): Promise<GetRedirectLinksResponse>;
23
+ }
24
+ //# sourceMappingURL=payment-links.d.ts.map