@dydxprotocol/v4-client-js 1.18.0 → 1.20.0
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/CHANGELOG.md +2 -2
- package/__tests__/clients/composite-client.test.ts +140 -0
- package/build/__tests__/clients/composite-client.test.d.ts +1 -0
- package/build/__tests__/clients/composite-client.test.js +130 -0
- package/build/examples/permissioned_keys_example.js +22 -8
- package/build/examples/websocket_orderbook_example.js +10 -12
- package/build/src/clients/composite-client.d.ts +2 -1
- package/build/src/clients/composite-client.js +38 -2
- package/build/src/clients/constants.d.ts +4 -0
- package/build/src/clients/constants.js +1 -1
- package/build/src/clients/modules/local-wallet.d.ts +4 -4
- package/build/src/clients/modules/local-wallet.js +1 -1
- package/build/src/clients/modules/signer.d.ts +3 -3
- package/build/src/clients/modules/signer.js +18 -8
- package/build/tsconfig.tsbuildinfo +1 -1
- package/examples/permissioned_keys_example.ts +38 -12
- package/examples/websocket_orderbook_example.ts +202 -215
- package/package.json +1 -1
- package/src/clients/composite-client.ts +60 -7
- package/src/clients/constants.ts +5 -0
- package/src/clients/modules/local-wallet.ts +4 -4
- package/src/clients/modules/signer.ts +33 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# [1.
|
|
1
|
+
# [1.20.0](https://github.com/dydxprotocol/v4-clients/compare/v4-client-js@1.19.0...v4-client-js@1.20.0) (2025-02-26)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* Add functionality to validate authenticators added my clients ([#335](https://github.com/dydxprotocol/v4-clients/issues/335)) ([38d9134](https://github.com/dydxprotocol/v4-clients/commit/38d913445faf6bd10c19df2b7185dfd6cc32d86f))
|
|
@@ -0,0 +1,140 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const src_1 = require("../../src");
|
|
4
|
+
const composite_client_1 = require("../../src/clients/composite-client");
|
|
5
|
+
describe('CompositeClient', () => {
|
|
6
|
+
describe('validateAuthenticators', () => {
|
|
7
|
+
const network = src_1.Network.staging();
|
|
8
|
+
it('Validates top level AnyOf authenticators', async () => {
|
|
9
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
10
|
+
const auth = {
|
|
11
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
12
|
+
config: [
|
|
13
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
14
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
18
|
+
});
|
|
19
|
+
it('Fails top level AnyOf authenticators with non-signature nested authenticator', async () => {
|
|
20
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
21
|
+
const auth = {
|
|
22
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
23
|
+
config: [
|
|
24
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
25
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
29
|
+
});
|
|
30
|
+
it('Validates top level AllOf authenticators', async () => {
|
|
31
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
32
|
+
const auth = {
|
|
33
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
34
|
+
config: [
|
|
35
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
36
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
40
|
+
});
|
|
41
|
+
it('Fails top level AllOf authenticators, without signature verification', async () => {
|
|
42
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
43
|
+
const auth = {
|
|
44
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
45
|
+
config: [
|
|
46
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
47
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
51
|
+
});
|
|
52
|
+
it('Validates nested anyOf authenticators', async () => {
|
|
53
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
54
|
+
const nestedAnyOf = {
|
|
55
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
56
|
+
config: [
|
|
57
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
58
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
59
|
+
]
|
|
60
|
+
};
|
|
61
|
+
const signatureVerification = {
|
|
62
|
+
type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION,
|
|
63
|
+
config: ""
|
|
64
|
+
};
|
|
65
|
+
const auth = {
|
|
66
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
67
|
+
config: [signatureVerification, nestedAnyOf],
|
|
68
|
+
};
|
|
69
|
+
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
70
|
+
});
|
|
71
|
+
it('Validates nested allOf authenticators', async () => {
|
|
72
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
73
|
+
const nestedAllOf = {
|
|
74
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
75
|
+
config: [
|
|
76
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
77
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
78
|
+
]
|
|
79
|
+
};
|
|
80
|
+
const messageVerification = {
|
|
81
|
+
type: src_1.AuthenticatorType.MESSAGE_FILTER,
|
|
82
|
+
config: ""
|
|
83
|
+
};
|
|
84
|
+
const auth = {
|
|
85
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
86
|
+
config: [messageVerification, nestedAllOf],
|
|
87
|
+
};
|
|
88
|
+
expect(client.validateAuthenticator(auth)).toEqual(true);
|
|
89
|
+
});
|
|
90
|
+
it('Fails nested anyOf signatureVerification authenticators', async () => {
|
|
91
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
92
|
+
const nestedAnyOf = {
|
|
93
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
94
|
+
config: [
|
|
95
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
96
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
97
|
+
]
|
|
98
|
+
};
|
|
99
|
+
const messageVerification = {
|
|
100
|
+
type: src_1.AuthenticatorType.MESSAGE_FILTER,
|
|
101
|
+
config: ""
|
|
102
|
+
};
|
|
103
|
+
const auth = {
|
|
104
|
+
type: src_1.AuthenticatorType.ALL_OF,
|
|
105
|
+
config: [messageVerification, nestedAnyOf],
|
|
106
|
+
};
|
|
107
|
+
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
108
|
+
});
|
|
109
|
+
it('Fails nested anyOf authenticators', async () => {
|
|
110
|
+
const client = await composite_client_1.CompositeClient.connect(network);
|
|
111
|
+
const nestedAnyOf = {
|
|
112
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
113
|
+
config: [
|
|
114
|
+
{ type: src_1.AuthenticatorType.MESSAGE_FILTER, config: "" },
|
|
115
|
+
{ type: src_1.AuthenticatorType.SIGNATURE_VERIFICATION, config: "" },
|
|
116
|
+
]
|
|
117
|
+
};
|
|
118
|
+
const messageVerification = {
|
|
119
|
+
type: src_1.AuthenticatorType.MESSAGE_FILTER,
|
|
120
|
+
config: ""
|
|
121
|
+
};
|
|
122
|
+
const auth = {
|
|
123
|
+
type: src_1.AuthenticatorType.ANY_OF,
|
|
124
|
+
config: [messageVerification, nestedAnyOf],
|
|
125
|
+
};
|
|
126
|
+
expect(client.validateAuthenticator(auth)).toEqual(false);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX190ZXN0c19fL2NsaWVudHMvY29tcG9zaXRlLWNsaWVudC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQXNFO0FBQ3RFLHlFQUFvRTtBQUVwRSxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7UUFDdEMsTUFBTSxPQUFPLEdBQUcsYUFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWxDLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLGtDQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELE1BQU0sSUFBSSxHQUFrQjtnQkFDMUIsSUFBSSxFQUFFLHVCQUFpQixDQUFDLE1BQU07Z0JBQzlCLE1BQU0sRUFBRTtvQkFDTixFQUFFLElBQUksRUFBRSx1QkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO29CQUM5RCxFQUFFLElBQUksRUFBRSx1QkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2lCQUMvRDthQUNGLENBQUE7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhFQUE4RSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sa0NBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQWtCO2dCQUMxQixJQUFJLEVBQUUsdUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsTUFB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
|
|
@@ -44,23 +44,37 @@ async function removeAuthenticator(client, subaccount, id) {
|
|
|
44
44
|
await client.removeAuthenticator(subaccount, id);
|
|
45
45
|
}
|
|
46
46
|
async function addAuthenticator(client, subaccount, authedPubKey) {
|
|
47
|
-
const
|
|
47
|
+
const subAuth = [{
|
|
48
48
|
type: constants_1.AuthenticatorType.SIGNATURE_VERIFICATION,
|
|
49
49
|
config: authedPubKey,
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
|
-
type: constants_1.AuthenticatorType.
|
|
53
|
-
config:
|
|
54
|
-
|
|
52
|
+
type: constants_1.AuthenticatorType.ANY_OF,
|
|
53
|
+
config: [
|
|
54
|
+
{
|
|
55
|
+
type: constants_1.AuthenticatorType.MESSAGE_FILTER,
|
|
56
|
+
config: (0, encoding_1.toBase64)(new util_1.TextEncoder().encode('/dydxprotocol.clob.MsgPlaceOrder')),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: constants_1.AuthenticatorType.MESSAGE_FILTER,
|
|
60
|
+
config: (0, encoding_1.toBase64)(new util_1.TextEncoder().encode('/dydxprotocol.clob.MsgPlaceOrder')),
|
|
61
|
+
},
|
|
62
|
+
]
|
|
63
|
+
}
|
|
55
64
|
];
|
|
56
|
-
const jsonString = JSON.stringify(
|
|
65
|
+
const jsonString = JSON.stringify(subAuth);
|
|
57
66
|
const encodedData = new util_1.TextEncoder().encode(jsonString);
|
|
58
|
-
|
|
67
|
+
try {
|
|
68
|
+
await client.addAuthenticator(subaccount, constants_1.AuthenticatorType.ALL_OF, encodedData);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.log(error.message);
|
|
72
|
+
}
|
|
59
73
|
}
|
|
60
74
|
async function placeOrder(client, fromAccount, forAccount, authenticatorId) {
|
|
61
75
|
try {
|
|
62
76
|
const side = constants_1.OrderSide.BUY;
|
|
63
|
-
const price = Number(
|
|
77
|
+
const price = Number('1000');
|
|
64
78
|
const currentBlock = await client.validatorClient.get.latestBlockHeight();
|
|
65
79
|
const nextValidBlockHeight = currentBlock + 5;
|
|
66
80
|
const goodTilBlock = nextValidBlockHeight + 10;
|
|
@@ -82,4 +96,4 @@ test()
|
|
|
82
96
|
.catch((error) => {
|
|
83
97
|
console.log(error.message);
|
|
84
98
|
});
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbmVkX2tleXNfZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2V4YW1wbGVzL3Blcm1pc3Npb25lZF9rZXlzX2V4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBbUM7QUFFbkMsK0NBQTRDO0FBQzVDLHNGQUErRjtBQUUvRixnQ0FBdUM7QUFDdkMsc0VBQWtFO0FBQ2xFLHdEQUFtRztBQUNuRyx1RkFBOEQ7QUFDOUQsMERBQTJEO0FBQzNELDJDQUF1RTtBQUV2RSxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLDhCQUFrQixFQUFFLG1CQUFhLENBQUMsQ0FBQztJQUNsRixNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLGdDQUFvQixFQUFFLG1CQUFhLENBQUMsQ0FBQztJQUVwRixNQUFNLE9BQU8sR0FBRyxtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sa0NBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixNQUFNLFdBQVcsR0FBRyxJQUFJLDJCQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUksMkJBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbkQsOEJBQThCO0lBQzlCLHdEQUF3RDtJQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDMUMsTUFBTSxnQkFBZ0IsQ0FB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
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
+
/* eslint-disable no-param-reassign */
|
|
3
5
|
const constants_1 = require("../src/clients/constants");
|
|
4
6
|
const socket_client_1 = require("../src/clients/socket-client");
|
|
5
7
|
function test() {
|
|
@@ -12,7 +14,7 @@ function test() {
|
|
|
12
14
|
console.log('socket closed');
|
|
13
15
|
}, (message) => {
|
|
14
16
|
try {
|
|
15
|
-
if (typeof message.data ===
|
|
17
|
+
if (typeof message.data === 'string') {
|
|
16
18
|
const jsonString = message.data;
|
|
17
19
|
const parsingData = JSON.parse(jsonString);
|
|
18
20
|
const messageId = parsingData.message_id;
|
|
@@ -24,13 +26,10 @@ function test() {
|
|
|
24
26
|
orderBookBidList = sortByNthElementDesc(orderBookBidList, 0);
|
|
25
27
|
orderBookAskList = sortByNthElementAsc(orderBookAskList, 0);
|
|
26
28
|
// resolving crossed orderBook
|
|
27
|
-
if (orderBookBidList &&
|
|
28
|
-
orderBookAskList &&
|
|
29
|
-
orderBookBidList.length > 0 &&
|
|
29
|
+
if (orderBookBidList.length > 0 &&
|
|
30
30
|
orderBookAskList.length > 0 &&
|
|
31
31
|
orderBookBidList[0][0] >= orderBookAskList[0][0]) {
|
|
32
|
-
[orderBookBidList, orderBookAskList] =
|
|
33
|
-
resolveCrossedOrderBook(orderBookBidList, orderBookAskList);
|
|
32
|
+
[orderBookBidList, orderBookAskList] = resolveCrossedOrderBook(orderBookBidList, orderBookAskList);
|
|
34
33
|
}
|
|
35
34
|
printOrderBook(orderBookBidList, orderBookAskList);
|
|
36
35
|
if (orderBookBidList.length > 300) {
|
|
@@ -40,8 +39,7 @@ function test() {
|
|
|
40
39
|
orderBookAskList.splice(50);
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
|
-
else if (orderBookDataList !== null &&
|
|
44
|
-
orderBookDataList !== undefined) {
|
|
42
|
+
else if (orderBookDataList !== null && orderBookDataList !== undefined) {
|
|
45
43
|
// initial OrderBook data
|
|
46
44
|
setInitialOrderBook(orderBookDataList, orderBookBidList, orderBookAskList, messageId);
|
|
47
45
|
}
|
|
@@ -92,11 +90,11 @@ const printOrderBook = (orderBookBidList, orderBookAskList) => {
|
|
|
92
90
|
};
|
|
93
91
|
function createSpaces(count) {
|
|
94
92
|
if (count <= 0) {
|
|
95
|
-
return
|
|
93
|
+
return '';
|
|
96
94
|
}
|
|
97
|
-
let spaces =
|
|
95
|
+
let spaces = '';
|
|
98
96
|
for (let i = 0; i < count; i++) {
|
|
99
|
-
spaces +=
|
|
97
|
+
spaces += ' ';
|
|
100
98
|
}
|
|
101
99
|
return spaces;
|
|
102
100
|
}
|
|
@@ -195,4 +193,4 @@ const updateOrderBook = (orderBookDataList, orderBookBidList, orderBookAskList,
|
|
|
195
193
|
return [orderBookBidList, orderBookAskList];
|
|
196
194
|
};
|
|
197
195
|
test();
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZXhhbXBsZXMvd2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQW1EO0FBQ25ELGdFQUE0RDtBQUU1RCxTQUFTLElBQUk7SUFDVCxJQUFJLGdCQUFnQixHQUErQixFQUFFLENBQUM7SUFDdEQsSUFBSSxnQkFBZ0IsR0FBK0IsRUFBRSxDQUFDO0lBRXRELE1BQU0sUUFBUSxHQUFHLElBQUksNEJBQVksQ0FDN0IsbUJBQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQy9CLEdBQUcsRUFBRTtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFN0IsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsRUFDRCxHQUFHLEVBQUU7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsRUFDRCxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ1IsSUFBSTtZQUNBLElBQUksT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDbEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztnQkFDekMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUUvQyxJQUFJLGlCQUFpQixZQUFZLEtBQUssRUFBRTtvQkFDcEMseUJBQXlCO29CQUN6QixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsZUFBZSxDQUNsRCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGdC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
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZXhhbXBsZXMvd2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdURBQXVEO0FBQ3ZELHNDQUFzQztBQUN0Qyx3REFBbUQ7QUFDbkQsZ0VBQTREO0FBRTVELFNBQVMsSUFBSTtJQUNYLElBQUksZ0JBQWdCLEdBQStCLEVBQUUsQ0FBQztJQUN0RCxJQUFJLGdCQUFnQixHQUErQixFQUFFLENBQUM7SUFFdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSw0QkFBWSxDQUMvQixtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFDL0IsR0FBRyxFQUFFO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU3QixRQUFRLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQyxFQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUNELENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDVixJQUFJO1lBQ0YsSUFBSSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUN6QyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRS9DLElBQUksaUJBQWlCLFlBQVksS0FBSyxFQUFFO29CQUN0Qyx5QkFBeUI7b0JBQ3pCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxlQUFlLENBQ3BELGlC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
|
|
@@ -5,7 +5,7 @@ import { GetAuthenticatorsResponse } from '@dydxprotocol/v4-proto/src/codegen/dy
|
|
|
5
5
|
import { Order_TimeInForce } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order';
|
|
6
6
|
import Long from 'long';
|
|
7
7
|
import { GovAddNewMarketParams, OrderFlags } from '../types';
|
|
8
|
-
import { AuthenticatorType, Network, OrderExecution, OrderSide, OrderTimeInForce, OrderType, SelectedGasDenom } from './constants';
|
|
8
|
+
import { Authenticator, AuthenticatorType, Network, OrderExecution, OrderSide, OrderTimeInForce, OrderType, SelectedGasDenom } from './constants';
|
|
9
9
|
import { IndexerClient } from './indexer-client';
|
|
10
10
|
import LocalWallet from './modules/local-wallet';
|
|
11
11
|
import { SubaccountInfo } from './subaccount';
|
|
@@ -371,4 +371,5 @@ export declare class CompositeClient {
|
|
|
371
371
|
addAuthenticator(subaccount: SubaccountInfo, authenticatorType: AuthenticatorType, data: Uint8Array): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
372
372
|
removeAuthenticator(subaccount: SubaccountInfo, id: Long): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
373
373
|
getAuthenticators(address: string): Promise<GetAuthenticatorsResponse>;
|
|
374
|
+
validateAuthenticator(authenticator: Authenticator): boolean;
|
|
374
375
|
}
|