@dydxprotocol/v4-client-js 1.1.31 → 1.2.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/README.md +36 -1
- package/__native__/__ios__/v4-native-client.js +85 -10
- package/__tests__/helpers/constants.ts +12 -0
- package/__tests__/lib/validation.test.ts +49 -1
- package/build/__tests__/helpers/constants.d.ts +2 -1
- package/build/__tests__/helpers/constants.js +12 -2
- package/build/__tests__/lib/validation.test.js +36 -1
- package/build/examples/batch_cancel_orders_example.d.ts +1 -0
- package/build/examples/batch_cancel_orders_example.js +93 -0
- package/build/src/clients/composite-client.d.ts +24 -1
- package/build/src/clients/composite-client.js +27 -1
- package/build/src/clients/constants.d.ts +1 -0
- package/build/src/clients/constants.js +3 -2
- package/build/src/clients/lib/registry.js +2 -1
- package/build/src/clients/modules/composer.d.ts +2 -0
- package/build/src/clients/modules/composer.js +16 -1
- package/build/src/clients/modules/post.d.ts +3 -1
- package/build/src/clients/modules/post.js +11 -1
- package/build/src/clients/types.d.ts +7 -0
- package/build/src/clients/types.js +1 -1
- package/build/src/lib/validation.d.ts +6 -1
- package/build/src/lib/validation.js +23 -2
- package/build/src/types.d.ts +2 -1
- package/build/src/types.js +2 -1
- package/examples/batch_cancel_orders_example.ts +130 -0
- package/package.json +1 -1
- package/src/clients/composite-client.ts +60 -1
- package/src/clients/constants.ts +2 -1
- package/src/clients/lib/registry.ts +3 -0
- package/src/clients/modules/composer.ts +26 -0
- package/src/clients/modules/post.ts +40 -0
- package/src/clients/types.ts +5 -0
- package/src/lib/validation.ts +42 -3
- package/src/types.ts +1 -0
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ClobPairId,
|
|
3
|
+
IBatchCancelOrder,
|
|
4
|
+
ICancelOrder,
|
|
5
|
+
IPlaceOrder,
|
|
6
|
+
OrderFlags,
|
|
7
|
+
Transfer,
|
|
8
|
+
} from '../../src/types';
|
|
2
9
|
import { MAX_SUBACCOUNT_NUMBER, MAX_UINT_32 } from '../../src/lib/constants';
|
|
3
10
|
import { UserError } from '../../src/lib/errors';
|
|
4
11
|
import {
|
|
5
12
|
isValidAddress,
|
|
13
|
+
validateBatchCancelOrderMessage,
|
|
6
14
|
validateCancelOrderMessage,
|
|
7
15
|
validatePlaceOrderMessage,
|
|
8
16
|
validateTransferMessage,
|
|
@@ -10,6 +18,7 @@ import {
|
|
|
10
18
|
import {
|
|
11
19
|
TEST_ADDRESS,
|
|
12
20
|
defaultCancelOrder,
|
|
21
|
+
defaultBatchCancelOrder,
|
|
13
22
|
defaultOrder,
|
|
14
23
|
defaultTransfer,
|
|
15
24
|
} from '../helpers/constants';
|
|
@@ -150,6 +159,45 @@ describe('Validations', () => {
|
|
|
150
159
|
},
|
|
151
160
|
);
|
|
152
161
|
|
|
162
|
+
it.each([
|
|
163
|
+
['valid', defaultBatchCancelOrder, undefined],
|
|
164
|
+
[
|
|
165
|
+
'overflow clientId',
|
|
166
|
+
{
|
|
167
|
+
...defaultBatchCancelOrder,
|
|
168
|
+
shortTermOrders: [
|
|
169
|
+
...defaultBatchCancelOrder.shortTermOrders,
|
|
170
|
+
{
|
|
171
|
+
clobPairId: ClobPairId.PERPETUAL_PAIR_ETH_USD,
|
|
172
|
+
clientIds: [MAX_UINT_32_PLUS_1],
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
new UserError(`clientId: ${MAX_UINT_32_PLUS_1} is not a valid uint32`),
|
|
177
|
+
],
|
|
178
|
+
[
|
|
179
|
+
'underflow goodTilBlock',
|
|
180
|
+
{ ...defaultBatchCancelOrder, goodTilBlock: -1 },
|
|
181
|
+
new UserError(`goodTilBlock: ${-1} is not a valid uint32 or is 0`),
|
|
182
|
+
],
|
|
183
|
+
[
|
|
184
|
+
'overflow goodTilBlock',
|
|
185
|
+
{ ...defaultBatchCancelOrder, goodTilBlock: MAX_UINT_32_PLUS_1 },
|
|
186
|
+
new UserError(`goodTilBlock: ${MAX_UINT_32_PLUS_1} is not a valid uint32 or is 0`),
|
|
187
|
+
],
|
|
188
|
+
[
|
|
189
|
+
'0 goodTilBlock',
|
|
190
|
+
{ ...defaultBatchCancelOrder, goodTilBlock: 0 },
|
|
191
|
+
new UserError(`goodTilBlock: ${0} is not a valid uint32 or is 0`),
|
|
192
|
+
],
|
|
193
|
+
])(
|
|
194
|
+
'Validate batch cancel orders: %s',
|
|
195
|
+
(_name: string, orders: IBatchCancelOrder, expectedError: UserError | undefined) => {
|
|
196
|
+
const validationError: UserError | void = validateBatchCancelOrderMessage(0, orders);
|
|
197
|
+
expect(validationError).toEqual(expectedError);
|
|
198
|
+
},
|
|
199
|
+
);
|
|
200
|
+
|
|
153
201
|
it.each([
|
|
154
202
|
['valid', defaultTransfer, undefined],
|
|
155
203
|
[
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransactionOptions, ICancelOrder, Transfer, IPlaceOrder } from '../../src/types';
|
|
1
|
+
import { TransactionOptions, ICancelOrder, Transfer, IPlaceOrder, IBatchCancelOrder } from '../../src/types';
|
|
2
2
|
export declare const TEST_ADDRESS: string;
|
|
3
3
|
export declare const TEST_RECIPIENT_ADDRESS: string;
|
|
4
4
|
export declare const TEST_CHAIN_ID: string;
|
|
@@ -6,6 +6,7 @@ export declare const TEST_HOST: string;
|
|
|
6
6
|
export declare const defaultTransactionOptions: TransactionOptions;
|
|
7
7
|
export declare const defaultOrder: IPlaceOrder;
|
|
8
8
|
export declare const defaultCancelOrder: ICancelOrder;
|
|
9
|
+
export declare const defaultBatchCancelOrder: IBatchCancelOrder;
|
|
9
10
|
export declare const defaultTransfer: Transfer;
|
|
10
11
|
export declare const SIGNATURE_RESULT = "0xf2006b4fc0afa08a6048b40d3d67e437ac2e20e6bacf3f947f9b33aa2756d204287f5fb2155bec067d879a25d7ddac791826cf28e2786919065e19848020f1531b";
|
|
11
12
|
export declare const ENTROPY_FROM_SIGNATURE_RESULT: Uint8Array;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MNEMONIC_FROM_SIGNATURE_RESULT = exports.PUBLIC_KEY_FROM_SIGNATURE_RESULT = exports.PRIVATE_KEY_FROM_SIGNATURE_RESULT = exports.ENTROPY_FROM_SIGNATURE_RESULT = exports.SIGNATURE_RESULT = exports.defaultTransfer = exports.defaultCancelOrder = exports.defaultOrder = exports.defaultTransactionOptions = exports.TEST_HOST = exports.TEST_CHAIN_ID = exports.TEST_RECIPIENT_ADDRESS = exports.TEST_ADDRESS = void 0;
|
|
6
|
+
exports.MNEMONIC_FROM_SIGNATURE_RESULT = exports.PUBLIC_KEY_FROM_SIGNATURE_RESULT = exports.PRIVATE_KEY_FROM_SIGNATURE_RESULT = exports.ENTROPY_FROM_SIGNATURE_RESULT = exports.SIGNATURE_RESULT = exports.defaultTransfer = exports.defaultBatchCancelOrder = exports.defaultCancelOrder = exports.defaultOrder = exports.defaultTransactionOptions = exports.TEST_HOST = exports.TEST_CHAIN_ID = exports.TEST_RECIPIENT_ADDRESS = exports.TEST_ADDRESS = void 0;
|
|
7
7
|
const long_1 = __importDefault(require("long"));
|
|
8
8
|
const utils_1 = require("../../src/lib/utils");
|
|
9
9
|
const types_1 = require("../../src/types");
|
|
@@ -36,6 +36,16 @@ exports.defaultCancelOrder = {
|
|
|
36
36
|
clobPairId: types_1.ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
37
37
|
goodTilBlock: 4250,
|
|
38
38
|
};
|
|
39
|
+
// BatchCancelOrder variables
|
|
40
|
+
exports.defaultBatchCancelOrder = {
|
|
41
|
+
shortTermOrders: [
|
|
42
|
+
{
|
|
43
|
+
clobPairId: types_1.ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
44
|
+
clientIds: [(0, utils_1.generateRandomClientId)(), (0, utils_1.generateRandomClientId)()],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
goodTilBlock: 4250,
|
|
48
|
+
};
|
|
39
49
|
// Transfer variables
|
|
40
50
|
exports.defaultTransfer = {
|
|
41
51
|
sender: {
|
|
@@ -69,4 +79,4 @@ exports.PUBLIC_KEY_FROM_SIGNATURE_RESULT = new Uint8Array([
|
|
|
69
79
|
]);
|
|
70
80
|
// Derived HDKey mnemonic from Base Signature Result
|
|
71
81
|
exports.MNEMONIC_FROM_SIGNATURE_RESULT = 'waste sample once ocean tenant mushroom festival hollow regret convince stage able candy jazz champion isolate diary group under entry decorate glare quiz job';
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX190ZXN0c19fL2hlbHBlcnMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUV4QiwrQ0FBNkQ7QUFDN0QsMkNBVXlCO0FBRVosUUFBQSxZQUFZLEdBQVcsNkNBQTZDLENBQUM7QUFDckUsUUFBQSxzQkFBc0IsR0FBVyw2Q0FBNkMsQ0FBQztBQUMvRSxRQUFBLGFBQWEsR0FBVyxjQUFjLENBQUM7QUFDdkMsUUFBQSxTQUFTLEdBQVcsd0JBQXdCLENBQUM7QUFFN0MsUUFBQSx5QkFBeUIsR0FBdUI7SUFDM0QsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixPQUFPLEVBQUUscUJBQWE7Q0FDdkIsQ0FBQztBQUVGLHVCQUF1QjtBQUNWLFFBQUEsWUFBWSxHQUFnQjtJQUN2QyxRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxrQkFBVSxDQUFDLFVBQVU7SUFDakMsVUFBVSxFQUFFLGtCQUFVLENBQUMsc0JBQXNCO0lBQzdDLElBQUksRUFBRSxrQkFBVSxDQUFDLFFBQVE7SUFDekIsUUFBUSxFQUFFLGNBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQzdCLFFBQVEsRUFBRSxjQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztJQUM5QixZQUFZLEVBQUUsS0FBSztJQUNuQixXQUFXLEVBQUUseUJBQWlCLENBQUMseUJBQXlCO0lBQ3hELFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGNBQWMsRUFBRSxDQUFDO0NBQ2xCLENBQUM7QUFFRix3QkFBd0I7QUFDWCxRQUFBLGtCQUFrQixHQUFpQjtJQUM5QyxRQUFRLEVBQUUsSUFBQSw4QkFBc0IsR0FBRTtJQUNsQyxVQUFVLEVBQUUsa0JBQVUsQ0FBQyxVQUFVO0lBQ2pDLFVBQVUsRUFBRSxrQkFBVSxDQUFDLHNCQUFzQjtJQUM3QyxZQUFZLEVB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
|
|
@@ -135,6 +135,41 @@ describe('Validations', () => {
|
|
|
135
135
|
const validationError = (0, validation_1.validateCancelOrderMessage)(0, order);
|
|
136
136
|
expect(validationError).toEqual(expectedError);
|
|
137
137
|
});
|
|
138
|
+
it.each([
|
|
139
|
+
['valid', constants_2.defaultBatchCancelOrder, undefined],
|
|
140
|
+
[
|
|
141
|
+
'overflow clientId',
|
|
142
|
+
{
|
|
143
|
+
...constants_2.defaultBatchCancelOrder,
|
|
144
|
+
shortTermOrders: [
|
|
145
|
+
...constants_2.defaultBatchCancelOrder.shortTermOrders,
|
|
146
|
+
{
|
|
147
|
+
clobPairId: types_1.ClobPairId.PERPETUAL_PAIR_ETH_USD,
|
|
148
|
+
clientIds: [MAX_UINT_32_PLUS_1],
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
new errors_1.UserError(`clientId: ${MAX_UINT_32_PLUS_1} is not a valid uint32`),
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
'underflow goodTilBlock',
|
|
156
|
+
{ ...constants_2.defaultBatchCancelOrder, goodTilBlock: -1 },
|
|
157
|
+
new errors_1.UserError(`goodTilBlock: ${-1} is not a valid uint32 or is 0`),
|
|
158
|
+
],
|
|
159
|
+
[
|
|
160
|
+
'overflow goodTilBlock',
|
|
161
|
+
{ ...constants_2.defaultBatchCancelOrder, goodTilBlock: MAX_UINT_32_PLUS_1 },
|
|
162
|
+
new errors_1.UserError(`goodTilBlock: ${MAX_UINT_32_PLUS_1} is not a valid uint32 or is 0`),
|
|
163
|
+
],
|
|
164
|
+
[
|
|
165
|
+
'0 goodTilBlock',
|
|
166
|
+
{ ...constants_2.defaultBatchCancelOrder, goodTilBlock: 0 },
|
|
167
|
+
new errors_1.UserError(`goodTilBlock: ${0} is not a valid uint32 or is 0`),
|
|
168
|
+
],
|
|
169
|
+
])('Validate batch cancel orders: %s', (_name, orders, expectedError) => {
|
|
170
|
+
const validationError = (0, validation_1.validateBatchCancelOrderMessage)(0, orders);
|
|
171
|
+
expect(validationError).toEqual(expectedError);
|
|
172
|
+
});
|
|
138
173
|
it.each([
|
|
139
174
|
['valid', constants_2.defaultTransfer, undefined],
|
|
140
175
|
[
|
|
@@ -216,4 +251,4 @@ describe('Validations', () => {
|
|
|
216
251
|
expect(validationResult).toEqual(expectedResult);
|
|
217
252
|
});
|
|
218
253
|
});
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX190ZXN0c19fL2xpYi92YWxpZGF0aW9uLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FPeUI7QUFDekIsdURBQTZFO0FBQzdFLGlEQUFpRDtBQUNqRCx5REFNa0M7QUFDbEMsb0RBTThCO0FBQzlCLGdEQUF3QjtBQUV4QixNQUFNLGtCQUFrQixHQUFXLHVCQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sNEJBQTRCLEdBQVcsaUNBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRXZFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDTixDQUFDLE9BQU8sRUFBRSx3QkFBWSxFQUFFLFNBQVMsQ0FBQztRQUNsQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsR0FBRyx3QkFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUM7UUFDakU7WUFDRSxvQkFBb0I7WUFDcEIsRUFBRSxHQUFHLHdCQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksa0JBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztTQUN2RDtRQUNEO1lBQ0UsbUJBQW1CO1lBQ25CLEVBQUUsR0FBRyx3QkFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtZQUNqRCxJQUFJLGtCQUFTLENBQUMsYUFBYSxrQkFBa0Isd0JBQXdCLENBQUM7U0FDdkU7UUFDRDtZQUNFLG9CQUFvQjtZQUNwQixFQUFFLEdBQUcsd0JBQVksRUFBRSxRQUFRLEVBQUUsY0FBSSxDQUFDLE9BQU8sRUFBRTtZQUMzQyxJQUFJLGtCQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsaUJBQWlCLENBQUM7U0FDaEQ7UUFDRDtZQUNFLHdCQUF3QjtZQUN4QixFQUFFLEdBQUcsd0JBQVks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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const src_1 = require("../src");
|
|
8
|
+
const composite_client_1 = require("../src/clients/composite-client");
|
|
9
|
+
const constants_1 = require("../src/clients/constants");
|
|
10
|
+
const local_wallet_1 = __importDefault(require("../src/clients/modules/local-wallet"));
|
|
11
|
+
const subaccount_1 = require("../src/clients/subaccount");
|
|
12
|
+
const utils_1 = require("../src/lib/utils");
|
|
13
|
+
const constants_2 = require("./constants");
|
|
14
|
+
const generateShortTermOrdersInfo = () => [
|
|
15
|
+
{
|
|
16
|
+
marketId: 'ETH-USD',
|
|
17
|
+
clientId: (0, utils_1.randomInt)(constants_2.MAX_CLIENT_ID),
|
|
18
|
+
side: constants_1.OrderSide.SELL,
|
|
19
|
+
price: 4000,
|
|
20
|
+
size: 0.01,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
marketId: 'ETH-USD',
|
|
24
|
+
clientId: (0, utils_1.randomInt)(constants_2.MAX_CLIENT_ID),
|
|
25
|
+
side: constants_1.OrderSide.SELL,
|
|
26
|
+
price: 4200,
|
|
27
|
+
size: 0.02,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
marketId: 'BTC-USD',
|
|
31
|
+
clientId: (0, utils_1.randomInt)(constants_2.MAX_CLIENT_ID),
|
|
32
|
+
side: constants_1.OrderSide.BUY,
|
|
33
|
+
price: 40000,
|
|
34
|
+
size: 0.01,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
const generateBatchCancelShortTermOrders = (ordersInfo) => {
|
|
38
|
+
const ordersGroupedByMarketIds = lodash_1.default.groupBy(ordersInfo, (info) => info.marketId);
|
|
39
|
+
return Object.keys(ordersGroupedByMarketIds).map((marketId) => ({
|
|
40
|
+
marketId,
|
|
41
|
+
clientIds: ordersGroupedByMarketIds[marketId].map((info) => info.clientId),
|
|
42
|
+
}));
|
|
43
|
+
};
|
|
44
|
+
async function test() {
|
|
45
|
+
try {
|
|
46
|
+
const wallet = await local_wallet_1.default.fromMnemonic(constants_2.DYDX_TEST_MNEMONIC, src_1.BECH32_PREFIX);
|
|
47
|
+
console.log('**Wallet**', wallet);
|
|
48
|
+
const network = constants_1.Network.testnet();
|
|
49
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
50
|
+
console.log('**Client**', client);
|
|
51
|
+
const subaccount = new subaccount_1.SubaccountInfo(wallet, 0);
|
|
52
|
+
const currentBlock = await client.validatorClient.get.latestBlockHeight();
|
|
53
|
+
const goodTilBlock = currentBlock + 10;
|
|
54
|
+
const shortTermOrdersInfo = generateShortTermOrdersInfo();
|
|
55
|
+
await placeShortTermOrders(client, subaccount, shortTermOrdersInfo, goodTilBlock);
|
|
56
|
+
await (0, utils_1.sleep)(5000);
|
|
57
|
+
await batchCancelOrders(client, subaccount, shortTermOrdersInfo, goodTilBlock);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error('**Test Failed**', error.message);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const placeShortTermOrders = async (client, subaccount, shortTermOrdersInfo, goodTilBlock) => {
|
|
64
|
+
const orderPromises = shortTermOrdersInfo.map(async (order) => {
|
|
65
|
+
try {
|
|
66
|
+
const tx = await client.placeShortTermOrder(subaccount, order.marketId, order.side, order.price, order.size, order.clientId, goodTilBlock, src_1.Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED, false);
|
|
67
|
+
console.log('**Short Term Order Tx**', tx.hash);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error(`**Short Term Order Failed for Market ${order.marketId}, Client ID ${order.clientId}**`, error.message);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
// Wait for all order placements to complete
|
|
74
|
+
await Promise.all(orderPromises);
|
|
75
|
+
};
|
|
76
|
+
const batchCancelOrders = async (client, subaccount, shortTermOrdersInfo, goodTilBlock) => {
|
|
77
|
+
const shortTermOrdersPayload = generateBatchCancelShortTermOrders(shortTermOrdersInfo);
|
|
78
|
+
try {
|
|
79
|
+
const tx = await client.batchCancelShortTermOrdersWithMarketId(subaccount, shortTermOrdersPayload, goodTilBlock + 10);
|
|
80
|
+
console.log('**Batch Cancel Short Term Orders Tx**', tx);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('**Batch Cancel Short Term Orders Failed**', error.message);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
test()
|
|
87
|
+
.then(() => {
|
|
88
|
+
console.log('**Batch Cancel Test Completed Successfully**');
|
|
89
|
+
})
|
|
90
|
+
.catch((error) => {
|
|
91
|
+
console.error('**Batch Cancel Test Execution Error**', error.message);
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FuY2VsX29yZGVyc19leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZXhhbXBsZXMvYmF0Y2hfY2FuY2VsX29yZGVyc19leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQXVCO0FBRXZCLGdDQUEwRDtBQUMxRCxzRUFBMEY7QUFDMUYsd0RBQThEO0FBQzlELHVGQUE4RDtBQUM5RCwwREFBMkQ7QUFDM0QsNENBQW9EO0FBQ3BELDJDQUFnRTtBQVVoRSxNQUFNLDJCQUEyQixHQUFHLEdBQWdCLEVBQUUsQ0FBQztJQUNyRDtRQUNFLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFFBQVEsRUFBRSxJQUFBLGlCQUFTLEVBQUMseUJBQWEsQ0FBQztRQUNsQyxJQUFJLEVBQUUscUJBQVMsQ0FBQyxJQUFJO1FBQ3BCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLElBQUk7S0FDWDtJQUNEO1FBQ0UsUUFBUSxFQUFFLFNBQVM7UUFDbkIsUUFBUSxFQUFFLElBQUEsaUJBQVMsRUFBQyx5QkFBYSxDQUFDO1FBQ2xDLElBQUksRUFBRSxxQkFBUyxDQUFDLElBQUk7UUFDcEIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsU0FBUztRQUNuQixRQUFRLEVBQUUsSUFBQSxpQkFBUyxFQUFDLHlCQUFhLENBQUM7UUFDbEMsSUFBSSxFQUFFLHFCQUFTLENBQUMsR0FBRztRQUNuQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxJQUFJO0tBQ1g7Q0FDRixDQUFDO0FBRUYsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLFVBQXVCLEVBQTRCLEVBQUU7SUFDL0YsTUFBTSx3QkFBd0IsR0FBRyxnQkFBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNo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
|
|
@@ -7,7 +7,7 @@ import { Network, OrderExecution, OrderSide, OrderTimeInForce, OrderType, Select
|
|
|
7
7
|
import { IndexerClient } from './indexer-client';
|
|
8
8
|
import LocalWallet from './modules/local-wallet';
|
|
9
9
|
import { SubaccountInfo } from './subaccount';
|
|
10
|
-
import { BroadcastMode } from './types';
|
|
10
|
+
import { BroadcastMode, OrderBatch } from './types';
|
|
11
11
|
import { ValidatorClient } from './validator-client';
|
|
12
12
|
export interface MarketInfo {
|
|
13
13
|
clobPairId: number;
|
|
@@ -16,6 +16,11 @@ export interface MarketInfo {
|
|
|
16
16
|
quantumConversionExponent: number;
|
|
17
17
|
subticksPerTick: number;
|
|
18
18
|
}
|
|
19
|
+
export interface OrderBatchWithMarketId {
|
|
20
|
+
marketId: string;
|
|
21
|
+
clobPairId?: number;
|
|
22
|
+
clientIds: number[];
|
|
23
|
+
}
|
|
19
24
|
export declare class CompositeClient {
|
|
20
25
|
readonly network: Network;
|
|
21
26
|
gasDenom: SelectedGasDenom;
|
|
@@ -232,6 +237,24 @@ export declare class CompositeClient {
|
|
|
232
237
|
* @returns The transaction hash.
|
|
233
238
|
*/
|
|
234
239
|
cancelOrder(subaccount: SubaccountInfo, clientId: number, orderFlags: OrderFlags, marketId: string, goodTilBlock?: number, goodTilTimeInSeconds?: number): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
240
|
+
/**
|
|
241
|
+
* @description Batch cancel short term orders using marketId to clobPairId translation.
|
|
242
|
+
*
|
|
243
|
+
* @param subaccount The subaccount to cancel the order from
|
|
244
|
+
* @param shortTermOrders The list of short term order batches to cancel with marketId
|
|
245
|
+
* @param goodTilBlock The goodTilBlock of the order to cancel
|
|
246
|
+
* @returns The transaction hash.
|
|
247
|
+
*/
|
|
248
|
+
batchCancelShortTermOrdersWithMarketId(subaccount: SubaccountInfo, shortTermOrders: OrderBatchWithMarketId[], goodTilBlock: number, broadcastMode?: BroadcastMode): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
249
|
+
/**
|
|
250
|
+
* @description Batch cancel short term orders using clobPairId.
|
|
251
|
+
*
|
|
252
|
+
* @param subaccount The subaccount to cancel the order from
|
|
253
|
+
* @param shortTermOrders The list of short term order batches to cancel with clobPairId
|
|
254
|
+
* @param goodTilBlock The goodTilBlock of the order to cancel
|
|
255
|
+
* @returns The transaction hash.
|
|
256
|
+
*/
|
|
257
|
+
batchCancelShortTermOrdersWithClobPairId(subaccount: SubaccountInfo, shortTermOrders: OrderBatch[], goodTilBlock: number, broadcastMode?: BroadcastMode): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
235
258
|
/**
|
|
236
259
|
* @description Transfer from a subaccount to another subaccount
|
|
237
260
|
*
|
|
@@ -421,6 +421,32 @@ class CompositeClient {
|
|
|
421
421
|
}
|
|
422
422
|
return this.validatorClient.post.cancelOrder(subaccount, clientId, orderFlags, clobPairId, goodTilBlock, goodTilBlockTime);
|
|
423
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* @description Batch cancel short term orders using marketId to clobPairId translation.
|
|
426
|
+
*
|
|
427
|
+
* @param subaccount The subaccount to cancel the order from
|
|
428
|
+
* @param shortTermOrders The list of short term order batches to cancel with marketId
|
|
429
|
+
* @param goodTilBlock The goodTilBlock of the order to cancel
|
|
430
|
+
* @returns The transaction hash.
|
|
431
|
+
*/
|
|
432
|
+
async batchCancelShortTermOrdersWithMarketId(subaccount, shortTermOrders, goodTilBlock, broadcastMode) {
|
|
433
|
+
const orderBatches = await Promise.all(shortTermOrders.map(async ({ marketId, clobPairId, clientIds }) => ({
|
|
434
|
+
clobPairId: (clobPairId !== null && clobPairId !== void 0 ? clobPairId : (await this.indexerClient.markets.getPerpetualMarkets(marketId)).markets[marketId]).clobPairId,
|
|
435
|
+
clientIds
|
|
436
|
+
})));
|
|
437
|
+
return this.validatorClient.post.batchCancelShortTermOrders(subaccount, orderBatches, goodTilBlock, broadcastMode);
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* @description Batch cancel short term orders using clobPairId.
|
|
441
|
+
*
|
|
442
|
+
* @param subaccount The subaccount to cancel the order from
|
|
443
|
+
* @param shortTermOrders The list of short term order batches to cancel with clobPairId
|
|
444
|
+
* @param goodTilBlock The goodTilBlock of the order to cancel
|
|
445
|
+
* @returns The transaction hash.
|
|
446
|
+
*/
|
|
447
|
+
async batchCancelShortTermOrdersWithClobPairId(subaccount, shortTermOrders, goodTilBlock, broadcastMode) {
|
|
448
|
+
return this.validatorClient.post.batchCancelShortTermOrders(subaccount, shortTermOrders, goodTilBlock, broadcastMode);
|
|
449
|
+
}
|
|
424
450
|
/**
|
|
425
451
|
* @description Transfer from a subaccount to another subaccount
|
|
426
452
|
*
|
|
@@ -649,4 +675,4 @@ class CompositeClient {
|
|
|
649
675
|
}
|
|
650
676
|
}
|
|
651
677
|
exports.CompositeClient = CompositeClient;
|
|
652
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMkRBQWdEO0FBS2hELHNGQUdvRTtBQUNwRSxtQ0FBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyxrREFBc0U7QUFDdEUsb0NBQTZEO0FBQzdELDJDQVNxQjtBQUNyQiwyREFTaUM7QUFDakMscURBQWlEO0FBQ2pELHlDQUF5QztBQUN6Qyw2Q0FBa0Q7QUFJbEQseURBQXFEO0FBRXJELG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFVckIsTUFBYSxlQUFlO0lBWTFCLFlBQW9CLE9BQWdCLEVBQUUsVUFBbUI7UUFWbEQsYUFBUSxHQUFxQiw0QkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFXeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLDhCQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBVEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZ0I7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQU9PLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLGtDQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENB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
|
|
678
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMkRBQWdEO0FBS2hELHNGQUdvRTtBQUNwRSxtQ0FBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyxrREFBc0U7QUFDdEUsb0NBQTZEO0FBQzdELDJDQVNxQjtBQUNyQiwyREFTaUM7QUFDakMscURBQWlEO0FBQ2pELHlDQUF5QztBQUN6Qyw2Q0FBa0Q7QUFJbEQseURBQXFEO0FBRXJELG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFnQnJCLE1BQWEsZUFBZTtJQVkxQixZQUFvQixPQUFnQixFQUFFLFVBQW1CO1FBVmxELGFBQVEsR0FBcUIsNEJBQWdCLENBQUMsSUFBSSxDQUFDO1FBV3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSw4QkFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQVRELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZjs7V0FFRztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCOztXQUVHO1FBQ0gsT0FBTyxJQUFJLENBQUMsZ0JBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7SUFDaEQsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQTBCO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQ1IsTUFBbUIsRUFDbkIsU0FBd0MsRUFDeEMsT0FBZ0IsRUFDaEIsUUFBbUIsRUFDbkIsSUFBYSxFQUNiLE9BQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUNSLE1BQW1CLEVBQ25CLFNBQXdDLEVBQ3hDLE9BQWdCLEVBQ2hCLFFBQW1CLEVBQ25CLElBQWEsRUFDYixhQUE2QixFQUM3QixPQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkMsTUFBTSxFQUNOLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBQ2IsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMscUJBQXFCLENBQ3pCLGlCQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQ1osTUFBbUIsRUFDbkIsU0FBd0MsRUFDeEMsUUFBbUIsRUFDbkIsSUFBYSxFQUNiLE9BQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUssS0FBSyxDQUFDLHFCQUFxQixDQUNqQyxVQUFzQixFQUN0QixhQUFzQixFQUN0QixZQUFxQjtRQUVyQixJQUFJLFVBQVUsS0FBSyxrQkFBVSxDQUFDLFVBQVUsRUFBRTtZQUN4QyxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLENBQUMsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO2dCQUM3RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsTUFBTSxNQUFNLEdBQUcsYUFBYSxhQUFiLGFBQWEsY0FBYixhQUFhLEdBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztnQkFDckYsT0FBTyxNQUFNLEdBQUcsK0JBQW1CLENBQUM7YUFDckM7U0FDRjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssS0FBSyxDQUFDLG9CQUFvQixDQUFDLFlBQW9CO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLEdBQUcsOEJBQWtCLENBQUM7UUFDN0QsSUFBSSxZQUFZLEdBQUcsVUFBVSxJQUFJLFlBQVksR0FBRyxVQUFVLEVBQUU7WUFDMUQsTUFBTSxJQUFJLGtCQUFTLENBQUM7NkNBQ21CLFVBQVUsOEJBQThCLFVBQVU7bUNBQzVELFlBQVksRUFBRSxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0sseUJBQXlCLENBQUMsb0JBQTRCO1FBQzVELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLEdBQUcscUJBQXFCLENBQUM7UUFDOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW9CRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FDdkIsVUFBMEIsRUFDMUIsUUFBZ0IsRUFDaEIsSUFBZSxFQUNmLEtBQWEsRUFDYixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBb0IsRUFDcEIsV0FBOEIsRUFDOUIsVUFBbUIsRUFDbkIsSUFBYTtRQUViLE1BQU0sSUFBSSxHQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQ3pDLFVBQVUsRUFDVixRQUFRLEVBQ1IsSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBQ1gsVUFBVSxDQUNYLENBQUM7WUFDRixHQUFHO2lCQUNBLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDM0IsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ2pFLFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFNBQVMsQ0FDVixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLEdBQUcsRUFBRSxDQUFDLElBQUksRUFDVixJQUFJLEVBQ0osU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQThCRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQ2QsVUFBMEIsRUFDMUIsUUFBZ0IsRUFDaEIsSUFBZSxFQUNmLElBQWUsRUFDZixLQUFhLEVBQ2IsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLFdBQThCLEVBQzlCLG9CQUE2QixFQUM3QixTQUEwQixFQUMxQixRQUFrQixFQUNsQixVQUFvQixFQUNwQixZQUFxQixFQUNyQixVQUF1QixFQUN2QixhQUFzQixFQUN0QixZQUFxQixFQUNyQixJQUFhO1FBRWIsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUNoQyxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLEVBQ1IsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLGFBQWEsRUFDYixZQUFZLENBQ2IsQ0FBQztZQUNGLEdBQUc7aUJBQ0EsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMzQixLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFBLG1DQUFtQixFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxRCxNQUFNLE9BQU8sR0FBcUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNqRSxVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQ1gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFDSyxLQUFLLENBQUMsaUJBQWlCLENBQzdCLFVBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLElBQWUsRUFDZixJQUFlLEVBQ2YsS0FBYTtJQUNiLDREQUE0RDtJQUM1RCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsV0FBOEIsRUFDOUIsb0JBQTZCLEVBQzdCLFNBQTBCLEVBQzFCLFFBQWtCLEVBQ2xCLFVBQW9CLEVBQ3BCLFlBQXFCLEVBQ3JCLFVBQXVCLEVBQ3ZCLGFBQXNCLEVBQ3RCLFlBQXFCO1FBRXJCLE1BQU0sVUFBVSxHQUFHLElBQUEsbUNBQW1CLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7WUFDbkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztRQUN0RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQUEsNkJBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFBLGlDQUFpQixFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sUUFBUSxHQUFHLElBQUEsaUNBQWlCLEVBQ2hDLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLGVBQWUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxvQ0FBb0IsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN0RixJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLFVBQVUsS0FBSyxrQkFBVSxDQUFDLFNBQVMsSUFBSSxVQUFVLEtBQUssa0JBQVUsQ0FBQyxXQUFXLEVBQUU7WUFDaEYsSUFBSSxvQkFBb0IsSUFBSSxJQUFJLEVBQUU7Z0JBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQzthQUN4RjtpQkFBTTtnQkFDTCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUN6RTtTQUNGO1FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBQSx1Q0FBdUIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFBLHNDQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sK0JBQStCLEdBQUcsSUFBQSx3REFBd0MsRUFDOUUsSUFBSSxFQUNKLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLFlBQVksQ0FDYixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQzVELFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsVUFBVSxhQUFWLFVBQVUsY0FBVixVQUFVLEdBQUksS0FBSyxFQUNuQixjQUFjLEVBQ2QsZUFBZSxFQUNmLCtCQUErQixDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLFVBQXVCO1FBQ3hFLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZGLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNyQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNqRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNqRCxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztZQUNuRSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQy9DLE9BQU87Z0JBQ0wsVUFBVTtnQkFDVixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIseUJBQXlCO2dCQUN6QixlQUFlO2FBQ2hCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSyxLQUFLLENBQUMsMEJBQTBCLENBQ3RDLFVBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLElBQWUsRUFDZixLQUFhLEVBQ2IsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLFlBQW9CLEVBQ3BCLFdBQThCLEVBQzlCLFVBQW1CO1FBRW5CLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlDLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkYsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDO1FBQ25FLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBQSw2QkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUEsaUNBQWlCLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDN0UsTUFBTSxRQUFRLEdBQUcsSUFBQSxpQ0FBaUIsRUFDaEMsS0FBSyxFQUNMLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsZUFBZSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUcsa0JBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQzVELFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLENBQUMsRUFBRSxzQ0FBc0M7UUFDekMsU0FBUyxFQUNULFFBQVEsRUFDUixRQUFRLEVBQ1IsV0FBVyxFQUNYLFVBQVUsRUFDVixDQUFDLEVBQUUsOENBQThDO1FBQ2pELDJCQUFtQixDQUFDLDBCQUEwQixFQUFFLDJDQUEyQztRQUMzRixjQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUNsQixVQUEwQixFQUMxQixRQUFnQixFQUNoQixVQUFzQixFQUN0QixVQUFrQixFQUNsQixZQUFxQixFQUNyQixnQkFBeUI7UUFFekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQzFDLFVBQVUsRUFDVixRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLENBQ2pCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQ2YsVUFBMEIsRUFDMUIsUUFBZ0IsRUFDaEIsVUFBc0IsRUFDdEIsUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsb0JBQTZCO1FBRTdCLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkYsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFBLDZCQUFnQixFQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLGdCQUFnQixDQUFDO1FBQ3JCLElBQUksSUFBQSw0QkFBZSxFQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQy9CLElBQUksb0JBQW9CLEtBQUssU0FBUyxJQUFJLG9CQUFvQixLQUFLLENBQUMsRUFBRTtnQkFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO2FBQ3hGO1lBQ0QsSUFBSSxZQUFZLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixNQUFNLElBQUksS0FBSyxDQUNiLG9FQUFvRTtvQkFDbEUsbURBQW1ELENBQ3RELENBQUM7YUFDSDtZQUNELGdCQUFnQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDTCxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLENBQUMsRUFBRTtnQkFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO2FBQ3hFO1lBQ0QsSUFBSSxvQkFBb0IsS0FBSyxTQUFTLElBQUksb0JBQW9CLEtBQUssQ0FBQyxFQUFFO2dCQUNwRSxNQUFNLElBQUksS0FBSyxDQUNiLCtHQUErRyxDQUNoSCxDQUFDO2FBQ0g7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUMxQyxVQUFVLEVBQ1YsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixDQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O0tBT0M7SUFDSCxLQUFLLENBQUMsc0NBQXNDLENBQzFDLFVBQTBCLEVBQzFCLGVBQXlDLEVBQ3pDLFlBQW9CLEVBQ3BCLGFBQTZCO1FBRTdCLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDcEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLFVBQVUsRUFBRSxDQUNWLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUNWLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FDbkYsQ0FBQyxVQUFVO1lBQ1osU0FBUztTQUFFLENBQUMsQ0FBQyxDQUNoQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FDekQsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUM7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyx3Q0FBd0MsQ0FDNUMsVUFBMEIsRUFDMUIsZUFBNkIsRUFDN0IsWUFBb0IsRUFDcEIsYUFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FDekQsVUFBVSxFQUNWLGVBQWUsRUFDZixZQUFZLEVBQ1osYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxLQUFLLENBQUMsb0JBQW9CLENBQ3hCLFVBQTBCLEVBQzFCLGdCQUF3QixFQUN4Qix5QkFBaUMsRUFDakMsTUFBYyxFQUNkLElBQWEsRUFDYixhQUE2QjtRQUU3QixNQUFNLElBQUksR0FBNEIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQzFDLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxJQUFJLEVBQ0osYUFBYSxhQUFiLGFBQWEsY0FBYixhQUFhLEdBQUksdUJBQU0sQ0FBQyxpQkFBaUIsQ0FDMUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCwyQkFBMkIsQ0FDekIsVUFBMEIsRUFDMUIsZ0JBQXdCLEVBQ3hCLHlCQUFpQyxFQUNqQyxNQUFjO1FBRWQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDNUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFBLG1CQUFVLEVBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM1QztRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUMxRCxVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsZ0JBQWdCLEVBQzNCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsQ0FBQyxFQUNELGNBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUN2QixVQUEwQixFQUMxQixNQUFjLEVBQ2QsSUFBYTtRQUViLE1BQU0sSUFBSSxHQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILDBCQUEwQixDQUFDLFVBQTBCLEVBQUUsTUFBYztRQUNuRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM1QztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVUsRUFBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakYsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQ3JFLFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsQ0FBQyxFQUNELGNBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsVUFBMEIsRUFDMUIsTUFBYyxFQUNkLFNBQWtCLEVBQ2xCLElBQWE7UUFFYixNQUFNLElBQUksR0FBNEIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM5RSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsNkJBQTZCLENBQzNCLFVBQTBCLEVBQzFCLE1BQWMsRUFDZCxTQUFrQjtRQUVsQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM1QztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVUsRUFBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakYsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQ3hFLFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsQ0FBQyxFQUNELGNBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ3BDLFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBbUIsRUFBRSxNQUFjLEVBQUUsU0FBaUI7O1FBQ3JFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxrQkFBUyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDOUU7UUFDRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLEdBQ2xGLENBQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLE1BQU0sQ0FBQyxNQUFNLEtBQUksRUFBRSxDQUFDO1FBRTdDLElBQUksZUFBZSxLQUFLLFNBQVMsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUU7WUFDckUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSxtQkFBVSxFQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUMzRCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixRQUFRLENBQUMsUUFBUSxFQUFFLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FDbEIsVUFBMEIsRUFDMUIsUUFBZ0IsRUFDaEIsSUFBZSxFQUNmLElBQWUsRUFDZixLQUFhO0lBQ2IsNERBQTREO0lBQzVELElBQVksRUFDWixRQUFnQixFQUNoQixXQUE2QixFQUM3QixvQkFBNEIsRUFDNUIsU0FBeUIsRUFDekIsUUFBaUIsRUFDakIsVUFBbUI7UUFFbkIsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUNoQyxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSztZQUNMLDREQUE0RDtZQUM1RCxJQUFJLEVBQ0osUUFBUSxFQUNSLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLENBQ1gsQ0FBQztZQUNGLEdBQUc7aUJBQ0EsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMzQixLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixVQUEwQixFQUMxQixRQUFnQixFQUNoQixVQUFzQixFQUN0QixVQUFrQixFQUNsQixZQUFvQixFQUNwQixnQkFBd0I7UUFFeEIsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUNsRSxVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsZ0JBQWdCLEVBQzNCLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixnQkFBZ0IsQ0FDakIsQ0FBQztZQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyw2QkFBNkIsQ0FDakMsTUFBbUIsRUFDbkIsTUFBNkIsRUFDN0IsS0FBYSxFQUNiLE9BQWUsRUFDZixvQkFBNEIsRUFDNUIsSUFBYSxFQUNiLFFBQWlCLEVBQ2pCLFNBQW1CO1FBRW5CLE1BQU0sR0FBRyxHQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDJCQUFnQixHQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEdBQW1CLEVBQUUsQ0FBQztZQUVoQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztZQUU3RCxpQ0FBaUM7WUFDakMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsNEJBQTRCLENBQzlELE1BQU0sQ0FBQyxFQUFFLEVBQ1QsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsYUFBYSxFQUNwQixNQUFNLENBQUMsWUFBWSxFQUNuQixNQUFNLENBQUMsY0FBYyxFQUNyQixNQUFNLENBQUMsa0JBQWtCLENBQzFCLENBQUM7WUFFRixrQ0FBa0M7WUFDbEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLHlCQUF5QixDQUN4RCxNQUFNLENBQUMsRUFBRSxFQUNULFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUMvQixNQUFNLENBQUMsTUFBTSxFQUNiLE1BQU0sQ0FBQyxnQkFBZ0IsRUFDdkIsTUFBTSxDQUFDLGFBQWEsRUFDcEIsTUFBTSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztZQUVGLDJCQUEyQjtZQUMzQixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQ3RELE1BQU0sQ0FBQyxFQUFFLEVBQ1QsTUFBTSxDQUFDLEVBQUUsRUFDVCxNQUFNLENBQUMseUJBQXlCLEVBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFDdkIsTUFBTSxDQUFDLGVBQWUsQ0FDdkIsQ0FBQztZQUVGLDJCQUEyQjtZQUMzQixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQ3RELE1BQU0sQ0FBQyxFQUFFLEVBQ1QsTUFBTSxDQUFDLEVBQUUsRUFDVCxNQUFNLENBQUMseUJBQXlCLEVBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFDdkIsTUFBTSxDQUFDLGVBQWUsQ0FDdkIsQ0FBQztZQUVGLDZCQUE2QjtZQUM3QixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsc0JBQXNCO1lBQ2xELGtFQUFrRTtZQUNsRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxFQUNuRCxNQUFNLENBQUMsV0FBVyxDQUNuQixDQUFDO1lBRUYscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFeEIsNkJBQTZCO1lBQzdCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyx3QkFBd0IsQ0FDdEQsS0FBSyxFQUNMLG9CQUFvQixFQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsd0JBQXdCO1lBQzVELE9BQU87WUFDUCx1RUFBdUU7WUFDdkUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFDNUMsTUFBTSxDQUFDLE9BQVEsRUFBRSxXQUFXO1lBQzVCLFFBQVEsRUFDUixTQUFTLENBQ1YsQ0FBQztZQUVGLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQTlqQ0QsMENBOGpDQyJ9
|
|
@@ -44,6 +44,7 @@ export declare const TYPE_URL_MSG_SEND = "/cosmos.bank.v1beta1.MsgSend";
|
|
|
44
44
|
export declare const TYPE_URL_MSG_SUBMIT_PROPOSAL = "/cosmos.gov.v1.MsgSubmitProposal";
|
|
45
45
|
export declare const TYPE_URL_MSG_PLACE_ORDER = "/dydxprotocol.clob.MsgPlaceOrder";
|
|
46
46
|
export declare const TYPE_URL_MSG_CANCEL_ORDER = "/dydxprotocol.clob.MsgCancelOrder";
|
|
47
|
+
export declare const TYPE_URL_BATCH_CANCEL = "/dydxprotocol.clob.MsgBatchCancel";
|
|
47
48
|
export declare const TYPE_URL_MSG_CREATE_CLOB_PAIR = "/dydxprotocol.clob.MsgCreateClobPair";
|
|
48
49
|
export declare const TYPE_URL_MSG_UPDATE_CLOB_PAIR = "/dydxprotocol.clob.MsgUpdateClobPair";
|
|
49
50
|
export declare const TYPE_URL_MSG_DELAY_MESSAGE = "/dydxprotocol.delaymsg.MsgDelayMessage";
|
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.Network = exports.ValidatorConfig = exports.IndexerConfig = exports.PAGE_REQUEST = exports.SHORT_BLOCK_FORWARD = exports.SHORT_BLOCK_WINDOW = exports.MAX_MEMO_CHARACTERS = exports.DEFAULT_API_TIMEOUT = exports.TimePeriod = exports.PositionStatus = exports.TickerType = exports.OrderStatus = exports.OrderExecution = exports.OrderTimeInForce = exports.OrderSide = exports.OrderType = exports.MarketStatisticDay = exports.DELAYMSG_MODULE_ADDRESS = exports.GOV_MODULE_ADDRESS = exports.TYPE_URL_MSG_WITHDRAW_DELEGATOR_REWARD = exports.TYPE_URL_MSG_UNDELEGATE = exports.TYPE_URL_MSG_DELEGATE = exports.TYPE_URL_MSG_DEPOSIT_TO_SUBACCOUNT = exports.TYPE_URL_MSG_WITHDRAW_FROM_SUBACCOUNT = exports.TYPE_URL_MSG_CREATE_TRANSFER = exports.TYPE_URL_MSG_CREATE_ORACLE_MARKET = exports.TYPE_URL_MSG_CREATE_PERPETUAL = exports.TYPE_URL_MSG_DELAY_MESSAGE = exports.TYPE_URL_MSG_UPDATE_CLOB_PAIR = exports.TYPE_URL_MSG_CREATE_CLOB_PAIR = exports.TYPE_URL_MSG_CANCEL_ORDER = exports.TYPE_URL_MSG_PLACE_ORDER = exports.TYPE_URL_MSG_SUBMIT_PROPOSAL = exports.TYPE_URL_MSG_SEND = exports.SelectedGasDenom = exports.NETWORK_ID_MAINNET = exports.NETWORK_ID_TESTNET = exports.NetworkId = exports.ValidatorApiHost = exports.FaucetApiHost = exports.IndexerWSHost = exports.IndexerApiHost = exports.MAINNET_CHAIN_ID = exports.LOCAL_CHAIN_ID = exports.TESTNET_CHAIN_ID = exports.STAGING_CHAIN_ID = exports.DEV_CHAIN_ID = void 0;
|
|
20
|
+
exports.Network = exports.ValidatorConfig = exports.IndexerConfig = exports.PAGE_REQUEST = exports.SHORT_BLOCK_FORWARD = exports.SHORT_BLOCK_WINDOW = exports.MAX_MEMO_CHARACTERS = exports.DEFAULT_API_TIMEOUT = exports.TimePeriod = exports.PositionStatus = exports.TickerType = exports.OrderStatus = exports.OrderExecution = exports.OrderTimeInForce = exports.OrderSide = exports.OrderType = exports.MarketStatisticDay = exports.DELAYMSG_MODULE_ADDRESS = exports.GOV_MODULE_ADDRESS = exports.TYPE_URL_MSG_WITHDRAW_DELEGATOR_REWARD = exports.TYPE_URL_MSG_UNDELEGATE = exports.TYPE_URL_MSG_DELEGATE = exports.TYPE_URL_MSG_DEPOSIT_TO_SUBACCOUNT = exports.TYPE_URL_MSG_WITHDRAW_FROM_SUBACCOUNT = exports.TYPE_URL_MSG_CREATE_TRANSFER = exports.TYPE_URL_MSG_CREATE_ORACLE_MARKET = exports.TYPE_URL_MSG_CREATE_PERPETUAL = exports.TYPE_URL_MSG_DELAY_MESSAGE = exports.TYPE_URL_MSG_UPDATE_CLOB_PAIR = exports.TYPE_URL_MSG_CREATE_CLOB_PAIR = exports.TYPE_URL_BATCH_CANCEL = exports.TYPE_URL_MSG_CANCEL_ORDER = exports.TYPE_URL_MSG_PLACE_ORDER = exports.TYPE_URL_MSG_SUBMIT_PROPOSAL = exports.TYPE_URL_MSG_SEND = exports.SelectedGasDenom = exports.NETWORK_ID_MAINNET = exports.NETWORK_ID_TESTNET = exports.NetworkId = exports.ValidatorApiHost = exports.FaucetApiHost = exports.IndexerWSHost = exports.IndexerApiHost = exports.MAINNET_CHAIN_ID = exports.LOCAL_CHAIN_ID = exports.TESTNET_CHAIN_ID = exports.STAGING_CHAIN_ID = exports.DEV_CHAIN_ID = void 0;
|
|
21
21
|
const long_1 = __importDefault(require("long"));
|
|
22
22
|
__exportStar(require("../lib/constants"), exports);
|
|
23
23
|
/**
|
|
@@ -85,6 +85,7 @@ exports.TYPE_URL_MSG_SUBMIT_PROPOSAL = '/cosmos.gov.v1.MsgSubmitProposal';
|
|
|
85
85
|
// x/clob
|
|
86
86
|
exports.TYPE_URL_MSG_PLACE_ORDER = '/dydxprotocol.clob.MsgPlaceOrder';
|
|
87
87
|
exports.TYPE_URL_MSG_CANCEL_ORDER = '/dydxprotocol.clob.MsgCancelOrder';
|
|
88
|
+
exports.TYPE_URL_BATCH_CANCEL = '/dydxprotocol.clob.MsgBatchCancel';
|
|
88
89
|
exports.TYPE_URL_MSG_CREATE_CLOB_PAIR = '/dydxprotocol.clob.MsgCreateClobPair';
|
|
89
90
|
exports.TYPE_URL_MSG_UPDATE_CLOB_PAIR = '/dydxprotocol.clob.MsgUpdateClobPair';
|
|
90
91
|
// x/delaymsg
|
|
@@ -249,4 +250,4 @@ class Network {
|
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
252
|
exports.Network = Network;
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsZ0RBQXdCO0FBSXhCLG1EQUFpQztBQUVqQzs7Ozs7R0FLRztBQUVILFdBQVc7QUFDRSxRQUFBLFlBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0QyxRQUFBLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFDLFFBQUEsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEMsUUFBQSxjQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsMkNBQTJDO0FBQzlCLFFBQUEsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQscUNBQXFDO0FBQ3JDLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixzRUFBb0QsQ0FBQTtJQUNwRCxpREFBK0IsQ0FBQTtJQUMvQiwyQ0FBMkM7SUFDM0Msd0RBQXNDLENBQUE7QUFDeEMsQ0FBQyxFQUxXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBS3pCO0FBRUQsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGtFQUFpRCxDQUFBO0lBQ2pELDhDQUE2QixDQUFBO0lBQzdCLDJDQUEyQztJQUMzQywyREFBMEMsQ0FBQTtBQUM1QyxDQUFDLEVBTFcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFLeEI7QUFFRCxJQUFZLGFBRVg7QUFGRCxXQUFZLGFBQWE7SUFDdkIsbUVBQWtELENBQUE7QUFDcEQsQ0FBQyxFQUZXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBRXhCO0FBRUQsSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLCtEQUEyQyxDQUFBO0lBQzNDLG9EQUFnQyxDQUFBO0lBQ2hDLDJDQUEyQztJQUMzQyxzRUFBa0QsQ0FBQTtBQUNwRCxDQUFDLEVBTFcsZ0JBQWdC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
|
|
@@ -16,6 +16,7 @@ function generateRegistry() {
|
|
|
16
16
|
// clob
|
|
17
17
|
[constants_1.TYPE_URL_MSG_PLACE_ORDER, tx_1.MsgPlaceOrder],
|
|
18
18
|
[constants_1.TYPE_URL_MSG_CANCEL_ORDER, tx_1.MsgCancelOrder],
|
|
19
|
+
[constants_1.TYPE_URL_BATCH_CANCEL, tx_1.MsgBatchCancel],
|
|
19
20
|
[constants_1.TYPE_URL_MSG_CREATE_CLOB_PAIR, tx_1.MsgCreateClobPair],
|
|
20
21
|
[constants_1.TYPE_URL_MSG_UPDATE_CLOB_PAIR, tx_1.MsgUpdateClobPair],
|
|
21
22
|
// delaymsg
|
|
@@ -33,4 +34,4 @@ function generateRegistry() {
|
|
|
33
34
|
]);
|
|
34
35
|
}
|
|
35
36
|
exports.generateRegistry = generateRegistry;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9saWIvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQWdFO0FBQ2hFLCtDQUF3RDtBQUN4RCxnRkFNaUU7QUFDakUsb0ZBQThGO0FBQzlGLHNGQUFtRztBQUNuRyxrRkFBa0c7QUFDbEcsK0ZBRzBFO0FBQzFFLG1GQUErRjtBQUUvRiw0Q0FZc0I7QUFFVCxRQUFBLFFBQVEsR0FBMkMsRUFBRSxDQUFDO0FBQ25FLFNBQWdCLGdCQUFnQjtJQUM5QixPQUFPLElBQUksd0JBQVEsQ0FBQztRQUNsQixPQUFPO1FBQ1AsQ0FBQyxvQ0FBd0IsRUFBRSxrQkFBOEIsQ0FBQztRQUMxRCxDQUFDLHFDQUF5QixFQUFFLG1CQUErQixDQUFDO1FBQzVELENBQUMsaUNBQXFCLEVBQUUsbUJBQStCLENBQUM7UUFDeEQsQ0FBQyx5Q0FBNkIsRUFBRSxzQkFBa0MsQ0FBQztRQUNuRSxDQUFDLHlDQUE2QixFQUFFLHNCQUFrQyxDQUFDO1FBRW5FLFdBQVc7UUFDWCxDQUFDLHNDQUEwQixFQUFFLG9CQUFnQyxDQUFDO1FBRTlELGFBQWE7UUFDYixDQUFDLHlDQUE2QixFQUFFLHVCQUFtQyxDQUFDO1FBRXBFLFNBQVM7UUFDVCxDQUFDLDZDQUFpQyxFQUFFLDBCQUFzQyxDQUFDO1FBRTNFLFVBQVU7UUFDVixDQUFDLHdDQUE0QixFQUFFLHNCQUFrQyxDQUFDO1FBQ2xFLENBQUMsaURBQXFDLEVBQUUsb0NBQTBDLENBQUM7UUFDbkYsQ0FBQyw4Q0FBa0MsRUFBRSxpQ0FBdUMsQ0FBQztRQUU3RSxnQkFBZ0I7UUFDaEIsR0FBRywrQkFBb0I7S0FDeEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQTFCRCw0Q0EwQkMifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EncodeObject, Registry } from '@cosmjs/proto-signing';
|
|
2
|
+
import { OrderBatch } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx';
|
|
2
3
|
import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual';
|
|
3
4
|
import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin';
|
|
4
5
|
import { Any } from 'cosmjs-types/google/protobuf/any';
|
|
@@ -8,6 +9,7 @@ import { Order_ConditionType, Order_Side, Order_TimeInForce } from './proto-incl
|
|
|
8
9
|
export declare class Composer {
|
|
9
10
|
composeMsgPlaceOrder(address: string, subaccountNumber: number, clientId: number, clobPairId: number, orderFlags: number, goodTilBlock: number, goodTilBlockTime: number, side: Order_Side, quantums: Long, subticks: Long, timeInForce: Order_TimeInForce, reduceOnly: boolean, clientMetadata: number, conditionType?: Order_ConditionType, conditionalOrderTriggerSubticks?: Long): EncodeObject;
|
|
10
11
|
composeMsgCancelOrder(address: string, subaccountNumber: number, clientId: number, clobPairId: number, orderFlags: number, goodTilBlock: number, goodTilBlockTime: number): EncodeObject;
|
|
12
|
+
composeMsgBatchCancelShortTermOrders(address: string, subaccountNumber: number, shortTermCancels: OrderBatch[], goodTilBlock: number): EncodeObject;
|
|
11
13
|
composeMsgCreateClobPair(clobId: number, perpetualId: number, quantumConversionExponent: number, stepBaseQuantums: Long, subticksPerTick: number): EncodeObject;
|
|
12
14
|
composeMsgUpdateClobPair(clobId: number, perpetualId: number, quantumConversionExponent: number, stepBaseQuantums: Long, subticksPerTick: number): EncodeObject;
|
|
13
15
|
composeMsgTransfer(address: string, subaccountNumber: number, recipientAddress: string, recipientSubaccountNumber: number, assetId: number, amount: Long): EncodeObject;
|