@deserialize/swap-sdk 0.0.131 → 0.0.341
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 +25 -1
- package/dist/swapSDK.js +36 -3
- package/dist/swapSDK.js.map +1 -1
- package/package.json +2 -2
- package/src/swapSDK.ts +52 -3
package/dist/swapSDK.d.ts
CHANGED
@@ -22,6 +22,10 @@ export interface SwapRequestParams {
|
|
22
22
|
export interface RouteOptions {
|
23
23
|
reduceToTwoHops: boolean;
|
24
24
|
}
|
25
|
+
export type GetTokenMintBalanceType = {
|
26
|
+
mint: string;
|
27
|
+
balanceUiAmount: number;
|
28
|
+
};
|
25
29
|
/**
|
26
30
|
* Result from the swapTx method.
|
27
31
|
*/
|
@@ -42,6 +46,10 @@ export interface SwapTxResult {
|
|
42
46
|
lookupAccounts: PublicKey[];
|
43
47
|
/** Any signers returned (encoded as base64 strings) */
|
44
48
|
signers: Keypair[];
|
49
|
+
/** The Pool Price of the pair*/
|
50
|
+
pairPrice: number;
|
51
|
+
feeRate: number;
|
52
|
+
serializedTransactions: string;
|
45
53
|
}
|
46
54
|
/**
|
47
55
|
* Structure representing a group of instructions from the API.
|
@@ -85,6 +93,7 @@ export interface Token {
|
|
85
93
|
chainId: number;
|
86
94
|
decimals: number;
|
87
95
|
logoURI: string;
|
96
|
+
tokenProgram: string;
|
88
97
|
}
|
89
98
|
/**
|
90
99
|
* SwapSDK simplifies calling the swap endpoint as well as token-related endpoints.
|
@@ -137,6 +146,11 @@ export declare class SwapSDK {
|
|
137
146
|
private callSwapEndpoint;
|
138
147
|
base58: import("base-x").default.BaseConverter;
|
139
148
|
web3: typeof web3;
|
149
|
+
DEX_IDS: {
|
150
|
+
readonly ORCA: "ORCA";
|
151
|
+
readonly INVARIANT: "INVARIANT";
|
152
|
+
readonly ALL: "ALL";
|
153
|
+
};
|
140
154
|
/**
|
141
155
|
* Calls the swap endpoint and returns a fully constructed Transaction.
|
142
156
|
*
|
@@ -164,6 +178,10 @@ export declare class SwapSDK {
|
|
164
178
|
* @returns A promise that resolves to the token's price (number).
|
165
179
|
*/
|
166
180
|
tokenPrice(tokenAddress: string): Promise<number>;
|
181
|
+
getTokenMintBalance: (params: {
|
182
|
+
publicKey: string;
|
183
|
+
mints: string[];
|
184
|
+
}) => Promise<GetTokenMintBalanceType[] | undefined>;
|
167
185
|
/**
|
168
186
|
* Simulates a transaction.
|
169
187
|
* @param connection The connection to use.
|
@@ -180,4 +198,10 @@ export declare class SwapSDK {
|
|
180
198
|
*/
|
181
199
|
private convertAPIInstruction;
|
182
200
|
}
|
183
|
-
export declare const
|
201
|
+
export declare const DEX_IDS: {
|
202
|
+
readonly ORCA: "ORCA";
|
203
|
+
readonly INVARIANT: "INVARIANT";
|
204
|
+
readonly ALL: "ALL";
|
205
|
+
};
|
206
|
+
export type DexIdTypes = (typeof DEX_IDS)[keyof typeof DEX_IDS];
|
207
|
+
export declare const BASE_URL = "https://api.deserialize.xyz";
|
package/dist/swapSDK.js
CHANGED
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
37
37
|
};
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
39
|
-
exports.BASE_URL = exports.SwapSDK = void 0;
|
39
|
+
exports.BASE_URL = exports.DEX_IDS = exports.SwapSDK = void 0;
|
40
40
|
// SwapSDK.ts
|
41
41
|
const web3_js_1 = __importStar(require("@solana/web3.js"));
|
42
42
|
const bs58_1 = __importDefault(require("bs58"));
|
@@ -84,6 +84,30 @@ class SwapSDK {
|
|
84
84
|
constructor(baseUrl) {
|
85
85
|
this.base58 = bs58_1.default;
|
86
86
|
this.web3 = web3_js_1.default;
|
87
|
+
this.DEX_IDS = exports.DEX_IDS;
|
88
|
+
this.getTokenMintBalance = async (params) => {
|
89
|
+
const body = {
|
90
|
+
userAddress: params.publicKey,
|
91
|
+
tokenMints: params.mints,
|
92
|
+
};
|
93
|
+
try {
|
94
|
+
const response = await fetch(`${this.baseUrl}/getMintBalances`, {
|
95
|
+
method: "POST",
|
96
|
+
headers: {
|
97
|
+
"Content-Type": "application/json",
|
98
|
+
},
|
99
|
+
body: JSON.stringify(body),
|
100
|
+
});
|
101
|
+
if (!response.ok) {
|
102
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
103
|
+
}
|
104
|
+
const data = await response.json();
|
105
|
+
return data;
|
106
|
+
}
|
107
|
+
catch (error) {
|
108
|
+
console.log(error);
|
109
|
+
}
|
110
|
+
};
|
87
111
|
this.baseUrl = baseUrl || exports.BASE_URL;
|
88
112
|
}
|
89
113
|
/**
|
@@ -138,11 +162,14 @@ class SwapSDK {
|
|
138
162
|
transaction.sign(signers);
|
139
163
|
return {
|
140
164
|
transaction,
|
165
|
+
serializedTransactions: data.transaction,
|
141
166
|
amountOut: Number(data.amountOut),
|
142
167
|
amountOutUi: Number(data.amountOutUi),
|
168
|
+
pairPrice: data.pairPrice,
|
143
169
|
routePlan,
|
144
170
|
lookupAccounts,
|
145
171
|
signers,
|
172
|
+
feeRate: parseFloat(data.feeRate),
|
146
173
|
};
|
147
174
|
}
|
148
175
|
/**
|
@@ -190,7 +217,7 @@ class SwapSDK {
|
|
190
217
|
return data.data.map((token) => ({
|
191
218
|
name: token.metadata.name,
|
192
219
|
symbol: token.metadata.symbol,
|
193
|
-
address:
|
220
|
+
address: token.address,
|
194
221
|
decimals: token.decimals,
|
195
222
|
logoURI: token.metadata.image,
|
196
223
|
tokenProgram: token.tokenProgram,
|
@@ -244,5 +271,11 @@ class SwapSDK {
|
|
244
271
|
}
|
245
272
|
}
|
246
273
|
exports.SwapSDK = SwapSDK;
|
247
|
-
exports.
|
274
|
+
exports.DEX_IDS = {
|
275
|
+
ORCA: "ORCA",
|
276
|
+
// SOLAR_DEX: "SOLAR_DEX",
|
277
|
+
INVARIANT: "INVARIANT",
|
278
|
+
ALL: "ALL",
|
279
|
+
};
|
280
|
+
exports.BASE_URL = "https://api.deserialize.xyz";
|
248
281
|
//# sourceMappingURL=swapSDK.js.map
|
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,qCAAiD;
|
1
|
+
{"version":3,"file":"swapSDK.js","sourceRoot":"","sources":["../src/swapSDK.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,2DASyB;AACzB,gDAA0B;AAC1B,qCAAiD;AAyGjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,OAAO;IAElB,YAAY,OAAgB;QAoC5B,WAAM,GAAG,cAAM,CAAC;QAChB,SAAI,GAAG,iBAAI,CAAC;QACZ,YAAO,GAAG,eAAO,CAAC;QA6HlB,wBAAmB,GAAG,KAAK,EAAE,MAG5B,EAAE,EAAE;YACH,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,MAAM,CAAC,SAAS;gBAC7B,UAAU,EAAE,MAAM,CAAC,KAAK;aACzB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,EAAE;oBAC9D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAiC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QA1LA,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,gBAAQ,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAyB;QACtD,iEAAiE;QACjE,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,gBAAgB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAMD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEjD,sEAAsE;QACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,8BAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE/D,6DAA6D;QAC7D,MAAM,cAAc,GAAgB,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CACjE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,CACtC,CAAC;QAEF,wDAAwD;QACxD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,IAAI,mBAAS,CAAC,EAAE,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,IAAI,mBAAS,CAAC,EAAE,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK;SAChB,CAAC,CAAC,CAAC;QAEJ,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAC7C,iBAAO,CAAC,aAAa,CAAC,cAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;YACL,WAAW;YACX,sBAAsB,EAAE,IAAI,CAAC,WAAW;YACxC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS;YACT,cAAc;YACd,OAAO;YACP,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEjD,6DAA6D;QAC7D,MAAM,cAAc,GAAgB,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CACjE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,CACtC,CAAC;QAEF,wDAAwD;QACxD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,IAAI,mBAAS,CAAC,EAAE,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,IAAI,mBAAS,CAAC,EAAE,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK;SAChB,CAAC,CAAC,CAAC;QAEJ,sEAAsE;QACtE,MAAM,iBAAiB,GAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CACjE,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YACf,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CACjC;YACD,mBAAmB,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAChD;YACD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;SAC7B,CAAC,CACH,CAAC;QAEF,OAAO;YACL,iBAAiB;YACjB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YACzB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;YAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,YAAoB;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IA2BD;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAAsB,EACtB,WAAiC;QAEjC,MAAM,MAAM,GAA8B,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QACtE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,IAAA,8BAAqB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,OAAY;QACxC,OAAO,IAAI,gCAAsB,CAAC;YAChC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5C,MAAM,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,SAAS,EAAE,IAAI,mBAAS,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AAlOD,0BAkOC;AAEY,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,0BAA0B;IAC1B,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;CACF,CAAC;AAIE,QAAA,QAAQ,GAAG,6BAA6B,CAAC"}
|
package/package.json
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@deserialize/swap-sdk",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.341",
|
4
4
|
"description": "Swap SDK for the deserialize aggregator",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
7
7
|
"scripts": {
|
8
8
|
"test": "echo \"Error: no test specified\" && exit 1",
|
9
9
|
"build": "tsc",
|
10
|
-
"publish": "npm run build && npm publish --access=public"
|
10
|
+
"publish:sdk": "npm run build && npm publish --access=public"
|
11
11
|
},
|
12
12
|
"repository": {
|
13
13
|
"type": "git",
|
package/src/swapSDK.ts
CHANGED
@@ -36,7 +36,10 @@ export interface SwapRequestParams {
|
|
36
36
|
export interface RouteOptions {
|
37
37
|
reduceToTwoHops: boolean;
|
38
38
|
}
|
39
|
-
|
39
|
+
export type GetTokenMintBalanceType = {
|
40
|
+
mint: string;
|
41
|
+
balanceUiAmount: number;
|
42
|
+
};
|
40
43
|
/**
|
41
44
|
* Result from the swapTx method.
|
42
45
|
*/
|
@@ -57,6 +60,12 @@ export interface SwapTxResult {
|
|
57
60
|
lookupAccounts: PublicKey[];
|
58
61
|
/** Any signers returned (encoded as base64 strings) */
|
59
62
|
signers: Keypair[];
|
63
|
+
/** The Pool Price of the pair*/
|
64
|
+
pairPrice: number;
|
65
|
+
|
66
|
+
feeRate: number;
|
67
|
+
|
68
|
+
serializedTransactions: string;
|
60
69
|
}
|
61
70
|
|
62
71
|
/**
|
@@ -103,6 +112,7 @@ export interface Token {
|
|
103
112
|
chainId: number;
|
104
113
|
decimals: number;
|
105
114
|
logoURI: string;
|
115
|
+
tokenProgram: string;
|
106
116
|
}
|
107
117
|
|
108
118
|
/**
|
@@ -184,6 +194,7 @@ export class SwapSDK {
|
|
184
194
|
|
185
195
|
base58 = base58;
|
186
196
|
web3 = web3;
|
197
|
+
DEX_IDS = DEX_IDS;
|
187
198
|
|
188
199
|
/**
|
189
200
|
* Calls the swap endpoint and returns a fully constructed Transaction.
|
@@ -217,11 +228,14 @@ export class SwapSDK {
|
|
217
228
|
transaction.sign(signers);
|
218
229
|
return {
|
219
230
|
transaction,
|
231
|
+
serializedTransactions: data.transaction,
|
220
232
|
amountOut: Number(data.amountOut),
|
221
233
|
amountOutUi: Number(data.amountOutUi),
|
234
|
+
pairPrice: data.pairPrice,
|
222
235
|
routePlan,
|
223
236
|
lookupAccounts,
|
224
237
|
signers,
|
238
|
+
feeRate: parseFloat(data.feeRate),
|
225
239
|
};
|
226
240
|
}
|
227
241
|
|
@@ -283,7 +297,7 @@ export class SwapSDK {
|
|
283
297
|
return data.data.map((token: any) => ({
|
284
298
|
name: token.metadata.name,
|
285
299
|
symbol: token.metadata.symbol,
|
286
|
-
address:
|
300
|
+
address: token.address,
|
287
301
|
decimals: token.decimals,
|
288
302
|
logoURI: token.metadata.image,
|
289
303
|
tokenProgram: token.tokenProgram,
|
@@ -304,6 +318,32 @@ export class SwapSDK {
|
|
304
318
|
const data = await response.json();
|
305
319
|
return Number(data.price);
|
306
320
|
}
|
321
|
+
|
322
|
+
getTokenMintBalance = async (params: {
|
323
|
+
publicKey: string;
|
324
|
+
mints: string[];
|
325
|
+
}) => {
|
326
|
+
const body = {
|
327
|
+
userAddress: params.publicKey,
|
328
|
+
tokenMints: params.mints,
|
329
|
+
};
|
330
|
+
try {
|
331
|
+
const response = await fetch(`${this.baseUrl}/getMintBalances`, {
|
332
|
+
method: "POST",
|
333
|
+
headers: {
|
334
|
+
"Content-Type": "application/json",
|
335
|
+
},
|
336
|
+
body: JSON.stringify(body),
|
337
|
+
});
|
338
|
+
if (!response.ok) {
|
339
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
340
|
+
}
|
341
|
+
const data = await response.json();
|
342
|
+
return data as GetTokenMintBalanceType[];
|
343
|
+
} catch (error) {
|
344
|
+
console.log(error);
|
345
|
+
}
|
346
|
+
};
|
307
347
|
/**
|
308
348
|
* Simulates a transaction.
|
309
349
|
* @param connection The connection to use.
|
@@ -342,4 +382,13 @@ export class SwapSDK {
|
|
342
382
|
}
|
343
383
|
}
|
344
384
|
|
345
|
-
export const
|
385
|
+
export const DEX_IDS = {
|
386
|
+
ORCA: "ORCA",
|
387
|
+
// SOLAR_DEX: "SOLAR_DEX",
|
388
|
+
INVARIANT: "INVARIANT",
|
389
|
+
ALL: "ALL",
|
390
|
+
} as const;
|
391
|
+
|
392
|
+
export type DexIdTypes = (typeof DEX_IDS)[keyof typeof DEX_IDS];
|
393
|
+
|
394
|
+
export const BASE_URL = "https://api.deserialize.xyz";
|