extended-typescript-sdk 0.0.2 → 0.0.4
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/README.md +539 -445
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/perpetual/accounts.d.ts +64 -5
- package/dist/perpetual/accounts.d.ts.map +1 -1
- package/dist/perpetual/accounts.js +90 -6
- package/dist/perpetual/accounts.js.map +1 -1
- package/dist/perpetual/crypto/signer.d.ts.map +1 -1
- package/dist/perpetual/crypto/signer.js +24 -14
- package/dist/perpetual/crypto/signer.js.map +1 -1
- package/dist/perpetual/custom-signer.d.ts +51 -0
- package/dist/perpetual/custom-signer.d.ts.map +1 -0
- package/dist/perpetual/custom-signer.js +18 -0
- package/dist/perpetual/custom-signer.js.map +1 -0
- package/dist/perpetual/order-object-settlement.d.ts +3 -3
- package/dist/perpetual/order-object-settlement.d.ts.map +1 -1
- package/dist/perpetual/order-object-settlement.js +2 -2
- package/dist/perpetual/order-object-settlement.js.map +1 -1
- package/dist/perpetual/order-object.d.ts +1 -1
- package/dist/perpetual/order-object.d.ts.map +1 -1
- package/dist/perpetual/order-object.js +4 -4
- package/dist/perpetual/order-object.js.map +1 -1
- package/dist/perpetual/stream-client/stream-client.d.ts +16 -0
- package/dist/perpetual/stream-client/stream-client.d.ts.map +1 -1
- package/dist/perpetual/stream-client/stream-client.js +28 -0
- package/dist/perpetual/stream-client/stream-client.js.map +1 -1
- package/dist/perpetual/trading-client/account-module.d.ts.map +1 -1
- package/dist/perpetual/trading-client/account-module.js +9 -7
- package/dist/perpetual/trading-client/account-module.js.map +1 -1
- package/dist/perpetual/trading-client/trading-client.js +1 -1
- package/dist/perpetual/trading-client/trading-client.js.map +1 -1
- package/dist/perpetual/transfer-object.d.ts +1 -1
- package/dist/perpetual/transfer-object.d.ts.map +1 -1
- package/dist/perpetual/transfer-object.js +2 -2
- package/dist/perpetual/transfer-object.js.map +1 -1
- package/dist/perpetual/user-client/user-client.js +4 -4
- package/dist/perpetual/user-client/user-client.js.map +1 -1
- package/dist/perpetual/withdrawal-object.d.ts +1 -1
- package/dist/perpetual/withdrawal-object.d.ts.map +1 -1
- package/dist/perpetual/withdrawal-object.js +2 -2
- package/dist/perpetual/withdrawal-object.js.map +1 -1
- package/package.json +60 -60
- package/wasm/stark_crypto_wasm.d-web.ts +34 -26
- package/wasm/stark_crypto_wasm.d.ts +34 -26
- package/wasm/stark_crypto_wasm.js +125 -112
- package/wasm/stark_crypto_wasm_bg-web.wasm +0 -0
- package/wasm/stark_crypto_wasm_bg.wasm +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export { initWasm } from './perpetual/crypto/signer';
|
|
12
12
|
export { EndpointConfig, StarknetDomain, TESTNET_CONFIG, MAINNET_CONFIG } from './perpetual/configuration';
|
|
13
|
-
export { StarkPerpetualAccount, AccountModel, AccountLeverage, BalanceModel } from './perpetual/accounts';
|
|
13
|
+
export { StarkPerpetualAccount, AccountModel, AccountLeverage, BalanceModel, createStarkPerpetualAccountWithCustomSigner } from './perpetual/accounts';
|
|
14
|
+
export { CustomStarkSigner, SignatureResult, isCustomStarkSigner } from './perpetual/custom-signer';
|
|
14
15
|
export { OrderSide, OrderType, OrderStatus, OrderStatusReason, TimeInForce, OrderTpslType, SelfTradeProtectionLevel, OrderPriceType, OrderTriggerPriceType, NewOrderModel, PlacedOrderModel, OpenOrderModel, CreateOrderTpslTriggerModel, } from './perpetual/orders';
|
|
15
16
|
export { PerpetualTradingClient } from './perpetual/trading-client/trading-client';
|
|
16
17
|
export { AccountModule } from './perpetual/trading-client/account-module';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3G,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3G,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,2CAA2C,EAC5C,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGlG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGrD,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,WAAW,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -24,8 +24,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
24
24
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.
|
|
28
|
-
exports.SDK_VERSION = exports.getWithdrawalMsgHash = exports.getTransferMsgHash = exports.getOrderMsgHash = exports.generateKeypairFromEthSignature = exports.pedersenHash = exports.sign = exports.toEpochMillis = exports.utcNow = exports.generateNonce = exports.SettlementSignatureModel = exports.X10BaseModel = exports.StreamDataType = exports.WrappedStreamResponse = exports.WrappedApiResponse = exports.SubAccountExists = exports.NotAuthorizedException = exports.RateLimitException = exports.X10Error = void 0;
|
|
27
|
+
exports.AssetOperationStatus = exports.AssetOperationType = exports.Asset = exports.TradingConfigModel = exports.MarketStatsModel = exports.MarketModel = exports.OrderTpslTriggerParam = exports.createOrderObject = exports.TradeType = exports.PublicTradeModel = exports.AccountTradeModel = exports.ExitType = exports.PositionStatus = exports.PositionSide = exports.PositionHistoryModel = exports.PositionModel = exports.PerpetualStreamConnection = exports.PerpetualStreamClient = exports.StarkKeyPair = exports.UserClient = exports.TestnetModule = exports.InfoModule = exports.MarketsInformationModule = exports.OrderManagementModule = exports.AccountModule = exports.PerpetualTradingClient = exports.CreateOrderTpslTriggerModel = exports.OpenOrderModel = exports.PlacedOrderModel = exports.NewOrderModel = exports.OrderTriggerPriceType = exports.OrderPriceType = exports.SelfTradeProtectionLevel = exports.OrderTpslType = exports.TimeInForce = exports.OrderStatusReason = exports.OrderStatus = exports.OrderType = exports.OrderSide = exports.isCustomStarkSigner = exports.createStarkPerpetualAccountWithCustomSigner = exports.BalanceModel = exports.AccountLeverage = exports.AccountModel = exports.StarkPerpetualAccount = exports.MAINNET_CONFIG = exports.TESTNET_CONFIG = exports.StarknetDomain = exports.EndpointConfig = exports.initWasm = void 0;
|
|
28
|
+
exports.SDK_VERSION = exports.getWithdrawalMsgHash = exports.getTransferMsgHash = exports.getOrderMsgHash = exports.generateKeypairFromEthSignature = exports.pedersenHash = exports.sign = exports.toEpochMillis = exports.utcNow = exports.generateNonce = exports.SettlementSignatureModel = exports.X10BaseModel = exports.StreamDataType = exports.WrappedStreamResponse = exports.WrappedApiResponse = exports.SubAccountExists = exports.NotAuthorizedException = exports.RateLimitException = exports.X10Error = exports.DEFAULT_FEES = exports.TradingFeeModel = void 0;
|
|
29
29
|
// Initialize WASM module
|
|
30
30
|
var signer_1 = require("./perpetual/crypto/signer");
|
|
31
31
|
Object.defineProperty(exports, "initWasm", { enumerable: true, get: function () { return signer_1.initWasm; } });
|
|
@@ -41,6 +41,10 @@ Object.defineProperty(exports, "StarkPerpetualAccount", { enumerable: true, get:
|
|
|
41
41
|
Object.defineProperty(exports, "AccountModel", { enumerable: true, get: function () { return accounts_1.AccountModel; } });
|
|
42
42
|
Object.defineProperty(exports, "AccountLeverage", { enumerable: true, get: function () { return accounts_1.AccountLeverage; } });
|
|
43
43
|
Object.defineProperty(exports, "BalanceModel", { enumerable: true, get: function () { return accounts_1.BalanceModel; } });
|
|
44
|
+
Object.defineProperty(exports, "createStarkPerpetualAccountWithCustomSigner", { enumerable: true, get: function () { return accounts_1.createStarkPerpetualAccountWithCustomSigner; } });
|
|
45
|
+
// Custom Signer Support
|
|
46
|
+
var custom_signer_1 = require("./perpetual/custom-signer");
|
|
47
|
+
Object.defineProperty(exports, "isCustomStarkSigner", { enumerable: true, get: function () { return custom_signer_1.isCustomStarkSigner; } });
|
|
44
48
|
// Orders
|
|
45
49
|
var orders_1 = require("./perpetual/orders");
|
|
46
50
|
Object.defineProperty(exports, "OrderSide", { enumerable: true, get: function () { return orders_1.OrderSide; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;AAEH,yBAAyB;AACzB,oDAAqD;AAA5C,kGAAA,QAAQ,OAAA;AAEjB,gBAAgB;AAChB,2DAA2G;AAAlG,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAEvE,WAAW;AACX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,22 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import Decimal from 'decimal.js';
|
|
5
5
|
import { X10BaseModel } from '../utils/model';
|
|
6
|
+
import { CustomStarkSigner } from './custom-signer';
|
|
6
7
|
/**
|
|
7
8
|
* Stark Perpetual Account
|
|
8
9
|
* Manages signing operations for trading
|
|
10
|
+
*
|
|
11
|
+
* Supports two modes of operation:
|
|
12
|
+
* 1. Direct signing with a private key (default)
|
|
13
|
+
* 2. Custom signer integration (e.g., Privy, Web3Auth)
|
|
9
14
|
*/
|
|
10
15
|
export declare class StarkPerpetualAccount {
|
|
11
16
|
private vault;
|
|
12
|
-
private privateKey
|
|
17
|
+
private privateKey?;
|
|
13
18
|
private publicKey;
|
|
14
19
|
private apiKey;
|
|
15
20
|
private tradingFee;
|
|
21
|
+
private customSigner?;
|
|
16
22
|
constructor(vault: number | string, privateKey: string, publicKey: string, apiKey: string);
|
|
17
23
|
getVault(): number;
|
|
18
24
|
getPublicKey(): bigint;
|
|
@@ -20,17 +26,70 @@ export declare class StarkPerpetualAccount {
|
|
|
20
26
|
getApiKey(): string;
|
|
21
27
|
getTradingFee(): Map<string, any>;
|
|
22
28
|
setTradingFee(market: string, fee: any): void;
|
|
29
|
+
/**
|
|
30
|
+
* Set a custom signer for remote signing (e.g., Privy, Web3Auth)
|
|
31
|
+
*
|
|
32
|
+
* @param signer - Custom signer implementation
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const account = new StarkPerpetualAccount(vault, privateKey, publicKey, apiKey);
|
|
37
|
+
* account.setCustomSigner(new PrivyStarkSigner(privyClient, walletId));
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
setCustomSigner(signer: CustomStarkSigner): void;
|
|
41
|
+
/**
|
|
42
|
+
* Get the custom signer if set
|
|
43
|
+
*/
|
|
44
|
+
getCustomSigner(): CustomStarkSigner | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Clear the custom signer and use direct signing
|
|
47
|
+
*/
|
|
48
|
+
clearCustomSigner(): void;
|
|
23
49
|
/**
|
|
24
50
|
* Sign a message hash
|
|
25
|
-
* Returns [r, s] tuple
|
|
51
|
+
* Returns Promise resolving to [r, s] tuple
|
|
52
|
+
*
|
|
53
|
+
* If a custom signer is set, uses the custom signer.
|
|
54
|
+
* Otherwise, uses the built-in WASM signer with the private key.
|
|
55
|
+
*
|
|
56
|
+
* @returns Promise resolving to signature tuple [r, s]
|
|
26
57
|
*/
|
|
27
|
-
sign(msgHash: bigint): [bigint, bigint]
|
|
58
|
+
sign(msgHash: bigint): Promise<[bigint, bigint]>;
|
|
28
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Create a StarkPerpetualAccount with a custom signer
|
|
62
|
+
*
|
|
63
|
+
* Use this factory function when integrating with external signing services
|
|
64
|
+
* like Privy, Web3Auth, or other remote signers that don't expose private keys.
|
|
65
|
+
*
|
|
66
|
+
* Note: This function uses a dummy private key internally to maintain backward
|
|
67
|
+
* compatibility with the existing StarkPerpetualAccount constructor. The dummy
|
|
68
|
+
* key is never used for signing when a custom signer is set.
|
|
69
|
+
*
|
|
70
|
+
* @param vault - Vault ID
|
|
71
|
+
* @param publicKey - Public key as hex string
|
|
72
|
+
* @param apiKey - API key for authentication
|
|
73
|
+
* @param customSigner - Custom signer implementation
|
|
74
|
+
* @returns StarkPerpetualAccount configured with the custom signer
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const privySigner = new PrivyStarkSigner(privyClient, walletId);
|
|
79
|
+
* const account = createStarkPerpetualAccountWithCustomSigner(
|
|
80
|
+
* vaultId,
|
|
81
|
+
* publicKeyHex,
|
|
82
|
+
* apiKey,
|
|
83
|
+
* privySigner
|
|
84
|
+
* );
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare function createStarkPerpetualAccountWithCustomSigner(vault: number | string, publicKey: string, apiKey: string, customSigner: CustomStarkSigner): StarkPerpetualAccount;
|
|
29
88
|
/**
|
|
30
89
|
* Account model
|
|
31
90
|
*/
|
|
32
91
|
export declare class AccountModel extends X10BaseModel {
|
|
33
|
-
|
|
92
|
+
accountId: number;
|
|
34
93
|
description: string;
|
|
35
94
|
accountIndex: number;
|
|
36
95
|
status: string;
|
|
@@ -38,7 +97,7 @@ export declare class AccountModel extends X10BaseModel {
|
|
|
38
97
|
l2Vault: number;
|
|
39
98
|
bridgeStarknetAddress?: string;
|
|
40
99
|
apiKeys?: string[];
|
|
41
|
-
constructor(
|
|
100
|
+
constructor(accountId: number, description: string, accountIndex: number, status: string, l2Key: string, l2Vault: number, bridgeStarknetAddress?: string, apiKeys?: string[]);
|
|
42
101
|
}
|
|
43
102
|
/**
|
|
44
103
|
* Account leverage model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AccountStreamDataModel = exports.BalanceModel = exports.ApiKeyRequestModel = exports.ApiKeyResponseModel = exports.AccountLeverage = exports.AccountModel = exports.StarkPerpetualAccount = void 0;
|
|
7
|
+
exports.createStarkPerpetualAccountWithCustomSigner = createStarkPerpetualAccountWithCustomSigner;
|
|
7
8
|
const model_1 = require("../utils/model");
|
|
8
9
|
const string_1 = require("../utils/string");
|
|
9
10
|
const signer_1 = require("./crypto/signer");
|
|
11
|
+
const custom_signer_1 = require("./custom-signer");
|
|
10
12
|
/**
|
|
11
13
|
* Stark Perpetual Account
|
|
12
14
|
* Manages signing operations for trading
|
|
15
|
+
*
|
|
16
|
+
* Supports two modes of operation:
|
|
17
|
+
* 1. Direct signing with a private key (default)
|
|
18
|
+
* 2. Custom signer integration (e.g., Privy, Web3Auth)
|
|
13
19
|
*/
|
|
14
20
|
class StarkPerpetualAccount {
|
|
15
21
|
vault;
|
|
@@ -17,6 +23,7 @@ class StarkPerpetualAccount {
|
|
|
17
23
|
publicKey;
|
|
18
24
|
apiKey;
|
|
19
25
|
tradingFee = new Map();
|
|
26
|
+
customSigner;
|
|
20
27
|
constructor(vault, privateKey, publicKey, apiKey) {
|
|
21
28
|
if (!(0, string_1.isHexString)(privateKey)) {
|
|
22
29
|
throw new Error('Invalid private key format');
|
|
@@ -55,20 +62,97 @@ class StarkPerpetualAccount {
|
|
|
55
62
|
setTradingFee(market, fee) {
|
|
56
63
|
this.tradingFee.set(market, fee);
|
|
57
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Set a custom signer for remote signing (e.g., Privy, Web3Auth)
|
|
67
|
+
*
|
|
68
|
+
* @param signer - Custom signer implementation
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const account = new StarkPerpetualAccount(vault, privateKey, publicKey, apiKey);
|
|
73
|
+
* account.setCustomSigner(new PrivyStarkSigner(privyClient, walletId));
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
setCustomSigner(signer) {
|
|
77
|
+
if (!(0, custom_signer_1.isCustomStarkSigner)(signer)) {
|
|
78
|
+
throw new Error('Invalid custom signer: must implement CustomStarkSigner interface');
|
|
79
|
+
}
|
|
80
|
+
this.customSigner = signer;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get the custom signer if set
|
|
84
|
+
*/
|
|
85
|
+
getCustomSigner() {
|
|
86
|
+
return this.customSigner;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Clear the custom signer and use direct signing
|
|
90
|
+
*/
|
|
91
|
+
clearCustomSigner() {
|
|
92
|
+
this.customSigner = undefined;
|
|
93
|
+
}
|
|
58
94
|
/**
|
|
59
95
|
* Sign a message hash
|
|
60
|
-
* Returns [r, s] tuple
|
|
96
|
+
* Returns Promise resolving to [r, s] tuple
|
|
97
|
+
*
|
|
98
|
+
* If a custom signer is set, uses the custom signer.
|
|
99
|
+
* Otherwise, uses the built-in WASM signer with the private key.
|
|
100
|
+
*
|
|
101
|
+
* @returns Promise resolving to signature tuple [r, s]
|
|
61
102
|
*/
|
|
62
|
-
sign(msgHash) {
|
|
63
|
-
|
|
103
|
+
async sign(msgHash) {
|
|
104
|
+
if (this.customSigner) {
|
|
105
|
+
return this.customSigner.sign(msgHash);
|
|
106
|
+
}
|
|
107
|
+
if (!this.privateKey) {
|
|
108
|
+
throw new Error('No private key or custom signer available for signing');
|
|
109
|
+
}
|
|
110
|
+
// Wrap synchronous WASM sign in Promise for consistent API
|
|
111
|
+
return Promise.resolve((0, signer_1.sign)(this.privateKey, msgHash));
|
|
64
112
|
}
|
|
65
113
|
}
|
|
66
114
|
exports.StarkPerpetualAccount = StarkPerpetualAccount;
|
|
115
|
+
/**
|
|
116
|
+
* Create a StarkPerpetualAccount with a custom signer
|
|
117
|
+
*
|
|
118
|
+
* Use this factory function when integrating with external signing services
|
|
119
|
+
* like Privy, Web3Auth, or other remote signers that don't expose private keys.
|
|
120
|
+
*
|
|
121
|
+
* Note: This function uses a dummy private key internally to maintain backward
|
|
122
|
+
* compatibility with the existing StarkPerpetualAccount constructor. The dummy
|
|
123
|
+
* key is never used for signing when a custom signer is set.
|
|
124
|
+
*
|
|
125
|
+
* @param vault - Vault ID
|
|
126
|
+
* @param publicKey - Public key as hex string
|
|
127
|
+
* @param apiKey - API key for authentication
|
|
128
|
+
* @param customSigner - Custom signer implementation
|
|
129
|
+
* @returns StarkPerpetualAccount configured with the custom signer
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const privySigner = new PrivyStarkSigner(privyClient, walletId);
|
|
134
|
+
* const account = createStarkPerpetualAccountWithCustomSigner(
|
|
135
|
+
* vaultId,
|
|
136
|
+
* publicKeyHex,
|
|
137
|
+
* apiKey,
|
|
138
|
+
* privySigner
|
|
139
|
+
* );
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
function createStarkPerpetualAccountWithCustomSigner(vault, publicKey, apiKey, customSigner) {
|
|
143
|
+
// Use a dummy private key (all zeros) to satisfy the constructor
|
|
144
|
+
// This maintains backward compatibility without breaking existing code
|
|
145
|
+
// The dummy key is never used when a custom signer is set
|
|
146
|
+
const dummyPrivateKey = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
147
|
+
const account = new StarkPerpetualAccount(vault, dummyPrivateKey, publicKey, apiKey);
|
|
148
|
+
account.setCustomSigner(customSigner);
|
|
149
|
+
return account;
|
|
150
|
+
}
|
|
67
151
|
/**
|
|
68
152
|
* Account model
|
|
69
153
|
*/
|
|
70
154
|
class AccountModel extends model_1.X10BaseModel {
|
|
71
|
-
|
|
155
|
+
accountId;
|
|
72
156
|
description;
|
|
73
157
|
accountIndex;
|
|
74
158
|
status;
|
|
@@ -76,9 +160,9 @@ class AccountModel extends model_1.X10BaseModel {
|
|
|
76
160
|
l2Vault;
|
|
77
161
|
bridgeStarknetAddress;
|
|
78
162
|
apiKeys;
|
|
79
|
-
constructor(
|
|
163
|
+
constructor(accountId, description, accountIndex, status, l2Key, l2Vault, bridgeStarknetAddress, apiKeys) {
|
|
80
164
|
super();
|
|
81
|
-
this.
|
|
165
|
+
this.accountId = accountId;
|
|
82
166
|
this.description = description;
|
|
83
167
|
this.accountIndex = accountIndex;
|
|
84
168
|
this.status = status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CAuG9C;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"}
|
|
@@ -86,10 +86,12 @@ async function initWasm() {
|
|
|
86
86
|
let wasmPath;
|
|
87
87
|
// Try shipped wasm/ folder first (included in npm package)
|
|
88
88
|
const possiblePaths = [
|
|
89
|
-
path.join(__dirname, '
|
|
89
|
+
path.join(__dirname, '../../../wasm/stark_crypto_wasm'), // From dist/perpetual/crypto/ to root wasm/
|
|
90
|
+
path.join(__dirname, '../../wasm/stark_crypto_wasm'), // Legacy path (if wasm in dist/)
|
|
90
91
|
path.join(process.cwd(), 'wasm/stark_crypto_wasm'),
|
|
91
92
|
path.join(process.cwd(), 'node_modules/extended-typescript-sdk/wasm/stark_crypto_wasm'),
|
|
92
93
|
// Fallback to build directory (for development)
|
|
94
|
+
path.join(__dirname, '../../../wasm-signer/pkg/stark_crypto_wasm'),
|
|
93
95
|
path.join(__dirname, '../../wasm-signer/pkg/stark_crypto_wasm'),
|
|
94
96
|
path.join(process.cwd(), 'wasm-signer/pkg/stark_crypto_wasm'),
|
|
95
97
|
];
|
|
@@ -104,10 +106,9 @@ async function initWasm() {
|
|
|
104
106
|
`Please run: npm run build:signer\n` +
|
|
105
107
|
`Or if you want to build your own: npm run build:signer:custom`);
|
|
106
108
|
}
|
|
107
|
-
// Use absolute path for require()
|
|
109
|
+
// Use absolute path for require()
|
|
108
110
|
const absoluteWasmPath = path.resolve(wasmPath);
|
|
109
|
-
// Use require() for CommonJS modules (
|
|
110
|
-
// Dynamic import() doesn't work correctly with CommonJS modules that use __dirname
|
|
111
|
+
// Use require() for CommonJS modules (patched nodejs target)
|
|
111
112
|
wasmModule = require(absoluteWasmPath);
|
|
112
113
|
// Initialize the WASM module
|
|
113
114
|
if (wasmModule.init) {
|
|
@@ -119,26 +120,35 @@ async function initWasm() {
|
|
|
119
120
|
// Try to load from wasm/ folder (bundler will handle this)
|
|
120
121
|
try {
|
|
121
122
|
// For browser, we expect the bundler to handle WASM imports
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
wasmModule = await Promise.resolve().then(() => __importStar(require('../../wasm/stark_crypto_wasm-web')));
|
|
123
|
+
// @ts-ignore - WASM module path resolved at runtime by bundler
|
|
124
|
+
wasmModule = await Promise.resolve().then(() => __importStar(require('../../../wasm/stark_crypto_wasm-web')));
|
|
125
125
|
if (wasmModule.init) {
|
|
126
126
|
await wasmModule.init();
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
catch (browserError) {
|
|
130
|
-
// Fallback: try without -web suffix
|
|
130
|
+
// Fallback: try legacy path or without -web suffix
|
|
131
131
|
try {
|
|
132
|
-
// @ts-
|
|
133
|
-
wasmModule = await Promise.resolve().then(() => __importStar(require('../../wasm/stark_crypto_wasm')));
|
|
132
|
+
// @ts-ignore - WASM module path resolved at runtime by bundler
|
|
133
|
+
wasmModule = await Promise.resolve().then(() => __importStar(require('../../wasm/stark_crypto_wasm-web')));
|
|
134
134
|
if (wasmModule.init) {
|
|
135
135
|
await wasmModule.init();
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
catch (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
catch (legacyError) {
|
|
139
|
+
try {
|
|
140
|
+
// @ts-ignore - WASM module path resolved at runtime by bundler
|
|
141
|
+
wasmModule = await Promise.resolve().then(() => __importStar(require('../../../wasm/stark_crypto_wasm')));
|
|
142
|
+
if (wasmModule.init) {
|
|
143
|
+
await wasmModule.init();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (fallbackError) {
|
|
147
|
+
throw new Error(`Failed to load WASM module in browser environment.\n` +
|
|
148
|
+
`Make sure to build with browser target: npm run build:signer\n` +
|
|
149
|
+
`Tried: ../../../wasm/stark_crypto_wasm-web, ../../wasm/stark_crypto_wasm-web, ../../../wasm/stark_crypto_wasm\n` +
|
|
150
|
+
`Error: ${browserError.message || browserError}`);
|
|
151
|
+
}
|
|
142
152
|
}
|
|
143
153
|
}
|
|
144
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/perpetual/crypto/signer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCH,
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/perpetual/crypto/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom signer interface for external signing services
|
|
3
|
+
*
|
|
4
|
+
* This module provides interfaces and types to enable integration with
|
|
5
|
+
* external signing services like Privy, Web3Auth, or custom HSM solutions.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Signature result interface
|
|
9
|
+
* Represents an ECDSA signature as [r, s] tuple
|
|
10
|
+
*/
|
|
11
|
+
export interface SignatureResult {
|
|
12
|
+
r: bigint;
|
|
13
|
+
s: bigint;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Custom signer interface
|
|
17
|
+
*
|
|
18
|
+
* Implement this interface to integrate with external signing services.
|
|
19
|
+
* The signer must be able to sign StarkNet message hashes using ECDSA.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // Privy integration example
|
|
24
|
+
* class PrivyStarkSigner implements CustomStarkSigner {
|
|
25
|
+
* constructor(private privyClient: PrivyClient, private walletId: string) {}
|
|
26
|
+
*
|
|
27
|
+
* async sign(msgHash: bigint): Promise<[bigint, bigint]> {
|
|
28
|
+
* const msgHashHex = '0x' + msgHash.toString(16);
|
|
29
|
+
* const signature = await this.privyClient.signStarknetMessage(
|
|
30
|
+
* this.walletId,
|
|
31
|
+
* msgHashHex
|
|
32
|
+
* );
|
|
33
|
+
* return [BigInt(signature.r), BigInt(signature.s)];
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export interface CustomStarkSigner {
|
|
39
|
+
/**
|
|
40
|
+
* Sign a StarkNet message hash
|
|
41
|
+
*
|
|
42
|
+
* @param msgHash - Message hash to sign as BigInt
|
|
43
|
+
* @returns Promise resolving to [r, s] signature tuple
|
|
44
|
+
*/
|
|
45
|
+
sign(msgHash: bigint): Promise<[bigint, bigint]>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Type guard to check if a value is a CustomStarkSigner
|
|
49
|
+
*/
|
|
50
|
+
export declare function isCustomStarkSigner(value: any): value is CustomStarkSigner;
|
|
51
|
+
//# sourceMappingURL=custom-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-signer.d.ts","sourceRoot":"","sources":["../../src/perpetual/custom-signer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,iBAAiB,CAM1E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Custom signer interface for external signing services
|
|
4
|
+
*
|
|
5
|
+
* This module provides interfaces and types to enable integration with
|
|
6
|
+
* external signing services like Privy, Web3Auth, or custom HSM solutions.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isCustomStarkSigner = isCustomStarkSigner;
|
|
10
|
+
/**
|
|
11
|
+
* Type guard to check if a value is a CustomStarkSigner
|
|
12
|
+
*/
|
|
13
|
+
function isCustomStarkSigner(value) {
|
|
14
|
+
return (value !== null &&
|
|
15
|
+
typeof value === 'object' &&
|
|
16
|
+
typeof value.sign === 'function');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=custom-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-signer.js","sourceRoot":"","sources":["../../src/perpetual/custom-signer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+CH,kDAMC;AATD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAU;IAC5C,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -27,10 +27,10 @@ export declare class SettlementDataCtx {
|
|
|
27
27
|
nonce: number;
|
|
28
28
|
collateralPositionId: number;
|
|
29
29
|
expireTime: Date;
|
|
30
|
-
signer: (msgHash: bigint) => [bigint, bigint]
|
|
30
|
+
signer: (msgHash: bigint) => Promise<[bigint, bigint]>;
|
|
31
31
|
publicKey: bigint;
|
|
32
32
|
starknetDomain: StarknetDomain;
|
|
33
|
-
constructor(market: MarketModel, fees: TradingFeeModel, nonce: number, collateralPositionId: number, expireTime: Date, signer: (msgHash: bigint) => [bigint, bigint]
|
|
33
|
+
constructor(market: MarketModel, fees: TradingFeeModel, nonce: number, collateralPositionId: number, expireTime: Date, signer: (msgHash: bigint) => Promise<[bigint, bigint]>, publicKey: bigint, starknetDomain: StarknetDomain, builderFee?: Decimal);
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Hash an order
|
|
@@ -39,5 +39,5 @@ export declare function hashOrder(amountSynthetic: StarkAmount, amountCollateral
|
|
|
39
39
|
/**
|
|
40
40
|
* Create order settlement data
|
|
41
41
|
*/
|
|
42
|
-
export declare function createOrderSettlementData(side: OrderSide, syntheticAmount: Decimal, price: Decimal, ctx: SettlementDataCtx): OrderSettlementData
|
|
42
|
+
export declare function createOrderSettlementData(side: OrderSide, syntheticAmount: Decimal, price: Decimal, ctx: SettlementDataCtx): Promise<OrderSettlementData>;
|
|
43
43
|
//# sourceMappingURL=order-object-settlement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-object-settlement.d.ts","sourceRoot":"","sources":["../../src/perpetual/order-object-settlement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAqE,MAAM,WAAW,CAAC;AAIhI;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,oBAAoB,CAAC;IACjC,gBAAgB,EAAE,+BAA+B,CAAC;gBAGhD,oBAAoB,EAAE,mBAAmB,EACzC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,oBAAoB,EAChC,gBAAgB,EAAE,+BAA+B;CAOpD;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"order-object-settlement.d.ts","sourceRoot":"","sources":["../../src/perpetual/order-object-settlement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAqE,MAAM,WAAW,CAAC;AAIhI;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,oBAAoB,CAAC;IACjC,gBAAgB,EAAE,+BAA+B,CAAC;gBAGhD,oBAAoB,EAAE,mBAAmB,EACzC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,oBAAoB,EAChC,gBAAgB,EAAE,+BAA+B;CAOpD;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;gBAG7B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtD,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,UAAU,CAAC,EAAE,OAAO;CAYvB;AAWD;;GAEG;AACH,wBAAgB,SAAS,CACvB,eAAe,EAAE,WAAW,EAC5B,gBAAgB,EAAE,WAAW,EAC7B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,GAC7B,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAyD9B"}
|
|
@@ -96,7 +96,7 @@ function hashOrder(amountSynthetic, amountCollateral, maxFee, nonce, positionId,
|
|
|
96
96
|
/**
|
|
97
97
|
* Create order settlement data
|
|
98
98
|
*/
|
|
99
|
-
function createOrderSettlementData(side, syntheticAmount, price, ctx) {
|
|
99
|
+
async function createOrderSettlementData(side, syntheticAmount, price, ctx) {
|
|
100
100
|
const isBuyingSynthetic = side === orders_1.OrderSide.BUY;
|
|
101
101
|
const roundingContext = isBuyingSynthetic ? amounts_1.ROUNDING_BUY_CONTEXT : amounts_1.ROUNDING_SELL_CONTEXT;
|
|
102
102
|
const syntheticAmountHuman = new amounts_1.HumanReadableAmount(syntheticAmount, ctx.market.syntheticAsset);
|
|
@@ -114,7 +114,7 @@ function createOrderSettlementData(side, syntheticAmount, price, ctx) {
|
|
|
114
114
|
}
|
|
115
115
|
const debuggingAmounts = new orders_1.StarkDebuggingOrderAmountsModel(new decimal_js_1.default(starkCollateralAmount.value), new decimal_js_1.default(starkFeeAmount.value), new decimal_js_1.default(starkSyntheticAmount.value));
|
|
116
116
|
const orderHash = hashOrder(starkSyntheticAmount, starkCollateralAmount, starkFeeAmount, ctx.nonce, ctx.collateralPositionId, ctx.expireTime, ctx.publicKey, ctx.starknetDomain);
|
|
117
|
-
const [orderSignatureR, orderSignatureS] = ctx.signer(orderHash);
|
|
117
|
+
const [orderSignatureR, orderSignatureS] = await ctx.signer(orderHash);
|
|
118
118
|
const settlement = new orders_1.StarkSettlementModel(new model_1.SettlementSignatureModel('0x' + orderSignatureR.toString(16), '0x' + orderSignatureS.toString(16)), '0x' + ctx.publicKey.toString(16), new decimal_js_1.default(ctx.collateralPositionId));
|
|
119
119
|
return new OrderSettlementData(syntheticAmountHuman, orderHash, settlement, debuggingAmounts);
|
|
120
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-object-settlement.js","sourceRoot":"","sources":["../../src/perpetual/order-object-settlement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAmFH,8BAqCC;AAKD,8DA8DC;AAzLD,4DAAiC;AAIjC,qCAA4F;AAC5F,0CAA0D;AAC1D,uCAAgI;AAChI,4CAAkD;AAGlD;;GAEG;AACH,MAAa,mBAAmB;IAC9B,oBAAoB,CAAsB;IAC1C,SAAS,CAAS;IAClB,UAAU,CAAuB;IACjC,gBAAgB,CAAkC;IAElD,YACE,oBAAyC,EACzC,SAAiB,EACjB,UAAgC,EAChC,gBAAiD;QAEjD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAjBD,kDAiBC;AAED;;GAEG;AACH,MAAa,iBAAiB;IAC5B,MAAM,CAAc;IACpB,IAAI,CAAkB;IACtB,UAAU,CAAW;IACrB,KAAK,CAAS;IACd,oBAAoB,CAAS;IAC7B,UAAU,CAAO;IACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"order-object-settlement.js","sourceRoot":"","sources":["../../src/perpetual/order-object-settlement.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,5 +34,5 @@ export declare function createOrderObject(account: StarkPerpetualAccount, market
|
|
|
34
34
|
tpSlType?: OrderTpslType;
|
|
35
35
|
takeProfit?: OrderTpslTriggerParam;
|
|
36
36
|
stopLoss?: OrderTpslTriggerParam;
|
|
37
|
-
}): NewOrderModel
|
|
37
|
+
}): Promise<NewOrderModel>;
|
|
38
38
|
//# sourceMappingURL=order-object.d.ts.map
|