extended-typescript-sdk 0.0.1
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/LICENSE +28 -0
- package/README.md +445 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +25 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +45 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +142 -0
- package/dist/index.js.map +1 -0
- package/dist/perpetual/accounts.d.ts +88 -0
- package/dist/perpetual/accounts.d.ts.map +1 -0
- package/dist/perpetual/accounts.js +152 -0
- package/dist/perpetual/accounts.js.map +1 -0
- package/dist/perpetual/amounts.d.ts +41 -0
- package/dist/perpetual/amounts.d.ts.map +1 -0
- package/dist/perpetual/amounts.js +79 -0
- package/dist/perpetual/amounts.js.map +1 -0
- package/dist/perpetual/assets.d.ts +74 -0
- package/dist/perpetual/assets.d.ts.map +1 -0
- package/dist/perpetual/assets.js +119 -0
- package/dist/perpetual/assets.js.map +1 -0
- package/dist/perpetual/bridges.d.ts +29 -0
- package/dist/perpetual/bridges.d.ts.map +1 -0
- package/dist/perpetual/bridges.js +45 -0
- package/dist/perpetual/bridges.js.map +1 -0
- package/dist/perpetual/candles.d.ts +26 -0
- package/dist/perpetual/candles.d.ts.map +1 -0
- package/dist/perpetual/candles.js +29 -0
- package/dist/perpetual/candles.js.map +1 -0
- package/dist/perpetual/clients.d.ts +15 -0
- package/dist/perpetual/clients.d.ts.map +1 -0
- package/dist/perpetual/clients.js +25 -0
- package/dist/perpetual/clients.js.map +1 -0
- package/dist/perpetual/configuration.d.ts +39 -0
- package/dist/perpetual/configuration.d.ts.map +1 -0
- package/dist/perpetual/configuration.js +61 -0
- package/dist/perpetual/configuration.js.map +1 -0
- package/dist/perpetual/crypto/signer.d.ts +164 -0
- package/dist/perpetual/crypto/signer.d.ts.map +1 -0
- package/dist/perpetual/crypto/signer.js +318 -0
- package/dist/perpetual/crypto/signer.js.map +1 -0
- package/dist/perpetual/fees.d.ts +20 -0
- package/dist/perpetual/fees.d.ts.map +1 -0
- package/dist/perpetual/fees.js +35 -0
- package/dist/perpetual/fees.js.map +1 -0
- package/dist/perpetual/funding-rates.d.ts +15 -0
- package/dist/perpetual/funding-rates.d.ts.map +1 -0
- package/dist/perpetual/funding-rates.js +23 -0
- package/dist/perpetual/funding-rates.js.map +1 -0
- package/dist/perpetual/markets.d.ts +83 -0
- package/dist/perpetual/markets.d.ts.map +1 -0
- package/dist/perpetual/markets.js +124 -0
- package/dist/perpetual/markets.js.map +1 -0
- package/dist/perpetual/order-object-settlement.d.ts +43 -0
- package/dist/perpetual/order-object-settlement.d.ts.map +1 -0
- package/dist/perpetual/order-object-settlement.js +121 -0
- package/dist/perpetual/order-object-settlement.js.map +1 -0
- package/dist/perpetual/order-object.d.ts +38 -0
- package/dist/perpetual/order-object.d.ts.map +1 -0
- package/dist/perpetual/order-object.js +90 -0
- package/dist/perpetual/order-object.js.map +1 -0
- package/dist/perpetual/orderbooks.d.ts +23 -0
- package/dist/perpetual/orderbooks.d.ts.map +1 -0
- package/dist/perpetual/orderbooks.js +36 -0
- package/dist/perpetual/orderbooks.js.map +1 -0
- package/dist/perpetual/orders.d.ts +207 -0
- package/dist/perpetual/orders.d.ts.map +1 -0
- package/dist/perpetual/orders.js +266 -0
- package/dist/perpetual/orders.js.map +1 -0
- package/dist/perpetual/positions.d.ts +80 -0
- package/dist/perpetual/positions.d.ts.map +1 -0
- package/dist/perpetual/positions.js +94 -0
- package/dist/perpetual/positions.js.map +1 -0
- package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts +47 -0
- package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts.map +1 -0
- package/dist/perpetual/stream-client/perpetual-stream-connection.js +125 -0
- package/dist/perpetual/stream-client/perpetual-stream-connection.js.map +1 -0
- package/dist/perpetual/stream-client/stream-client.d.ts +46 -0
- package/dist/perpetual/stream-client/stream-client.d.ts.map +1 -0
- package/dist/perpetual/stream-client/stream-client.js +79 -0
- package/dist/perpetual/stream-client/stream-client.js.map +1 -0
- package/dist/perpetual/trades.d.ts +44 -0
- package/dist/perpetual/trades.d.ts.map +1 -0
- package/dist/perpetual/trades.js +48 -0
- package/dist/perpetual/trades.js.map +1 -0
- package/dist/perpetual/trading-client/account-module.d.ts +192 -0
- package/dist/perpetual/trading-client/account-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/account-module.js +357 -0
- package/dist/perpetual/trading-client/account-module.js.map +1 -0
- package/dist/perpetual/trading-client/base-module.d.ts +27 -0
- package/dist/perpetual/trading-client/base-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/base-module.js +49 -0
- package/dist/perpetual/trading-client/base-module.js.map +1 -0
- package/dist/perpetual/trading-client/info-module.d.ts +24 -0
- package/dist/perpetual/trading-client/info-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/info-module.js +33 -0
- package/dist/perpetual/trading-client/info-module.js.map +1 -0
- package/dist/perpetual/trading-client/markets-information-module.d.ts +53 -0
- package/dist/perpetual/trading-client/markets-information-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/markets-information-module.js +106 -0
- package/dist/perpetual/trading-client/markets-information-module.js.map +1 -0
- package/dist/perpetual/trading-client/order-management-module.d.ts +40 -0
- package/dist/perpetual/trading-client/order-management-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/order-management-module.js +71 -0
- package/dist/perpetual/trading-client/order-management-module.js.map +1 -0
- package/dist/perpetual/trading-client/testnet-module.d.ts +27 -0
- package/dist/perpetual/trading-client/testnet-module.d.ts.map +1 -0
- package/dist/perpetual/trading-client/testnet-module.js +45 -0
- package/dist/perpetual/trading-client/testnet-module.js.map +1 -0
- package/dist/perpetual/trading-client/trading-client.d.ts +75 -0
- package/dist/perpetual/trading-client/trading-client.d.ts.map +1 -0
- package/dist/perpetual/trading-client/trading-client.js +115 -0
- package/dist/perpetual/trading-client/trading-client.js.map +1 -0
- package/dist/perpetual/transfer-object.d.ts +12 -0
- package/dist/perpetual/transfer-object.d.ts.map +1 -0
- package/dist/perpetual/transfer-object.js +57 -0
- package/dist/perpetual/transfer-object.js.map +1 -0
- package/dist/perpetual/transfers.d.ts +54 -0
- package/dist/perpetual/transfers.d.ts.map +1 -0
- package/dist/perpetual/transfers.js +90 -0
- package/dist/perpetual/transfers.js.map +1 -0
- package/dist/perpetual/user-client/onboarding.d.ts +101 -0
- package/dist/perpetual/user-client/onboarding.d.ts.map +1 -0
- package/dist/perpetual/user-client/onboarding.js +247 -0
- package/dist/perpetual/user-client/onboarding.js.map +1 -0
- package/dist/perpetual/user-client/user-client.d.ts +45 -0
- package/dist/perpetual/user-client/user-client.d.ts.map +1 -0
- package/dist/perpetual/user-client/user-client.js +185 -0
- package/dist/perpetual/user-client/user-client.js.map +1 -0
- package/dist/perpetual/withdrawal-object.d.ts +12 -0
- package/dist/perpetual/withdrawal-object.d.ts.map +1 -0
- package/dist/perpetual/withdrawal-object.js +51 -0
- package/dist/perpetual/withdrawal-object.js.map +1 -0
- package/dist/perpetual/withdrawals.d.ts +40 -0
- package/dist/perpetual/withdrawals.d.ts.map +1 -0
- package/dist/perpetual/withdrawals.js +65 -0
- package/dist/perpetual/withdrawals.js.map +1 -0
- package/dist/utils/date.d.ts +13 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +21 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/env.d.ts +50 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +157 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/http.d.ts +98 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +290 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/model.d.ts +35 -0
- package/dist/utils/model.d.ts.map +1 -0
- package/dist/utils/model.js +86 -0
- package/dist/utils/model.js.map +1 -0
- package/dist/utils/nonce.d.ts +9 -0
- package/dist/utils/nonce.d.ts.map +1 -0
- package/dist/utils/nonce.js +14 -0
- package/dist/utils/nonce.js.map +1 -0
- package/dist/utils/string.d.ts +10 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +20 -0
- package/dist/utils/string.js.map +1 -0
- package/package.json +56 -0
- package/wasm/stark_crypto_wasm-web.js +5 -0
- package/wasm/stark_crypto_wasm.d-web.ts +63 -0
- package/wasm/stark_crypto_wasm.d.ts +63 -0
- package/wasm/stark_crypto_wasm.js +362 -0
- package/wasm/stark_crypto_wasm_bg-web.wasm +0 -0
- package/wasm/stark_crypto_wasm_bg.wasm +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP client utilities for X10 API
|
|
3
|
+
*/
|
|
4
|
+
import { X10BaseModel } from './model';
|
|
5
|
+
export type ApiResponseType<T> = T | T[] | number;
|
|
6
|
+
/**
|
|
7
|
+
* HTTP Request headers
|
|
8
|
+
*/
|
|
9
|
+
export declare enum RequestHeader {
|
|
10
|
+
ACCEPT = "Accept",
|
|
11
|
+
API_KEY = "X-Api-Key",
|
|
12
|
+
CONTENT_TYPE = "Content-Type",
|
|
13
|
+
USER_AGENT = "User-Agent"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Response status
|
|
17
|
+
*/
|
|
18
|
+
export declare enum ResponseStatus {
|
|
19
|
+
OK = "OK",
|
|
20
|
+
ERROR = "ERROR"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Stream data types
|
|
24
|
+
*/
|
|
25
|
+
export declare enum StreamDataType {
|
|
26
|
+
UNKNOWN = "UNKNOWN",
|
|
27
|
+
BALANCE = "BALANCE",
|
|
28
|
+
DELTA = "DELTA",
|
|
29
|
+
DEPOSIT = "DEPOSIT",
|
|
30
|
+
ORDER = "ORDER",
|
|
31
|
+
POSITION = "POSITION",
|
|
32
|
+
SNAPSHOT = "SNAPSHOT",
|
|
33
|
+
TRADE = "TRADE",
|
|
34
|
+
TRANSFER = "TRANSFER",
|
|
35
|
+
WITHDRAWAL = "WITHDRAWAL"
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Response error model
|
|
39
|
+
*/
|
|
40
|
+
export declare class ResponseError extends X10BaseModel {
|
|
41
|
+
code: number;
|
|
42
|
+
message: string;
|
|
43
|
+
debugInfo?: string;
|
|
44
|
+
constructor(code: number, message: string, debugInfo?: string);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Pagination model
|
|
48
|
+
*/
|
|
49
|
+
export declare class Pagination extends X10BaseModel {
|
|
50
|
+
cursor?: number;
|
|
51
|
+
count: number;
|
|
52
|
+
constructor(cursor: number | undefined, count: number);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Wrapped API response
|
|
56
|
+
*/
|
|
57
|
+
export declare class WrappedApiResponse<T> extends X10BaseModel {
|
|
58
|
+
status: ResponseStatus;
|
|
59
|
+
data?: T;
|
|
60
|
+
error?: ResponseError;
|
|
61
|
+
pagination?: Pagination;
|
|
62
|
+
constructor(status: ResponseStatus, data?: T, error?: ResponseError, pagination?: Pagination);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Wrapped stream response
|
|
66
|
+
*/
|
|
67
|
+
export declare class WrappedStreamResponse<T> extends X10BaseModel {
|
|
68
|
+
type?: StreamDataType;
|
|
69
|
+
data?: T;
|
|
70
|
+
error?: string;
|
|
71
|
+
ts: number;
|
|
72
|
+
seq: number;
|
|
73
|
+
constructor(type: StreamDataType | undefined, data: T | undefined, error: string | undefined, ts: number, seq: number);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Build URL with path parameters and query string
|
|
77
|
+
*/
|
|
78
|
+
export declare function getUrl(template: string, options?: {
|
|
79
|
+
query?: Record<string, string | string[]>;
|
|
80
|
+
pathParams?: Record<string, string | number>;
|
|
81
|
+
}): string;
|
|
82
|
+
/**
|
|
83
|
+
* Send GET request
|
|
84
|
+
*/
|
|
85
|
+
export declare function sendGetRequest<T>(url: string, apiKey?: string, requestHeaders?: Record<string, string>, responseCodeToException?: Map<number, typeof Error>): Promise<WrappedApiResponse<T>>;
|
|
86
|
+
/**
|
|
87
|
+
* Send POST request
|
|
88
|
+
*/
|
|
89
|
+
export declare function sendPostRequest<T>(url: string, json?: any, apiKey?: string, requestHeaders?: Record<string, string>, responseCodeToException?: Map<number, typeof Error>): Promise<WrappedApiResponse<T>>;
|
|
90
|
+
/**
|
|
91
|
+
* Send PATCH request
|
|
92
|
+
*/
|
|
93
|
+
export declare function sendPatchRequest<T>(url: string, json?: any, apiKey?: string, requestHeaders?: Record<string, string>, responseCodeToException?: Map<number, typeof Error>): Promise<WrappedApiResponse<T>>;
|
|
94
|
+
/**
|
|
95
|
+
* Send DELETE request
|
|
96
|
+
*/
|
|
97
|
+
export declare function sendDeleteRequest<T>(url: string, apiKey?: string, requestHeaders?: Record<string, string>, responseCodeToException?: Map<number, typeof Error>): Promise<WrappedApiResponse<T>>;
|
|
98
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* HTTP client utilities for X10 API
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WrappedStreamResponse = exports.WrappedApiResponse = exports.Pagination = exports.ResponseError = exports.StreamDataType = exports.ResponseStatus = exports.RequestHeader = void 0;
|
|
7
|
+
exports.getUrl = getUrl;
|
|
8
|
+
exports.sendGetRequest = sendGetRequest;
|
|
9
|
+
exports.sendPostRequest = sendPostRequest;
|
|
10
|
+
exports.sendPatchRequest = sendPatchRequest;
|
|
11
|
+
exports.sendDeleteRequest = sendDeleteRequest;
|
|
12
|
+
const config_1 = require("../config");
|
|
13
|
+
const errors_1 = require("../errors");
|
|
14
|
+
const model_1 = require("./model");
|
|
15
|
+
/**
|
|
16
|
+
* HTTP Request headers
|
|
17
|
+
*/
|
|
18
|
+
var RequestHeader;
|
|
19
|
+
(function (RequestHeader) {
|
|
20
|
+
RequestHeader["ACCEPT"] = "Accept";
|
|
21
|
+
RequestHeader["API_KEY"] = "X-Api-Key";
|
|
22
|
+
RequestHeader["CONTENT_TYPE"] = "Content-Type";
|
|
23
|
+
RequestHeader["USER_AGENT"] = "User-Agent";
|
|
24
|
+
})(RequestHeader || (exports.RequestHeader = RequestHeader = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Response status
|
|
27
|
+
*/
|
|
28
|
+
var ResponseStatus;
|
|
29
|
+
(function (ResponseStatus) {
|
|
30
|
+
ResponseStatus["OK"] = "OK";
|
|
31
|
+
ResponseStatus["ERROR"] = "ERROR";
|
|
32
|
+
})(ResponseStatus || (exports.ResponseStatus = ResponseStatus = {}));
|
|
33
|
+
/**
|
|
34
|
+
* Stream data types
|
|
35
|
+
*/
|
|
36
|
+
var StreamDataType;
|
|
37
|
+
(function (StreamDataType) {
|
|
38
|
+
StreamDataType["UNKNOWN"] = "UNKNOWN";
|
|
39
|
+
StreamDataType["BALANCE"] = "BALANCE";
|
|
40
|
+
StreamDataType["DELTA"] = "DELTA";
|
|
41
|
+
StreamDataType["DEPOSIT"] = "DEPOSIT";
|
|
42
|
+
StreamDataType["ORDER"] = "ORDER";
|
|
43
|
+
StreamDataType["POSITION"] = "POSITION";
|
|
44
|
+
StreamDataType["SNAPSHOT"] = "SNAPSHOT";
|
|
45
|
+
StreamDataType["TRADE"] = "TRADE";
|
|
46
|
+
StreamDataType["TRANSFER"] = "TRANSFER";
|
|
47
|
+
StreamDataType["WITHDRAWAL"] = "WITHDRAWAL";
|
|
48
|
+
})(StreamDataType || (exports.StreamDataType = StreamDataType = {}));
|
|
49
|
+
/**
|
|
50
|
+
* Response error model
|
|
51
|
+
*/
|
|
52
|
+
class ResponseError extends model_1.X10BaseModel {
|
|
53
|
+
code;
|
|
54
|
+
message;
|
|
55
|
+
debugInfo;
|
|
56
|
+
constructor(code, message, debugInfo) {
|
|
57
|
+
super();
|
|
58
|
+
this.code = code;
|
|
59
|
+
this.message = message;
|
|
60
|
+
this.debugInfo = debugInfo;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.ResponseError = ResponseError;
|
|
64
|
+
/**
|
|
65
|
+
* Pagination model
|
|
66
|
+
*/
|
|
67
|
+
class Pagination extends model_1.X10BaseModel {
|
|
68
|
+
cursor;
|
|
69
|
+
count;
|
|
70
|
+
constructor(cursor, count) {
|
|
71
|
+
super();
|
|
72
|
+
this.cursor = cursor;
|
|
73
|
+
this.count = count;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.Pagination = Pagination;
|
|
77
|
+
/**
|
|
78
|
+
* Wrapped API response
|
|
79
|
+
*/
|
|
80
|
+
class WrappedApiResponse extends model_1.X10BaseModel {
|
|
81
|
+
status;
|
|
82
|
+
data;
|
|
83
|
+
error;
|
|
84
|
+
pagination;
|
|
85
|
+
constructor(status, data, error, pagination) {
|
|
86
|
+
super();
|
|
87
|
+
this.status = status;
|
|
88
|
+
this.data = data;
|
|
89
|
+
this.error = error;
|
|
90
|
+
this.pagination = pagination;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.WrappedApiResponse = WrappedApiResponse;
|
|
94
|
+
/**
|
|
95
|
+
* Wrapped stream response
|
|
96
|
+
*/
|
|
97
|
+
class WrappedStreamResponse extends model_1.X10BaseModel {
|
|
98
|
+
type;
|
|
99
|
+
data;
|
|
100
|
+
error;
|
|
101
|
+
ts;
|
|
102
|
+
seq;
|
|
103
|
+
constructor(type, data, error, ts, seq) {
|
|
104
|
+
super();
|
|
105
|
+
this.type = type;
|
|
106
|
+
this.data = data;
|
|
107
|
+
this.error = error;
|
|
108
|
+
this.ts = ts;
|
|
109
|
+
this.seq = seq;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.WrappedStreamResponse = WrappedStreamResponse;
|
|
113
|
+
/**
|
|
114
|
+
* Build URL with path parameters and query string
|
|
115
|
+
*/
|
|
116
|
+
function getUrl(template, options = {}) {
|
|
117
|
+
let url = template;
|
|
118
|
+
const { query, pathParams } = options;
|
|
119
|
+
// Replace path parameters
|
|
120
|
+
if (pathParams) {
|
|
121
|
+
for (const [key, value] of Object.entries(pathParams)) {
|
|
122
|
+
const regex = new RegExp(`<\\??${key}>`, 'g');
|
|
123
|
+
url = url.replace(regex, String(value));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Remove trailing slash
|
|
127
|
+
url = url.replace(/\/+$/, '');
|
|
128
|
+
// Add query string
|
|
129
|
+
if (query) {
|
|
130
|
+
const queryParts = [];
|
|
131
|
+
for (const [key, value] of Object.entries(query)) {
|
|
132
|
+
if (Array.isArray(value)) {
|
|
133
|
+
for (const item of value) {
|
|
134
|
+
if (item !== null && item !== undefined) {
|
|
135
|
+
queryParts.push(`${key}=${encodeURIComponent(item)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else if (value !== null && value !== undefined) {
|
|
140
|
+
queryParts.push(`${key}=${encodeURIComponent(value)}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (queryParts.length > 0) {
|
|
144
|
+
url += '?' + queryParts.join('&');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return url;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get HTTP headers for requests
|
|
151
|
+
*/
|
|
152
|
+
function getHeaders(apiKey, requestHeaders) {
|
|
153
|
+
const headers = {
|
|
154
|
+
[RequestHeader.ACCEPT]: 'application/json',
|
|
155
|
+
[RequestHeader.CONTENT_TYPE]: 'application/json',
|
|
156
|
+
[RequestHeader.USER_AGENT]: config_1.USER_AGENT,
|
|
157
|
+
};
|
|
158
|
+
if (apiKey) {
|
|
159
|
+
headers[RequestHeader.API_KEY] = apiKey;
|
|
160
|
+
}
|
|
161
|
+
if (requestHeaders) {
|
|
162
|
+
Object.assign(headers, requestHeaders);
|
|
163
|
+
}
|
|
164
|
+
return headers;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Handle HTTP errors
|
|
168
|
+
*/
|
|
169
|
+
function handleKnownErrors(url, responseCodeToException, status, responseText) {
|
|
170
|
+
if (status === 401) {
|
|
171
|
+
throw new errors_1.NotAuthorizedException(`Unauthorized response from ${url}: ${responseText}`);
|
|
172
|
+
}
|
|
173
|
+
if (status === 429) {
|
|
174
|
+
throw new errors_1.RateLimitException(`Rate limited response from ${url}: ${responseText}`);
|
|
175
|
+
}
|
|
176
|
+
if (responseCodeToException && status in responseCodeToException) {
|
|
177
|
+
const ExceptionClass = responseCodeToException.get(status);
|
|
178
|
+
if (ExceptionClass) {
|
|
179
|
+
throw new ExceptionClass(responseText);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (status > 299) {
|
|
183
|
+
throw new Error(`Error response from ${url}: code ${status} - ${responseText}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Send GET request
|
|
188
|
+
*/
|
|
189
|
+
async function sendGetRequest(url, apiKey, requestHeaders, responseCodeToException) {
|
|
190
|
+
const headers = getHeaders(apiKey, requestHeaders);
|
|
191
|
+
const controller = new AbortController();
|
|
192
|
+
const timeoutId = setTimeout(() => controller.abort(), config_1.DEFAULT_REQUEST_TIMEOUT_SECONDS * 1000);
|
|
193
|
+
try {
|
|
194
|
+
const response = await fetch(url, {
|
|
195
|
+
method: 'GET',
|
|
196
|
+
headers,
|
|
197
|
+
signal: controller.signal,
|
|
198
|
+
});
|
|
199
|
+
clearTimeout(timeoutId);
|
|
200
|
+
const responseText = await response.text();
|
|
201
|
+
handleKnownErrors(url, responseCodeToException, response.status, responseText);
|
|
202
|
+
const data = JSON.parse(responseText);
|
|
203
|
+
return data;
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
clearTimeout(timeoutId);
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Send POST request
|
|
212
|
+
*/
|
|
213
|
+
async function sendPostRequest(url, json, apiKey, requestHeaders, responseCodeToException) {
|
|
214
|
+
const headers = getHeaders(apiKey, requestHeaders);
|
|
215
|
+
const controller = new AbortController();
|
|
216
|
+
const timeoutId = setTimeout(() => controller.abort(), config_1.DEFAULT_REQUEST_TIMEOUT_SECONDS * 1000);
|
|
217
|
+
try {
|
|
218
|
+
const response = await fetch(url, {
|
|
219
|
+
method: 'POST',
|
|
220
|
+
headers,
|
|
221
|
+
body: json ? JSON.stringify(json) : undefined,
|
|
222
|
+
signal: controller.signal,
|
|
223
|
+
});
|
|
224
|
+
clearTimeout(timeoutId);
|
|
225
|
+
const responseText = await response.text();
|
|
226
|
+
handleKnownErrors(url, responseCodeToException, response.status, responseText);
|
|
227
|
+
const data = JSON.parse(responseText);
|
|
228
|
+
if (data.status !== ResponseStatus.OK || data.error) {
|
|
229
|
+
throw new Error(`Error response from POST ${url}: ${JSON.stringify(data.error)}`);
|
|
230
|
+
}
|
|
231
|
+
return data;
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
clearTimeout(timeoutId);
|
|
235
|
+
throw error;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Send PATCH request
|
|
240
|
+
*/
|
|
241
|
+
async function sendPatchRequest(url, json, apiKey, requestHeaders, responseCodeToException) {
|
|
242
|
+
const headers = getHeaders(apiKey, requestHeaders);
|
|
243
|
+
const controller = new AbortController();
|
|
244
|
+
const timeoutId = setTimeout(() => controller.abort(), config_1.DEFAULT_REQUEST_TIMEOUT_SECONDS * 1000);
|
|
245
|
+
try {
|
|
246
|
+
const response = await fetch(url, {
|
|
247
|
+
method: 'PATCH',
|
|
248
|
+
headers,
|
|
249
|
+
body: json ? JSON.stringify(json) : undefined,
|
|
250
|
+
signal: controller.signal,
|
|
251
|
+
});
|
|
252
|
+
clearTimeout(timeoutId);
|
|
253
|
+
let responseText = await response.text();
|
|
254
|
+
if (responseText === '') {
|
|
255
|
+
responseText = '{"status": "OK"}';
|
|
256
|
+
}
|
|
257
|
+
handleKnownErrors(url, responseCodeToException, response.status, responseText);
|
|
258
|
+
const data = JSON.parse(responseText);
|
|
259
|
+
return data;
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
clearTimeout(timeoutId);
|
|
263
|
+
throw error;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Send DELETE request
|
|
268
|
+
*/
|
|
269
|
+
async function sendDeleteRequest(url, apiKey, requestHeaders, responseCodeToException) {
|
|
270
|
+
const headers = getHeaders(apiKey, requestHeaders);
|
|
271
|
+
const controller = new AbortController();
|
|
272
|
+
const timeoutId = setTimeout(() => controller.abort(), config_1.DEFAULT_REQUEST_TIMEOUT_SECONDS * 1000);
|
|
273
|
+
try {
|
|
274
|
+
const response = await fetch(url, {
|
|
275
|
+
method: 'DELETE',
|
|
276
|
+
headers,
|
|
277
|
+
signal: controller.signal,
|
|
278
|
+
});
|
|
279
|
+
clearTimeout(timeoutId);
|
|
280
|
+
const responseText = await response.text();
|
|
281
|
+
handleKnownErrors(url, responseCodeToException, response.status, responseText);
|
|
282
|
+
const data = JSON.parse(responseText);
|
|
283
|
+
return data;
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
clearTimeout(timeoutId);
|
|
287
|
+
throw error;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base model utilities and types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Hex value type - represented as string in JSON, BigInt in memory
|
|
6
|
+
*/
|
|
7
|
+
export type HexValue = string | bigint;
|
|
8
|
+
/**
|
|
9
|
+
* Base model class for all X10 API models
|
|
10
|
+
* Handles camelCase/snake_case conversion
|
|
11
|
+
*/
|
|
12
|
+
export declare class X10BaseModel {
|
|
13
|
+
/**
|
|
14
|
+
* Convert model to pretty JSON string
|
|
15
|
+
*/
|
|
16
|
+
toPrettyJson(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Convert model to API request JSON (camelCase)
|
|
19
|
+
*/
|
|
20
|
+
toApiRequestJson(excludeNone?: boolean): Record<string, any>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Settlement signature model
|
|
24
|
+
*/
|
|
25
|
+
export declare class SettlementSignatureModel extends X10BaseModel {
|
|
26
|
+
r: HexValue;
|
|
27
|
+
s: HexValue;
|
|
28
|
+
constructor(r: HexValue, s: HexValue);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Empty model (for void responses)
|
|
32
|
+
*/
|
|
33
|
+
export declare class EmptyModel extends X10BaseModel {
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC;;;GAGG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,gBAAgB,CAAC,WAAW,GAAE,OAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA4CpE;AASD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,YAAY;IACxD,CAAC,EAAE,QAAQ,CAAC;IACZ,CAAC,EAAE,QAAQ,CAAC;gBAEA,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ;CAKrC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;CAAG"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base model utilities and types
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EmptyModel = exports.SettlementSignatureModel = exports.X10BaseModel = void 0;
|
|
10
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
11
|
+
/**
|
|
12
|
+
* Base model class for all X10 API models
|
|
13
|
+
* Handles camelCase/snake_case conversion
|
|
14
|
+
*/
|
|
15
|
+
class X10BaseModel {
|
|
16
|
+
/**
|
|
17
|
+
* Convert model to pretty JSON string
|
|
18
|
+
*/
|
|
19
|
+
toPrettyJson() {
|
|
20
|
+
return JSON.stringify(this, null, 2);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert model to API request JSON (camelCase)
|
|
24
|
+
*/
|
|
25
|
+
toApiRequestJson(excludeNone = false) {
|
|
26
|
+
const obj = {};
|
|
27
|
+
for (const [key, value] of Object.entries(this)) {
|
|
28
|
+
const camelKey = toCamel(key);
|
|
29
|
+
if (excludeNone && (value === null || value === undefined)) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
let processed = value;
|
|
33
|
+
// Recursively convert nested models
|
|
34
|
+
if (value instanceof X10BaseModel) {
|
|
35
|
+
processed = value.toApiRequestJson(excludeNone);
|
|
36
|
+
}
|
|
37
|
+
// Convert arrays of models
|
|
38
|
+
if (Array.isArray(value)) {
|
|
39
|
+
processed = value.map((item) => item instanceof X10BaseModel ? item.toApiRequestJson(excludeNone) : item);
|
|
40
|
+
}
|
|
41
|
+
// Convert BigInt to hex string
|
|
42
|
+
if (typeof processed === 'bigint') {
|
|
43
|
+
processed = `0x${processed.toString(16)}`;
|
|
44
|
+
}
|
|
45
|
+
// Convert Decimal to string
|
|
46
|
+
if (processed instanceof decimal_js_1.default) {
|
|
47
|
+
processed = processed.toString();
|
|
48
|
+
}
|
|
49
|
+
// Convert snake_case to camelCase
|
|
50
|
+
if (key !== camelKey) {
|
|
51
|
+
obj[camelKey] = processed;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
obj[key] = processed;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return obj;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.X10BaseModel = X10BaseModel;
|
|
61
|
+
/**
|
|
62
|
+
* Convert snake_case to camelCase
|
|
63
|
+
*/
|
|
64
|
+
function toCamel(str) {
|
|
65
|
+
return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Settlement signature model
|
|
69
|
+
*/
|
|
70
|
+
class SettlementSignatureModel extends X10BaseModel {
|
|
71
|
+
r;
|
|
72
|
+
s;
|
|
73
|
+
constructor(r, s) {
|
|
74
|
+
super();
|
|
75
|
+
this.r = r;
|
|
76
|
+
this.s = s;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.SettlementSignatureModel = SettlementSignatureModel;
|
|
80
|
+
/**
|
|
81
|
+
* Empty model (for void responses)
|
|
82
|
+
*/
|
|
83
|
+
class EmptyModel extends X10BaseModel {
|
|
84
|
+
}
|
|
85
|
+
exports.EmptyModel = EmptyModel;
|
|
86
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,4DAAiC;AAOjC;;;GAGG;AACH,MAAa,YAAY;IACvB;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,cAAuB,KAAK;QAC3C,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,WAAW,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC3D,SAAS;YACX,CAAC;YAED,IAAI,SAAS,GAAQ,KAAK,CAAC;YAE3B,oCAAoC;YACpC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,IAAI,YAAY,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CACzE,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,SAAS,GAAG,KAAK,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,CAAC;YAED,4BAA4B;YAC5B,IAAI,SAAS,YAAY,oBAAO,EAAE,CAAC;gBACjC,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YAED,kCAAkC;YAClC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAvDD,oCAuDC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAa,wBAAyB,SAAQ,YAAY;IACxD,CAAC,CAAW;IACZ,CAAC,CAAW;IAEZ,YAAY,CAAW,EAAE,CAAW;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF;AATD,4DASC;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,YAAY;CAAG;AAA/C,gCAA+C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nonce.d.ts","sourceRoot":"","sources":["../../src/utils/nonce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nonce generation utilities
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateNonce = generateNonce;
|
|
7
|
+
/**
|
|
8
|
+
* Generates a nonce for use in StarkEx transactions
|
|
9
|
+
* Returns a random integer between 0 and 2^32 - 1
|
|
10
|
+
*/
|
|
11
|
+
function generateNonce() {
|
|
12
|
+
return Math.floor(Math.random() * (2 ** 32));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=nonce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["../../src/utils/nonce.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAMH,sCAEC;AAND;;;GAGG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* String utility functions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Check if a string is a valid hex string
|
|
6
|
+
* @param s String to check
|
|
7
|
+
* @param checkPrefix Whether to check for '0x' prefix
|
|
8
|
+
*/
|
|
9
|
+
export declare function isHexString(s: string, checkPrefix?: boolean): boolean;
|
|
10
|
+
//# sourceMappingURL=string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAS3E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* String utility functions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isHexString = isHexString;
|
|
7
|
+
/**
|
|
8
|
+
* Check if a string is a valid hex string
|
|
9
|
+
* @param s String to check
|
|
10
|
+
* @param checkPrefix Whether to check for '0x' prefix
|
|
11
|
+
*/
|
|
12
|
+
function isHexString(s, checkPrefix = true) {
|
|
13
|
+
if (checkPrefix && !s.startsWith('0x')) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const stringToCheck = checkPrefix ? s.slice(2) : s;
|
|
17
|
+
const hexRegex = /^[0-9a-fA-F]+$/;
|
|
18
|
+
return stringToCheck.length > 0 && hexRegex.test(stringToCheck);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAOH,kCASC;AAdD;;;;GAIG;AACH,SAAgB,WAAW,CAAC,CAAS,EAAE,cAAuB,IAAI;IAChE,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAElC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAClE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "extended-typescript-sdk",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Unofficial TypeScript SDK for Extended Exchange - A perpetual DEX built by ex-Revolut team",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "npm run build:signer && npm run build:ts",
|
|
9
|
+
"build:ts": "tsc",
|
|
10
|
+
"build:signer": "node scripts/build-signer.js",
|
|
11
|
+
"build:signer:custom": "cd wasm-signer && wasm-pack build --target nodejs --out-dir ../wasm && wasm-pack build --target bundler --out-dir ../wasm-web-temp && node -e \"const fs=require('fs');['stark_crypto_wasm.js','stark_crypto_wasm_bg.wasm','stark_crypto_wasm.d.ts'].forEach(f=>{const src=`../wasm-web-temp/${f}`;const dest=`../wasm/${f.replace('.js','-web.js').replace('.wasm','-web.wasm').replace('.d.ts','-web.d.ts')}`;if(fs.existsSync(src))fs.copyFileSync(src,dest);});fs.rmSync('../wasm-web-temp',{recursive:true,force:true});\"",
|
|
12
|
+
"clean": "rm -rf dist wasm wasm-signer/pkg wasm-signer/pkg-web wasm-signer/target",
|
|
13
|
+
"prepublishOnly": "npm run build",
|
|
14
|
+
"test": "npm run build && jest",
|
|
15
|
+
"lint": "eslint src --ext .ts",
|
|
16
|
+
"format": "prettier --write \"src/**/*.ts\""
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"x10",
|
|
20
|
+
"starknet",
|
|
21
|
+
"trading",
|
|
22
|
+
"sdk",
|
|
23
|
+
"typescript"
|
|
24
|
+
],
|
|
25
|
+
"author": "bvvvp009",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/Bvvvp009/Extended-TS-SDK.git"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"decimal.js": "^10.4.3",
|
|
33
|
+
"dotenv": "^16.3.1",
|
|
34
|
+
"ethers": "^6.9.0",
|
|
35
|
+
"ws": "^8.16.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/jest": "^30.0.0",
|
|
39
|
+
"@types/node": "^20.11.0",
|
|
40
|
+
"@types/ws": "^8.5.10",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
|
42
|
+
"@typescript-eslint/parser": "^6.19.0",
|
|
43
|
+
"eslint": "^8.56.0",
|
|
44
|
+
"jest": "^29.7.0",
|
|
45
|
+
"prettier": "^3.2.4",
|
|
46
|
+
"ts-jest": "^29.4.5",
|
|
47
|
+
"ts-node": "^10.9.2",
|
|
48
|
+
"typescript": "^5.3.3"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"dist",
|
|
52
|
+
"wasm",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE"
|
|
55
|
+
]
|
|
56
|
+
}
|