@dydxprotocol/v4-client-js 1.1.12 → 1.1.14
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/.eslintrc.js +3 -5
- package/.prettierignore +3 -0
- package/.prettierrc.json +6 -0
- package/.telescope.json +2 -4
- package/.vscode/launch.json +10 -10
- package/README.md +3 -1
- package/__native__/__ios__/v4-native-client.js +2648 -806
- package/__tests__/helpers/constants.ts +10 -8
- package/__tests__/lib/helpers.test.ts +22 -23
- package/__tests__/lib/util.test.ts +2 -8
- package/__tests__/lib/validation.test.ts +23 -26
- package/__tests__/modules/client/Transfers.test.ts +4 -19
- package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +2 -5
- package/__tests__/modules/client/constants.ts +4 -2
- package/__tests__/modules/onboarding.test.ts +9 -7
- package/build/__tests__/helpers/constants.js +7 -7
- package/build/__tests__/lib/helpers.test.js +2 -6
- package/build/__tests__/lib/util.test.js +1 -1
- package/build/__tests__/lib/validation.test.js +3 -11
- package/build/__tests__/modules/client/Transfers.test.js +1 -1
- package/build/__tests__/modules/client/ValidatorPostEndpoints.test.js +2 -2
- package/build/__tests__/modules/client/constants.js +1 -1
- package/build/__tests__/modules/onboarding.test.js +2 -3
- package/build/examples/account_endpoints.js +4 -3
- package/build/examples/composite_example.js +5 -4
- package/build/examples/constants.js +1 -1
- package/build/examples/faucet_endpoint.js +4 -3
- package/build/examples/long_term_order_cancel_example.js +4 -3
- package/build/examples/markets_endpoints.js +4 -3
- package/build/examples/native_examples.js +4 -3
- package/build/examples/noble_example.js +1 -1
- package/build/examples/optimal_node.js +4 -12
- package/build/examples/short_term_order_cancel_example.js +4 -3
- package/build/examples/short_term_order_composite_example.js +4 -3
- package/build/examples/test.js +5 -4
- package/build/examples/transfer_example_deposit.js +4 -3
- package/build/examples/transfer_example_send.js +1 -1
- package/build/examples/transfer_example_subaccount_transfer.js +4 -3
- package/build/examples/transfer_example_withdraw.js +4 -3
- package/build/examples/transfer_example_withdraw_other.js +1 -1
- package/build/examples/utility_endpoints.js +4 -3
- package/build/examples/validator_get_example.js +15 -9
- package/build/examples/validator_post_example.js +4 -3
- package/build/examples/wallet_address.js +5 -4
- package/build/examples/websocket_example.js +1 -1
- package/build/src/clients/composite-client.d.ts +225 -224
- package/build/src/clients/composite-client.js +242 -237
- package/build/src/clients/constants.d.ts +3 -0
- package/build/src/clients/constants.js +6 -2
- package/build/src/clients/faucet-client.d.ts +4 -4
- package/build/src/clients/faucet-client.js +5 -5
- package/build/src/clients/helpers/chain-helpers.js +1 -1
- package/build/src/clients/helpers/request-helpers.js +5 -4
- package/build/src/clients/indexer-client.js +1 -1
- package/build/src/clients/lib/axios/axiosRequest.js +1 -1
- package/build/src/clients/lib/axios/errors.js +1 -1
- package/build/src/clients/lib/cctpProto.d.ts +2 -2
- package/build/src/clients/lib/cctpProto.js +287 -237
- package/build/src/clients/lib/errors.js +1 -1
- package/build/src/clients/modules/account.js +1 -1
- package/build/src/clients/modules/composer.d.ts +4 -0
- package/build/src/clients/modules/composer.js +39 -3
- package/build/src/clients/modules/get.d.ts +10 -3
- package/build/src/clients/modules/get.js +41 -54
- package/build/src/clients/modules/local-wallet.js +1 -1
- package/build/src/clients/modules/post.d.ts +3 -0
- package/build/src/clients/modules/post.js +34 -18
- package/build/src/clients/modules/proto-includes.d.ts +1 -0
- package/build/src/clients/modules/proto-includes.js +3 -2
- package/build/src/clients/modules/rest.js +1 -1
- package/build/src/clients/modules/signer.js +1 -1
- package/build/src/clients/modules/tendermintClient.d.ts +5 -5
- package/build/src/clients/modules/tendermintClient.js +6 -6
- package/build/src/clients/native.js +4 -7
- package/build/src/clients/noble-client.js +1 -1
- package/build/src/clients/socket-client.js +1 -1
- package/build/src/clients/subaccount.js +1 -1
- package/build/src/clients/types.d.ts +1 -1
- package/build/src/clients/types.js +1 -1
- package/build/src/clients/validator-client.d.ts +12 -12
- package/build/src/clients/validator-client.js +13 -13
- package/build/src/lib/errors.js +1 -1
- package/build/src/lib/onboarding.js +1 -1
- package/build/src/lib/utils.js +3 -3
- package/build/src/lib/validation.js +5 -4
- package/build/src/network_optimizer.js +10 -11
- package/build/src/types.d.ts +1 -1
- package/build/src/types.js +1 -1
- package/examples/account_endpoints.ts +5 -4
- package/examples/composite_example.ts +12 -7
- package/examples/constants.ts +10 -4
- package/examples/faucet_endpoint.ts +5 -4
- package/examples/human_readable_orders.json +85 -85
- package/examples/human_readable_short_term_orders.json +41 -41
- package/examples/long_term_order_cancel_example.ts +11 -6
- package/examples/markets_endpoints.ts +5 -4
- package/examples/native_examples.ts +8 -7
- package/examples/noble_example.ts +11 -23
- package/examples/optimal_node.ts +4 -14
- package/examples/raw_orders.json +128 -128
- package/examples/short_term_order_cancel_example.ts +7 -8
- package/examples/short_term_order_composite_example.ts +7 -8
- package/examples/test.ts +12 -7
- package/examples/transfer_example_deposit.ts +6 -9
- package/examples/transfer_example_send.ts +2 -10
- package/examples/transfer_example_subaccount_transfer.ts +6 -11
- package/examples/transfer_example_withdraw.ts +6 -9
- package/examples/transfer_example_withdraw_other.ts +1 -5
- package/examples/utility_endpoints.ts +5 -4
- package/examples/validator_get_example.ts +19 -10
- package/examples/validator_post_example.ts +7 -9
- package/examples/wallet_address.ts +6 -5
- package/examples/websocket_example.ts +5 -1
- package/package.json +4 -1
- package/src/clients/composite-client.ts +279 -330
- package/src/clients/constants.ts +38 -26
- package/src/clients/faucet-client.ts +5 -8
- package/src/clients/helpers/chain-helpers.ts +10 -6
- package/src/clients/helpers/request-helpers.ts +6 -5
- package/src/clients/indexer-client.ts +34 -34
- package/src/clients/lib/axios/axiosRequest.ts +4 -7
- package/src/clients/lib/axios/errors.ts +16 -21
- package/src/clients/lib/cctpProto.ts +655 -387
- package/src/clients/lib/errors.ts +8 -17
- package/src/clients/modules/account.ts +4 -12
- package/src/clients/modules/composer.ts +61 -20
- package/src/clients/modules/get.ts +71 -89
- package/src/clients/modules/local-wallet.ts +41 -56
- package/src/clients/modules/post.ts +664 -634
- package/src/clients/modules/proto-includes.ts +1 -0
- package/src/clients/modules/rest.ts +23 -26
- package/src/clients/modules/signer.ts +8 -22
- package/src/clients/modules/tendermintClient.ts +13 -36
- package/src/clients/native.ts +73 -139
- package/src/clients/noble-client.ts +1 -5
- package/src/clients/socket-client.ts +216 -216
- package/src/clients/subaccount.ts +16 -16
- package/src/clients/types.ts +14 -10
- package/src/clients/validator-client.ts +14 -16
- package/src/codegen/helpers.ts +149 -150
- package/src/codegen/index.ts +4 -5
- package/src/lib/errors.ts +3 -9
- package/src/lib/onboarding.ts +7 -2
- package/src/lib/utils.ts +5 -12
- package/src/lib/validation.ts +21 -19
- package/src/network_optimizer.ts +78 -65
- package/src/types.ts +5 -6
- package/tasks.json +15 -15
- package/tsconfig.eslint.json +1 -4
- package/tsconfig.json +2 -6
|
@@ -53,7 +53,7 @@ export interface DenomConfig {
|
|
|
53
53
|
CHAINTOKEN_DECIMALS: number;
|
|
54
54
|
CHAINTOKEN_GAS_DENOM?: string;
|
|
55
55
|
}
|
|
56
|
-
export declare type BroadcastMode =
|
|
56
|
+
export declare type BroadcastMode = Method.BroadcastTxAsync | Method.BroadcastTxSync | Method.BroadcastTxCommit;
|
|
57
57
|
export interface TimeResponse {
|
|
58
58
|
iso: string;
|
|
59
59
|
epoch: number;
|
|
@@ -23,4 +23,4 @@ var OrderFlags;
|
|
|
23
23
|
OrderFlags[OrderFlags["CONDITIONAL"] = 32] = "CONDITIONAL";
|
|
24
24
|
})(OrderFlags = exports.OrderFlags || (exports.OrderFlags = {}));
|
|
25
25
|
__exportStar(require("./modules/proto-includes"), exports);
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBMEdELDJEQUF5QyJ9
|
|
@@ -6,23 +6,23 @@ export declare class ValidatorClient {
|
|
|
6
6
|
private _get?;
|
|
7
7
|
private _post?;
|
|
8
8
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
* @description Connect to a validator client
|
|
10
|
+
*
|
|
11
|
+
* @returns The validator client
|
|
12
|
+
*/
|
|
13
13
|
static connect(config: ValidatorConfig): Promise<ValidatorClient>;
|
|
14
14
|
private constructor();
|
|
15
15
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
* @description Get the query module, used for retrieving on-chain data.
|
|
17
|
+
*
|
|
18
|
+
* @returns The query module
|
|
19
|
+
*/
|
|
20
20
|
get get(): Get;
|
|
21
21
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
* @description transaction module, used for sending transactions.
|
|
23
|
+
*
|
|
24
|
+
* @returns The transaction module
|
|
25
|
+
*/
|
|
26
26
|
get post(): Post;
|
|
27
27
|
get selectedGasDenom(): SelectedGasDenom | undefined;
|
|
28
28
|
setSelectedGasDenom(gasDenom: SelectedGasDenom): void;
|
|
@@ -23,28 +23,28 @@ class ValidatorClient {
|
|
|
23
23
|
this.config = config;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
* @description Connect to a validator client
|
|
27
|
+
*
|
|
28
|
+
* @returns The validator client
|
|
29
|
+
*/
|
|
30
30
|
static async connect(config) {
|
|
31
31
|
const client = new ValidatorClient(config);
|
|
32
32
|
await client.initialize();
|
|
33
33
|
return client;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
* @description Get the query module, used for retrieving on-chain data.
|
|
37
|
+
*
|
|
38
|
+
* @returns The query module
|
|
39
|
+
*/
|
|
40
40
|
get get() {
|
|
41
41
|
return this._get;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
* @description transaction module, used for sending transactions.
|
|
45
|
+
*
|
|
46
|
+
* @returns The transaction module
|
|
47
|
+
*/
|
|
48
48
|
get post() {
|
|
49
49
|
return this._post;
|
|
50
50
|
}
|
|
@@ -70,4 +70,4 @@ class ValidatorClient {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
exports.ValidatorClient = ValidatorClient;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL3ZhbGlkYXRvci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQThFO0FBQzlFLDJEQUE0RDtBQUM1RCxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLDJDQUtxQjtBQUNyQix1Q0FBb0M7QUFDcEMseUNBQXNDO0FBQ3RDLGlFQUE4RDtBQUU5RCxvRUFBb0U7QUFDcEUscUVBQXFFO0FBQ3JFLHdFQUF3RTtBQUN4RSxrRUFBa0U7QUFDbEUsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQUksQ0FBQztBQUMxQixvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRXJCLE1BQWEsZUFBZTtJQWdCMUIsWUFBb0IsTUFBdUI7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQWJEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUF1QjtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBTUQ7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsTUFBTSxrQkFBa0IsR0FBdUIsTUFBTSxtQ0FBa0IsQ0FBQyxPQUFPLENBQzdFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUN6QixDQUFDO1FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1DQUFnQixDQUFDLGtCQUFrQixFQUFFO1lBQ2hFLHVCQUF1QixFQUFFLHNDQUEwQjtZQUNuRCxrQkFBa0IsRUFBRSxnQ0FBb0I7U0FDekMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQThCLHNCQUFXLENBQUMsY0FBYyxDQUN2RSxrQkFBa0IsRUFDbEIsMkJBQWdCLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBRyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxXQUFJLENBQ25CLElBQUksQ0FBQyxJQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdEVELDBDQXNFQyJ9
|
package/build/src/lib/errors.js
CHANGED
|
@@ -34,4 +34,4 @@ class UserError extends Error {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.UserError = UserError;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLEtBQUs7SUFDOUM7UUFDRSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQUxELHNEQUtDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLEtBQUs7SUFLN0MsWUFBWSxPQUFlLEVBQUUsTUFBK0I7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQVpELG9EQVlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxLQUFLO0lBQ2xDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFMRCw4QkFLQyJ9
|
|
@@ -51,4 +51,4 @@ const deriveHDKeyFromEthereumSignature = (signature) => {
|
|
|
51
51
|
return (0, exports.exportMnemonicAndPrivateKey)(entropy);
|
|
52
52
|
};
|
|
53
53
|
exports.deriveHDKeyFromEthereumSignature = deriveHDKeyFromEthereumSignature;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25ib2FyZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvb25ib2FyZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBcUM7QUFDckMsd0NBQXFFO0FBQ3JFLDREQUEwRDtBQUMxRCx5REFBeUQ7QUFFekQsdUNBQTJDO0FBRTNDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNJLE1BQU0sMkJBQTJCLEdBQUcsQ0FDekMsT0FBbUIsRUFDbkIsT0FBZSxtQkFBbUIsRUFLbEMsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQWlCLEVBQUMsT0FBTyxFQUFFLGtCQUFRLENBQUMsQ0FBQztJQUN0RCxNQUFNLElBQUksR0FBRyxJQUFBLDBCQUFrQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sS0FBSyxHQUFHLGFBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsT0FBTztRQUNMLFFBQVE7UUFDUixVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVU7UUFDbkMsU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO0tBQ2xDLENBQUM7QUFDSixDQUFDLENBQUM7QUF2QlcsUUFBQSwyQkFBMkIsK0JBdUJ0QztBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLGdDQUFnQyxHQUFHLENBQzlDLFNBQWlCLEVBS2pCLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUEsd0JBQWMsRUFBQyxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUMvQztJQUVELDBFQUEwRTtJQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QywyRUFBMkU7SUFDM0UsTUFBTSxPQUFPLEdBQUcsSUFBQSxrQkFBUyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sSUFBQSxtQ0FBMkIsRUFBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFsQlcsUUFBQSxnQ0FBZ0Msb0NBa0IzQyJ9
|
package/build/src/lib/utils.js
CHANGED
|
@@ -25,12 +25,12 @@ function clientIdFromString(input) {
|
|
|
25
25
|
if (input.length === 0)
|
|
26
26
|
return hash;
|
|
27
27
|
for (let i = 0; i < input.length; i++) {
|
|
28
|
-
hash = (
|
|
28
|
+
hash = (hash << 5) - hash + input.charCodeAt(i); // eslint-disable-line no-bitwise
|
|
29
29
|
hash |= 0; // eslint-disable-line no-bitwise
|
|
30
30
|
}
|
|
31
31
|
// Bitwise operators covert the value to a 32-bit integer.
|
|
32
32
|
// We must coerce this into a 32-bit unsigned integer.
|
|
33
|
-
return hash +
|
|
33
|
+
return hash + 2 ** 31;
|
|
34
34
|
}
|
|
35
35
|
exports.clientIdFromString = clientIdFromString;
|
|
36
36
|
/**
|
|
@@ -63,4 +63,4 @@ function getGovAddNewMarketSummary(ticker, delayBlocks) {
|
|
|
63
63
|
return `Add the x/prices, x/perpetuals and x/clob parameters needed for a ${ticker} perpetual market. Create the market in INITIALIZING status and transition it to ACTIVE status after ${delayBlocks} blocks.`;
|
|
64
64
|
}
|
|
65
65
|
exports.getGovAddNewMarketSummary = getGovAddNewMarketSummary;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFtRDtBQUVuRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxDQUFTO0lBQ2pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUZELDhCQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixzQkFBc0I7SUFDcEMsT0FBTyxTQUFTLENBQUMsdUJBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRkQsd0RBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLElBQUksSUFBSSxHQUFXLENBQUMsQ0FBQztJQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3JDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztRQUNsRixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsaUNBQWlDO0tBQzdDO0lBRUQsMERBQTBEO0lBQzFELHNEQUFzRDtJQUN0RCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFYRCxnREFXQztBQUVEOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDcEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFGRCxzQkFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsTUFBYztJQUNwRCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxDQUFDO0FBRkQsMERBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQix5QkFBeUIsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7SUFDM0UsT0FBTyxxRUFBcUUsTUFBTSx3R0FBd0csV0FBVyxVQUFVLENBQUM7QUFDbE4sQ0FBQztBQUZELDhEQUVDIn0=
|
|
@@ -104,8 +104,9 @@ function verifyNumberIsUint32(num) {
|
|
|
104
104
|
return num >= 0 && num <= constants_1.MAX_UINT_32;
|
|
105
105
|
}
|
|
106
106
|
function verifyOrderFlags(orderFlags) {
|
|
107
|
-
return orderFlags === types_1.OrderFlags.SHORT_TERM ||
|
|
108
|
-
orderFlags === types_1.OrderFlags.LONG_TERM ||
|
|
107
|
+
return (orderFlags === types_1.OrderFlags.SHORT_TERM ||
|
|
108
|
+
orderFlags === types_1.OrderFlags.LONG_TERM ||
|
|
109
|
+
orderFlags === types_1.OrderFlags.CONDITIONAL);
|
|
109
110
|
}
|
|
110
111
|
exports.verifyOrderFlags = verifyOrderFlags;
|
|
111
112
|
function isStatefulOrder(orderFlags) {
|
|
@@ -123,7 +124,7 @@ function verifyIsBech32(address) {
|
|
|
123
124
|
}
|
|
124
125
|
function isValidAddress(address) {
|
|
125
126
|
// An address is valid if it starts with `dydx1` and is Bech32 format.
|
|
126
|
-
return address.startsWith('dydx1') &&
|
|
127
|
+
return address.startsWith('dydx1') && verifyIsBech32(address) === undefined;
|
|
127
128
|
}
|
|
128
129
|
exports.isValidAddress = isValidAddress;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBZ0M7QUFDaEMsZ0RBQXdCO0FBRXhCLG9EQUEwRTtBQUMxRSw0Q0FBbUY7QUFDbkYscUNBQXFDO0FBRXJDOzs7R0FHRztBQUNILFNBQWdCLHlCQUF5QixDQUN2QyxnQkFBd0IsRUFDeEIsS0FBa0I7SUFFbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN6QyxPQUFPLElBQUksa0JBQVMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxRQUFRLHdCQUF3QixDQUFDLENBQUM7S0FDM0U7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3QyxPQUFPLElBQUksa0JBQVMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxRQUFRLGlCQUFpQixDQUFDLENBQUM7S0FDcEU7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3QyxPQUFPLElBQUksa0JBQVMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxRQUFRLGlCQUFpQixDQUFDLENBQUM7S0FDcEU7SUFDRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUM3QyxPQUFPLElBQUksa0JBQVMsQ0FDbEIscUJBQXFCLGdCQUFnQix1QkFBdUIsaUNBQXFCLEVBQUUsQ0FDcEYsQ0FBQztLQUNIO0lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDakYsT0FBTyxJQUFJLGtCQUFTLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxZQUFZ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
|
|
@@ -20,13 +20,14 @@ class NetworkOptimizer {
|
|
|
20
20
|
CHAINTOKEN_DECIMALS: 18,
|
|
21
21
|
USDC_DENOM: 'uusdc',
|
|
22
22
|
USDC_DECIMALS: 6,
|
|
23
|
-
}))
|
|
24
|
-
.catch((_) => undefined)))).filter(exports.isTruthy);
|
|
23
|
+
})).catch((_) => undefined)))).filter(exports.isTruthy);
|
|
25
24
|
}
|
|
26
25
|
indexerClients(endpointUrls) {
|
|
27
|
-
return endpointUrls
|
|
26
|
+
return endpointUrls
|
|
27
|
+
.map((endpointUrl) => new indexer_client_1.IndexerClient(
|
|
28
28
|
// socket is not used for finding optimal indexer, but required as a parameter to the config
|
|
29
|
-
new types_1.IndexerConfig(endpointUrl, endpointUrl.replace('https://', 'wss://').replace('http://', 'ws://'))))
|
|
29
|
+
new types_1.IndexerConfig(endpointUrl, endpointUrl.replace('https://', 'wss://').replace('http://', 'ws://'))))
|
|
30
|
+
.filter(exports.isTruthy);
|
|
30
31
|
}
|
|
31
32
|
async findOptimalNode(endpointUrls, chainId) {
|
|
32
33
|
if (endpointUrls.length === 0) {
|
|
@@ -53,12 +54,11 @@ class NetworkOptimizer {
|
|
|
53
54
|
throw new Error('Could not connect to endpoints');
|
|
54
55
|
}
|
|
55
56
|
const maxHeight = Math.max(...responses.map(({ height }) => height));
|
|
56
|
-
return responses
|
|
57
|
+
return (responses
|
|
57
58
|
// Only consider nodes at `maxHeight` or `maxHeight - 1`
|
|
58
59
|
.filter(({ height }) => height === maxHeight || height === maxHeight - 1)
|
|
59
60
|
// Return the endpoint with the fastest response time
|
|
60
|
-
.sort((a, b) => a.time - b.time)[0]
|
|
61
|
-
.endpoint;
|
|
61
|
+
.sort((a, b) => a.time - b.time)[0].endpoint);
|
|
62
62
|
}
|
|
63
63
|
async findOptimalIndexer(endpointUrls) {
|
|
64
64
|
if (endpointUrls.length === 0) {
|
|
@@ -85,13 +85,12 @@ class NetworkOptimizer {
|
|
|
85
85
|
throw new Error('Could not connect to endpoints');
|
|
86
86
|
}
|
|
87
87
|
const maxHeight = Math.max(...responses.map(({ height }) => height));
|
|
88
|
-
return responses
|
|
88
|
+
return (responses
|
|
89
89
|
// Only consider nodes at `maxHeight` or `maxHeight - 1`
|
|
90
90
|
.filter(({ height }) => height === maxHeight || height === maxHeight - 1)
|
|
91
91
|
// Return the endpoint with the fastest response time
|
|
92
|
-
.sort((a, b) => a.time - b.time)[0]
|
|
93
|
-
.endpoint;
|
|
92
|
+
.sort((a, b) => a.time - b.time)[0].endpoint);
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
95
|
exports.NetworkOptimizer = NetworkOptimizer;
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19vcHRpbWl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya19vcHRpbWl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQXlEO0FBQ3pELGlFQUE2RDtBQUM3RCwyQ0FBMkM7QUFDM0MsbUNBQXlEO0FBRXpELE1BQU0sWUFBWTtJQUtoQixZQUFZLE1BQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVNLE1BQU0sUUFBUSxHQUFHLENBQUksQ0FBb0MsRUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQTNFLFFBQUEsUUFBUSxZQUFtRTtBQUV4RixNQUFhLGdCQUFnQjtJQUNuQixLQUFLLENBQUMsZ0JBQWdCLENBQzVCLFlBQXNCLEVBQ3RCLE9BQWU7UUFFZixPQUFPLENBQ0wsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUMvQixrQ0FBZSxDQUFDLE9BQU8sQ0FDckIsSUFBSSx1QkFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUU7WUFDeEMsZ0JBQWdCLEVBQUUsYUFBYTtZQUMvQixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLFVBQVUsRUFBRSxPQUFPO1lBQ25CLGFBQWEsRUFBRSxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQzFCLENBQ0YsQ0FDRixDQUFDLE1BQU0sQ0FBQyxnQkFBUSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxZQUFzQjtRQUMzQyxPQUFPLFlBQVk7YUFDaEIsR0FBRyxDQUNGLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDZCxJQUFJLDhCQUFhO1FBQ2YsNEZBQTRGO1FBQzVGLElBQUkscUJBQWEsQ0FDZixXQUFXLEVBQ1gsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FDdEUsQ0FDRixDQUNKO2FBQ0EsTUFBTSxDQUFDLGdCQUFRLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUFzQixFQUFFLE9BQWU7UUFDM0QsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLGFBQWEsR0FBRztnQkFDcEIsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxtQkFBbUI7aUJBQzdCO2FBQ0YsQ0FBQztZQUNGLE9BQU8sSUFBQSxvQkFBVSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sU0FBUyxHQUFHLENBQ2hCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixPQUFPO2FBQ0osR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxPQUFPO2dCQUNMLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVk7Z0JBQ3BDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtnQkFDdkIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO2FBQ3RDLENBQUM7UUFDSixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ3JELENBQ0YsQ0FBQyxNQUFNLENBQUMsZ0JBQVEsQ0FBQyxDQUFDO1FBRW5CLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sQ0FDTCxTQUFTO1lBQ1Asd0RBQXdEO2FBQ3ZELE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDekUscURBQXFEO2FBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBc0I7UUFDN0MsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLGFBQWEsR0FBRztnQkFDcEIsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCO2FBQ0YsQ0FBQztZQUNGLE9BQU8sSUFBQSxvQkFBVSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxNQUFNLFNBQVMsR0FBRyxDQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsT0FBTzthQUNKLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELE9BQU87Z0JBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWTtnQkFDcEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO2dCQUN2QixJQUFJLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7YUFDdEMsQ0FBQztRQUNKLENBQUMsQ0FBQzthQUNELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDckQsQ0FDRixDQUFDLE1BQU0sQ0FBQyxnQkFBUSxDQUFDLENBQUM7UUFFbkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUNMLFNBQVM7WUFDUCx3REFBd0Q7YUFDdkQsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQztZQUN6RSxxREFBcUQ7YUFDcEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUMvQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakhELDRDQWlIQyJ9
|
package/build/src/types.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface ApiOptions {
|
|
|
12
12
|
indexerHost?: string;
|
|
13
13
|
timeout?: number;
|
|
14
14
|
}
|
|
15
|
-
export declare type BroadcastMode =
|
|
15
|
+
export declare type BroadcastMode = Method.BroadcastTxAsync | Method.BroadcastTxSync | Method.BroadcastTxCommit;
|
|
16
16
|
export interface Options {
|
|
17
17
|
transactionOptions?: TransactionOptions;
|
|
18
18
|
memo?: string;
|
package/build/src/types.js
CHANGED
|
@@ -21,4 +21,4 @@ var ClobPairId;
|
|
|
21
21
|
(function (ClobPairId) {
|
|
22
22
|
ClobPairId[ClobPairId["PERPETUAL_PAIR_BTC_USD"] = 0] = "PERPETUAL_PAIR_BTC_USD";
|
|
23
23
|
})(ClobPairId = exports.ClobPairId || (exports.ClobPairId = {}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSxrREFBZ0M7QUFDaEMsc0RBQW9DO0FBa0NwQyxJQUFZLFVBRVg7QUFGRCxXQUFZLFVBQVU7SUFDcEIsK0VBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQUZXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBRXJCIn0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { BECH32_PREFIX } from '../src';
|
|
2
2
|
import { CompositeClient } from '../src/clients/composite-client';
|
|
3
3
|
import {
|
|
4
|
-
Network,
|
|
4
|
+
Network,
|
|
5
|
+
OrderExecution,
|
|
6
|
+
OrderSide,
|
|
7
|
+
OrderTimeInForce,
|
|
8
|
+
OrderType,
|
|
5
9
|
} from '../src/clients/constants';
|
|
6
10
|
import LocalWallet from '../src/clients/modules/local-wallet';
|
|
7
11
|
import { SubaccountInfo } from '../src/clients/subaccount';
|
|
@@ -28,7 +32,7 @@ async function test(): Promise<void> {
|
|
|
28
32
|
const timeInForceString = orderParams.timeInForce ?? 'GTT';
|
|
29
33
|
const timeInForce = OrderTimeInForce[timeInForceString as keyof typeof OrderTimeInForce];
|
|
30
34
|
const price = orderParams.price ?? 1350;
|
|
31
|
-
const timeInForceSeconds =
|
|
35
|
+
const timeInForceSeconds = timeInForce === OrderTimeInForce.GTT ? 60 : 0;
|
|
32
36
|
const postOnly = orderParams.postOnly ?? false;
|
|
33
37
|
const tx = await client.placeOrder(
|
|
34
38
|
subaccount,
|
|
@@ -50,11 +54,12 @@ async function test(): Promise<void> {
|
|
|
50
54
|
console.log(error.message);
|
|
51
55
|
}
|
|
52
56
|
|
|
53
|
-
await sleep(5000);
|
|
57
|
+
await sleep(5000); // wait for placeOrder to complete
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
|
|
57
|
-
test()
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
test()
|
|
62
|
+
.then(() => {})
|
|
63
|
+
.catch((error) => {
|
|
64
|
+
console.log(error.message);
|
|
65
|
+
});
|
package/examples/constants.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Order_Side,
|
|
3
|
+
Order_TimeInForce,
|
|
4
|
+
} from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order';
|
|
2
5
|
import Long from 'long';
|
|
3
6
|
|
|
4
7
|
import { IPlaceOrder, OrderFlags } from '../src/clients/types';
|
|
5
8
|
|
|
6
9
|
export const DYDX_TEST_ADDRESS = 'dydx14zzueazeh0hj67cghhf9jypslcf9sh2n5k6art';
|
|
7
|
-
export const DYDX_TEST_PRIVATE_KEY =
|
|
8
|
-
|
|
10
|
+
export const DYDX_TEST_PRIVATE_KEY =
|
|
11
|
+
'e92a6595c934c991d3b3e987ea9b3125bf61a076deab3a9cb519787b7b3e8d77';
|
|
12
|
+
export const DYDX_TEST_MNEMONIC =
|
|
13
|
+
'mirror actor skill push coach wait confirm orchard lunch mobile athlete gossip awake miracle matter bus reopen team ladder lazy list timber render wait';
|
|
9
14
|
export const DYDX_LOCAL_ADDRESS = 'dydx199tqg4wdlnu4qjlxchpd7seg454937hjrknju4';
|
|
10
|
-
export const DYDX_LOCAL_MNEMONIC =
|
|
15
|
+
export const DYDX_LOCAL_MNEMONIC =
|
|
16
|
+
'merge panther lobster crazy road hollow amused security before critic about cliff exhibit cause coyote talent happy where lion river tobacco option coconut small';
|
|
11
17
|
|
|
12
18
|
export const MARKET_BTC_USD: string = 'BTC-USD';
|
|
13
19
|
export const PERPETUAL_PAIR_BTC_USD: number = 0;
|
|
@@ -1,86 +1,86 @@
|
|
|
1
1
|
[
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
]
|
|
2
|
+
{
|
|
3
|
+
"type": "LIMIT",
|
|
4
|
+
"timeInForce": "GTT",
|
|
5
|
+
"postOnly": true,
|
|
6
|
+
"side": "BUY",
|
|
7
|
+
"price": 40000
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "LIMIT",
|
|
11
|
+
"timeInForce": "GTT",
|
|
12
|
+
"postOnly": true,
|
|
13
|
+
"side": "SELL",
|
|
14
|
+
"price": 1000
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "LIMIT",
|
|
18
|
+
"timeInForce": "GTT",
|
|
19
|
+
"postOnly": false,
|
|
20
|
+
"side": "BUY",
|
|
21
|
+
"price": 40000
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "LIMIT",
|
|
25
|
+
"timeInForce": "GTT",
|
|
26
|
+
"postOnly": false,
|
|
27
|
+
"side": "SELL",
|
|
28
|
+
"price": 1000
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "LIMIT",
|
|
32
|
+
"timeInForce": "IOC",
|
|
33
|
+
"postOnly": true,
|
|
34
|
+
"side": "BUY",
|
|
35
|
+
"price": 40000
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "LIMIT",
|
|
39
|
+
"timeInForce": "IOC",
|
|
40
|
+
"postOnly": true,
|
|
41
|
+
"side": "SELL",
|
|
42
|
+
"price": 1000
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "LIMIT",
|
|
46
|
+
"timeInForce": "IOC",
|
|
47
|
+
"postOnly": false,
|
|
48
|
+
"side": "BUY",
|
|
49
|
+
"price": 40000
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "LIMIT",
|
|
53
|
+
"timeInForce": "IOC",
|
|
54
|
+
"postOnly": false,
|
|
55
|
+
"side": "SELL",
|
|
56
|
+
"price": 1000
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "LIMIT",
|
|
60
|
+
"timeInForce": "FOK",
|
|
61
|
+
"postOnly": true,
|
|
62
|
+
"side": "BUY",
|
|
63
|
+
"price": 40000
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "LIMIT",
|
|
67
|
+
"timeInForce": "FOK",
|
|
68
|
+
"postOnly": true,
|
|
69
|
+
"side": "SELL",
|
|
70
|
+
"price": 1000
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "LIMIT",
|
|
74
|
+
"timeInForce": "FOK",
|
|
75
|
+
"postOnly": false,
|
|
76
|
+
"side": "BUY",
|
|
77
|
+
"price": 40000
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "LIMIT",
|
|
81
|
+
"timeInForce": "FOK",
|
|
82
|
+
"postOnly": false,
|
|
83
|
+
"side": "SELL",
|
|
84
|
+
"price": 1000
|
|
85
|
+
}
|
|
86
|
+
]
|