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,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Asset models and utilities
|
|
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.AssetOperationModel = exports.AssetOperationStatus = exports.AssetOperationType = exports.Asset = void 0;
|
|
10
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
11
|
+
const model_1 = require("../utils/model");
|
|
12
|
+
/**
|
|
13
|
+
* Asset model
|
|
14
|
+
*/
|
|
15
|
+
class Asset {
|
|
16
|
+
id;
|
|
17
|
+
name;
|
|
18
|
+
precision;
|
|
19
|
+
active;
|
|
20
|
+
isCollateral;
|
|
21
|
+
settlementExternalId;
|
|
22
|
+
settlementResolution;
|
|
23
|
+
l1ExternalId;
|
|
24
|
+
l1Resolution;
|
|
25
|
+
constructor(id, name, precision, active, isCollateral, settlementExternalId, settlementResolution, l1ExternalId, l1Resolution) {
|
|
26
|
+
this.id = id;
|
|
27
|
+
this.name = name;
|
|
28
|
+
this.precision = precision;
|
|
29
|
+
this.active = active;
|
|
30
|
+
this.isCollateral = isCollateral;
|
|
31
|
+
this.settlementExternalId = settlementExternalId;
|
|
32
|
+
this.settlementResolution = settlementResolution;
|
|
33
|
+
this.l1ExternalId = l1ExternalId;
|
|
34
|
+
this.l1Resolution = l1Resolution;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Convert human-readable amount to Stark quantity
|
|
38
|
+
*/
|
|
39
|
+
convertHumanReadableToStarkQuantity(internal, roundingContext) {
|
|
40
|
+
const result = internal.mul(this.settlementResolution);
|
|
41
|
+
// Round according to context
|
|
42
|
+
return Math.round(result.toNumber());
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Convert Stark quantity to internal quantity
|
|
46
|
+
*/
|
|
47
|
+
convertStarkToInternalQuantity(stark) {
|
|
48
|
+
return new decimal_js_1.default(stark).div(this.settlementResolution);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert L1 quantity to internal quantity
|
|
52
|
+
*/
|
|
53
|
+
convertL1QuantityToInternalQuantity(l1) {
|
|
54
|
+
return new decimal_js_1.default(l1).div(this.l1Resolution);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert internal quantity to L1 quantity
|
|
58
|
+
*/
|
|
59
|
+
convertInternalQuantityToL1Quantity(internal) {
|
|
60
|
+
if (!this.isCollateral) {
|
|
61
|
+
throw new Error('Only collateral assets have an L1 representation');
|
|
62
|
+
}
|
|
63
|
+
return Math.round(internal.mul(this.l1Resolution).toNumber());
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.Asset = Asset;
|
|
67
|
+
/**
|
|
68
|
+
* Asset operation type
|
|
69
|
+
*/
|
|
70
|
+
var AssetOperationType;
|
|
71
|
+
(function (AssetOperationType) {
|
|
72
|
+
AssetOperationType["CLAIM"] = "CLAIM";
|
|
73
|
+
AssetOperationType["DEPOSIT"] = "DEPOSIT";
|
|
74
|
+
AssetOperationType["FAST_WITHDRAWAL"] = "FAST_WITHDRAWAL";
|
|
75
|
+
AssetOperationType["SLOW_WITHDRAWAL"] = "SLOW_WITHDRAWAL";
|
|
76
|
+
AssetOperationType["TRANSFER"] = "TRANSFER";
|
|
77
|
+
})(AssetOperationType || (exports.AssetOperationType = AssetOperationType = {}));
|
|
78
|
+
/**
|
|
79
|
+
* Asset operation status
|
|
80
|
+
*/
|
|
81
|
+
var AssetOperationStatus;
|
|
82
|
+
(function (AssetOperationStatus) {
|
|
83
|
+
AssetOperationStatus["UNKNOWN"] = "UNKNOWN";
|
|
84
|
+
AssetOperationStatus["CREATED"] = "CREATED";
|
|
85
|
+
AssetOperationStatus["IN_PROGRESS"] = "IN_PROGRESS";
|
|
86
|
+
AssetOperationStatus["REJECTED"] = "REJECTED";
|
|
87
|
+
AssetOperationStatus["READY_FOR_CLAIM"] = "READY_FOR_CLAIM";
|
|
88
|
+
AssetOperationStatus["COMPLETED"] = "COMPLETED";
|
|
89
|
+
})(AssetOperationStatus || (exports.AssetOperationStatus = AssetOperationStatus = {}));
|
|
90
|
+
/**
|
|
91
|
+
* Asset operation model
|
|
92
|
+
*/
|
|
93
|
+
class AssetOperationModel extends model_1.X10BaseModel {
|
|
94
|
+
id;
|
|
95
|
+
type;
|
|
96
|
+
status;
|
|
97
|
+
amount;
|
|
98
|
+
fee;
|
|
99
|
+
asset;
|
|
100
|
+
time;
|
|
101
|
+
accountId;
|
|
102
|
+
counterpartyAccountId;
|
|
103
|
+
transactionHash;
|
|
104
|
+
constructor(id, type, status, amount, fee, asset, time, accountId, counterpartyAccountId, transactionHash) {
|
|
105
|
+
super();
|
|
106
|
+
this.id = id;
|
|
107
|
+
this.type = type;
|
|
108
|
+
this.status = status;
|
|
109
|
+
this.amount = amount;
|
|
110
|
+
this.fee = fee;
|
|
111
|
+
this.asset = asset;
|
|
112
|
+
this.time = time;
|
|
113
|
+
this.accountId = accountId;
|
|
114
|
+
this.counterpartyAccountId = counterpartyAccountId;
|
|
115
|
+
this.transactionHash = transactionHash;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.AssetOperationModel = AssetOperationModel;
|
|
119
|
+
//# sourceMappingURL=assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/perpetual/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridge models
|
|
3
|
+
*/
|
|
4
|
+
import Decimal from 'decimal.js';
|
|
5
|
+
import { X10BaseModel } from '../utils/model';
|
|
6
|
+
/**
|
|
7
|
+
* Chain config
|
|
8
|
+
*/
|
|
9
|
+
export declare class ChainConfig extends X10BaseModel {
|
|
10
|
+
chain: string;
|
|
11
|
+
contractAddress: string;
|
|
12
|
+
constructor(chain: string, contractAddress: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Bridges config
|
|
16
|
+
*/
|
|
17
|
+
export declare class BridgesConfig extends X10BaseModel {
|
|
18
|
+
chains: ChainConfig[];
|
|
19
|
+
constructor(chains: ChainConfig[]);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Quote model
|
|
23
|
+
*/
|
|
24
|
+
export declare class Quote extends X10BaseModel {
|
|
25
|
+
id: string;
|
|
26
|
+
fee: Decimal;
|
|
27
|
+
constructor(id: string, fee: Decimal);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=bridges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../src/perpetual/bridges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAKnD;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,MAAM,EAAE,WAAW,EAAE,CAAC;gBAEV,MAAM,EAAE,WAAW,EAAE;CAIlC;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;gBAED,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAKrC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Bridge models
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Quote = exports.BridgesConfig = exports.ChainConfig = void 0;
|
|
7
|
+
const model_1 = require("../utils/model");
|
|
8
|
+
/**
|
|
9
|
+
* Chain config
|
|
10
|
+
*/
|
|
11
|
+
class ChainConfig extends model_1.X10BaseModel {
|
|
12
|
+
chain;
|
|
13
|
+
contractAddress;
|
|
14
|
+
constructor(chain, contractAddress) {
|
|
15
|
+
super();
|
|
16
|
+
this.chain = chain;
|
|
17
|
+
this.contractAddress = contractAddress;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ChainConfig = ChainConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Bridges config
|
|
23
|
+
*/
|
|
24
|
+
class BridgesConfig extends model_1.X10BaseModel {
|
|
25
|
+
chains;
|
|
26
|
+
constructor(chains) {
|
|
27
|
+
super();
|
|
28
|
+
this.chains = chains;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.BridgesConfig = BridgesConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Quote model
|
|
34
|
+
*/
|
|
35
|
+
class Quote extends model_1.X10BaseModel {
|
|
36
|
+
id;
|
|
37
|
+
fee;
|
|
38
|
+
constructor(id, fee) {
|
|
39
|
+
super();
|
|
40
|
+
this.id = id;
|
|
41
|
+
this.fee = fee;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Quote = Quote;
|
|
45
|
+
//# sourceMappingURL=bridges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../src/perpetual/bridges.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAA8C;AAE9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,KAAK,CAAS;IACd,eAAe,CAAS;IAExB,YAAY,KAAa,EAAE,eAAuB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AATD,kCASC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,oBAAY;IAC7C,MAAM,CAAgB;IAEtB,YAAY,MAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAPD,sCAOC;AAED;;GAEG;AACH,MAAa,KAAM,SAAQ,oBAAY;IACrC,EAAE,CAAS;IACX,GAAG,CAAU;IAEb,YAAY,EAAU,EAAE,GAAY;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AATD,sBASC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candle models
|
|
3
|
+
*/
|
|
4
|
+
import Decimal from 'decimal.js';
|
|
5
|
+
import { X10BaseModel } from '../utils/model';
|
|
6
|
+
/**
|
|
7
|
+
* Candle type
|
|
8
|
+
*/
|
|
9
|
+
export type CandleType = 'trades' | 'mark-prices' | 'index-prices';
|
|
10
|
+
/**
|
|
11
|
+
* Candle interval
|
|
12
|
+
*/
|
|
13
|
+
export type CandleInterval = 'PT1M' | 'PT5M' | 'PT15M' | 'PT30M' | 'PT1H' | 'PT2H' | 'PT4H' | 'P1D';
|
|
14
|
+
/**
|
|
15
|
+
* Candle model
|
|
16
|
+
*/
|
|
17
|
+
export declare class CandleModel extends X10BaseModel {
|
|
18
|
+
open: Decimal;
|
|
19
|
+
low: Decimal;
|
|
20
|
+
high: Decimal;
|
|
21
|
+
close: Decimal;
|
|
22
|
+
volume?: Decimal;
|
|
23
|
+
timestamp: number;
|
|
24
|
+
constructor(open: Decimal, low: Decimal, high: Decimal, close: Decimal, timestamp: number, volume?: Decimal);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=candles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candles.d.ts","sourceRoot":"","sources":["../../src/perpetual/candles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpG;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;gBAGhB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO;CAUnB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Candle models
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CandleModel = void 0;
|
|
7
|
+
const model_1 = require("../utils/model");
|
|
8
|
+
/**
|
|
9
|
+
* Candle model
|
|
10
|
+
*/
|
|
11
|
+
class CandleModel extends model_1.X10BaseModel {
|
|
12
|
+
open;
|
|
13
|
+
low;
|
|
14
|
+
high;
|
|
15
|
+
close;
|
|
16
|
+
volume;
|
|
17
|
+
timestamp;
|
|
18
|
+
constructor(open, low, high, close, timestamp, volume) {
|
|
19
|
+
super();
|
|
20
|
+
this.open = open;
|
|
21
|
+
this.low = low;
|
|
22
|
+
this.high = high;
|
|
23
|
+
this.close = close;
|
|
24
|
+
this.timestamp = timestamp;
|
|
25
|
+
this.volume = volume;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.CandleModel = CandleModel;
|
|
29
|
+
//# sourceMappingURL=candles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candles.js","sourceRoot":"","sources":["../../src/perpetual/candles.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAA8C;AAY9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,IAAI,CAAU;IACd,GAAG,CAAU;IACb,IAAI,CAAU;IACd,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,SAAS,CAAS;IAElB,YACE,IAAa,EACb,GAAY,EACZ,IAAa,EACb,KAAc,EACd,SAAiB,EACjB,MAAgB;QAEhB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAxBD,kCAwBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client models
|
|
3
|
+
*/
|
|
4
|
+
import { X10BaseModel } from '../utils/model';
|
|
5
|
+
/**
|
|
6
|
+
* Client model
|
|
7
|
+
*/
|
|
8
|
+
export declare class ClientModel extends X10BaseModel {
|
|
9
|
+
id: number;
|
|
10
|
+
evmWalletAddress?: string;
|
|
11
|
+
starknetWalletAddress?: string;
|
|
12
|
+
referralLinkCode?: string;
|
|
13
|
+
constructor(id: number, evmWalletAddress?: string, starknetWalletAddress?: string, referralLinkCode?: string);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=clients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/perpetual/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAGxB,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,MAAM,EACzB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,gBAAgB,CAAC,EAAE,MAAM;CAQ5B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Client models
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ClientModel = void 0;
|
|
7
|
+
const model_1 = require("../utils/model");
|
|
8
|
+
/**
|
|
9
|
+
* Client model
|
|
10
|
+
*/
|
|
11
|
+
class ClientModel extends model_1.X10BaseModel {
|
|
12
|
+
id;
|
|
13
|
+
evmWalletAddress;
|
|
14
|
+
starknetWalletAddress;
|
|
15
|
+
referralLinkCode;
|
|
16
|
+
constructor(id, evmWalletAddress, starknetWalletAddress, referralLinkCode) {
|
|
17
|
+
super();
|
|
18
|
+
this.id = id;
|
|
19
|
+
this.evmWalletAddress = evmWalletAddress;
|
|
20
|
+
this.starknetWalletAddress = starknetWalletAddress;
|
|
21
|
+
this.referralLinkCode = referralLinkCode;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ClientModel = ClientModel;
|
|
25
|
+
//# sourceMappingURL=clients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/perpetual/clients.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0CAA8C;AAE9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,EAAE,CAAS;IACX,gBAAgB,CAAU;IAC1B,qBAAqB,CAAU;IAC/B,gBAAgB,CAAU;IAE1B,YACE,EAAU,EACV,gBAAyB,EACzB,qBAA8B,EAC9B,gBAAyB;QAEzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAlBD,kCAkBC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types and constants for X10 Perpetual API
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* StarkNet domain configuration
|
|
6
|
+
*/
|
|
7
|
+
export declare class StarknetDomain {
|
|
8
|
+
name: string;
|
|
9
|
+
version: string;
|
|
10
|
+
chainId: string;
|
|
11
|
+
revision: string;
|
|
12
|
+
constructor(name: string, version: string, chainId: string, revision: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Endpoint configuration
|
|
16
|
+
*/
|
|
17
|
+
export declare class EndpointConfig {
|
|
18
|
+
chainRpcUrl: string;
|
|
19
|
+
apiBaseUrl: string;
|
|
20
|
+
streamUrl: string;
|
|
21
|
+
onboardingUrl: string;
|
|
22
|
+
signingDomain: string;
|
|
23
|
+
collateralAssetContract: string;
|
|
24
|
+
assetOperationsContract: string;
|
|
25
|
+
collateralAssetOnChainId: string;
|
|
26
|
+
collateralDecimals: number;
|
|
27
|
+
collateralAssetId: string;
|
|
28
|
+
starknetDomain: StarknetDomain;
|
|
29
|
+
constructor(chainRpcUrl: string, apiBaseUrl: string, streamUrl: string, onboardingUrl: string, signingDomain: string, collateralAssetContract: string, assetOperationsContract: string, collateralAssetOnChainId: string, collateralDecimals: number, collateralAssetId: string, starknetDomain: StarknetDomain);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Testnet configuration
|
|
33
|
+
*/
|
|
34
|
+
export declare const TESTNET_CONFIG: EndpointConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Mainnet configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare const MAINNET_CONFIG: EndpointConfig;
|
|
39
|
+
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/perpetual/configuration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAM7E;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;gBAG7B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,EAC/B,wBAAwB,EAAE,MAAM,EAChC,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,cAAc;CAcjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAY1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,gBAY1B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration types and constants for X10 Perpetual API
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MAINNET_CONFIG = exports.TESTNET_CONFIG = exports.EndpointConfig = exports.StarknetDomain = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* StarkNet domain configuration
|
|
9
|
+
*/
|
|
10
|
+
class StarknetDomain {
|
|
11
|
+
name;
|
|
12
|
+
version;
|
|
13
|
+
chainId;
|
|
14
|
+
revision;
|
|
15
|
+
constructor(name, version, chainId, revision) {
|
|
16
|
+
this.name = name;
|
|
17
|
+
this.version = version;
|
|
18
|
+
this.chainId = chainId;
|
|
19
|
+
this.revision = revision;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.StarknetDomain = StarknetDomain;
|
|
23
|
+
/**
|
|
24
|
+
* Endpoint configuration
|
|
25
|
+
*/
|
|
26
|
+
class EndpointConfig {
|
|
27
|
+
chainRpcUrl;
|
|
28
|
+
apiBaseUrl;
|
|
29
|
+
streamUrl;
|
|
30
|
+
onboardingUrl;
|
|
31
|
+
signingDomain;
|
|
32
|
+
collateralAssetContract;
|
|
33
|
+
assetOperationsContract;
|
|
34
|
+
collateralAssetOnChainId;
|
|
35
|
+
collateralDecimals;
|
|
36
|
+
collateralAssetId;
|
|
37
|
+
starknetDomain;
|
|
38
|
+
constructor(chainRpcUrl, apiBaseUrl, streamUrl, onboardingUrl, signingDomain, collateralAssetContract, assetOperationsContract, collateralAssetOnChainId, collateralDecimals, collateralAssetId, starknetDomain) {
|
|
39
|
+
this.chainRpcUrl = chainRpcUrl;
|
|
40
|
+
this.apiBaseUrl = apiBaseUrl;
|
|
41
|
+
this.streamUrl = streamUrl;
|
|
42
|
+
this.onboardingUrl = onboardingUrl;
|
|
43
|
+
this.signingDomain = signingDomain;
|
|
44
|
+
this.collateralAssetContract = collateralAssetContract;
|
|
45
|
+
this.assetOperationsContract = assetOperationsContract;
|
|
46
|
+
this.collateralAssetOnChainId = collateralAssetOnChainId;
|
|
47
|
+
this.collateralDecimals = collateralDecimals;
|
|
48
|
+
this.collateralAssetId = collateralAssetId;
|
|
49
|
+
this.starknetDomain = starknetDomain;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.EndpointConfig = EndpointConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Testnet configuration
|
|
55
|
+
*/
|
|
56
|
+
exports.TESTNET_CONFIG = new EndpointConfig('https://rpc.sepolia.org', 'https://api.starknet.sepolia.extended.exchange/api/v1', 'wss://api.starknet.sepolia.extended.exchange/stream.extended.exchange/v1', 'https://api.starknet.sepolia.extended.exchange', 'starknet.sepolia.extended.exchange', '0x31857064564ed0ff978e687456963cba09c2c6985d8f9300a1de4962fafa054', '', '0x1', 6, '0x1', new StarknetDomain('Perpetuals', 'v0', 'SN_SEPOLIA', '1'));
|
|
57
|
+
/**
|
|
58
|
+
* Mainnet configuration
|
|
59
|
+
*/
|
|
60
|
+
exports.MAINNET_CONFIG = new EndpointConfig('', 'https://api.starknet.extended.exchange/api/v1', 'wss://api.starknet.extended.exchange/stream.extended.exchange/v1', 'https://api.starknet.extended.exchange', 'extended.exchange', '', '', '0x1', 6, '0x1', new StarknetDomain('Perpetuals', 'v0', 'SN_MAIN', '1'));
|
|
61
|
+
//# sourceMappingURL=configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/perpetual/configuration.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,MAAa,cAAc;IACzB,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,QAAQ,CAAS;IAEjB,YAAY,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,QAAgB;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAZD,wCAYC;AAED;;GAEG;AACH,MAAa,cAAc;IACzB,WAAW,CAAS;IACpB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,uBAAuB,CAAS;IAChC,uBAAuB,CAAS;IAChC,wBAAwB,CAAS;IACjC,kBAAkB,CAAS;IAC3B,iBAAiB,CAAS;IAC1B,cAAc,CAAiB;IAE/B,YACE,WAAmB,EACnB,UAAkB,EAClB,SAAiB,EACjB,aAAqB,EACrB,aAAqB,EACrB,uBAA+B,EAC/B,uBAA+B,EAC/B,wBAAgC,EAChC,kBAA0B,EAC1B,iBAAyB,EACzB,cAA8B;QAE9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAtCD,wCAsCC;AAED;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,CAC9C,yBAAyB,EACzB,uDAAuD,EACvD,0EAA0E,EAC1E,gDAAgD,EAChD,oCAAoC,EACpC,mEAAmE,EACnE,EAAE,EACF,KAAK,EACL,CAAC,EACD,KAAK,EACL,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,CAC1D,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,CAC9C,EAAE,EACF,+CAA+C,EAC/C,kEAAkE,EAClE,wCAAwC,EACxC,mBAAmB,EACnB,EAAE,EACF,EAAE,EACF,KAAK,EACL,CAAC,EACD,KAAK,EACL,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CACvD,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM-based Stark crypto signer
|
|
3
|
+
*
|
|
4
|
+
* This module provides fast cryptographic operations using WebAssembly
|
|
5
|
+
* compiled from Rust. The WASM signer is shipped with the SDK and works
|
|
6
|
+
* in both Node.js and browser environments.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the WASM cryptographic module
|
|
10
|
+
*
|
|
11
|
+
* **MUST be called before using any signing or hashing functions.**
|
|
12
|
+
* This function loads the WebAssembly module that provides fast cryptographic operations.
|
|
13
|
+
*
|
|
14
|
+
* @throws Error if WASM module cannot be loaded
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { initWasm, sign } from 'extended-typescript-sdk';
|
|
19
|
+
*
|
|
20
|
+
* async function main() {
|
|
21
|
+
* await initWasm(); // Initialize first!
|
|
22
|
+
* const [r, s] = sign(privateKey, msgHash);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function initWasm(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Sign a message hash using ECDSA
|
|
29
|
+
*
|
|
30
|
+
* This function signs a message hash using the StarkNet private key.
|
|
31
|
+
* Returns the signature as a tuple [r, s] where both are BigInt values.
|
|
32
|
+
* Compatible with Extended Exchange API.
|
|
33
|
+
*
|
|
34
|
+
* @param privateKey - StarkNet private key as BigInt
|
|
35
|
+
* @param msgHash - Message hash to sign as BigInt
|
|
36
|
+
* @returns Tuple [r, s] representing the ECDSA signature
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* await initWasm();
|
|
41
|
+
* const privateKey = BigInt('0x...');
|
|
42
|
+
* const msgHash = BigInt('0x...');
|
|
43
|
+
* const [r, s] = sign(privateKey, msgHash);
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function sign(privateKey: bigint, msgHash: bigint): [bigint, bigint];
|
|
47
|
+
/**
|
|
48
|
+
* Compute Pedersen hash of two field elements
|
|
49
|
+
*
|
|
50
|
+
* Pedersen hash is used extensively in StarkNet for hashing operations.
|
|
51
|
+
* Compatible with Extended Exchange API.
|
|
52
|
+
*
|
|
53
|
+
* @param a - First field element as BigInt
|
|
54
|
+
* @param b - Second field element as BigInt
|
|
55
|
+
* @returns Pedersen hash as BigInt
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* await initWasm();
|
|
60
|
+
* const hash = pedersenHash(BigInt('0x123'), BigInt('0x456'));
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function pedersenHash(a: bigint, b: bigint): bigint;
|
|
64
|
+
/**
|
|
65
|
+
* Generate StarkNet keypair from Ethereum signature
|
|
66
|
+
*
|
|
67
|
+
* Derives a StarkNet keypair from an Ethereum signature using key grinding.
|
|
68
|
+
* Used during account onboarding to create L2 keys from L1 Ethereum account.
|
|
69
|
+
* Compatible with Extended Exchange API.
|
|
70
|
+
*
|
|
71
|
+
* @param ethSignature - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
|
|
72
|
+
* @returns Tuple [privateKey, publicKey] as BigInt values
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* await initWasm();
|
|
77
|
+
* const ethSig = '0x...'; // 65-byte hex string
|
|
78
|
+
* const [privateKey, publicKey] = generateKeypairFromEthSignature(ethSig);
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function generateKeypairFromEthSignature(ethSignature: string): [bigint, bigint];
|
|
82
|
+
/**
|
|
83
|
+
* Generate message hash for an order
|
|
84
|
+
*
|
|
85
|
+
* Creates a structured hash for order signing compatible with Extended Exchange API.
|
|
86
|
+
* This hash is used to sign orders before submitting them to the exchange.
|
|
87
|
+
*
|
|
88
|
+
* @param params - Order parameters including position, assets, amounts, expiration, etc.
|
|
89
|
+
* @returns Message hash as BigInt that can be signed with sign()
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* await initWasm();
|
|
94
|
+
* const orderHash = getOrderMsgHash({
|
|
95
|
+
* positionId: 12345,
|
|
96
|
+
* baseAssetId: '0x...',
|
|
97
|
+
* baseAmount: '1000000',
|
|
98
|
+
* // ... other parameters
|
|
99
|
+
* });
|
|
100
|
+
* const [r, s] = sign(privateKey, orderHash);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function getOrderMsgHash(params: {
|
|
104
|
+
positionId: number;
|
|
105
|
+
baseAssetId: string;
|
|
106
|
+
baseAmount: string;
|
|
107
|
+
quoteAssetId: string;
|
|
108
|
+
quoteAmount: string;
|
|
109
|
+
feeAmount: string;
|
|
110
|
+
feeAssetId: string;
|
|
111
|
+
expiration: number;
|
|
112
|
+
salt: number;
|
|
113
|
+
userPublicKey: string;
|
|
114
|
+
domainName: string;
|
|
115
|
+
domainVersion: string;
|
|
116
|
+
domainChainId: string;
|
|
117
|
+
domainRevision: string;
|
|
118
|
+
}): bigint;
|
|
119
|
+
/**
|
|
120
|
+
* Generate message hash for a transfer
|
|
121
|
+
*
|
|
122
|
+
* Creates a structured hash for transfer signing compatible with Extended Exchange API.
|
|
123
|
+
*
|
|
124
|
+
* @param params - Transfer parameters including sender/recipient positions, amount, etc.
|
|
125
|
+
* @returns Message hash as BigInt that can be signed with sign()
|
|
126
|
+
*/
|
|
127
|
+
export declare function getTransferMsgHash(params: {
|
|
128
|
+
recipientPositionId: number;
|
|
129
|
+
senderPositionId: number;
|
|
130
|
+
amount: string;
|
|
131
|
+
expiration: number;
|
|
132
|
+
salt: string;
|
|
133
|
+
userPublicKey: string;
|
|
134
|
+
domainName: string;
|
|
135
|
+
domainVersion: string;
|
|
136
|
+
domainChainId: string;
|
|
137
|
+
domainRevision: string;
|
|
138
|
+
collateralId: string;
|
|
139
|
+
}): bigint;
|
|
140
|
+
/**
|
|
141
|
+
* Get withdrawal message hash
|
|
142
|
+
*/
|
|
143
|
+
/**
|
|
144
|
+
* Generate message hash for a withdrawal
|
|
145
|
+
*
|
|
146
|
+
* Creates a structured hash for withdrawal signing compatible with Extended Exchange API.
|
|
147
|
+
*
|
|
148
|
+
* @param params - Withdrawal parameters including recipient, position, amount, etc.
|
|
149
|
+
* @returns Message hash as BigInt that can be signed with sign()
|
|
150
|
+
*/
|
|
151
|
+
export declare function getWithdrawalMsgHash(params: {
|
|
152
|
+
recipientHex: string;
|
|
153
|
+
positionId: number;
|
|
154
|
+
amount: string;
|
|
155
|
+
expiration: number;
|
|
156
|
+
salt: string;
|
|
157
|
+
userPublicKey: string;
|
|
158
|
+
domainName: string;
|
|
159
|
+
domainVersion: string;
|
|
160
|
+
domainChainId: string;
|
|
161
|
+
domainRevision: string;
|
|
162
|
+
collateralId: string;
|
|
163
|
+
}): bigint;
|
|
164
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/perpetual/crypto/signer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAyF9C;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CActF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CA4BT;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAyBT;AAED;;GAEG;AACH;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAyBT"}
|