@ritbit/v4-client-js 2.4.0 → 2.4.2
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/build/cjs/src/clients/composite-client.js +10 -9
- package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/esm/src/clients/composite-client.d.ts +3 -3
- package/build/esm/src/clients/composite-client.d.ts.map +1 -1
- package/build/esm/src/clients/composite-client.js +10 -9
- package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +11 -3
- package/.env +0 -1
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -15
- package/.gitleaks.toml +0 -24
- package/.gitleaksignore +0 -1
- package/.nvmrc +0 -1
- package/.prettierignore +0 -3
- package/.prettierrc.json +0 -6
- package/.releaserc +0 -10
- package/.vscode/launch.json +0 -11
- package/__native__/__ios__/v4-native-client.js +0 -251395
- package/__native__/__ios__/v4-native-client.js.map +0 -1
- package/__tests__/clients/composite-client.test.ts +0 -140
- package/__tests__/helpers/baseClients.ts +0 -23
- package/__tests__/helpers/constants.ts +0 -131
- package/__tests__/lib/helpers.test.ts +0 -55
- package/__tests__/lib/util.test.ts +0 -77
- package/__tests__/lib/validation.test.ts +0 -289
- package/__tests__/modules/client/AccountEndpoints.test.ts +0 -236
- package/__tests__/modules/client/FaucetEndpoint.test.ts +0 -14
- package/__tests__/modules/client/MarketsEndpoints.test.ts +0 -84
- package/__tests__/modules/client/Transfers.test.ts +0 -44
- package/__tests__/modules/client/UtilityEndpoints.test.ts +0 -29
- package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +0 -50
- package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +0 -52
- package/__tests__/modules/client/constants.ts +0 -5
- package/__tests__/modules/onboarding.test.ts +0 -66
- package/build/cjs/__tests__/clients/composite-client.test.js +0 -130
- package/build/cjs/__tests__/helpers/baseClients.js +0 -29
- package/build/cjs/__tests__/helpers/constants.js +0 -110
- package/build/cjs/__tests__/lib/helpers.test.js +0 -46
- package/build/cjs/__tests__/lib/util.test.js +0 -67
- package/build/cjs/__tests__/lib/validation.test.js +0 -254
- package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +0 -171
- package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +0 -15
- package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +0 -69
- package/build/cjs/__tests__/modules/client/Transfers.test.js +0 -44
- package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +0 -28
- package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -46
- package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -53
- package/build/cjs/__tests__/modules/client/constants.js +0 -7
- package/build/cjs/__tests__/modules/onboarding.test.js +0 -50
- package/build/cjs/examples/account_endpoints.js +0 -129
- package/build/cjs/examples/batch_cancel_orders_example.js +0 -93
- package/build/cjs/examples/composite_example.js +0 -50
- package/build/cjs/examples/constants.js +0 -35
- package/build/cjs/examples/faucet_endpoint.js +0 -23
- package/build/cjs/examples/gov_add_new_market.js +0 -77
- package/build/cjs/examples/human_readable_orders.json +0 -86
- package/build/cjs/examples/human_readable_short_term_orders.json +0 -42
- package/build/cjs/examples/json-encoding.js +0 -32
- package/build/cjs/examples/long_term_order_cancel_example.js +0 -63
- package/build/cjs/examples/markets_endpoints.js +0 -134
- package/build/cjs/examples/native_examples.js +0 -112
- package/build/cjs/examples/noble_example.js +0 -88
- package/build/cjs/examples/optimal_node.js +0 -70
- package/build/cjs/examples/permissioned_keys_example.js +0 -104
- package/build/cjs/examples/raw_orders.json +0 -130
- package/build/cjs/examples/short_term_order_cancel_example.js +0 -54
- package/build/cjs/examples/short_term_order_composite_example.js +0 -68
- package/build/cjs/examples/test.js +0 -50
- package/build/cjs/examples/transfer_example_deposit.js +0 -29
- package/build/cjs/examples/transfer_example_send.js +0 -42
- package/build/cjs/examples/transfer_example_subaccount_transfer.js +0 -29
- package/build/cjs/examples/transfer_example_withdraw.js +0 -30
- package/build/cjs/examples/transfer_example_withdraw_other.js +0 -42
- package/build/cjs/examples/utility_endpoints.js +0 -42
- package/build/cjs/examples/validator_get_example.js +0 -158
- package/build/cjs/examples/validator_post_example.js +0 -76
- package/build/cjs/examples/wallet_address.js +0 -22
- package/build/cjs/examples/websocket_example.js +0 -36
- package/build/cjs/examples/websocket_orderbook_example.js +0 -196
- package/build/esm/__tests__/clients/composite-client.test.d.ts +0 -2
- package/build/esm/__tests__/clients/composite-client.test.d.ts.map +0 -1
- package/build/esm/__tests__/clients/composite-client.test.js +0 -128
- package/build/esm/__tests__/helpers/baseClients.d.ts +0 -19
- package/build/esm/__tests__/helpers/baseClients.d.ts.map +0 -1
- package/build/esm/__tests__/helpers/baseClients.js +0 -22
- package/build/esm/__tests__/helpers/constants.d.ts +0 -19
- package/build/esm/__tests__/helpers/constants.d.ts.map +0 -1
- package/build/esm/__tests__/helpers/constants.js +0 -104
- package/build/esm/__tests__/lib/helpers.test.d.ts +0 -2
- package/build/esm/__tests__/lib/helpers.test.d.ts.map +0 -1
- package/build/esm/__tests__/lib/helpers.test.js +0 -41
- package/build/esm/__tests__/lib/util.test.d.ts +0 -2
- package/build/esm/__tests__/lib/util.test.d.ts.map +0 -1
- package/build/esm/__tests__/lib/util.test.js +0 -65
- package/build/esm/__tests__/lib/validation.test.d.ts +0 -2
- package/build/esm/__tests__/lib/validation.test.d.ts.map +0 -1
- package/build/esm/__tests__/lib/validation.test.js +0 -249
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +0 -169
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +0 -13
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +0 -66
- package/build/esm/__tests__/modules/client/Transfers.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/Transfers.test.js +0 -39
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +0 -26
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -44
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +0 -2
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -48
- package/build/esm/__tests__/modules/client/constants.d.ts +0 -4
- package/build/esm/__tests__/modules/client/constants.d.ts.map +0 -1
- package/build/esm/__tests__/modules/client/constants.js +0 -4
- package/build/esm/__tests__/modules/onboarding.test.d.ts +0 -2
- package/build/esm/__tests__/modules/onboarding.test.d.ts.map +0 -1
- package/build/esm/__tests__/modules/onboarding.test.js +0 -48
- package/build/esm/examples/account_endpoints.d.ts +0 -5
- package/build/esm/examples/account_endpoints.d.ts.map +0 -1
- package/build/esm/examples/account_endpoints.js +0 -127
- package/build/esm/examples/batch_cancel_orders_example.d.ts +0 -2
- package/build/esm/examples/batch_cancel_orders_example.d.ts.map +0 -1
- package/build/esm/examples/batch_cancel_orders_example.js +0 -88
- package/build/esm/examples/composite_example.d.ts +0 -2
- package/build/esm/examples/composite_example.d.ts.map +0 -1
- package/build/esm/examples/composite_example.js +0 -45
- package/build/esm/examples/constants.d.ts +0 -13
- package/build/esm/examples/constants.d.ts.map +0 -1
- package/build/esm/examples/constants.js +0 -29
- package/build/esm/examples/faucet_endpoint.d.ts +0 -5
- package/build/esm/examples/faucet_endpoint.d.ts.map +0 -1
- package/build/esm/examples/faucet_endpoint.js +0 -21
- package/build/esm/examples/gov_add_new_market.d.ts +0 -2
- package/build/esm/examples/gov_add_new_market.d.ts.map +0 -1
- package/build/esm/examples/gov_add_new_market.js +0 -72
- package/build/esm/examples/human_readable_orders.json +0 -86
- package/build/esm/examples/human_readable_short_term_orders.json +0 -42
- package/build/esm/examples/json-encoding.d.ts +0 -2
- package/build/esm/examples/json-encoding.d.ts.map +0 -1
- package/build/esm/examples/json-encoding.js +0 -27
- package/build/esm/examples/long_term_order_cancel_example.d.ts +0 -2
- package/build/esm/examples/long_term_order_cancel_example.d.ts.map +0 -1
- package/build/esm/examples/long_term_order_cancel_example.js +0 -58
- package/build/esm/examples/markets_endpoints.d.ts +0 -5
- package/build/esm/examples/markets_endpoints.d.ts.map +0 -1
- package/build/esm/examples/markets_endpoints.js +0 -131
- package/build/esm/examples/native_examples.d.ts +0 -2
- package/build/esm/examples/native_examples.d.ts.map +0 -1
- package/build/esm/examples/native_examples.js +0 -110
- package/build/esm/examples/noble_example.d.ts +0 -2
- package/build/esm/examples/noble_example.d.ts.map +0 -1
- package/build/esm/examples/noble_example.js +0 -83
- package/build/esm/examples/optimal_node.d.ts +0 -2
- package/build/esm/examples/optimal_node.d.ts.map +0 -1
- package/build/esm/examples/optimal_node.js +0 -68
- package/build/esm/examples/permissioned_keys_example.d.ts +0 -2
- package/build/esm/examples/permissioned_keys_example.d.ts.map +0 -1
- package/build/esm/examples/permissioned_keys_example.js +0 -99
- package/build/esm/examples/raw_orders.json +0 -130
- package/build/esm/examples/short_term_order_cancel_example.d.ts +0 -2
- package/build/esm/examples/short_term_order_cancel_example.d.ts.map +0 -1
- package/build/esm/examples/short_term_order_cancel_example.js +0 -49
- package/build/esm/examples/short_term_order_composite_example.d.ts +0 -2
- package/build/esm/examples/short_term_order_composite_example.d.ts.map +0 -1
- package/build/esm/examples/short_term_order_composite_example.js +0 -63
- package/build/esm/examples/test.d.ts +0 -2
- package/build/esm/examples/test.d.ts.map +0 -1
- package/build/esm/examples/test.js +0 -45
- package/build/esm/examples/transfer_example_deposit.d.ts +0 -2
- package/build/esm/examples/transfer_example_deposit.d.ts.map +0 -1
- package/build/esm/examples/transfer_example_deposit.js +0 -24
- package/build/esm/examples/transfer_example_send.d.ts +0 -2
- package/build/esm/examples/transfer_example_send.d.ts.map +0 -1
- package/build/esm/examples/transfer_example_send.js +0 -37
- package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +0 -2
- package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +0 -1
- package/build/esm/examples/transfer_example_subaccount_transfer.js +0 -24
- package/build/esm/examples/transfer_example_withdraw.d.ts +0 -2
- package/build/esm/examples/transfer_example_withdraw.d.ts.map +0 -1
- package/build/esm/examples/transfer_example_withdraw.js +0 -25
- package/build/esm/examples/transfer_example_withdraw_other.d.ts +0 -2
- package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +0 -1
- package/build/esm/examples/transfer_example_withdraw_other.js +0 -37
- package/build/esm/examples/utility_endpoints.d.ts +0 -5
- package/build/esm/examples/utility_endpoints.d.ts.map +0 -1
- package/build/esm/examples/utility_endpoints.js +0 -40
- package/build/esm/examples/validator_get_example.d.ts +0 -2
- package/build/esm/examples/validator_get_example.d.ts.map +0 -1
- package/build/esm/examples/validator_get_example.js +0 -156
- package/build/esm/examples/validator_post_example.d.ts +0 -2
- package/build/esm/examples/validator_post_example.d.ts.map +0 -1
- package/build/esm/examples/validator_post_example.js +0 -71
- package/build/esm/examples/wallet_address.d.ts +0 -2
- package/build/esm/examples/wallet_address.d.ts.map +0 -1
- package/build/esm/examples/wallet_address.js +0 -17
- package/build/esm/examples/websocket_example.d.ts +0 -2
- package/build/esm/examples/websocket_example.d.ts.map +0 -1
- package/build/esm/examples/websocket_example.js +0 -34
- package/build/esm/examples/websocket_orderbook_example.d.ts +0 -2
- package/build/esm/examples/websocket_orderbook_example.d.ts.map +0 -1
- package/build/esm/examples/websocket_orderbook_example.js +0 -194
- package/commitlint.config.js +0 -8
- package/examples/account_endpoints.ts +0 -129
- package/examples/batch_cancel_orders_example.ts +0 -130
- package/examples/composite_example.ts +0 -65
- package/examples/constants.ts +0 -42
- package/examples/faucet_endpoint.ts +0 -24
- package/examples/gov_add_new_market.json +0 -64
- package/examples/gov_add_new_market.ts +0 -95
- package/examples/human_readable_orders.json +0 -86
- package/examples/human_readable_short_term_orders.json +0 -42
- package/examples/json-encoding.ts +0 -33
- package/examples/long_term_order_cancel_example.ts +0 -87
- package/examples/markets_endpoints.ts +0 -134
- package/examples/native_examples.ts +0 -151
- package/examples/noble_example.ts +0 -107
- package/examples/optimal_node.ts +0 -70
- package/examples/permissioned_keys_example.ts +0 -162
- package/examples/raw_orders.json +0 -130
- package/examples/short_term_order_cancel_example.ts +0 -68
- package/examples/short_term_order_composite_example.ts +0 -80
- package/examples/test.ts +0 -65
- package/examples/transfer_example_deposit.ts +0 -28
- package/examples/transfer_example_send.ts +0 -60
- package/examples/transfer_example_subaccount_transfer.ts +0 -29
- package/examples/transfer_example_withdraw.ts +0 -31
- package/examples/transfer_example_withdraw_other.ts +0 -60
- package/examples/utility_endpoints.ts +0 -42
- package/examples/validator_get_example.ts +0 -160
- package/examples/validator_post_example.ts +0 -81
- package/examples/wallet_address.ts +0 -18
- package/examples/websocket_example.ts +0 -44
- package/examples/websocket_orderbook_example.ts +0 -239
- package/jest.config.js +0 -12
- package/jest.globalSetup.js +0 -5
- package/jest.setup.js +0 -1
- package/ritbit-v4-client-js-2.2.6.tgz +0 -0
- package/scripts/bump_version.sh +0 -16
- package/scripts/generate-cctp-protos.sh +0 -41
- package/scripts/mobile_build_pack.sh +0 -5
- package/scripts/publish-if-not-exists.sh +0 -21
- package/src/clients/composite-client.ts +0 -1469
- package/src/clients/constants.ts +0 -361
- package/src/clients/faucet-client.ts +0 -48
- package/src/clients/helpers/chain-helpers.ts +0 -231
- package/src/clients/helpers/request-helpers.ts +0 -71
- package/src/clients/indexer-client.ts +0 -61
- package/src/clients/lib/axios/axiosRequest.ts +0 -41
- package/src/clients/lib/axios/errors.ts +0 -41
- package/src/clients/lib/axios/index.ts +0 -7
- package/src/clients/lib/axios/types.ts +0 -6
- package/src/clients/lib/cctpProto.ts +0 -4197
- package/src/clients/lib/errors.ts +0 -63
- package/src/clients/lib/registry.ts +0 -93
- package/src/clients/modules/account.ts +0 -438
- package/src/clients/modules/composer.ts +0 -669
- package/src/clients/modules/get.ts +0 -791
- package/src/clients/modules/local-wallet.ts +0 -79
- package/src/clients/modules/markets.ts +0 -76
- package/src/clients/modules/post.ts +0 -1043
- package/src/clients/modules/proto-includes.ts +0 -34
- package/src/clients/modules/rest.ts +0 -40
- package/src/clients/modules/signer.ts +0 -139
- package/src/clients/modules/tendermintClient.ts +0 -168
- package/src/clients/modules/utility.ts +0 -47
- package/src/clients/modules/vault.ts +0 -23
- package/src/clients/native.ts +0 -1689
- package/src/clients/noble-client.ts +0 -108
- package/src/clients/socket-client.ts +0 -331
- package/src/clients/subaccount.ts +0 -57
- package/src/clients/types.ts +0 -191
- package/src/clients/validator-client.ts +0 -106
- package/src/index.ts +0 -19
- package/src/lib/constants.ts +0 -28
- package/src/lib/errors.ts +0 -38
- package/src/lib/helpers.ts +0 -99
- package/src/lib/onboarding.ts +0 -96
- package/src/lib/trading-key-utils.ts +0 -136
- package/src/lib/utils.ts +0 -84
- package/src/lib/validation.ts +0 -197
- package/src/network_optimizer.ts +0 -132
- package/src/types.ts +0 -44
- package/tasks.json +0 -16
- package/tsconfig.base.json +0 -21
- package/tsconfig.cjs.json +0 -10
- package/tsconfig.eslint.json +0 -14
- package/tsconfig.esm.json +0 -11
- package/tsconfig.json +0 -6
- package/webpack.config.js +0 -56
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { Authenticator, AuthenticatorType, Network } from '../../src';
|
|
2
|
-
import { CompositeClient } from '../../src/clients/composite-client'
|
|
3
|
-
|
|
4
|
-
describe('CompositeClient', () => {
|
|
5
|
-
describe('validateAuthenticators', () => {
|
|
6
|
-
const network = Network.staging();
|
|
7
|
-
|
|
8
|
-
it('Validates top level AnyOf authenticators', async () => {
|
|
9
|
-
const client = await CompositeClient.connect(network);
|
|
10
|
-
const auth: Authenticator = {
|
|
11
|
-
type: AuthenticatorType.ANY_OF,
|
|
12
|
-
config: [
|
|
13
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
14
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
15
|
-
],
|
|
16
|
-
}
|
|
17
|
-
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('Fails top level AnyOf authenticators with non-signature nested authenticator', async () => {
|
|
21
|
-
const client = await CompositeClient.connect(network);
|
|
22
|
-
const auth: Authenticator = {
|
|
23
|
-
type: AuthenticatorType.ANY_OF,
|
|
24
|
-
config: [
|
|
25
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
26
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
27
|
-
],
|
|
28
|
-
}
|
|
29
|
-
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('Validates top level AllOf authenticators', async () => {
|
|
33
|
-
const client = await CompositeClient.connect(network);
|
|
34
|
-
const auth: Authenticator = {
|
|
35
|
-
type: AuthenticatorType.ALL_OF,
|
|
36
|
-
config: [
|
|
37
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
38
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
39
|
-
],
|
|
40
|
-
}
|
|
41
|
-
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it('Fails top level AllOf authenticators, without signature verification', async () => {
|
|
45
|
-
const client = await CompositeClient.connect(network);
|
|
46
|
-
const auth: Authenticator = {
|
|
47
|
-
type: AuthenticatorType.ALL_OF,
|
|
48
|
-
config: [
|
|
49
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
50
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
51
|
-
],
|
|
52
|
-
}
|
|
53
|
-
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it('Validates nested anyOf authenticators', async () => {
|
|
57
|
-
const client = await CompositeClient.connect(network);
|
|
58
|
-
const nestedAnyOf = {
|
|
59
|
-
type: AuthenticatorType.ANY_OF,
|
|
60
|
-
config: [
|
|
61
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
62
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
63
|
-
]
|
|
64
|
-
}
|
|
65
|
-
const signatureVerification = {
|
|
66
|
-
type: AuthenticatorType.SIGNATURE_VERIFICATION,
|
|
67
|
-
config: ""
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const auth: Authenticator = {
|
|
71
|
-
type: AuthenticatorType.ALL_OF,
|
|
72
|
-
config: [signatureVerification, nestedAnyOf],
|
|
73
|
-
};
|
|
74
|
-
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('Validates nested allOf authenticators', async () => {
|
|
78
|
-
const client = await CompositeClient.connect(network);
|
|
79
|
-
const nestedAllOf = {
|
|
80
|
-
type: AuthenticatorType.ALL_OF,
|
|
81
|
-
config: [
|
|
82
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
83
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
const messageVerification = {
|
|
87
|
-
type: AuthenticatorType.MESSAGE_FILTER,
|
|
88
|
-
config: ""
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const auth: Authenticator = {
|
|
92
|
-
type: AuthenticatorType.ALL_OF,
|
|
93
|
-
config: [messageVerification, nestedAllOf],
|
|
94
|
-
};
|
|
95
|
-
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
it('Fails nested anyOf signatureVerification authenticators', async () => {
|
|
99
|
-
const client = await CompositeClient.connect(network);
|
|
100
|
-
const nestedAnyOf = {
|
|
101
|
-
type: AuthenticatorType.ANY_OF,
|
|
102
|
-
config: [
|
|
103
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
104
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
const messageVerification = {
|
|
108
|
-
type: AuthenticatorType.MESSAGE_FILTER,
|
|
109
|
-
config: ""
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
const auth: Authenticator = {
|
|
113
|
-
type: AuthenticatorType.ALL_OF,
|
|
114
|
-
config: [messageVerification, nestedAnyOf],
|
|
115
|
-
};
|
|
116
|
-
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('Fails nested anyOf authenticators', async () => {
|
|
120
|
-
const client = await CompositeClient.connect(network);
|
|
121
|
-
const nestedAnyOf = {
|
|
122
|
-
type: AuthenticatorType.ANY_OF,
|
|
123
|
-
config: [
|
|
124
|
-
{ type: AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
125
|
-
{ type: AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
126
|
-
]
|
|
127
|
-
}
|
|
128
|
-
const messageVerification = {
|
|
129
|
-
type: AuthenticatorType.MESSAGE_FILTER,
|
|
130
|
-
config: ""
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
const auth: Authenticator = {
|
|
134
|
-
type: AuthenticatorType.ANY_OF,
|
|
135
|
-
config: [messageVerification, nestedAnyOf],
|
|
136
|
-
};
|
|
137
|
-
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
-
export class BaseTendermintClient {
|
|
3
|
-
async block(): Promise<void> {}
|
|
4
|
-
async broadcastTxSync(): Promise<void> {}
|
|
5
|
-
async broadcastTxAsync(): Promise<void> {}
|
|
6
|
-
async txSearchAll(): Promise<void> {}
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export class BaseQueryClient {
|
|
10
|
-
tx = {
|
|
11
|
-
async simulate(): Promise<void> {},
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
async queryUnverified(): Promise<void> {}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class BaseStargateSigningClient {
|
|
18
|
-
async sign(): Promise<void> {}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class BaseWallet {
|
|
22
|
-
async getAccounts(): Promise<void> {}
|
|
23
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import Long from 'long';
|
|
2
|
-
|
|
3
|
-
import { generateRandomClientId } from '../../src/lib/utils';
|
|
4
|
-
import {
|
|
5
|
-
ClobPairId,
|
|
6
|
-
TransactionOptions,
|
|
7
|
-
ICancelOrder,
|
|
8
|
-
Transfer,
|
|
9
|
-
MsgTransfer,
|
|
10
|
-
OrderFlags,
|
|
11
|
-
IPlaceOrder,
|
|
12
|
-
Order_Side,
|
|
13
|
-
Order_TimeInForce,
|
|
14
|
-
IBatchCancelOrder,
|
|
15
|
-
} from '../../src/types';
|
|
16
|
-
|
|
17
|
-
export const TEST_ADDRESS: string = 'dydx1vl9h9nkmau4e9v7tm30wekespu3d2qhd9404wa';
|
|
18
|
-
export const TEST_RECIPIENT_ADDRESS: string = 'dydx1slanxj8x9ntk9knwa6cvfv2tzlsq5gk3dshml0';
|
|
19
|
-
export const TEST_CHAIN_ID: string = 'ritbit';
|
|
20
|
-
export const TEST_HOST: string = 'http://localhost:26657';
|
|
21
|
-
|
|
22
|
-
export const defaultTransactionOptions: TransactionOptions = {
|
|
23
|
-
accountNumber: 1,
|
|
24
|
-
sequence: 10,
|
|
25
|
-
chainId: TEST_CHAIN_ID,
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// PlaceOrder variables
|
|
29
|
-
export const defaultOrder: IPlaceOrder = {
|
|
30
|
-
clientId: 0,
|
|
31
|
-
orderFlags: OrderFlags.SHORT_TERM,
|
|
32
|
-
clobPairId: ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
33
|
-
side: Order_Side.SIDE_BUY,
|
|
34
|
-
quantums: Long.fromNumber(10),
|
|
35
|
-
subticks: Long.fromNumber(100),
|
|
36
|
-
goodTilBlock: 10000,
|
|
37
|
-
timeInForce: Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED,
|
|
38
|
-
reduceOnly: false,
|
|
39
|
-
clientMetadata: 0,
|
|
40
|
-
// New optional fields
|
|
41
|
-
twapParameters: undefined,
|
|
42
|
-
builderCodeParameters: undefined,
|
|
43
|
-
orderRouterAddress: undefined,
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// PlaceOrder with TWAP parameters for testing
|
|
47
|
-
export const twapOrder: IPlaceOrder = {
|
|
48
|
-
...defaultOrder,
|
|
49
|
-
clientId: 1,
|
|
50
|
-
twapParameters: {
|
|
51
|
-
duration: 3600, // 1 hour
|
|
52
|
-
interval: 300, // 5 minutes
|
|
53
|
-
priceTolerance: 50000, // 5% in ppm
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
// PlaceOrder with builder code parameters for testing
|
|
58
|
-
export const builderOrder: IPlaceOrder = {
|
|
59
|
-
...defaultOrder,
|
|
60
|
-
clientId: 2,
|
|
61
|
-
builderCodeParameters: {
|
|
62
|
-
builderAddress: 'dydx1test_builder_address',
|
|
63
|
-
feePpm: 1000, // 0.1% fee
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export const orderRouterOrder: IPlaceOrder = {
|
|
68
|
-
...defaultOrder,
|
|
69
|
-
clientId: 2,
|
|
70
|
-
orderRouterAddress: 'dydx1test_router_address',
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
// CancelOrder variables
|
|
74
|
-
export const defaultCancelOrder: ICancelOrder = {
|
|
75
|
-
clientId: generateRandomClientId(),
|
|
76
|
-
orderFlags: OrderFlags.SHORT_TERM,
|
|
77
|
-
clobPairId: ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
78
|
-
goodTilBlock: 4250,
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// BatchCancelOrder variables
|
|
82
|
-
export const defaultBatchCancelOrder: IBatchCancelOrder = {
|
|
83
|
-
shortTermOrders: [
|
|
84
|
-
{
|
|
85
|
-
clobPairId: ClobPairId.PERPETUAL_PAIR_BTC_USD,
|
|
86
|
-
clientIds: [generateRandomClientId(), generateRandomClientId()],
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
goodTilBlock: 4250,
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
// Transfer variables
|
|
93
|
-
export const defaultTransfer: MsgTransfer = {
|
|
94
|
-
sender: {
|
|
95
|
-
owner: TEST_ADDRESS,
|
|
96
|
-
number: 0,
|
|
97
|
-
},
|
|
98
|
-
recipient: {
|
|
99
|
-
owner: 'dydx14063jves4u9zhm7eja5ltf3t8zspxd92qnk23t',
|
|
100
|
-
number: 0,
|
|
101
|
-
},
|
|
102
|
-
assetId: 0,
|
|
103
|
-
amount: Long.fromNumber(1000),
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// ------ Onboarding Constants ------ //
|
|
107
|
-
// Base Signature Result
|
|
108
|
-
export const SIGNATURE_RESULT =
|
|
109
|
-
'0xf2006b4fc0afa08a6048b40d3d67e437ac2e20e6bacf3f947f9b33aa2756d204287f5fb2155bec067d879a25d7ddac791826cf28e2786919065e19848020f1531b';
|
|
110
|
-
|
|
111
|
-
// Derived privateKeyBytes from Base Signature Result
|
|
112
|
-
export const ENTROPY_FROM_SIGNATURE_RESULT: Uint8Array = new Uint8Array([
|
|
113
|
-
247, 183, 226, 106, 76, 125, 241, 35, 149, 75, 103, 180, 165, 243, 80, 128, 34, 20, 238, 201, 131,
|
|
114
|
-
180, 61, 76, 223, 179, 37, 211, 144, 197, 171, 251,
|
|
115
|
-
]);
|
|
116
|
-
|
|
117
|
-
// Derived HDKey privateKey from Base Signature Result
|
|
118
|
-
export const PRIVATE_KEY_FROM_SIGNATURE_RESULT: Uint8Array = new Uint8Array([
|
|
119
|
-
14, 92, 178, 198, 64, 65, 27, 153, 11, 45, 118, 194, 71, 194, 10, 140, 145, 40, 203, 107, 231,
|
|
120
|
-
191, 138, 220, 168, 104, 28, 69, 58, 193, 203, 213,
|
|
121
|
-
]);
|
|
122
|
-
|
|
123
|
-
// Derived HDKey publicKey from Base Signature Result
|
|
124
|
-
export const PUBLIC_KEY_FROM_SIGNATURE_RESULT: Uint8Array = new Uint8Array([
|
|
125
|
-
2, 204, 94, 45, 7, 83, 196, 55, 195, 107, 10, 35, 169, 32, 24, 37, 193, 196, 34, 210, 84, 26, 107,
|
|
126
|
-
89, 119, 240, 211, 63, 187, 34, 162, 197, 36,
|
|
127
|
-
]);
|
|
128
|
-
|
|
129
|
-
// Derived HDKey mnemonic from Base Signature Result
|
|
130
|
-
export const MNEMONIC_FROM_SIGNATURE_RESULT =
|
|
131
|
-
'waste sample once ocean tenant mushroom festival hollow regret convince stage able candy jazz champion isolate diary group under entry decorate glare quiz job';
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/// <reference types="jest" />
|
|
2
|
-
|
|
3
|
-
import { PartialTransactionOptions, TransactionOptions } from '../../src';
|
|
4
|
-
import { DEFAULT_SEQUENCE } from '../../src/lib/constants';
|
|
5
|
-
import { convertPartialTransactionOptionsToFull, stripHexPrefix } from '../../src/lib/helpers';
|
|
6
|
-
import { defaultTransactionOptions } from '../helpers/constants';
|
|
7
|
-
import { calculateSubticks, calculateQuantums } from '../../src/clients/helpers/chain-helpers';
|
|
8
|
-
import Long from 'long';
|
|
9
|
-
|
|
10
|
-
describe('helpers', () => {
|
|
11
|
-
describe('calculateSubticks', () => {
|
|
12
|
-
it('correctly handles decimals', () => {
|
|
13
|
-
expect(calculateSubticks(8.45, -7, -9, 1000000)).toEqual(new Long(845_000_000));
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
describe('calculateQuantums', () => {
|
|
18
|
-
it('correctly handles decimals', () => {
|
|
19
|
-
expect(calculateQuantums(0.0003, -10, 1000000)).toEqual(new Long(3_000_000));
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
describe('convertPartialTransactionOptionsToFull', () =>
|
|
24
|
-
it.each([
|
|
25
|
-
[
|
|
26
|
-
'partial transactionOptions',
|
|
27
|
-
{
|
|
28
|
-
accountNumber: defaultTransactionOptions.accountNumber,
|
|
29
|
-
chainId: defaultTransactionOptions.chainId,
|
|
30
|
-
},
|
|
31
|
-
{ ...defaultTransactionOptions, sequence: DEFAULT_SEQUENCE },
|
|
32
|
-
],
|
|
33
|
-
['undefined transactionOptions', undefined, undefined],
|
|
34
|
-
])(
|
|
35
|
-
'convertPartialTransactionOptionsToFull: %s',
|
|
36
|
-
(
|
|
37
|
-
_name: string,
|
|
38
|
-
partialTransactionOptions: PartialTransactionOptions | undefined,
|
|
39
|
-
expectedResult: TransactionOptions | undefined,
|
|
40
|
-
) => {
|
|
41
|
-
const transactionOptions: TransactionOptions | void =
|
|
42
|
-
convertPartialTransactionOptionsToFull(partialTransactionOptions);
|
|
43
|
-
expect(expectedResult).toEqual(transactionOptions);
|
|
44
|
-
},
|
|
45
|
-
));
|
|
46
|
-
|
|
47
|
-
describe('stripHexPrefix', () => {
|
|
48
|
-
it('strips 0x prefix', () => {
|
|
49
|
-
expect(stripHexPrefix('0x123')).toEqual('123');
|
|
50
|
-
});
|
|
51
|
-
it('returns input if no prefix', () => {
|
|
52
|
-
expect(stripHexPrefix('10x23')).toEqual('10x23');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { MAX_UINT_32 } from '../../src/lib/constants';
|
|
2
|
-
import { randomInt, generateRandomClientId, clientIdFromString } from '../../src/lib/utils';
|
|
3
|
-
|
|
4
|
-
describe('lib/util', () => {
|
|
5
|
-
describe('randomInt', () => {
|
|
6
|
-
it('random values', () => {
|
|
7
|
-
const maxValue: number = 9999;
|
|
8
|
-
let lastValue: number = 0;
|
|
9
|
-
for (let i = 0; i < 100; i++) {
|
|
10
|
-
const value: number = randomInt(maxValue);
|
|
11
|
-
|
|
12
|
-
// Within the expected bounds.
|
|
13
|
-
expect(value).toBeGreaterThanOrEqual(0);
|
|
14
|
-
expect(value).toBeLessThanOrEqual(maxValue);
|
|
15
|
-
|
|
16
|
-
// No collision.
|
|
17
|
-
expect(value).not.toEqual(lastValue);
|
|
18
|
-
lastValue = value;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('zero', () => {
|
|
23
|
-
expect(randomInt(0)).toEqual(0);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('generateRandomClientId', () => {
|
|
28
|
-
it('random values', () => {
|
|
29
|
-
let lastValue: number = 0;
|
|
30
|
-
for (let i = 0; i < 100; i++) {
|
|
31
|
-
const value: number = generateRandomClientId();
|
|
32
|
-
|
|
33
|
-
// Within the expected bounds.
|
|
34
|
-
expect(value).toBeGreaterThanOrEqual(0);
|
|
35
|
-
expect(value).toBeLessThanOrEqual(MAX_UINT_32);
|
|
36
|
-
|
|
37
|
-
// No collision.
|
|
38
|
-
expect(value).not.toEqual(lastValue);
|
|
39
|
-
lastValue = value;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
describe('clientIdFromString', () => {
|
|
45
|
-
it('hard-coded', () => {
|
|
46
|
-
expect(clientIdFromString('test')).toEqual(2151040146);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('random values', () => {
|
|
50
|
-
let lastValue: number = 0;
|
|
51
|
-
let lastInput: number = 0;
|
|
52
|
-
for (let i = 0; i < 1000; i++) {
|
|
53
|
-
// Prevent input collision.
|
|
54
|
-
let input: number = randomInt(MAX_UINT_32);
|
|
55
|
-
if (input === lastInput) {
|
|
56
|
-
input += 1;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const value: number = clientIdFromString(`${input}`);
|
|
60
|
-
const valueAgain: number = clientIdFromString(`${input}`);
|
|
61
|
-
|
|
62
|
-
// Deterministic.
|
|
63
|
-
expect(value).toEqual(valueAgain);
|
|
64
|
-
|
|
65
|
-
// Within the expected bounds.
|
|
66
|
-
expect(value).toBeGreaterThanOrEqual(0);
|
|
67
|
-
expect(value).toBeLessThanOrEqual(MAX_UINT_32);
|
|
68
|
-
|
|
69
|
-
// No collision.
|
|
70
|
-
expect(value).not.toEqual(lastValue);
|
|
71
|
-
expect(value).not.toEqual(input);
|
|
72
|
-
lastValue = value;
|
|
73
|
-
lastInput = input;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|