@chainstream-io/sdk 2.0.7 → 2.0.8
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/{chainstream-CB6yyvSf.d.cts → chainstream-Dwm2QHpn.d.cts} +33 -1
- package/dist/{chainstream-CB6yyvSf.d.ts → chainstream-Dwm2QHpn.d.ts} +33 -1
- package/dist/chainstream.cjs +33 -3
- package/dist/chainstream.cjs.map +1 -1
- package/dist/chainstream.d.cts +1 -1
- package/dist/chainstream.d.ts +1 -1
- package/dist/chainstream.mjs +33 -3
- package/dist/chainstream.mjs.map +1 -1
- package/dist/index.cjs +37 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +35 -3
- package/dist/index.mjs.map +1 -1
- package/dist/stream/index.d.cts +1 -1
- package/dist/stream/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -81,11 +81,13 @@ __export(index_exports, {
|
|
|
81
81
|
WsMetricType: () => WsMetricType,
|
|
82
82
|
WsRankingType: () => WsRankingType,
|
|
83
83
|
WsTokenActivityType: () => WsTokenActivityType,
|
|
84
|
+
buildSignMessage: () => buildSignMessage,
|
|
84
85
|
calculatePnl: () => calculatePnl,
|
|
85
86
|
claimRedpacket: () => claimRedpacket,
|
|
86
87
|
createEndpoint: () => createEndpoint,
|
|
87
88
|
createRedpacket: () => createRedpacket,
|
|
88
89
|
createToken: () => createToken,
|
|
90
|
+
createWalletAuthHeaders: () => createWalletAuthHeaders,
|
|
89
91
|
deleteEndpoint: () => deleteEndpoint,
|
|
90
92
|
get: () => get,
|
|
91
93
|
getActivities: () => getActivities,
|
|
@@ -189,6 +191,28 @@ var import_event_source_polyfill = require("event-source-polyfill");
|
|
|
189
191
|
// src/openapi-client/chainstreamApiClient.ts
|
|
190
192
|
var import_axios = __toESM(require("axios"), 1);
|
|
191
193
|
var import_axios_retry = __toESM(require("axios-retry"), 1);
|
|
194
|
+
|
|
195
|
+
// src/wallet-auth.ts
|
|
196
|
+
var import_crypto = require("crypto");
|
|
197
|
+
var SIGNATURE_PREFIX = "chainstream";
|
|
198
|
+
function buildSignMessage(chain, address, timestamp, nonce) {
|
|
199
|
+
return `${SIGNATURE_PREFIX}:${chain}:${address}:${timestamp}:${nonce}`;
|
|
200
|
+
}
|
|
201
|
+
async function createWalletAuthHeaders(signer) {
|
|
202
|
+
const timestamp = Math.floor(Date.now() / 1e3).toString();
|
|
203
|
+
const nonce = (0, import_crypto.randomBytes)(16).toString("hex");
|
|
204
|
+
const message = buildSignMessage(signer.chain, signer.address, timestamp, nonce);
|
|
205
|
+
const signature = await signer.signMessage(message);
|
|
206
|
+
return {
|
|
207
|
+
"X-Wallet-Address": signer.address,
|
|
208
|
+
"X-Wallet-Chain": signer.chain,
|
|
209
|
+
"X-Wallet-Signature": signature,
|
|
210
|
+
"X-Wallet-Timestamp": timestamp,
|
|
211
|
+
"X-Wallet-Nonce": nonce
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// src/openapi-client/chainstreamApiClient.ts
|
|
192
216
|
var axiosRetry = typeof import_axios_retry.default === "function" ? import_axios_retry.default : import_axios_retry.default.default;
|
|
193
217
|
var axiosInstance;
|
|
194
218
|
var currentOptions = void 0;
|
|
@@ -205,8 +229,15 @@ var configure = (options) => {
|
|
|
205
229
|
retryDelay: import_axios_retry.exponentialDelay
|
|
206
230
|
});
|
|
207
231
|
axiosInstance.interceptors.request.use(async (config) => {
|
|
208
|
-
|
|
209
|
-
|
|
232
|
+
if (options.walletSigner) {
|
|
233
|
+
const walletHeaders = await createWalletAuthHeaders(options.walletSigner);
|
|
234
|
+
Object.entries(walletHeaders).forEach(([key, value]) => {
|
|
235
|
+
config.headers[key] = value;
|
|
236
|
+
});
|
|
237
|
+
} else if (options.accessToken) {
|
|
238
|
+
const token = typeof options.accessToken === "string" ? options.accessToken : await options.accessToken.getToken();
|
|
239
|
+
config.headers.Authorization = `Bearer ${token}`;
|
|
240
|
+
}
|
|
210
241
|
config.headers["Content-Type"] = "application/json";
|
|
211
242
|
if (options.source) {
|
|
212
243
|
config.headers["X-Source"] = options.source;
|
|
@@ -2522,7 +2553,8 @@ var ChainStreamClient = class {
|
|
|
2522
2553
|
const streamUrl = options.streamUrl ?? "wss://realtime-dex.chainstream.io/connection/websocket";
|
|
2523
2554
|
this.requestCtx = { baseUrl, streamUrl, accessToken };
|
|
2524
2555
|
configure({
|
|
2525
|
-
accessToken,
|
|
2556
|
+
accessToken: options.walletSigner ? void 0 : accessToken,
|
|
2557
|
+
walletSigner: options.walletSigner,
|
|
2526
2558
|
basePath: baseUrl,
|
|
2527
2559
|
debugging: options.debug
|
|
2528
2560
|
});
|
|
@@ -3062,11 +3094,13 @@ var QuoteDex = {
|
|
|
3062
3094
|
WsMetricType,
|
|
3063
3095
|
WsRankingType,
|
|
3064
3096
|
WsTokenActivityType,
|
|
3097
|
+
buildSignMessage,
|
|
3065
3098
|
calculatePnl,
|
|
3066
3099
|
claimRedpacket,
|
|
3067
3100
|
createEndpoint,
|
|
3068
3101
|
createRedpacket,
|
|
3069
3102
|
createToken,
|
|
3103
|
+
createWalletAuthHeaders,
|
|
3070
3104
|
deleteEndpoint,
|
|
3071
3105
|
get,
|
|
3072
3106
|
getActivities,
|