@dydxprotocol/v4-client-js 1.2.0 → 1.3.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/__native__/__ios__/v4-native-client.js +5656 -5599
- 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/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +158 -158
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/accountplus.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/accountplus.js +127 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/genesis.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/genesis.js +65 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +2762 -1461
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +290 -249
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.d.ts +2 -3
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.js +3 -4
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.d.ts +5 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.js +11 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/process_proposer_matches_events.d.ts +6 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +1 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +130 -6
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +252 -5
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +9 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +10 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts +202 -4
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +329 -6
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.d.ts +28 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +92 -7
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/shared/removal_reason.d.ts +5 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +11 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/socks/messages.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/socks/messages.js +54 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.d.ts +2 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.js +7 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.d.ts +19 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.js +64 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.d.ts +27 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.js +90 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.rpc.Query.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.rpc.Query.js +52 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.js +98 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/pending_send_packet.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/pending_send_packet.js +73 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.d.ts +37 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.js +65 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.lcd.d.ts +2 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.lcd.js +7 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.rpc.Query.d.ts +5 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.rpc.Query.js +10 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/genesis.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/genesis.js +64 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/params.d.ts +29 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/params.js +80 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.d.ts +55 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +162 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.d.ts +10 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +23 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.d.ts +23 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +61 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.d.ts +23 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.js +64 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.d.ts +69 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.js +178 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +17 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.js +3 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.d.ts +2 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.js +3 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/perpetual_position.d.ts +3 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +11 -3
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.d.ts +55 -4
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.js +87 -5
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.lcd.d.ts +3 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.lcd.js +9 -3
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.d.ts +8 -4
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +11 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/genesis.d.ts +37 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/genesis.js +104 -5
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.d.ts +96 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.js +196 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.d.ts +134 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.js +395 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.js +49 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.rpc.Query.d.ts +19 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.rpc.Query.js +66 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/share.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/share.js +108 -0
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.d.ts +84 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.js +151 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.rpc.msg.d.ts +7 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.rpc.msg.js +13 -1
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/vault.d.ts +0 -14
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/vault.js +2 -38
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.d.ts +174 -174
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/helpers.d.ts +4 -4
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.d.ts +365 -365
- package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +22 -22
- package/build/src/clients/composite-client.d.ts +2 -2
- package/build/src/clients/composite-client.js +10 -10
- package/build/src/clients/lib/cctpProto.d.ts +4 -4
- package/build/src/clients/modules/get.d.ts +1 -1
- package/build/src/clients/modules/get.js +3 -3
- package/build/src/clients/native.d.ts +1 -1
- package/build/src/clients/native.js +3 -3
- package/build/src/clients/types.d.ts +14 -7
- package/build/src/clients/types.js +1 -1
- package/build/src/clients/validator-client.js +4 -4
- package/build/src/index.d.ts +1 -0
- package/build/src/index.js +3 -2
- package/build/src/lib/validation.d.ts +6 -1
- package/build/src/lib/validation.js +23 -2
- package/build/src/types.d.ts +3 -2
- package/build/src/types.js +2 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -4
- package/src/clients/composite-client.ts +4 -0
- package/src/clients/modules/get.ts +2 -2
- package/src/clients/native.ts +2 -2
- package/src/clients/types.ts +5 -0
- package/src/index.ts +1 -0
- package/src/lib/validation.ts +42 -3
- package/src/types.ts +1 -0
- package/tsconfig.json +0 -1
- package/webpack.config.js +1 -0
- package/.telescope.json +0 -15
- package/src/codegen/helpers.ts +0 -241
- package/src/codegen/index.ts +0 -5
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
IPlaceOrder,
|
|
11
11
|
Order_Side,
|
|
12
12
|
Order_TimeInForce,
|
|
13
|
+
IBatchCancelOrder,
|
|
13
14
|
} from '../../src/types';
|
|
14
15
|
|
|
15
16
|
export const TEST_ADDRESS: string = 'dydx1vl9h9nkmau4e9v7tm30wekespu3d2qhd9404wa';
|
|
@@ -45,6 +46,17 @@ export const defaultCancelOrder: ICancelOrder = {
|
|
|
45
46
|
goodTilBlock: 4250,
|
|
46
47
|
};
|
|
47
48
|
|
|
49
|
+
// BatchCancelOrder variables
|
|
50
|
+
export const defaultBatchCancelOrder: IBatchCancelOrder = {
|
|
51
|
+
shortTermOrders: [
|
|
52
|
+
{
|
|
53
|
+
clobPairId: ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
54
|
+
clientIds: [generateRandomClientId(), generateRandomClientId()],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
goodTilBlock: 4250,
|
|
58
|
+
};
|
|
59
|
+
|
|
48
60
|
// Transfer variables
|
|
49
61
|
export const defaultTransfer: Transfer = {
|
|
50
62
|
sender: {
|
|
@@ -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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
|