@soroswap/sdk 0.0.1

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.
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenCache = void 0;
4
+ /**
5
+ * In-memory token cache with automatic expiration handling
6
+ * Stores access and refresh tokens with timestamps
7
+ */
8
+ class TokenCache {
9
+ constructor() {
10
+ this.tokenData = null;
11
+ }
12
+ /**
13
+ * Store token data in cache
14
+ */
15
+ setTokens(tokenData) {
16
+ this.tokenData = tokenData;
17
+ }
18
+ /**
19
+ * Get current access token if valid
20
+ */
21
+ getAccessToken() {
22
+ if (!this.tokenData) {
23
+ return null;
24
+ }
25
+ // Check if token is expired (with 5 minute buffer)
26
+ const bufferTime = 5 * 60 * 1000; // 5 minutes in milliseconds
27
+ const now = Date.now();
28
+ if (this.tokenData.expires_at && (this.tokenData.expires_at - bufferTime) <= now) {
29
+ return null; // Token is expired or about to expire
30
+ }
31
+ return this.tokenData.access_token;
32
+ }
33
+ /**
34
+ * Get refresh token
35
+ */
36
+ getRefreshToken() {
37
+ return this.tokenData?.refresh_token || null;
38
+ }
39
+ /**
40
+ * Get user information
41
+ */
42
+ getUserInfo() {
43
+ if (!this.tokenData) {
44
+ return null;
45
+ }
46
+ return {
47
+ username: this.tokenData.username,
48
+ role: this.tokenData.role
49
+ };
50
+ }
51
+ /**
52
+ * Check if we have valid tokens
53
+ */
54
+ hasValidTokens() {
55
+ return this.getAccessToken() !== null;
56
+ }
57
+ /**
58
+ * Check if we need to refresh tokens
59
+ */
60
+ needsRefresh() {
61
+ if (!this.tokenData) {
62
+ return false;
63
+ }
64
+ const bufferTime = 5 * 60 * 1000; // 5 minutes buffer
65
+ const now = Date.now();
66
+ return !!(this.tokenData.expires_at && (this.tokenData.expires_at - bufferTime) <= now);
67
+ }
68
+ /**
69
+ * Clear all cached tokens
70
+ */
71
+ clear() {
72
+ this.tokenData = null;
73
+ }
74
+ /**
75
+ * Get token expiration time
76
+ */
77
+ getExpirationTime() {
78
+ return this.tokenData?.expires_at || null;
79
+ }
80
+ /**
81
+ * Check if tokens exist (regardless of expiration)
82
+ */
83
+ hasTokens() {
84
+ return this.tokenData !== null;
85
+ }
86
+ }
87
+ exports.TokenCache = TokenCache;
88
+ //# sourceMappingURL=token-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-cache.js","sourceRoot":"","sources":["../../src/cache/token-cache.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,UAAU;IAAvB;QACU,cAAS,GAAqB,IAAI,CAAC;IA0F7C,CAAC;IAxFC;;OAEG;IACH,SAAS,CAAC,SAAoB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,CAAC,sCAAsC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,mBAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IACjC,CAAC;CACF;AA3FD,gCA2FC"}
@@ -0,0 +1,41 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { Network } from '../types';
3
+ /**
4
+ * HTTP client wrapper with automatic authentication and error handling
5
+ */
6
+ export declare class HttpClient {
7
+ private client;
8
+ private tokenProvider;
9
+ constructor(baseURL: string, timeout: number | undefined, tokenProvider: () => Promise<string | null>);
10
+ /**
11
+ * Transform axios error to APIError
12
+ */
13
+ private transformError;
14
+ /**
15
+ * GET request
16
+ */
17
+ get<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
18
+ /**
19
+ * POST request
20
+ */
21
+ post<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
22
+ /**
23
+ * PUT request
24
+ */
25
+ put<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
26
+ /**
27
+ * DELETE request
28
+ */
29
+ delete<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
30
+ /**
31
+ * Build query parameters for network
32
+ */
33
+ buildNetworkQuery(network?: Network): {
34
+ network?: Network;
35
+ };
36
+ /**
37
+ * Build URL with query parameters
38
+ */
39
+ buildUrlWithQuery(baseUrl: string, params: Record<string, any>): string;
40
+ }
41
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/clients/http-client.ts"],"names":[],"mappings":"AACA,OAAc,EAAiB,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAChF,OAAO,EAAY,OAAO,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAA+B;gBAGlD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,YAAQ,EACvB,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyC7C;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKlE;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK/E;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK9E;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE;;OAEG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAI3D;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAaxE"}
@@ -0,0 +1,121 @@
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.HttpClient = void 0;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ const axios_1 = __importDefault(require("axios"));
9
+ /**
10
+ * HTTP client wrapper with automatic authentication and error handling
11
+ */
12
+ class HttpClient {
13
+ constructor(baseURL, timeout = 30000, tokenProvider) {
14
+ this.tokenProvider = tokenProvider;
15
+ this.client = axios_1.default.create({
16
+ baseURL,
17
+ timeout,
18
+ headers: {
19
+ 'Content-Type': 'application/json',
20
+ },
21
+ });
22
+ // Add request interceptor to inject auth token
23
+ this.client.interceptors.request.use(async (config) => {
24
+ // Skip auth for authentication endpoints to prevent infinite loops
25
+ const authEndpoints = ['/login', '/refresh', '/health'];
26
+ const isAuthEndpoint = authEndpoints.some(endpoint => config.url?.includes(endpoint));
27
+ if (!isAuthEndpoint) {
28
+ const token = await this.tokenProvider();
29
+ config.headers.Authorization = `Bearer ${token}`;
30
+ }
31
+ return config;
32
+ }, (error) => {
33
+ return Promise.reject(this.transformError(error));
34
+ });
35
+ // Add response interceptor for error handling
36
+ this.client.interceptors.response.use((response) => response, (error) => {
37
+ return Promise.reject(this.transformError(error));
38
+ });
39
+ }
40
+ /**
41
+ * Transform axios error to APIError
42
+ */
43
+ transformError(error) {
44
+ if (error.response) {
45
+ // Server responded with error status
46
+ return {
47
+ message: error.response.data?.message || error.message,
48
+ statusCode: error.response.status,
49
+ timestamp: new Date().toISOString(),
50
+ path: error.response.config?.url,
51
+ };
52
+ }
53
+ else if (error.request) {
54
+ // Request was made but no response received
55
+ return {
56
+ message: 'Network error: No response received',
57
+ statusCode: 0,
58
+ timestamp: new Date().toISOString(),
59
+ };
60
+ }
61
+ else {
62
+ // Something else happened
63
+ return {
64
+ message: error.message || 'Unknown error',
65
+ statusCode: 0,
66
+ timestamp: new Date().toISOString(),
67
+ };
68
+ }
69
+ }
70
+ /**
71
+ * GET request
72
+ */
73
+ async get(url, config) {
74
+ const response = await this.client.get(url, config);
75
+ return response.data;
76
+ }
77
+ /**
78
+ * POST request
79
+ */
80
+ async post(url, data, config) {
81
+ const response = await this.client.post(url, data, config);
82
+ return response.data;
83
+ }
84
+ /**
85
+ * PUT request
86
+ */
87
+ async put(url, data, config) {
88
+ const response = await this.client.put(url, data, config);
89
+ return response.data;
90
+ }
91
+ /**
92
+ * DELETE request
93
+ */
94
+ async delete(url, config) {
95
+ const response = await this.client.delete(url, config);
96
+ return response.data;
97
+ }
98
+ /**
99
+ * Build query parameters for network
100
+ */
101
+ buildNetworkQuery(network) {
102
+ return network ? { network } : {};
103
+ }
104
+ /**
105
+ * Build URL with query parameters
106
+ */
107
+ buildUrlWithQuery(baseUrl, params) {
108
+ const queryString = Object.entries(params)
109
+ .filter(([, value]) => value !== undefined && value !== null)
110
+ .map(([key, value]) => {
111
+ if (Array.isArray(value)) {
112
+ return value.map(v => `${encodeURIComponent(key)}=${encodeURIComponent(v)}`).join('&');
113
+ }
114
+ return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
115
+ })
116
+ .join('&');
117
+ return queryString ? `${baseUrl}?${queryString}` : baseUrl;
118
+ }
119
+ }
120
+ exports.HttpClient = HttpClient;
121
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/clients/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { SoroswapSDK } from './soroswap-sdk';
2
+ export * from './types';
3
+ export { AuthManager } from './auth/auth-manager';
4
+ export { TokenCache } from './cache/token-cache';
5
+ export { HttpClient } from './clients/http-client';
6
+ import { SoroswapSDK } from './soroswap-sdk';
7
+ export default SoroswapSDK;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,eAAe,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.HttpClient = exports.TokenCache = exports.AuthManager = exports.SoroswapSDK = void 0;
18
+ // Main SDK class
19
+ var soroswap_sdk_1 = require("./soroswap-sdk");
20
+ Object.defineProperty(exports, "SoroswapSDK", { enumerable: true, get: function () { return soroswap_sdk_1.SoroswapSDK; } });
21
+ // Export all types for TypeScript users
22
+ __exportStar(require("./types"), exports);
23
+ // Export utility classes that might be useful
24
+ var auth_manager_1 = require("./auth/auth-manager");
25
+ Object.defineProperty(exports, "AuthManager", { enumerable: true, get: function () { return auth_manager_1.AuthManager; } });
26
+ var token_cache_1 = require("./cache/token-cache");
27
+ Object.defineProperty(exports, "TokenCache", { enumerable: true, get: function () { return token_cache_1.TokenCache; } });
28
+ var http_client_1 = require("./clients/http-client");
29
+ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_1.HttpClient; } });
30
+ // Default export is the main SDK class
31
+ const soroswap_sdk_2 = require("./soroswap-sdk");
32
+ exports.default = soroswap_sdk_2.SoroswapSDK;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,wCAAwC;AACxC,0CAAwB;AAExB,8CAA8C;AAC9C,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AACpB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAEnB,uCAAuC;AACvC,iDAA6C;AAC7C,kBAAe,0BAAW,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { AddLiquidityDto, AssetListDetail, AssetListMetadata, BuildQuoteDto, ContractResponse, Network, Pool, PriceData, QuoteRequest, QuoteResponse, RemoveLiquidityDto, SendResponse, SoroswapSDKConfig, SupportedAssetLists, UserPosition } from './types';
2
+ /**
3
+ * Main Soroswap SDK class
4
+ * Provides access to all Soroswap API functionality with automatic authentication
5
+ */
6
+ export declare class SoroswapSDK {
7
+ private authManager;
8
+ private httpClient;
9
+ private defaultNetwork;
10
+ constructor(config: SoroswapSDKConfig);
11
+ /**
12
+ * Check if user is authenticated
13
+ */
14
+ isAuthenticated(): boolean;
15
+ /**
16
+ * Get contract address for a specific network and contract name
17
+ */
18
+ getContractAddress(network: Network, contractName: 'factory' | 'router' | 'aggregator'): Promise<ContractResponse>;
19
+ /**
20
+ * Get available protocols for trading
21
+ */
22
+ getProtocols(network?: Network): Promise<string[]>;
23
+ /**
24
+ * Get quote for a swap
25
+ */
26
+ quote(quoteRequest: QuoteRequest, network?: Network): Promise<QuoteResponse>;
27
+ /**
28
+ * Get quote for a swap
29
+ */
30
+ build(buildQuoteRequest: BuildQuoteDto, network?: Network): Promise<QuoteResponse>;
31
+ /**
32
+ * Send signed transaction
33
+ */
34
+ send(xdr: string, fee?: number, network?: Network): Promise<SendResponse>;
35
+ /**
36
+ * Get pools for specific protocols
37
+ */
38
+ getPools(network: Network, protocols: string[], assetList?: SupportedAssetLists[]): Promise<Pool[]>;
39
+ /**
40
+ * Get pool for specific token pair
41
+ */
42
+ getPoolByTokens(tokenA: string, tokenB: string, network: Network, protocols: string[]): Promise<Pool[]>;
43
+ /**
44
+ * Add liquidity to a pool
45
+ */
46
+ addLiquidity(liquidityData: AddLiquidityDto, network?: Network): Promise<{
47
+ xdr: string;
48
+ poolInfo: any;
49
+ }>;
50
+ /**
51
+ * Remove liquidity from a pool
52
+ */
53
+ removeLiquidity(liquidityData: RemoveLiquidityDto, network?: Network): Promise<{
54
+ xdr: string;
55
+ poolInfo: any;
56
+ }>;
57
+ /**
58
+ * Get user liquidity positions
59
+ */
60
+ getUserPositions(address: string, network?: Network): Promise<UserPosition[]>;
61
+ /**
62
+ * Get asset lists metadata or specific asset list
63
+ */
64
+ getAssetList(name?: SupportedAssetLists): Promise<AssetListMetadata[] | AssetListDetail>;
65
+ /**
66
+ * Get asset prices
67
+ */
68
+ getPrice(assets: string | string[], network?: Network, referenceCurrency?: string): Promise<PriceData[]>;
69
+ /**
70
+ * Set default network for operations
71
+ */
72
+ setDefaultNetwork(network: Network): void;
73
+ /**
74
+ * Get current default network
75
+ */
76
+ getDefaultNetwork(): Network;
77
+ }
78
+ //# sourceMappingURL=soroswap-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soroswap-sdk.d.ts","sourceRoot":"","sources":["../src/soroswap-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEZ,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAU;gBAEpB,MAAM,EAAE,iBAAiB;IAsBrC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,GAChD,OAAO,CAAC,gBAAgB,CAAC;IAQ5B;;OAEG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMxD;;OAEG;IACG,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAMlF;;OAEG;IACG,KAAK,CAAC,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAMxF;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAYpF;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,CAAC,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,IAAI,EAAE,CAAC;IAclB;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,EAAE,CAAC;IAclB;;OAEG;IACG,YAAY,CAChB,aAAa,EAAE,eAAe,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAM1C;;OAEG;IACG,eAAe,CACnB,aAAa,EAAE,kBAAkB,EACjC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAM1C;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;IAU1B;;OAEG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,eAAe,CAAC;IAW9F;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,OAAO,EACjB,iBAAiB,GAAE,MAAc,GAChC,OAAO,CAAC,SAAS,EAAE,CAAC;IAevB;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;OAEG;IACH,iBAAiB,IAAI,OAAO;CAG7B"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SoroswapSDK = void 0;
4
+ const auth_manager_1 = require("./auth/auth-manager");
5
+ const http_client_1 = require("./clients/http-client");
6
+ /**
7
+ * Main Soroswap SDK class
8
+ * Provides access to all Soroswap API functionality with automatic authentication
9
+ */
10
+ class SoroswapSDK {
11
+ constructor(config) {
12
+ this.defaultNetwork = config.defaultNetwork || 'mainnet';
13
+ // Initialize auth manager
14
+ this.authManager = new auth_manager_1.AuthManager({
15
+ email: config.email,
16
+ password: config.password
17
+ });
18
+ // Initialize HTTP client
19
+ const baseURL = 'https://api.soroswap.finance';
20
+ const timeout = config.timeout || 30000;
21
+ this.httpClient = new http_client_1.HttpClient(baseURL, timeout, this.authManager.getTokenProvider());
22
+ // Inject HTTP client into auth manager
23
+ this.authManager.setHttpClient(this.httpClient);
24
+ }
25
+ /**
26
+ * Check if user is authenticated
27
+ */
28
+ isAuthenticated() {
29
+ return this.authManager.isAuthenticated();
30
+ }
31
+ /**
32
+ * Get contract address for a specific network and contract name
33
+ */
34
+ async getContractAddress(network, contractName) {
35
+ return this.httpClient.get(`/api/${network}/${contractName}`);
36
+ }
37
+ // ========================================
38
+ // Quote & Trading Methods
39
+ // ========================================
40
+ /**
41
+ * Get available protocols for trading
42
+ */
43
+ async getProtocols(network) {
44
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
45
+ const url = this.httpClient.buildUrlWithQuery('/protocols', params);
46
+ return this.httpClient.get(url);
47
+ }
48
+ /**
49
+ * Get quote for a swap
50
+ */
51
+ async quote(quoteRequest, network) {
52
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
53
+ const url = this.httpClient.buildUrlWithQuery('/quote', params);
54
+ return this.httpClient.post(url, quoteRequest);
55
+ }
56
+ /**
57
+ * Get quote for a swap
58
+ */
59
+ async build(buildQuoteRequest, network) {
60
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
61
+ const url = this.httpClient.buildUrlWithQuery('/quote/build', params);
62
+ return this.httpClient.post(url, buildQuoteRequest);
63
+ }
64
+ /**
65
+ * Send signed transaction
66
+ */
67
+ async send(xdr, fee = 100, network) {
68
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
69
+ const url = this.httpClient.buildUrlWithQuery('/send', params);
70
+ const sendData = { xdr, fee };
71
+ return this.httpClient.post(url, sendData);
72
+ }
73
+ // ========================================
74
+ // Pool Methods
75
+ // ========================================
76
+ /**
77
+ * Get pools for specific protocols
78
+ */
79
+ async getPools(network, protocols, assetList) {
80
+ const params = {
81
+ network,
82
+ protocol: protocols
83
+ };
84
+ if (assetList) {
85
+ params.assetList = assetList;
86
+ }
87
+ const url = this.httpClient.buildUrlWithQuery('/pools', params);
88
+ return this.httpClient.get(url);
89
+ }
90
+ /**
91
+ * Get pool for specific token pair
92
+ */
93
+ async getPoolByTokens(tokenA, tokenB, network, protocols) {
94
+ const params = {
95
+ network,
96
+ protocol: protocols
97
+ };
98
+ const url = this.httpClient.buildUrlWithQuery(`/pools/${tokenA}/${tokenB}`, params);
99
+ return this.httpClient.get(url);
100
+ }
101
+ // ========================================
102
+ // Liquidity Methods
103
+ // ========================================
104
+ /**
105
+ * Add liquidity to a pool
106
+ */
107
+ async addLiquidity(liquidityData, network) {
108
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
109
+ const url = this.httpClient.buildUrlWithQuery('/liquidity/add', params);
110
+ return this.httpClient.post(url, liquidityData);
111
+ }
112
+ /**
113
+ * Remove liquidity from a pool
114
+ */
115
+ async removeLiquidity(liquidityData, network) {
116
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
117
+ const url = this.httpClient.buildUrlWithQuery('/liquidity/remove', params);
118
+ return this.httpClient.post(url, liquidityData);
119
+ }
120
+ /**
121
+ * Get user liquidity positions
122
+ */
123
+ async getUserPositions(address, network) {
124
+ const params = this.httpClient.buildNetworkQuery(network || this.defaultNetwork);
125
+ const url = this.httpClient.buildUrlWithQuery(`/liquidity/positions/${address}`, params);
126
+ return this.httpClient.get(url);
127
+ }
128
+ // ========================================
129
+ // Asset & Price Methods
130
+ // ========================================
131
+ /**
132
+ * Get asset lists metadata or specific asset list
133
+ */
134
+ async getAssetList(name) {
135
+ const params = name ? { name } : {};
136
+ const url = this.httpClient.buildUrlWithQuery('/asset-list', params);
137
+ if (name) {
138
+ return this.httpClient.get(url);
139
+ }
140
+ else {
141
+ return this.httpClient.get(url);
142
+ }
143
+ }
144
+ /**
145
+ * Get asset prices
146
+ */
147
+ async getPrice(assets, network, referenceCurrency = 'USD') {
148
+ const params = {
149
+ network: network || this.defaultNetwork,
150
+ asset: Array.isArray(assets) ? assets : [assets],
151
+ referenceCurrency
152
+ };
153
+ const url = this.httpClient.buildUrlWithQuery('/price', params);
154
+ return this.httpClient.get(url);
155
+ }
156
+ // ========================================
157
+ // Utility Methods
158
+ // ========================================
159
+ /**
160
+ * Set default network for operations
161
+ */
162
+ setDefaultNetwork(network) {
163
+ this.defaultNetwork = network;
164
+ }
165
+ /**
166
+ * Get current default network
167
+ */
168
+ getDefaultNetwork() {
169
+ return this.defaultNetwork;
170
+ }
171
+ }
172
+ exports.SoroswapSDK = SoroswapSDK;
173
+ //# sourceMappingURL=soroswap-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soroswap-sdk.js","sourceRoot":"","sources":["../src/soroswap-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface AuthRegisterDto {
2
+ username: string;
3
+ password: string;
4
+ email: string;
5
+ }
6
+ export interface AuthLoginDto {
7
+ email: string;
8
+ password: string;
9
+ }
10
+ export interface AuthResponse {
11
+ username: string;
12
+ role: string;
13
+ access_token: string;
14
+ refresh_token: string;
15
+ }
16
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ export type TradeType = 'EXACT_IN' | 'EXACT_OUT';
2
+ export declare enum SupportedAssetLists {
3
+ SOROSWAP = "https://raw.githubusercontent.com/soroswap/token-list/main/tokenList.json",
4
+ STELLAR_EXPERT = "https://api.stellar.expert/explorer/public/asset-list/top50",
5
+ LOBSTR = "https://lobstr.co/api/v1/sep/assets/curated.json",
6
+ AQUA = "https://amm-api.aqua.network/tokens/?format=json&pooled=true&size=200"
7
+ }
8
+ export declare enum SupportedPlatforms {
9
+ SDEX = "sdex",
10
+ AGGREGATOR = "aggregator",
11
+ ROUTER = "router"
12
+ }
13
+ export declare enum SupportedNetworks {
14
+ TESTNET = "testnet",
15
+ MAINNET = "mainnet"
16
+ }
17
+ export declare enum SupportedProtocols {
18
+ SOROSWAP = "soroswap",
19
+ PHOENIX = "phoenix",
20
+ AQUA = "aqua",
21
+ COMET = "comet",
22
+ SDEX = "sdex"
23
+ }
24
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;AAGjD,oBAAY,mBAAmB;IAC7B,QAAQ,8EAA8E;IACtF,cAAc,gEAAgE;IAC9E,MAAM,qDAAqD;IAC3D,IAAI,0EAA0E;CAC/E;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;CACd"}