@chainstream-io/sdk 2.0.6 → 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 +35 -4
- 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 +35 -4
- package/dist/chainstream.mjs.map +1 -1
- package/dist/index.cjs +39 -4
- 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 +37 -4
- 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,29 @@ 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
|
|
216
|
+
var axiosRetry = typeof import_axios_retry.default === "function" ? import_axios_retry.default : import_axios_retry.default.default;
|
|
192
217
|
var axiosInstance;
|
|
193
218
|
var currentOptions = void 0;
|
|
194
219
|
var configure = (options) => {
|
|
@@ -200,12 +225,19 @@ var configure = (options) => {
|
|
|
200
225
|
axiosInstance = import_axios.default.create({
|
|
201
226
|
baseURL
|
|
202
227
|
});
|
|
203
|
-
(
|
|
228
|
+
axiosRetry(axiosInstance, {
|
|
204
229
|
retryDelay: import_axios_retry.exponentialDelay
|
|
205
230
|
});
|
|
206
231
|
axiosInstance.interceptors.request.use(async (config) => {
|
|
207
|
-
|
|
208
|
-
|
|
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
|
+
}
|
|
209
241
|
config.headers["Content-Type"] = "application/json";
|
|
210
242
|
if (options.source) {
|
|
211
243
|
config.headers["X-Source"] = options.source;
|
|
@@ -2521,7 +2553,8 @@ var ChainStreamClient = class {
|
|
|
2521
2553
|
const streamUrl = options.streamUrl ?? "wss://realtime-dex.chainstream.io/connection/websocket";
|
|
2522
2554
|
this.requestCtx = { baseUrl, streamUrl, accessToken };
|
|
2523
2555
|
configure({
|
|
2524
|
-
accessToken,
|
|
2556
|
+
accessToken: options.walletSigner ? void 0 : accessToken,
|
|
2557
|
+
walletSigner: options.walletSigner,
|
|
2525
2558
|
basePath: baseUrl,
|
|
2526
2559
|
debugging: options.debug
|
|
2527
2560
|
});
|
|
@@ -3061,11 +3094,13 @@ var QuoteDex = {
|
|
|
3061
3094
|
WsMetricType,
|
|
3062
3095
|
WsRankingType,
|
|
3063
3096
|
WsTokenActivityType,
|
|
3097
|
+
buildSignMessage,
|
|
3064
3098
|
calculatePnl,
|
|
3065
3099
|
claimRedpacket,
|
|
3066
3100
|
createEndpoint,
|
|
3067
3101
|
createRedpacket,
|
|
3068
3102
|
createToken,
|
|
3103
|
+
createWalletAuthHeaders,
|
|
3069
3104
|
deleteEndpoint,
|
|
3070
3105
|
get,
|
|
3071
3106
|
getActivities,
|