@injectivelabs/sdk-ts 1.10.0-alpha.11 → 1.10.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/accounts/Address.d.ts.map +1 -1
- package/dist/cjs/core/accounts/Address.js +1 -1
- package/dist/cjs/core/accounts/Address.js.map +1 -1
- package/dist/cjs/core/modules/exchange/utils/classes/OrderHashManager.d.ts +22 -2
- package/dist/cjs/core/modules/exchange/utils/classes/OrderHashManager.d.ts.map +1 -1
- package/dist/cjs/core/modules/exchange/utils/classes/OrderHashManager.js +126 -19
- package/dist/cjs/core/modules/exchange/utils/classes/OrderHashManager.js.map +1 -1
- package/dist/esm/core/accounts/Address.d.ts.map +1 -1
- package/dist/esm/core/accounts/Address.js +1 -1
- package/dist/esm/core/accounts/Address.js.map +1 -1
- package/dist/esm/core/modules/exchange/utils/classes/OrderHashManager.d.ts +22 -2
- package/dist/esm/core/modules/exchange/utils/classes/OrderHashManager.d.ts.map +1 -1
- package/dist/esm/core/modules/exchange/utils/classes/OrderHashManager.js +116 -15
- package/dist/esm/core/modules/exchange/utils/classes/OrderHashManager.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,qBAAa,OAAO;IACX,aAAa,EAAE,MAAM,CAAA;gBAEhB,aAAa,EAAE,MAAM;IAIjC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,qBAAa,OAAO;IACX,aAAa,EAAE,MAAM,CAAA;gBAEhB,aAAa,EAAE,MAAM;IAIjC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIlC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAA+B,GACtC,OAAO;IAmBV;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAA+B,GACtC,OAAO;IAUV;;;;OAIG;IACH,QAAQ,CAAC,MAAM,GAAE,MAA+B,GAAG,MAAM;IAQzD;;;;SAIK;IACL,gBAAgB,IAAI,MAAM;IAI1B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,KAAK,IAAI,MAAM;IASf;;;;;SAKK;IACL,eAAe,CAAC,KAAK,GAAE,MAAU,GAAG,MAAM;IAM1C;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;CAG7B"}
|
|
@@ -13,7 +13,7 @@ class Address {
|
|
|
13
13
|
this.bech32Address = bech32Address;
|
|
14
14
|
}
|
|
15
15
|
compare(address) {
|
|
16
|
-
return
|
|
16
|
+
return this.bech32Address === address.bech32Address;
|
|
17
17
|
}
|
|
18
18
|
get address() {
|
|
19
19
|
return this.bech32Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,qDAAiE;AACjE,0DAAuE;AACvE,qDAI8B;AAE9B;;GAEG;AACH,MAAa,OAAO;IAGlB,YAAY,aAAqB;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Network } from '@injectivelabs/networks';
|
|
2
|
+
import MsgCreateSpotLimitOrder from '../../msgs/MsgCreateSpotLimitOrder';
|
|
3
|
+
import MsgCreateDerivativeLimitOrder from '../../msgs/MsgCreateDerivativeLimitOrder';
|
|
2
4
|
interface OrderInfo {
|
|
3
5
|
subaccountId: string;
|
|
4
6
|
feeRecipient: string;
|
|
@@ -8,7 +10,7 @@ interface OrderInfo {
|
|
|
8
10
|
interface SpotOrder {
|
|
9
11
|
marketId: string;
|
|
10
12
|
orderInfo: OrderInfo;
|
|
11
|
-
orderType:
|
|
13
|
+
orderType: number;
|
|
12
14
|
triggerPrice?: string;
|
|
13
15
|
}
|
|
14
16
|
interface DerivativeOrder extends SpotOrder {
|
|
@@ -18,11 +20,18 @@ export declare class OrderHashManager {
|
|
|
18
20
|
subaccountIndex: number;
|
|
19
21
|
address: string;
|
|
20
22
|
network: Network;
|
|
23
|
+
nonce: number;
|
|
21
24
|
constructor({ network, address, subaccountIndex, }: {
|
|
22
25
|
network: Network;
|
|
23
26
|
address: string;
|
|
24
27
|
subaccountIndex?: number;
|
|
25
28
|
});
|
|
29
|
+
incrementNonce(): void;
|
|
30
|
+
setNonce(nonce: number): void;
|
|
31
|
+
/**
|
|
32
|
+
* Keep in mind that the order params have to be transformed
|
|
33
|
+
* in proper format that's supported on the chain
|
|
34
|
+
*/
|
|
26
35
|
getOrderHashes({ spotOrders, derivativeOrders, }: {
|
|
27
36
|
spotOrders: SpotOrder[];
|
|
28
37
|
derivativeOrders: DerivativeOrder[];
|
|
@@ -30,10 +39,21 @@ export declare class OrderHashManager {
|
|
|
30
39
|
derivativeOrderHashes: string[];
|
|
31
40
|
spotOrderHashes: string[];
|
|
32
41
|
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Keep in mind that the order params have to be transformed
|
|
44
|
+
* in proper format that's supported on the chain
|
|
45
|
+
*/
|
|
33
46
|
getDerivativeOrderHashes(orders: DerivativeOrder[]): Promise<string[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Keep in mind that the order params have to be transformed
|
|
49
|
+
* in proper format that's supported on the chain
|
|
50
|
+
*/
|
|
34
51
|
getSpotOrderHashes(orders: SpotOrder[]): Promise<string[]>;
|
|
35
|
-
|
|
52
|
+
getSpotOrderHashFromMsg(msg: MsgCreateSpotLimitOrder): Promise<string>;
|
|
53
|
+
getDerivativeOrderHashFromMsg(msg: MsgCreateDerivativeLimitOrder): Promise<string>;
|
|
54
|
+
private initSubaccountNonce;
|
|
36
55
|
private hashTypedData;
|
|
56
|
+
private incrementNonceAndReturn;
|
|
37
57
|
}
|
|
38
58
|
export {};
|
|
39
59
|
//# sourceMappingURL=OrderHashManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderHashManager.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"OrderHashManager.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAQtE,OAAO,uBAAuB,MAAM,oCAAoC,CAAA;AACxE,OAAO,6BAA6B,MAAM,0CAA0C,CAAA;AAGpF,UAAU,SAAS;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,eAAgB,SAAQ,SAAS;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AA4LD,qBAAa,gBAAgB;IACpB,eAAe,EAAE,MAAM,CAAA;IAEvB,OAAO,EAAE,MAAM,CAAA;IAEf,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,EAAE,MAAM,CAAI;gBAEZ,EACV,OAAO,EACP,OAAO,EACP,eAAmB,GACpB,EAAE;QACD,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB;IAMM,cAAc;IAId,QAAQ,CAAC,KAAK,EAAE,MAAM;IAI7B;;;OAGG;IACG,cAAc,CAAC,EACnB,UAAe,EACf,gBAAqB,GACtB,EAAE;QACD,UAAU,EAAE,SAAS,EAAE,CAAA;QACvB,gBAAgB,EAAE,eAAe,EAAE,CAAA;KACpC,GAAG,OAAO,CAAC;QAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA0B3E;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc5E;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc1D,uBAAuB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCtE,6BAA6B,CACjC,GAAG,EAAE,6BAA6B,GACjC,OAAO,CAAC,MAAM,CAAC;YAyCJ,mBAAmB;IAmBjC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,uBAAuB;CAKhC"}
|
|
@@ -21,6 +21,7 @@ const ChainGrpcExchangeApi_1 = require("../../../../../client/chain/grpc/ChainGr
|
|
|
21
21
|
const crypto_1 = require("../../../../../utils/crypto");
|
|
22
22
|
const numbers_1 = require("../../../../../utils/numbers");
|
|
23
23
|
const keccak256_1 = __importDefault(require("keccak256"));
|
|
24
|
+
const core_proto_ts_1 = require("@injectivelabs/core-proto-ts");
|
|
24
25
|
const spotOrderPrimaryType = 'SpotOrder';
|
|
25
26
|
const derivativeOrderPrimaryType = 'DerivativeOrder';
|
|
26
27
|
const EIP712DomainType = [
|
|
@@ -124,6 +125,32 @@ const EIP712Types = {
|
|
|
124
125
|
[derivativeOrderPrimaryType]: DerivativeOrderType,
|
|
125
126
|
OrderInfo: OrderInfoType,
|
|
126
127
|
};
|
|
128
|
+
const orderTypeToChainOrderType = (orderType) => {
|
|
129
|
+
switch (orderType) {
|
|
130
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.BUY:
|
|
131
|
+
return '\u0001';
|
|
132
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.SELL:
|
|
133
|
+
return '\u0002';
|
|
134
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.STOP_BUY:
|
|
135
|
+
return '\u0003';
|
|
136
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.STOP_SELL:
|
|
137
|
+
return '\u0004';
|
|
138
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.TAKE_BUY:
|
|
139
|
+
return '\u0005';
|
|
140
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.TAKE_SELL:
|
|
141
|
+
return '\u0006';
|
|
142
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.BUY_PO:
|
|
143
|
+
return '\u0007';
|
|
144
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.SELL_PO:
|
|
145
|
+
return '\u0008';
|
|
146
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.BUY_ATOMIC:
|
|
147
|
+
return '\u0009';
|
|
148
|
+
case core_proto_ts_1.InjectiveExchangeV1Beta1Exchange.OrderType.SELL_ATOMIC:
|
|
149
|
+
return '\u000A';
|
|
150
|
+
default:
|
|
151
|
+
return '\u0001';
|
|
152
|
+
}
|
|
153
|
+
};
|
|
127
154
|
const getEip712ForSpotOrder = (spotOrder, nonce) => {
|
|
128
155
|
return {
|
|
129
156
|
primaryType: spotOrderPrimaryType,
|
|
@@ -138,10 +165,10 @@ const getEip712ForSpotOrder = (spotOrder, nonce) => {
|
|
|
138
165
|
Quantity: (0, numbers_1.cosmosSdkDecToBigNumber)(spotOrder.orderInfo.quantity).toFixed(),
|
|
139
166
|
},
|
|
140
167
|
Salt: nonce.toString(),
|
|
141
|
-
OrderType:
|
|
168
|
+
OrderType: orderTypeToChainOrderType(spotOrder.orderType),
|
|
142
169
|
TriggerPrice: spotOrder.triggerPrice
|
|
143
|
-
? (0, numbers_1.cosmosSdkDecToBigNumber)(spotOrder.triggerPrice)
|
|
144
|
-
: '',
|
|
170
|
+
? (0, numbers_1.cosmosSdkDecToBigNumber)(spotOrder.triggerPrice).toFixed()
|
|
171
|
+
: '0.000000000000000000',
|
|
145
172
|
},
|
|
146
173
|
};
|
|
147
174
|
};
|
|
@@ -159,31 +186,42 @@ const getEip712ForDerivativeOrder = (derivativeOrder, nonce) => {
|
|
|
159
186
|
Quantity: (0, numbers_1.cosmosSdkDecToBigNumber)(derivativeOrder.orderInfo.quantity).toFixed(),
|
|
160
187
|
},
|
|
161
188
|
Margin: (0, numbers_1.cosmosSdkDecToBigNumber)(derivativeOrder.margin).toFixed(),
|
|
162
|
-
OrderType:
|
|
189
|
+
OrderType: orderTypeToChainOrderType(derivativeOrder.orderType),
|
|
163
190
|
TriggerPrice: derivativeOrder.triggerPrice
|
|
164
|
-
? (0, numbers_1.cosmosSdkDecToBigNumber)(derivativeOrder.triggerPrice)
|
|
165
|
-
: '',
|
|
191
|
+
? (0, numbers_1.cosmosSdkDecToBigNumber)(derivativeOrder.triggerPrice).toFixed()
|
|
192
|
+
: '0.000000000000000000',
|
|
166
193
|
Salt: nonce.toString(),
|
|
167
194
|
},
|
|
168
195
|
};
|
|
169
196
|
};
|
|
170
197
|
class OrderHashManager {
|
|
171
198
|
constructor({ network, address, subaccountIndex = 0 /* default trading account */, }) {
|
|
199
|
+
this.nonce = 0;
|
|
172
200
|
this.network = network;
|
|
173
201
|
this.address = address;
|
|
174
202
|
this.subaccountIndex = subaccountIndex;
|
|
175
203
|
}
|
|
204
|
+
incrementNonce() {
|
|
205
|
+
this.nonce += 1;
|
|
206
|
+
}
|
|
207
|
+
setNonce(nonce) {
|
|
208
|
+
this.nonce = nonce;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Keep in mind that the order params have to be transformed
|
|
212
|
+
* in proper format that's supported on the chain
|
|
213
|
+
*/
|
|
176
214
|
getOrderHashes({ spotOrders = [], derivativeOrders = [], }) {
|
|
177
215
|
return __awaiter(this, void 0, void 0, function* () {
|
|
178
216
|
if (spotOrders.length === 0 && derivativeOrders.length === 0) {
|
|
179
217
|
throw new exceptions_1.GeneralException(new Error('Please provide spot or derivative orders'));
|
|
180
218
|
}
|
|
181
|
-
|
|
219
|
+
yield this.initSubaccountNonce();
|
|
182
220
|
const spotOrderHashes = spotOrders.map((order) => {
|
|
183
|
-
return this.hashTypedData(getEip712ForSpotOrder(order, nonce));
|
|
221
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder(order, this.nonce)));
|
|
184
222
|
});
|
|
185
223
|
const derivativeOrderHashes = derivativeOrders.map((order) => {
|
|
186
|
-
return this.hashTypedData(getEip712ForDerivativeOrder(order, nonce));
|
|
224
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder(order, this.nonce)));
|
|
187
225
|
});
|
|
188
226
|
return {
|
|
189
227
|
spotOrderHashes,
|
|
@@ -191,34 +229,99 @@ class OrderHashManager {
|
|
|
191
229
|
};
|
|
192
230
|
});
|
|
193
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Keep in mind that the order params have to be transformed
|
|
234
|
+
* in proper format that's supported on the chain
|
|
235
|
+
*/
|
|
194
236
|
getDerivativeOrderHashes(orders) {
|
|
195
237
|
return __awaiter(this, void 0, void 0, function* () {
|
|
196
238
|
if (orders.length === 0) {
|
|
197
239
|
throw new exceptions_1.GeneralException(new Error('Please provide orders'));
|
|
198
240
|
}
|
|
199
|
-
|
|
241
|
+
yield this.initSubaccountNonce();
|
|
200
242
|
return orders.map((order) => {
|
|
201
|
-
return this.hashTypedData(getEip712ForDerivativeOrder(order, nonce));
|
|
243
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder(order, this.nonce)));
|
|
202
244
|
});
|
|
203
245
|
});
|
|
204
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Keep in mind that the order params have to be transformed
|
|
249
|
+
* in proper format that's supported on the chain
|
|
250
|
+
*/
|
|
205
251
|
getSpotOrderHashes(orders) {
|
|
206
252
|
return __awaiter(this, void 0, void 0, function* () {
|
|
207
253
|
if (orders.length === 0) {
|
|
208
254
|
throw new exceptions_1.GeneralException(new Error('Please provide orders'));
|
|
209
255
|
}
|
|
210
|
-
|
|
256
|
+
yield this.initSubaccountNonce();
|
|
211
257
|
return orders.map((order) => {
|
|
212
|
-
return this.hashTypedData(getEip712ForSpotOrder(order, nonce));
|
|
258
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder(order, this.nonce)));
|
|
213
259
|
});
|
|
214
260
|
});
|
|
215
261
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
262
|
+
getSpotOrderHashFromMsg(msg) {
|
|
263
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
264
|
+
yield this.initSubaccountNonce();
|
|
265
|
+
const proto = msg.toProto();
|
|
266
|
+
const order = proto.order;
|
|
267
|
+
if (!order) {
|
|
268
|
+
throw new exceptions_1.GeneralException(new Error('The MsgCreateSpotLimitOrder is not complete'));
|
|
269
|
+
}
|
|
270
|
+
const orderInfo = order.orderInfo;
|
|
271
|
+
if (!orderInfo) {
|
|
272
|
+
throw new exceptions_1.GeneralException(new Error('The MsgCreateSpotLimitOrder is not complete'));
|
|
273
|
+
}
|
|
274
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder({
|
|
275
|
+
marketId: order.marketId,
|
|
276
|
+
orderInfo: {
|
|
277
|
+
subaccountId: orderInfo.subaccountId,
|
|
278
|
+
feeRecipient: orderInfo.feeRecipient,
|
|
279
|
+
price: orderInfo.price,
|
|
280
|
+
quantity: orderInfo.quantity,
|
|
281
|
+
},
|
|
282
|
+
orderType: order.orderType,
|
|
283
|
+
triggerPrice: order.triggerPrice,
|
|
284
|
+
}, this.nonce)));
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
getDerivativeOrderHashFromMsg(msg) {
|
|
288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
289
|
+
yield this.initSubaccountNonce();
|
|
290
|
+
const proto = msg.toProto();
|
|
291
|
+
const order = proto.order;
|
|
292
|
+
if (!order) {
|
|
293
|
+
throw new exceptions_1.GeneralException(new Error('The MsgCreateDerivativeLimitOrder is not complete'));
|
|
294
|
+
}
|
|
295
|
+
const orderInfo = order.orderInfo;
|
|
296
|
+
if (!orderInfo) {
|
|
297
|
+
throw new exceptions_1.GeneralException(new Error('The MsgCreateDerivativeLimitOrder is not complete'));
|
|
298
|
+
}
|
|
299
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder({
|
|
300
|
+
marketId: order.marketId,
|
|
301
|
+
orderInfo: {
|
|
302
|
+
subaccountId: orderInfo.subaccountId,
|
|
303
|
+
feeRecipient: orderInfo.feeRecipient,
|
|
304
|
+
price: orderInfo.price,
|
|
305
|
+
quantity: orderInfo.quantity,
|
|
306
|
+
},
|
|
307
|
+
margin: order.margin,
|
|
308
|
+
orderType: order.orderType,
|
|
309
|
+
triggerPrice: order.triggerPrice,
|
|
310
|
+
}, this.nonce)));
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
initSubaccountNonce() {
|
|
314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
315
|
+
if (this.nonce) {
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
const { network, subaccountIndex, address } = this;
|
|
319
|
+
const endpoints = (0, networks_1.getNetworkEndpoints)(network);
|
|
320
|
+
const chainGrpcExchangeApi = new ChainGrpcExchangeApi_1.ChainGrpcExchangeApi(endpoints.grpc);
|
|
321
|
+
const subaccountId = Address_1.Address.fromBech32(address).getSubaccountId(subaccountIndex);
|
|
322
|
+
const { nonce } = yield chainGrpcExchangeApi.fetchSubaccountTradeNonce(subaccountId);
|
|
323
|
+
this.nonce = nonce;
|
|
324
|
+
});
|
|
222
325
|
}
|
|
223
326
|
hashTypedData(eip712) {
|
|
224
327
|
const bytesToHash = Buffer.concat([
|
|
@@ -234,6 +337,10 @@ class OrderHashManager {
|
|
|
234
337
|
return '';
|
|
235
338
|
}
|
|
236
339
|
}
|
|
340
|
+
incrementNonceAndReturn(result) {
|
|
341
|
+
this.incrementNonce();
|
|
342
|
+
return result;
|
|
343
|
+
}
|
|
237
344
|
}
|
|
238
345
|
exports.OrderHashManager = OrderHashManager;
|
|
239
346
|
//# sourceMappingURL=OrderHashManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderHashManager.js","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAAsE;AACtE,gDAAgD;AAChD,0DAA4D;AAC5D,0DAAsD;AACtD,gGAA4F;AAC5F,wDAAqE;AACrE,0DAAsE;AACtE,0DAAiC;
|
|
1
|
+
{"version":3,"file":"OrderHashManager.js","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,qBAAa,OAAO;IACX,aAAa,EAAE,MAAM,CAAA;gBAEhB,aAAa,EAAE,MAAM;IAIjC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,qBAAa,OAAO;IACX,aAAa,EAAE,MAAM,CAAA;gBAEhB,aAAa,EAAE,MAAM;IAIjC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIlC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAA+B,GACtC,OAAO;IAmBV;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAA+B,GACtC,OAAO;IAUV;;;;OAIG;IACH,QAAQ,CAAC,MAAM,GAAE,MAA+B,GAAG,MAAM;IAQzD;;;;SAIK;IACL,gBAAgB,IAAI,MAAM;IAI1B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,KAAK,IAAI,MAAM;IASf;;;;;SAKK;IACL,eAAe,CAAC,KAAK,GAAE,MAAU,GAAG,MAAM;IAM1C;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;CAG7B"}
|
|
@@ -11,7 +11,7 @@ export class Address {
|
|
|
11
11
|
this.bech32Address = bech32Address;
|
|
12
12
|
}
|
|
13
13
|
compare(address) {
|
|
14
|
-
return
|
|
14
|
+
return this.bech32Address === address.bech32Address;
|
|
15
15
|
}
|
|
16
16
|
get address() {
|
|
17
17
|
return this.bech32Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,OAAO,OAAO;IACX,aAAa,CAAQ;IAE5B,YAAY,aAAqB;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../../src/core/accounts/Address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Network } from '@injectivelabs/networks';
|
|
2
|
+
import MsgCreateSpotLimitOrder from '../../msgs/MsgCreateSpotLimitOrder';
|
|
3
|
+
import MsgCreateDerivativeLimitOrder from '../../msgs/MsgCreateDerivativeLimitOrder';
|
|
2
4
|
interface OrderInfo {
|
|
3
5
|
subaccountId: string;
|
|
4
6
|
feeRecipient: string;
|
|
@@ -8,7 +10,7 @@ interface OrderInfo {
|
|
|
8
10
|
interface SpotOrder {
|
|
9
11
|
marketId: string;
|
|
10
12
|
orderInfo: OrderInfo;
|
|
11
|
-
orderType:
|
|
13
|
+
orderType: number;
|
|
12
14
|
triggerPrice?: string;
|
|
13
15
|
}
|
|
14
16
|
interface DerivativeOrder extends SpotOrder {
|
|
@@ -18,11 +20,18 @@ export declare class OrderHashManager {
|
|
|
18
20
|
subaccountIndex: number;
|
|
19
21
|
address: string;
|
|
20
22
|
network: Network;
|
|
23
|
+
nonce: number;
|
|
21
24
|
constructor({ network, address, subaccountIndex, }: {
|
|
22
25
|
network: Network;
|
|
23
26
|
address: string;
|
|
24
27
|
subaccountIndex?: number;
|
|
25
28
|
});
|
|
29
|
+
incrementNonce(): void;
|
|
30
|
+
setNonce(nonce: number): void;
|
|
31
|
+
/**
|
|
32
|
+
* Keep in mind that the order params have to be transformed
|
|
33
|
+
* in proper format that's supported on the chain
|
|
34
|
+
*/
|
|
26
35
|
getOrderHashes({ spotOrders, derivativeOrders, }: {
|
|
27
36
|
spotOrders: SpotOrder[];
|
|
28
37
|
derivativeOrders: DerivativeOrder[];
|
|
@@ -30,10 +39,21 @@ export declare class OrderHashManager {
|
|
|
30
39
|
derivativeOrderHashes: string[];
|
|
31
40
|
spotOrderHashes: string[];
|
|
32
41
|
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Keep in mind that the order params have to be transformed
|
|
44
|
+
* in proper format that's supported on the chain
|
|
45
|
+
*/
|
|
33
46
|
getDerivativeOrderHashes(orders: DerivativeOrder[]): Promise<string[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Keep in mind that the order params have to be transformed
|
|
49
|
+
* in proper format that's supported on the chain
|
|
50
|
+
*/
|
|
34
51
|
getSpotOrderHashes(orders: SpotOrder[]): Promise<string[]>;
|
|
35
|
-
|
|
52
|
+
getSpotOrderHashFromMsg(msg: MsgCreateSpotLimitOrder): Promise<string>;
|
|
53
|
+
getDerivativeOrderHashFromMsg(msg: MsgCreateDerivativeLimitOrder): Promise<string>;
|
|
54
|
+
private initSubaccountNonce;
|
|
36
55
|
private hashTypedData;
|
|
56
|
+
private incrementNonceAndReturn;
|
|
37
57
|
}
|
|
38
58
|
export {};
|
|
39
59
|
//# sourceMappingURL=OrderHashManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderHashManager.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"OrderHashManager.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAQtE,OAAO,uBAAuB,MAAM,oCAAoC,CAAA;AACxE,OAAO,6BAA6B,MAAM,0CAA0C,CAAA;AAGpF,UAAU,SAAS;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,eAAgB,SAAQ,SAAS;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AA4LD,qBAAa,gBAAgB;IACpB,eAAe,EAAE,MAAM,CAAA;IAEvB,OAAO,EAAE,MAAM,CAAA;IAEf,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,EAAE,MAAM,CAAI;gBAEZ,EACV,OAAO,EACP,OAAO,EACP,eAAmB,GACpB,EAAE;QACD,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB;IAMM,cAAc;IAId,QAAQ,CAAC,KAAK,EAAE,MAAM;IAI7B;;;OAGG;IACG,cAAc,CAAC,EACnB,UAAe,EACf,gBAAqB,GACtB,EAAE;QACD,UAAU,EAAE,SAAS,EAAE,CAAA;QACvB,gBAAgB,EAAE,eAAe,EAAE,CAAA;KACpC,GAAG,OAAO,CAAC;QAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA0B3E;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc5E;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc1D,uBAAuB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCtE,6BAA6B,CACjC,GAAG,EAAE,6BAA6B,GACjC,OAAO,CAAC,MAAM,CAAC;YAyCJ,mBAAmB;IAmBjC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,uBAAuB;CAKhC"}
|
|
@@ -6,6 +6,7 @@ import { ChainGrpcExchangeApi } from '../../../../../client/chain/grpc/ChainGrpc
|
|
|
6
6
|
import { domainHash, messageHash } from '../../../../../utils/crypto';
|
|
7
7
|
import { cosmosSdkDecToBigNumber } from '../../../../../utils/numbers';
|
|
8
8
|
import keccak256 from 'keccak256';
|
|
9
|
+
import { InjectiveExchangeV1Beta1Exchange } from '@injectivelabs/core-proto-ts';
|
|
9
10
|
const spotOrderPrimaryType = 'SpotOrder';
|
|
10
11
|
const derivativeOrderPrimaryType = 'DerivativeOrder';
|
|
11
12
|
const EIP712DomainType = [
|
|
@@ -109,6 +110,32 @@ const EIP712Types = {
|
|
|
109
110
|
[derivativeOrderPrimaryType]: DerivativeOrderType,
|
|
110
111
|
OrderInfo: OrderInfoType,
|
|
111
112
|
};
|
|
113
|
+
const orderTypeToChainOrderType = (orderType) => {
|
|
114
|
+
switch (orderType) {
|
|
115
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.BUY:
|
|
116
|
+
return '\u0001';
|
|
117
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.SELL:
|
|
118
|
+
return '\u0002';
|
|
119
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.STOP_BUY:
|
|
120
|
+
return '\u0003';
|
|
121
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.STOP_SELL:
|
|
122
|
+
return '\u0004';
|
|
123
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.TAKE_BUY:
|
|
124
|
+
return '\u0005';
|
|
125
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.TAKE_SELL:
|
|
126
|
+
return '\u0006';
|
|
127
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.BUY_PO:
|
|
128
|
+
return '\u0007';
|
|
129
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.SELL_PO:
|
|
130
|
+
return '\u0008';
|
|
131
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.BUY_ATOMIC:
|
|
132
|
+
return '\u0009';
|
|
133
|
+
case InjectiveExchangeV1Beta1Exchange.OrderType.SELL_ATOMIC:
|
|
134
|
+
return '\u000A';
|
|
135
|
+
default:
|
|
136
|
+
return '\u0001';
|
|
137
|
+
}
|
|
138
|
+
};
|
|
112
139
|
const getEip712ForSpotOrder = (spotOrder, nonce) => {
|
|
113
140
|
return {
|
|
114
141
|
primaryType: spotOrderPrimaryType,
|
|
@@ -123,10 +150,10 @@ const getEip712ForSpotOrder = (spotOrder, nonce) => {
|
|
|
123
150
|
Quantity: cosmosSdkDecToBigNumber(spotOrder.orderInfo.quantity).toFixed(),
|
|
124
151
|
},
|
|
125
152
|
Salt: nonce.toString(),
|
|
126
|
-
OrderType:
|
|
153
|
+
OrderType: orderTypeToChainOrderType(spotOrder.orderType),
|
|
127
154
|
TriggerPrice: spotOrder.triggerPrice
|
|
128
|
-
? cosmosSdkDecToBigNumber(spotOrder.triggerPrice)
|
|
129
|
-
: '',
|
|
155
|
+
? cosmosSdkDecToBigNumber(spotOrder.triggerPrice).toFixed()
|
|
156
|
+
: '0.000000000000000000',
|
|
130
157
|
},
|
|
131
158
|
};
|
|
132
159
|
};
|
|
@@ -144,10 +171,10 @@ const getEip712ForDerivativeOrder = (derivativeOrder, nonce) => {
|
|
|
144
171
|
Quantity: cosmosSdkDecToBigNumber(derivativeOrder.orderInfo.quantity).toFixed(),
|
|
145
172
|
},
|
|
146
173
|
Margin: cosmosSdkDecToBigNumber(derivativeOrder.margin).toFixed(),
|
|
147
|
-
OrderType:
|
|
174
|
+
OrderType: orderTypeToChainOrderType(derivativeOrder.orderType),
|
|
148
175
|
TriggerPrice: derivativeOrder.triggerPrice
|
|
149
|
-
? cosmosSdkDecToBigNumber(derivativeOrder.triggerPrice)
|
|
150
|
-
: '',
|
|
176
|
+
? cosmosSdkDecToBigNumber(derivativeOrder.triggerPrice).toFixed()
|
|
177
|
+
: '0.000000000000000000',
|
|
151
178
|
Salt: nonce.toString(),
|
|
152
179
|
},
|
|
153
180
|
};
|
|
@@ -156,51 +183,121 @@ export class OrderHashManager {
|
|
|
156
183
|
subaccountIndex;
|
|
157
184
|
address;
|
|
158
185
|
network;
|
|
186
|
+
nonce = 0;
|
|
159
187
|
constructor({ network, address, subaccountIndex = 0 /* default trading account */, }) {
|
|
160
188
|
this.network = network;
|
|
161
189
|
this.address = address;
|
|
162
190
|
this.subaccountIndex = subaccountIndex;
|
|
163
191
|
}
|
|
192
|
+
incrementNonce() {
|
|
193
|
+
this.nonce += 1;
|
|
194
|
+
}
|
|
195
|
+
setNonce(nonce) {
|
|
196
|
+
this.nonce = nonce;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Keep in mind that the order params have to be transformed
|
|
200
|
+
* in proper format that's supported on the chain
|
|
201
|
+
*/
|
|
164
202
|
async getOrderHashes({ spotOrders = [], derivativeOrders = [], }) {
|
|
165
203
|
if (spotOrders.length === 0 && derivativeOrders.length === 0) {
|
|
166
204
|
throw new GeneralException(new Error('Please provide spot or derivative orders'));
|
|
167
205
|
}
|
|
168
|
-
|
|
206
|
+
await this.initSubaccountNonce();
|
|
169
207
|
const spotOrderHashes = spotOrders.map((order) => {
|
|
170
|
-
return this.hashTypedData(getEip712ForSpotOrder(order, nonce));
|
|
208
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder(order, this.nonce)));
|
|
171
209
|
});
|
|
172
210
|
const derivativeOrderHashes = derivativeOrders.map((order) => {
|
|
173
|
-
return this.hashTypedData(getEip712ForDerivativeOrder(order, nonce));
|
|
211
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder(order, this.nonce)));
|
|
174
212
|
});
|
|
175
213
|
return {
|
|
176
214
|
spotOrderHashes,
|
|
177
215
|
derivativeOrderHashes,
|
|
178
216
|
};
|
|
179
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Keep in mind that the order params have to be transformed
|
|
220
|
+
* in proper format that's supported on the chain
|
|
221
|
+
*/
|
|
180
222
|
async getDerivativeOrderHashes(orders) {
|
|
181
223
|
if (orders.length === 0) {
|
|
182
224
|
throw new GeneralException(new Error('Please provide orders'));
|
|
183
225
|
}
|
|
184
|
-
|
|
226
|
+
await this.initSubaccountNonce();
|
|
185
227
|
return orders.map((order) => {
|
|
186
|
-
return this.hashTypedData(getEip712ForDerivativeOrder(order, nonce));
|
|
228
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder(order, this.nonce)));
|
|
187
229
|
});
|
|
188
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* Keep in mind that the order params have to be transformed
|
|
233
|
+
* in proper format that's supported on the chain
|
|
234
|
+
*/
|
|
189
235
|
async getSpotOrderHashes(orders) {
|
|
190
236
|
if (orders.length === 0) {
|
|
191
237
|
throw new GeneralException(new Error('Please provide orders'));
|
|
192
238
|
}
|
|
193
|
-
|
|
239
|
+
await this.initSubaccountNonce();
|
|
194
240
|
return orders.map((order) => {
|
|
195
|
-
return this.hashTypedData(getEip712ForSpotOrder(order, nonce));
|
|
241
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder(order, this.nonce)));
|
|
196
242
|
});
|
|
197
243
|
}
|
|
198
|
-
|
|
244
|
+
async getSpotOrderHashFromMsg(msg) {
|
|
245
|
+
await this.initSubaccountNonce();
|
|
246
|
+
const proto = msg.toProto();
|
|
247
|
+
const order = proto.order;
|
|
248
|
+
if (!order) {
|
|
249
|
+
throw new GeneralException(new Error('The MsgCreateSpotLimitOrder is not complete'));
|
|
250
|
+
}
|
|
251
|
+
const orderInfo = order.orderInfo;
|
|
252
|
+
if (!orderInfo) {
|
|
253
|
+
throw new GeneralException(new Error('The MsgCreateSpotLimitOrder is not complete'));
|
|
254
|
+
}
|
|
255
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForSpotOrder({
|
|
256
|
+
marketId: order.marketId,
|
|
257
|
+
orderInfo: {
|
|
258
|
+
subaccountId: orderInfo.subaccountId,
|
|
259
|
+
feeRecipient: orderInfo.feeRecipient,
|
|
260
|
+
price: orderInfo.price,
|
|
261
|
+
quantity: orderInfo.quantity,
|
|
262
|
+
},
|
|
263
|
+
orderType: order.orderType,
|
|
264
|
+
triggerPrice: order.triggerPrice,
|
|
265
|
+
}, this.nonce)));
|
|
266
|
+
}
|
|
267
|
+
async getDerivativeOrderHashFromMsg(msg) {
|
|
268
|
+
await this.initSubaccountNonce();
|
|
269
|
+
const proto = msg.toProto();
|
|
270
|
+
const order = proto.order;
|
|
271
|
+
if (!order) {
|
|
272
|
+
throw new GeneralException(new Error('The MsgCreateDerivativeLimitOrder is not complete'));
|
|
273
|
+
}
|
|
274
|
+
const orderInfo = order.orderInfo;
|
|
275
|
+
if (!orderInfo) {
|
|
276
|
+
throw new GeneralException(new Error('The MsgCreateDerivativeLimitOrder is not complete'));
|
|
277
|
+
}
|
|
278
|
+
return this.incrementNonceAndReturn(this.hashTypedData(getEip712ForDerivativeOrder({
|
|
279
|
+
marketId: order.marketId,
|
|
280
|
+
orderInfo: {
|
|
281
|
+
subaccountId: orderInfo.subaccountId,
|
|
282
|
+
feeRecipient: orderInfo.feeRecipient,
|
|
283
|
+
price: orderInfo.price,
|
|
284
|
+
quantity: orderInfo.quantity,
|
|
285
|
+
},
|
|
286
|
+
margin: order.margin,
|
|
287
|
+
orderType: order.orderType,
|
|
288
|
+
triggerPrice: order.triggerPrice,
|
|
289
|
+
}, this.nonce)));
|
|
290
|
+
}
|
|
291
|
+
async initSubaccountNonce() {
|
|
292
|
+
if (this.nonce) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
199
295
|
const { network, subaccountIndex, address } = this;
|
|
200
296
|
const endpoints = getNetworkEndpoints(network);
|
|
201
297
|
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
|
|
202
298
|
const subaccountId = Address.fromBech32(address).getSubaccountId(subaccountIndex);
|
|
203
|
-
|
|
299
|
+
const { nonce } = await chainGrpcExchangeApi.fetchSubaccountTradeNonce(subaccountId);
|
|
300
|
+
this.nonce = nonce;
|
|
204
301
|
}
|
|
205
302
|
hashTypedData(eip712) {
|
|
206
303
|
const bytesToHash = Buffer.concat([
|
|
@@ -216,5 +313,9 @@ export class OrderHashManager {
|
|
|
216
313
|
return '';
|
|
217
314
|
}
|
|
218
315
|
}
|
|
316
|
+
incrementNonceAndReturn(result) {
|
|
317
|
+
this.incrementNonce();
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
219
320
|
}
|
|
220
321
|
//# sourceMappingURL=OrderHashManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderHashManager.js","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAW,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,SAAS,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"OrderHashManager.js","sourceRoot":"","sources":["../../../../../../../src/core/modules/exchange/utils/classes/OrderHashManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@injectivelabs/sdk-ts",
|
|
3
3
|
"description": "SDK in TypeScript for building Injective applications in a browser, node, and react native environment.",
|
|
4
|
-
"version": "1.10.0-alpha.
|
|
4
|
+
"version": "1.10.0-alpha.13",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Bojan Angjelkoski",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@injectivelabs/networks": "^1.10.0-alpha.3",
|
|
45
45
|
"@injectivelabs/ninja-api": "1.0.12",
|
|
46
46
|
"@injectivelabs/test-utils": "^1.10.0-alpha.1",
|
|
47
|
-
"@injectivelabs/token-metadata": "^1.10.0-alpha.
|
|
47
|
+
"@injectivelabs/token-metadata": "^1.10.0-alpha.7",
|
|
48
48
|
"@injectivelabs/ts-types": "^1.10.0-alpha.1",
|
|
49
49
|
"@injectivelabs/utils": "^1.10.0-alpha.3",
|
|
50
50
|
"@metamask/eth-sig-util": "^4.0.0",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"shx": "^0.3.2",
|
|
68
68
|
"snakecase-keys": "^5.4.1"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "175624bdfe5027828682d4f5ab7f50d82ddbc16d",
|
|
71
71
|
"typedoc": {
|
|
72
72
|
"entryPoint": "./src/index.ts",
|
|
73
73
|
"readmeFile": "./README.md",
|