@chainstream-io/sdk 2.0.7 → 2.0.9
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-LmorAvq7.d.cts} +40 -1
- package/dist/{chainstream-CB6yyvSf.d.ts → chainstream-LmorAvq7.d.ts} +40 -1
- package/dist/chainstream.cjs +36 -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 +36 -3
- package/dist/chainstream.mjs.map +1 -1
- package/dist/index.cjs +40 -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 +38 -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,17 @@ 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.apiKey) {
|
|
238
|
+
config.headers["X-API-KEY"] = options.apiKey;
|
|
239
|
+
} else if (options.accessToken) {
|
|
240
|
+
const token = typeof options.accessToken === "string" ? options.accessToken : await options.accessToken.getToken();
|
|
241
|
+
config.headers.Authorization = `Bearer ${token}`;
|
|
242
|
+
}
|
|
210
243
|
config.headers["Content-Type"] = "application/json";
|
|
211
244
|
if (options.source) {
|
|
212
245
|
config.headers["X-Source"] = options.source;
|
|
@@ -2522,7 +2555,9 @@ var ChainStreamClient = class {
|
|
|
2522
2555
|
const streamUrl = options.streamUrl ?? "wss://realtime-dex.chainstream.io/connection/websocket";
|
|
2523
2556
|
this.requestCtx = { baseUrl, streamUrl, accessToken };
|
|
2524
2557
|
configure({
|
|
2525
|
-
accessToken,
|
|
2558
|
+
accessToken: options.walletSigner || options.apiKey ? void 0 : accessToken,
|
|
2559
|
+
apiKey: options.apiKey,
|
|
2560
|
+
walletSigner: options.walletSigner,
|
|
2526
2561
|
basePath: baseUrl,
|
|
2527
2562
|
debugging: options.debug
|
|
2528
2563
|
});
|
|
@@ -3062,11 +3097,13 @@ var QuoteDex = {
|
|
|
3062
3097
|
WsMetricType,
|
|
3063
3098
|
WsRankingType,
|
|
3064
3099
|
WsTokenActivityType,
|
|
3100
|
+
buildSignMessage,
|
|
3065
3101
|
calculatePnl,
|
|
3066
3102
|
claimRedpacket,
|
|
3067
3103
|
createEndpoint,
|
|
3068
3104
|
createRedpacket,
|
|
3069
3105
|
createToken,
|
|
3106
|
+
createWalletAuthHeaders,
|
|
3070
3107
|
deleteEndpoint,
|
|
3071
3108
|
get,
|
|
3072
3109
|
getActivities,
|