@deserialize/swap-sdk 1.1.52 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/swapSDK.d.ts +43 -0
- package/dist/swapSDK.js +16 -2
- package/dist/swapSDK.js.map +1 -1
- package/package.json +1 -1
- package/src/swapSDK.ts +70 -2
package/dist/swapSDK.d.ts
CHANGED
@@ -19,6 +19,46 @@ export interface SwapRequestParams {
|
|
19
19
|
*/
|
20
20
|
options?: RouteOptions;
|
21
21
|
}
|
22
|
+
export interface MetadataPointer {
|
23
|
+
authority: string;
|
24
|
+
metadataAddress: string;
|
25
|
+
}
|
26
|
+
export interface TokenMetadata {
|
27
|
+
additionalMetadata: any[];
|
28
|
+
mint: string;
|
29
|
+
name: string;
|
30
|
+
symbol: string;
|
31
|
+
updateAuthority: string;
|
32
|
+
uri: string;
|
33
|
+
}
|
34
|
+
export interface Extensions {
|
35
|
+
metadataPointer: MetadataPointer;
|
36
|
+
tokenMetadata: TokenMetadata;
|
37
|
+
}
|
38
|
+
export interface Metadata {
|
39
|
+
description: string;
|
40
|
+
image: string;
|
41
|
+
name: string;
|
42
|
+
risk: number;
|
43
|
+
symbol: string;
|
44
|
+
}
|
45
|
+
export interface TokenData {
|
46
|
+
address: string;
|
47
|
+
mintAuthority: string;
|
48
|
+
supply: number;
|
49
|
+
decimals: number;
|
50
|
+
isInitialized: boolean;
|
51
|
+
freezeAuthority: string | null;
|
52
|
+
tokenProgram: string;
|
53
|
+
extensions: Extensions;
|
54
|
+
updatedEpoch: number;
|
55
|
+
updatedAt: string;
|
56
|
+
updatedSlot: number;
|
57
|
+
writeVersion: number;
|
58
|
+
metadata: Metadata;
|
59
|
+
price: string;
|
60
|
+
volumeUsdc24h: number;
|
61
|
+
}
|
22
62
|
export interface SwapTransactionResponse {
|
23
63
|
/** Fully constructed VersionedTransaction ready for signing */
|
24
64
|
transaction: VersionedTransaction;
|
@@ -123,7 +163,9 @@ export interface Token {
|
|
123
163
|
chainId: number;
|
124
164
|
decimals: number;
|
125
165
|
logoURI: string;
|
166
|
+
price: number;
|
126
167
|
tokenProgram: string;
|
168
|
+
rawData: TokenData[];
|
127
169
|
}
|
128
170
|
export declare const DEX_ERRORS: {
|
129
171
|
PAIR_NOT_AVAILABLE_ON_DEX: string;
|
@@ -221,6 +263,7 @@ export declare class SwapSDK {
|
|
221
263
|
* @returns Quote information including expected output amount and price impact
|
222
264
|
*/
|
223
265
|
getSwapQuote(params: SwapRequestParams): Promise<QuoteResponse>;
|
266
|
+
getHighestSwapQuote(params: SwapRequestParams): Promise<QuoteResponse[]>;
|
224
267
|
/**
|
225
268
|
* Executes a swap based on a previously obtained quote
|
226
269
|
*
|
package/dist/swapSDK.js
CHANGED
@@ -151,6 +151,17 @@ class SwapSDK {
|
|
151
151
|
}
|
152
152
|
return await response.json();
|
153
153
|
}
|
154
|
+
async getHighestSwapQuote(params) {
|
155
|
+
const allQuotes = (await Promise.all(Object.values(this.DEX_IDS).map((dexId) => {
|
156
|
+
return this.getSwapQuote({
|
157
|
+
...params,
|
158
|
+
dexId,
|
159
|
+
});
|
160
|
+
}))).sort((a, b) => {
|
161
|
+
return parseFloat(b.amountOut) - parseFloat(a.amountOut);
|
162
|
+
});
|
163
|
+
return allQuotes;
|
164
|
+
}
|
154
165
|
/**
|
155
166
|
* Executes a swap based on a previously obtained quote
|
156
167
|
*
|
@@ -237,14 +248,17 @@ class SwapSDK {
|
|
237
248
|
if (!response.ok) {
|
238
249
|
throw new Error(`API Error: ${response.statusText}`);
|
239
250
|
}
|
240
|
-
const data = await response.json();
|
241
|
-
return data.
|
251
|
+
const data = (await response.json()).data;
|
252
|
+
return data.map((token) => ({
|
242
253
|
name: token.metadata.name,
|
243
254
|
symbol: token.metadata.symbol,
|
244
255
|
address: token.address,
|
245
256
|
decimals: token.decimals,
|
246
257
|
logoURI: token.metadata.image,
|
247
258
|
tokenProgram: token.tokenProgram,
|
259
|
+
chainId: 101,
|
260
|
+
price: Number(token.price),
|
261
|
+
rawData: data,
|
248
262
|
}));
|
249
263
|
}
|
250
264
|
/**
|
package/dist/swapSDK.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"swapSDK.js","sourceRoot":"","sources":["../src/swapSDK.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,2DASyB;AACzB,gDAA0B;AAC1B,qCAIkB;
|
1
|
+
{"version":3,"file":"swapSDK.js","sourceRoot":"","sources":["../src/swapSDK.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/swapSDK.ts
CHANGED
@@ -37,6 +37,51 @@ export interface SwapRequestParams {
|
|
37
37
|
options?: RouteOptions;
|
38
38
|
}
|
39
39
|
|
40
|
+
export interface MetadataPointer {
|
41
|
+
authority: string;
|
42
|
+
metadataAddress: string;
|
43
|
+
}
|
44
|
+
|
45
|
+
export interface TokenMetadata {
|
46
|
+
additionalMetadata: any[]; // or string[] if you know the type of items in the array
|
47
|
+
mint: string;
|
48
|
+
name: string;
|
49
|
+
symbol: string;
|
50
|
+
updateAuthority: string;
|
51
|
+
uri: string;
|
52
|
+
}
|
53
|
+
|
54
|
+
export interface Extensions {
|
55
|
+
metadataPointer: MetadataPointer;
|
56
|
+
tokenMetadata: TokenMetadata;
|
57
|
+
}
|
58
|
+
|
59
|
+
export interface Metadata {
|
60
|
+
description: string;
|
61
|
+
image: string;
|
62
|
+
name: string;
|
63
|
+
risk: number;
|
64
|
+
symbol: string;
|
65
|
+
}
|
66
|
+
|
67
|
+
export interface TokenData {
|
68
|
+
address: string;
|
69
|
+
mintAuthority: string;
|
70
|
+
supply: number;
|
71
|
+
decimals: number;
|
72
|
+
isInitialized: boolean;
|
73
|
+
freezeAuthority: string | null;
|
74
|
+
tokenProgram: string;
|
75
|
+
extensions: Extensions;
|
76
|
+
updatedEpoch: number;
|
77
|
+
updatedAt: string; // ISO date string
|
78
|
+
updatedSlot: number;
|
79
|
+
writeVersion: number;
|
80
|
+
metadata: Metadata;
|
81
|
+
price: string;
|
82
|
+
volumeUsdc24h: number;
|
83
|
+
}
|
84
|
+
|
40
85
|
export interface SwapTransactionResponse {
|
41
86
|
/** Fully constructed VersionedTransaction ready for signing */
|
42
87
|
transaction: VersionedTransaction;
|
@@ -148,7 +193,9 @@ export interface Token {
|
|
148
193
|
chainId: number;
|
149
194
|
decimals: number;
|
150
195
|
logoURI: string;
|
196
|
+
price: number;
|
151
197
|
tokenProgram: string;
|
198
|
+
rawData: TokenData[];
|
152
199
|
}
|
153
200
|
|
154
201
|
export const DEX_ERRORS = {
|
@@ -278,6 +325,24 @@ export class SwapSDK {
|
|
278
325
|
return await response.json();
|
279
326
|
}
|
280
327
|
|
328
|
+
async getHighestSwapQuote(
|
329
|
+
params: SwapRequestParams
|
330
|
+
): Promise<QuoteResponse[]> {
|
331
|
+
const allQuotes = (
|
332
|
+
await Promise.all(
|
333
|
+
Object.values(this.DEX_IDS).map((dexId) => {
|
334
|
+
return this.getSwapQuote({
|
335
|
+
...params,
|
336
|
+
dexId,
|
337
|
+
});
|
338
|
+
})
|
339
|
+
)
|
340
|
+
).sort((a, b) => {
|
341
|
+
return parseFloat(b.amountOut) - parseFloat(a.amountOut);
|
342
|
+
});
|
343
|
+
return allQuotes;
|
344
|
+
}
|
345
|
+
|
281
346
|
/**
|
282
347
|
* Executes a swap based on a previously obtained quote
|
283
348
|
*
|
@@ -386,14 +451,17 @@ export class SwapSDK {
|
|
386
451
|
if (!response.ok) {
|
387
452
|
throw new Error(`API Error: ${response.statusText}`);
|
388
453
|
}
|
389
|
-
const data = await response.json();
|
390
|
-
return data.
|
454
|
+
const data = (await response.json()).data as TokenData[];
|
455
|
+
return data.map((token) => ({
|
391
456
|
name: token.metadata.name,
|
392
457
|
symbol: token.metadata.symbol,
|
393
458
|
address: token.address,
|
394
459
|
decimals: token.decimals,
|
395
460
|
logoURI: token.metadata.image,
|
396
461
|
tokenProgram: token.tokenProgram,
|
462
|
+
chainId: 101,
|
463
|
+
price: Number(token.price),
|
464
|
+
rawData: data,
|
397
465
|
}));
|
398
466
|
}
|
399
467
|
|