@dydxprotocol/v4-client-js 0.38.4 → 0.38.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__native__/__ios__/v4-native-client.js +902 -152
- package/build/examples/short_term_order_composite_example.js +2 -2
- package/build/src/clients/composite-client.d.ts +19 -5
- package/build/src/clients/composite-client.js +62 -26
- package/build/src/clients/constants.d.ts +1 -0
- package/build/src/clients/constants.js +3 -2
- package/build/src/clients/modules/post.d.ts +11 -4
- package/build/src/clients/modules/post.js +41 -16
- package/build/src/clients/native.js +4 -2
- package/build/src/network_optimizer.js +5 -5
- package/examples/short_term_order_composite_example.ts +1 -1
- package/package.json +1 -1
- package/src/clients/composite-client.ts +129 -23
- package/src/clients/constants.ts +2 -0
- package/src/clients/modules/post.ts +90 -12
- package/src/clients/native.ts +21 -7
- package/src/network_optimizer.ts +4 -4
- package/__native__/__ios__/v4-native-client.js.map +0 -1
|
@@ -36,7 +36,7 @@ async function test() {
|
|
|
36
36
|
const timeInForce = orderExecutionToTimeInForce(orderParams.timeInForce);
|
|
37
37
|
// uint32
|
|
38
38
|
const clientId = (0, utils_1.randomInt)(2 ** 32 - 1);
|
|
39
|
-
const tx = await client.placeShortTermOrder(subaccount, 'ETH-USD', side, price, 0.01, clientId,
|
|
39
|
+
const tx = await client.placeShortTermOrder(subaccount, 'ETH-USD', side, price, 0.01, clientId, goodTilBlock, timeInForce, false);
|
|
40
40
|
console.log('**Order Tx**');
|
|
41
41
|
console.log(tx.hash.toString());
|
|
42
42
|
}
|
|
@@ -64,4 +64,4 @@ test().then(() => {
|
|
|
64
64
|
}).catch((error) => {
|
|
65
65
|
console.log(error.message);
|
|
66
66
|
});
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRfdGVybV9vcmRlcl9jb21wb3NpdGVfZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2V4YW1wbGVzL3Nob3J0X3Rlcm1fb3JkZXJfY29tcG9zaXRlX2V4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzRkFBK0Y7QUFFL0YsZ0NBQXVDO0FBQ3ZDLHNFQUFrRTtBQUNsRSx3REFFa0M7QUFDbEMsdUZBQThEO0FBQzlELDBEQUF1RDtBQUN2RCw0Q0FBNkM7QUFDN0MsMkNBQWlEO0FBQ2pELG9IQUFtRTtBQUVuRSxLQUFLLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDN0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSTs7SUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxzQkFBVyxDQUFDLFlBQVksQ0FBQyw4QkFBa0IsRUFBRSxtQkFBYSxDQUFDLENBQUM7SUFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixNQUFNLE9BQU8sR0FBRyxtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sa0NBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUksdUJBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsS0FBSyxNQUFNLFdBQVcsSUFBSSwrQ0FBWSxFQUFFO1FBQ3RDLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxJQUE4QixDQUFDLENBQUM7WUFDbkUsTUFBTSxLQUFLLEdBQUcsTUFBQSxXQUFXLENBQUMsS0FBSyxtQ0FBSSxJQUFJLENBQUM7WUFFeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzFFLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUM5Qyw0RUFBNEU7WUFDNUUsb0RBQW9EO1lBQ3BELE1BQU0sWUFBWSxHQUFHLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztZQUUvQyxNQUFNLFdBQVcsR0FBRywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFekUsU0FBUztZQUNULE1BQU0sUUFBUSxHQUFHLElBQUEsaUJBQVMsRUFBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXhDLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUN6QyxVQUFVLEVBQ1YsU0FBUyxFQUNULElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssQ0FDTixDQUFDO1lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNqQztRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUI7UUFFRCxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLGtDQUFrQztLQUN2RDtBQUNILENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLGNBQXNCO0lBQ3pELFFBQVEsY0FBYyxFQUFFO1FBQ3RCLEtBQUssMEJBQWMsQ0FBQyxPQUFPO1lBQ3pCLE9BQU8seUJBQWlCLENBQUMseUJBQXlCLENBQUM7UUFDckQsS0FBSywwQkFBYyxDQUFDLEdBQUc7WUFDckIsT0FBTyx5QkFBaUIsQ0FBQywwQkFBMEIsQ0FBQztRQUN0RCxLQUFLLDBCQUFjLENBQUMsR0FBRztZQUNyQixPQUFPLHlCQUFpQixDQUFDLGlCQUFpQixDQUFDO1FBQzdDLEtBQUssMEJBQWMsQ0FBQyxTQUFTO1lBQzNCLE9BQU8seUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDbkQ7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EncodeObject } from '@cosmjs/proto-signing';
|
|
2
|
-
import { GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
|
|
2
|
+
import { Account, GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
|
|
3
3
|
import { BroadcastTxAsyncResponse, BroadcastTxSyncResponse } from '@cosmjs/tendermint-rpc/build/tendermint37';
|
|
4
4
|
import { Order_TimeInForce } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order';
|
|
5
5
|
import { OrderFlags } from '../types';
|
|
@@ -8,6 +8,13 @@ import { IndexerClient } from './indexer-client';
|
|
|
8
8
|
import LocalWallet from './modules/local-wallet';
|
|
9
9
|
import { Subaccount } from './subaccount';
|
|
10
10
|
import { ValidatorClient } from './validator-client';
|
|
11
|
+
export interface MarketInfo {
|
|
12
|
+
clobPairId: number;
|
|
13
|
+
atomicResolution: number;
|
|
14
|
+
stepBaseQuantums: number;
|
|
15
|
+
quantumConversionExponent: number;
|
|
16
|
+
subticksPerTick: number;
|
|
17
|
+
}
|
|
11
18
|
export declare class CompositeClient {
|
|
12
19
|
readonly network: Network;
|
|
13
20
|
private _indexerClient;
|
|
@@ -25,7 +32,7 @@ export declare class CompositeClient {
|
|
|
25
32
|
* at any point.
|
|
26
33
|
* @returns The Signature.
|
|
27
34
|
*/
|
|
28
|
-
sign(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string): Promise<Uint8Array>;
|
|
35
|
+
sign(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, account?: () => Promise<Account>): Promise<Uint8Array>;
|
|
29
36
|
/**
|
|
30
37
|
* @description Send a list of messages with a wallet.
|
|
31
38
|
* the calling function is responsible for creating the messages.
|
|
@@ -34,7 +41,7 @@ export declare class CompositeClient {
|
|
|
34
41
|
* at any point.
|
|
35
42
|
* @returns The Transaction Hash.
|
|
36
43
|
*/
|
|
37
|
-
send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
44
|
+
send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, account?: () => Promise<Account>): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
38
45
|
/**
|
|
39
46
|
* @description Send a signed transaction.
|
|
40
47
|
*
|
|
@@ -58,7 +65,7 @@ export declare class CompositeClient {
|
|
|
58
65
|
* at any point.
|
|
59
66
|
* @returns The gas estimate.
|
|
60
67
|
*/
|
|
61
|
-
simulate(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, gasPrice?: GasPrice, memo?: string): Promise<StdFee>;
|
|
68
|
+
simulate(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, gasPrice?: GasPrice, memo?: string, account?: () => Promise<Account>): Promise<StdFee>;
|
|
62
69
|
/**
|
|
63
70
|
* @description Calculate the goodTilBlock value for a SHORT_TERM order
|
|
64
71
|
*
|
|
@@ -129,13 +136,19 @@ export declare class CompositeClient {
|
|
|
129
136
|
* @param execution The execution of the order to place.
|
|
130
137
|
* @param postOnly The postOnly of the order to place.
|
|
131
138
|
* @param reduceOnly The reduceOnly of the order to place.
|
|
139
|
+
* @param triggerPrice The trigger price of conditional orders.
|
|
140
|
+
* @param marketInfo optional market information for calculating quantums and subticks.
|
|
141
|
+
* This can be constructed from Indexer API. If set to null, additional round
|
|
142
|
+
* trip to Indexer API will be made.
|
|
143
|
+
* @param currentHeight Current block height. This can be obtained from ValidatorClient.
|
|
144
|
+
* If set to null, additional round trip to ValidatorClient will be made.
|
|
132
145
|
*
|
|
133
146
|
*
|
|
134
147
|
* @throws UnexpectedClientError if a malformed response is returned with no GRPC error
|
|
135
148
|
* at any point.
|
|
136
149
|
* @returns The transaction hash.
|
|
137
150
|
*/
|
|
138
|
-
placeOrder(subaccount: Subaccount, marketId: string, type: OrderType, side: OrderSide, price: number, size: number, clientId: number, timeInForce?: OrderTimeInForce, goodTilTimeInSeconds?: number, execution?: OrderExecution, postOnly?: boolean, reduceOnly?: boolean, triggerPrice?: number): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
151
|
+
placeOrder(subaccount: Subaccount, marketId: string, type: OrderType, side: OrderSide, price: number, size: number, clientId: number, timeInForce?: OrderTimeInForce, goodTilTimeInSeconds?: number, execution?: OrderExecution, postOnly?: boolean, reduceOnly?: boolean, triggerPrice?: number, marketInfo?: MarketInfo, currentHeight?: number): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
139
152
|
/**
|
|
140
153
|
* @description Calculate and create the place order message
|
|
141
154
|
*
|
|
@@ -162,6 +175,7 @@ export declare class CompositeClient {
|
|
|
162
175
|
* @returns The message to be passed into the protocol
|
|
163
176
|
*/
|
|
164
177
|
private placeOrderMessage;
|
|
178
|
+
private retrieveMarketInfo;
|
|
165
179
|
/**
|
|
166
180
|
* @description Calculate and create the short term place order message
|
|
167
181
|
*
|
|
@@ -53,8 +53,8 @@ class CompositeClient {
|
|
|
53
53
|
* at any point.
|
|
54
54
|
* @returns The Signature.
|
|
55
55
|
*/
|
|
56
|
-
async sign(wallet, messaging, zeroFee, gasPrice = constants_1.GAS_PRICE, memo) {
|
|
57
|
-
return this.validatorClient.post.sign(wallet, messaging, zeroFee, gasPrice, memo);
|
|
56
|
+
async sign(wallet, messaging, zeroFee, gasPrice = constants_1.GAS_PRICE, memo, account) {
|
|
57
|
+
return this.validatorClient.post.sign(wallet, messaging, zeroFee, gasPrice, memo, account);
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
60
|
* @description Send a list of messages with a wallet.
|
|
@@ -64,8 +64,8 @@ class CompositeClient {
|
|
|
64
64
|
* at any point.
|
|
65
65
|
* @returns The Transaction Hash.
|
|
66
66
|
*/
|
|
67
|
-
async send(wallet, messaging, zeroFee, gasPrice = constants_1.GAS_PRICE, memo) {
|
|
68
|
-
return this.validatorClient.post.send(wallet, messaging, zeroFee, gasPrice, memo);
|
|
67
|
+
async send(wallet, messaging, zeroFee, gasPrice = constants_1.GAS_PRICE, memo, account) {
|
|
68
|
+
return this.validatorClient.post.send(wallet, messaging, zeroFee, gasPrice, memo, undefined, account);
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* @description Send a signed transaction.
|
|
@@ -92,8 +92,8 @@ class CompositeClient {
|
|
|
92
92
|
* at any point.
|
|
93
93
|
* @returns The gas estimate.
|
|
94
94
|
*/
|
|
95
|
-
async simulate(wallet, messaging, gasPrice = constants_1.GAS_PRICE, memo) {
|
|
96
|
-
return this.validatorClient.post.simulate(wallet, messaging, gasPrice, memo);
|
|
95
|
+
async simulate(wallet, messaging, gasPrice = constants_1.GAS_PRICE, memo, account) {
|
|
96
|
+
return this.validatorClient.post.simulate(wallet, messaging, gasPrice, memo, account);
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* @description Calculate the goodTilBlock value for a SHORT_TERM order
|
|
@@ -102,9 +102,14 @@ class CompositeClient {
|
|
|
102
102
|
* at any point.
|
|
103
103
|
* @returns The goodTilBlock value
|
|
104
104
|
*/
|
|
105
|
-
async calculateGoodTilBlock() {
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
async calculateGoodTilBlock(orderFlags, currentHeight) {
|
|
106
|
+
if (orderFlags === types_1.OrderFlags.SHORT_TERM) {
|
|
107
|
+
const height = currentHeight !== null && currentHeight !== void 0 ? currentHeight : await this.validatorClient.get.latestBlockHeight();
|
|
108
|
+
return height + constants_1.SHORT_BLOCK_FORWARD;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
return Promise.resolve(0);
|
|
112
|
+
}
|
|
108
113
|
}
|
|
109
114
|
/**
|
|
110
115
|
* @description Validate the goodTilBlock value for a SHORT_TERM order
|
|
@@ -171,7 +176,8 @@ class CompositeClient {
|
|
|
171
176
|
console.log(err);
|
|
172
177
|
});
|
|
173
178
|
});
|
|
174
|
-
|
|
179
|
+
const account = this.validatorClient.post.account(subaccount.address, undefined);
|
|
180
|
+
return this.send(subaccount.wallet, () => msgs, true, undefined, undefined, () => account);
|
|
175
181
|
}
|
|
176
182
|
/**
|
|
177
183
|
* @description Place an order with human readable input.
|
|
@@ -192,22 +198,30 @@ class CompositeClient {
|
|
|
192
198
|
* @param execution The execution of the order to place.
|
|
193
199
|
* @param postOnly The postOnly of the order to place.
|
|
194
200
|
* @param reduceOnly The reduceOnly of the order to place.
|
|
201
|
+
* @param triggerPrice The trigger price of conditional orders.
|
|
202
|
+
* @param marketInfo optional market information for calculating quantums and subticks.
|
|
203
|
+
* This can be constructed from Indexer API. If set to null, additional round
|
|
204
|
+
* trip to Indexer API will be made.
|
|
205
|
+
* @param currentHeight Current block height. This can be obtained from ValidatorClient.
|
|
206
|
+
* If set to null, additional round trip to ValidatorClient will be made.
|
|
195
207
|
*
|
|
196
208
|
*
|
|
197
209
|
* @throws UnexpectedClientError if a malformed response is returned with no GRPC error
|
|
198
210
|
* at any point.
|
|
199
211
|
* @returns The transaction hash.
|
|
200
212
|
*/
|
|
201
|
-
async placeOrder(subaccount, marketId, type, side, price, size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice) {
|
|
213
|
+
async placeOrder(subaccount, marketId, type, side, price, size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice, marketInfo, currentHeight) {
|
|
202
214
|
const msgs = new Promise((resolve) => {
|
|
203
215
|
const msg = this.placeOrderMessage(subaccount, marketId, type, side, price,
|
|
204
216
|
// trigger_price: number, // not used for MARKET and LIMIT
|
|
205
|
-
size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice);
|
|
217
|
+
size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice, marketInfo, currentHeight);
|
|
206
218
|
msg.then((it) => resolve([it])).catch((err) => {
|
|
207
219
|
console.log(err);
|
|
208
220
|
});
|
|
209
221
|
});
|
|
210
|
-
|
|
222
|
+
const orderFlags = (0, chain_helpers_1.calculateOrderFlags)(type, timeInForce);
|
|
223
|
+
const account = this.validatorClient.post.account(subaccount.address, orderFlags);
|
|
224
|
+
return this.send(subaccount.wallet, () => msgs, true, undefined, undefined, () => account);
|
|
211
225
|
}
|
|
212
226
|
/**
|
|
213
227
|
* @description Calculate and create the place order message
|
|
@@ -236,28 +250,29 @@ class CompositeClient {
|
|
|
236
250
|
*/
|
|
237
251
|
async placeOrderMessage(subaccount, marketId, type, side, price,
|
|
238
252
|
// trigger_price: number, // not used for MARKET and LIMIT
|
|
239
|
-
size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice) {
|
|
240
|
-
const
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
const
|
|
253
|
+
size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice, marketInfo, currentHeight) {
|
|
254
|
+
const orderFlags = (0, chain_helpers_1.calculateOrderFlags)(type, timeInForce);
|
|
255
|
+
const result = await Promise.all([
|
|
256
|
+
this.calculateGoodTilBlock(orderFlags, currentHeight),
|
|
257
|
+
this.retrieveMarketInfo(marketId, marketInfo),
|
|
258
|
+
]);
|
|
259
|
+
const goodTilBlock = result[0];
|
|
260
|
+
const clobPairId = result[1].clobPairId;
|
|
261
|
+
const atomicResolution = result[1].atomicResolution;
|
|
262
|
+
const stepBaseQuantums = result[1].stepBaseQuantums;
|
|
263
|
+
const quantumConversionExponent = result[1].quantumConversionExponent;
|
|
264
|
+
const subticksPerTick = result[1].subticksPerTick;
|
|
247
265
|
const orderSide = (0, chain_helpers_1.calculateSide)(side);
|
|
248
266
|
const quantums = (0, chain_helpers_1.calculateQuantums)(size, atomicResolution, stepBaseQuantums);
|
|
249
267
|
const subticks = (0, chain_helpers_1.calculateSubticks)(price, atomicResolution, quantumConversionExponent, subticksPerTick);
|
|
250
|
-
const orderFlags = (0, chain_helpers_1.calculateOrderFlags)(type, timeInForce);
|
|
251
268
|
const orderTimeInForce = (0, chain_helpers_1.calculateTimeInForce)(type, timeInForce, execution, postOnly);
|
|
252
|
-
const goodTilBlock = (orderFlags === types_1.OrderFlags.SHORT_TERM)
|
|
253
|
-
? await this.calculateGoodTilBlock() : 0;
|
|
254
269
|
let goodTilBlockTime = 0;
|
|
255
270
|
if (orderFlags === types_1.OrderFlags.LONG_TERM || orderFlags === types_1.OrderFlags.CONDITIONAL) {
|
|
256
271
|
if (goodTilTimeInSeconds == null) {
|
|
257
272
|
throw new Error('goodTilTimeInSeconds must be set for LONG_TERM or CONDITIONAL order');
|
|
258
273
|
}
|
|
259
274
|
else {
|
|
260
|
-
goodTilBlockTime =
|
|
275
|
+
goodTilBlockTime = this.calculateGoodTilBlockTime(goodTilTimeInSeconds);
|
|
261
276
|
}
|
|
262
277
|
}
|
|
263
278
|
const clientMetadata = (0, chain_helpers_1.calculateClientMetadata)(type);
|
|
@@ -265,6 +280,27 @@ class CompositeClient {
|
|
|
265
280
|
const conditionalOrderTriggerSubticks = (0, chain_helpers_1.calculateConditionalOrderTriggerSubticks)(type, atomicResolution, quantumConversionExponent, subticksPerTick, triggerPrice);
|
|
266
281
|
return this.validatorClient.post.composer.composeMsgPlaceOrder(subaccount.address, subaccount.subaccountNumber, clientId, clobPairId, orderFlags, goodTilBlock, goodTilBlockTime, orderSide, quantums, subticks, orderTimeInForce, reduceOnly !== null && reduceOnly !== void 0 ? reduceOnly : false, clientMetadata, conditionalType, conditionalOrderTriggerSubticks);
|
|
267
282
|
}
|
|
283
|
+
async retrieveMarketInfo(marketId, marketInfo) {
|
|
284
|
+
if (marketInfo) {
|
|
285
|
+
return Promise.resolve(marketInfo);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
const marketsResponse = await this.indexerClient.markets.getPerpetualMarkets(marketId);
|
|
289
|
+
const market = marketsResponse.markets[marketId];
|
|
290
|
+
const clobPairId = market.clobPairId;
|
|
291
|
+
const atomicResolution = market.atomicResolution;
|
|
292
|
+
const stepBaseQuantums = market.stepBaseQuantums;
|
|
293
|
+
const quantumConversionExponent = market.quantumConversionExponent;
|
|
294
|
+
const subticksPerTick = market.subticksPerTick;
|
|
295
|
+
return {
|
|
296
|
+
clobPairId,
|
|
297
|
+
atomicResolution,
|
|
298
|
+
stepBaseQuantums,
|
|
299
|
+
quantumConversionExponent,
|
|
300
|
+
subticksPerTick,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
}
|
|
268
304
|
/**
|
|
269
305
|
* @description Calculate and create the short term place order message
|
|
270
306
|
*
|
|
@@ -487,4 +523,4 @@ class CompositeClient {
|
|
|
487
523
|
}
|
|
488
524
|
}
|
|
489
525
|
exports.CompositeClient = CompositeClient;
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0Esc0ZBQW9IO0FBQ3BILGdEQUF3QjtBQUN4Qiw0REFBa0M7QUFFbEMsa0RBQXNFO0FBQ3RFLG9DQUFzQztBQUN0QywyQ0FJcUI7QUFDckIsMkRBU2lDO0FBQ2pDLHFEQUFpRDtBQUNqRCx5Q0FBeUM7QUFHekMseURBQXFEO0FBRXJELG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFckIsTUFBYSxlQUFlO0lBVzFCLFlBQ0UsT0FBZ0IsRUFDaEIsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLDhCQUFhLENBQ3JDLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQWZELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFhTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZjs7V0FFRztRQUNILE9BQU8sSUFBSSxDQUFDLGNB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
|
|
526
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0Esc0ZBQW9IO0FBQ3BILGdEQUF3QjtBQUN4Qiw0REFBa0M7QUFFbEMsa0RBQXNFO0FBQ3RFLG9DQUFzQztBQUN0QywyQ0FVcUI7QUFDckIsMkRBU2lDO0FBQ2pDLHFEQUFpRDtBQUNqRCx5Q0FBeUM7QUFHekMseURBQXFEO0FBRXJELG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFVckIsTUFBYSxlQUFlO0lBVzFCLFlBQ0UsT0FBZ0IsRUFDaEIsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLDhCQUFhLENBQ3JDLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQWZELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFhTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZjs7V0FFRztRQUNILE9BQU8sSUFBSSxDQUFDLGNB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
|
|
@@ -81,6 +81,7 @@ export declare enum TimePeriod {
|
|
|
81
81
|
export declare const DEFAULT_API_TIMEOUT: number;
|
|
82
82
|
export declare const MAX_MEMO_CHARACTERS: number;
|
|
83
83
|
export declare const SHORT_BLOCK_WINDOW: number;
|
|
84
|
+
export declare const SHORT_BLOCK_FORWARD: number;
|
|
84
85
|
export declare const PAGE_REQUEST: PageRequest;
|
|
85
86
|
export declare class IndexerConfig {
|
|
86
87
|
restEndpoint: string;
|
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.Network = exports.ValidatorConfig = exports.IndexerConfig = exports.PAGE_REQUEST = exports.SHORT_BLOCK_WINDOW = exports.MAX_MEMO_CHARACTERS = exports.DEFAULT_API_TIMEOUT = exports.TimePeriod = exports.PositionStatus = exports.TickerType = exports.OrderStatus = exports.OrderExecution = exports.OrderTimeInForce = exports.OrderSide = exports.OrderType = exports.MarketStatisticDay = exports.NETWORK_ID_TESTNET = exports.NETWORK_ID_MAINNET = exports.NetworkId = exports.ValidatorApiHost = exports.FaucetApiHost = exports.IndexerWSHost = exports.IndexerApiHost = exports.TESTNET_CHAIN_ID = exports.STAGING_CHAIN_ID = exports.DEV_CHAIN_ID = void 0;
|
|
20
|
+
exports.Network = exports.ValidatorConfig = exports.IndexerConfig = exports.PAGE_REQUEST = exports.SHORT_BLOCK_FORWARD = exports.SHORT_BLOCK_WINDOW = exports.MAX_MEMO_CHARACTERS = exports.DEFAULT_API_TIMEOUT = exports.TimePeriod = exports.PositionStatus = exports.TickerType = exports.OrderStatus = exports.OrderExecution = exports.OrderTimeInForce = exports.OrderSide = exports.OrderType = exports.MarketStatisticDay = exports.NETWORK_ID_TESTNET = exports.NETWORK_ID_MAINNET = exports.NetworkId = exports.ValidatorApiHost = exports.FaucetApiHost = exports.IndexerWSHost = exports.IndexerApiHost = exports.TESTNET_CHAIN_ID = exports.STAGING_CHAIN_ID = exports.DEV_CHAIN_ID = void 0;
|
|
21
21
|
const long_1 = __importDefault(require("long"));
|
|
22
22
|
__exportStar(require("../lib/constants"), exports);
|
|
23
23
|
// Chain ID
|
|
@@ -134,6 +134,7 @@ var TimePeriod;
|
|
|
134
134
|
exports.DEFAULT_API_TIMEOUT = 3000;
|
|
135
135
|
exports.MAX_MEMO_CHARACTERS = 256;
|
|
136
136
|
exports.SHORT_BLOCK_WINDOW = 20;
|
|
137
|
+
exports.SHORT_BLOCK_FORWARD = 3;
|
|
137
138
|
// Querying
|
|
138
139
|
exports.PAGE_REQUEST = {
|
|
139
140
|
key: new Uint8Array(),
|
|
@@ -187,4 +188,4 @@ class Network {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
exports.Network = Network;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsZ0RBQXdCO0FBSXhCLG1EQUFpQztBQUVqQyxXQUFXO0FBQ0UsUUFBQSxZQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEMsUUFBQSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxQyxRQUFBLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRWpELHFDQUFxQztBQUNyQyxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsNkRBQTJDLENBQUE7SUFDM0MscUVBQW1ELENBQUE7SUFDbkQsK0RBQTZDLENBQUE7SUFDN0Msb0JBQW9CO0FBQ3RCLENBQUMsRUFMVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUt6QjtBQUVELElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2QixnRUFBK0MsQ0FBQTtJQUMvQyx3RUFBdUQsQ0FBQTtJQUN2RCxrRUFBaUQsQ0FBQTtJQUNqRCxvQkFBb0I7QUFDdEIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQsSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLDZEQUE0QyxDQUFBO0lBQzVDLG1FQUFrRCxDQUFBO0lBQ2xELG1FQUFrRCxDQUFBO0FBQ3BELENBQUMsRUFKVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQUl4QjtBQUVELElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQixpRUFBNkMsQ0FBQTtJQUM3Qyx5RUFBcUQsQ0FBQTtJQUNyRCw0RUFBd0QsQ0FBQTtJQUN4RCxvQkFBb0I7QUFDdEIsQ0FBQyxFQUxXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBSzNCO0FBRUQsd0NBQXdDO0FBRXhDLElBQVksU0FL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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EncodeObject } from '@cosmjs/proto-signing';
|
|
2
|
-
import { GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
|
|
2
|
+
import { Account, GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
|
|
3
3
|
import { BroadcastTxAsyncResponse, BroadcastTxSyncResponse } from '@cosmjs/tendermint-rpc/build/tendermint37';
|
|
4
4
|
import Long from 'long';
|
|
5
5
|
import { Subaccount } from '../subaccount';
|
|
@@ -13,6 +13,7 @@ export declare class Post {
|
|
|
13
13
|
private readonly registry;
|
|
14
14
|
private readonly chainId;
|
|
15
15
|
readonly get: Get;
|
|
16
|
+
private accountNumberCache;
|
|
16
17
|
constructor(get: Get, chainId: string);
|
|
17
18
|
/**
|
|
18
19
|
* @description Simulate a transaction
|
|
@@ -22,7 +23,7 @@ export declare class Post {
|
|
|
22
23
|
* at any point.
|
|
23
24
|
* @returns The Fee for broadcasting a transaction.
|
|
24
25
|
*/
|
|
25
|
-
simulate(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, gasPrice?: GasPrice, memo?: string): Promise<StdFee>;
|
|
26
|
+
simulate(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, gasPrice?: GasPrice, memo?: string, account?: () => Promise<Account>): Promise<StdFee>;
|
|
26
27
|
/**
|
|
27
28
|
* @description Sign a transaction
|
|
28
29
|
* the calling function is responsible for creating the messages.
|
|
@@ -31,7 +32,7 @@ export declare class Post {
|
|
|
31
32
|
* at any point.
|
|
32
33
|
* @returns The Signature.
|
|
33
34
|
*/
|
|
34
|
-
sign(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string): Promise<Uint8Array>;
|
|
35
|
+
sign(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, account?: () => Promise<Account>): Promise<Uint8Array>;
|
|
35
36
|
/**
|
|
36
37
|
* @description Send a transaction
|
|
37
38
|
* the calling function is responsible for creating the messages.
|
|
@@ -40,7 +41,7 @@ export declare class Post {
|
|
|
40
41
|
* at any point.
|
|
41
42
|
* @returns The Tx Hash.
|
|
42
43
|
*/
|
|
43
|
-
send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, broadcastMode?: BroadcastMode): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
44
|
+
send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, broadcastMode?: BroadcastMode, account?: () => Promise<Account>): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
44
45
|
/**
|
|
45
46
|
* @description Calculate the default broadcast mode.
|
|
46
47
|
*/
|
|
@@ -51,6 +52,12 @@ export declare class Post {
|
|
|
51
52
|
* @returns The Tx Response.
|
|
52
53
|
*/
|
|
53
54
|
private signTransaction;
|
|
55
|
+
/**
|
|
56
|
+
* @description Retrieve an account structure for transactions.
|
|
57
|
+
* For short term orders, the sequence doesn't matter. Use cached if available.
|
|
58
|
+
* For long term and conditional orders, a round trip to validator must be made.
|
|
59
|
+
*/
|
|
60
|
+
account(address: string, orderFlags?: OrderFlags): Promise<Account>;
|
|
54
61
|
/**
|
|
55
62
|
* @description Sign and send a message
|
|
56
63
|
*
|
|
@@ -25,6 +25,7 @@ protobufjs_1.default.util.Long = long_1.default;
|
|
|
25
25
|
protobufjs_1.default.configure();
|
|
26
26
|
class Post {
|
|
27
27
|
constructor(get, chainId) {
|
|
28
|
+
this.accountNumberCache = new Map();
|
|
28
29
|
this.get = get;
|
|
29
30
|
this.chainId = chainId;
|
|
30
31
|
this.registry = (0, registry_1.generateRegistry)();
|
|
@@ -38,10 +39,12 @@ class Post {
|
|
|
38
39
|
* at any point.
|
|
39
40
|
* @returns The Fee for broadcasting a transaction.
|
|
40
41
|
*/
|
|
41
|
-
async simulate(wallet, messaging, gasPrice = constants_2.GAS_PRICE, memo) {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
42
|
+
async simulate(wallet, messaging, gasPrice = constants_2.GAS_PRICE, memo, account) {
|
|
43
|
+
const msgsPromise = messaging();
|
|
44
|
+
const accountPromise = account ? (await account()) : this.account(wallet.address);
|
|
45
|
+
const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
|
|
46
|
+
const msgs = msgsAndAccount[0];
|
|
47
|
+
return this.simulateTransaction(wallet.pubKey, msgsAndAccount[1].sequence, msgs, gasPrice, memo);
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
50
|
* @description Sign a transaction
|
|
@@ -51,9 +54,12 @@ class Post {
|
|
|
51
54
|
* at any point.
|
|
52
55
|
* @returns The Signature.
|
|
53
56
|
*/
|
|
54
|
-
async sign(wallet, messaging, zeroFee, gasPrice = constants_2.GAS_PRICE, memo) {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
+
async sign(wallet, messaging, zeroFee, gasPrice = constants_2.GAS_PRICE, memo, account) {
|
|
58
|
+
const msgsPromise = await messaging();
|
|
59
|
+
const accountPromise = account ? (await account()) : this.account(wallet.address);
|
|
60
|
+
const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
|
|
61
|
+
const msgs = msgsAndAccount[0];
|
|
62
|
+
return this.signTransaction(wallet, msgs, msgsAndAccount[1], zeroFee, gasPrice, memo);
|
|
57
63
|
}
|
|
58
64
|
/**
|
|
59
65
|
* @description Send a transaction
|
|
@@ -63,9 +69,12 @@ class Post {
|
|
|
63
69
|
* at any point.
|
|
64
70
|
* @returns The Tx Hash.
|
|
65
71
|
*/
|
|
66
|
-
async send(wallet, messaging, zeroFee, gasPrice = constants_2.GAS_PRICE, memo, broadcastMode) {
|
|
67
|
-
const
|
|
68
|
-
|
|
72
|
+
async send(wallet, messaging, zeroFee, gasPrice = constants_2.GAS_PRICE, memo, broadcastMode, account) {
|
|
73
|
+
const msgsPromise = messaging();
|
|
74
|
+
const accountPromise = account ? (await account()) : this.account(wallet.address);
|
|
75
|
+
const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
|
|
76
|
+
const msgs = msgsAndAccount[0];
|
|
77
|
+
return this.signAndSendTransaction(wallet, msgsAndAccount[1], msgs, zeroFee, gasPrice, memo, broadcastMode !== null && broadcastMode !== void 0 ? broadcastMode : this.defaultBroadcastMode(msgs));
|
|
69
78
|
}
|
|
70
79
|
/**
|
|
71
80
|
* @description Calculate the default broadcast mode.
|
|
@@ -91,8 +100,7 @@ class Post {
|
|
|
91
100
|
*
|
|
92
101
|
* @returns The Tx Response.
|
|
93
102
|
*/
|
|
94
|
-
async signTransaction(wallet, messages, zeroFee, gasPrice = constants_2.GAS_PRICE, memo) {
|
|
95
|
-
const account = await this.get.getAccount(wallet.address);
|
|
103
|
+
async signTransaction(wallet, messages, account, zeroFee, gasPrice = constants_2.GAS_PRICE, memo) {
|
|
96
104
|
// Simulate transaction if no fee is specified.
|
|
97
105
|
const fee = zeroFee ? {
|
|
98
106
|
amount: [],
|
|
@@ -106,13 +114,29 @@ class Post {
|
|
|
106
114
|
// Generate signed transaction.
|
|
107
115
|
return wallet.signTransaction(messages, txOptions, fee, memo);
|
|
108
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* @description Retrieve an account structure for transactions.
|
|
119
|
+
* For short term orders, the sequence doesn't matter. Use cached if available.
|
|
120
|
+
* For long term and conditional orders, a round trip to validator must be made.
|
|
121
|
+
*/
|
|
122
|
+
async account(address, orderFlags) {
|
|
123
|
+
if (orderFlags === types_1.OrderFlags.SHORT_TERM) {
|
|
124
|
+
if (this.accountNumberCache.has(address)) {
|
|
125
|
+
// For SHORT_TERM orders, the sequence doesn't matter
|
|
126
|
+
return this.accountNumberCache.get(address);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const account = await this.get.getAccount(address);
|
|
130
|
+
this.accountNumberCache.set(address, account);
|
|
131
|
+
return account;
|
|
132
|
+
}
|
|
109
133
|
/**
|
|
110
134
|
* @description Sign and send a message
|
|
111
135
|
*
|
|
112
136
|
* @returns The Tx Response.
|
|
113
137
|
*/
|
|
114
|
-
async signAndSendTransaction(wallet, messages, zeroFee, gasPrice = constants_2.GAS_PRICE, memo, broadcastMode) {
|
|
115
|
-
const signedTransaction = await this.signTransaction(wallet, messages, zeroFee, gasPrice, memo);
|
|
138
|
+
async signAndSendTransaction(wallet, account, messages, zeroFee, gasPrice = constants_2.GAS_PRICE, memo, broadcastMode) {
|
|
139
|
+
const signedTransaction = await this.signTransaction(wallet, messages, account, zeroFee, gasPrice, memo);
|
|
116
140
|
return this.sendSignedTransaction(signedTransaction, broadcastMode);
|
|
117
141
|
}
|
|
118
142
|
/**
|
|
@@ -169,7 +193,8 @@ class Post {
|
|
|
169
193
|
const msg = this.composer.composeMsgPlaceOrder(subaccount.address, subaccount.subaccountNumber, clientId, clobPairId, orderFlags, goodTilBlock !== null && goodTilBlock !== void 0 ? goodTilBlock : 0, goodTilBlockTime !== null && goodTilBlockTime !== void 0 ? goodTilBlockTime : 0, side, quantums, subticks, timeInForce, reduceOnly, clientMetadata, conditionType, conditionalOrderTriggerSubticks);
|
|
170
194
|
resolve([msg]);
|
|
171
195
|
});
|
|
172
|
-
|
|
196
|
+
const account = this.account(subaccount.address, orderFlags);
|
|
197
|
+
return this.send(subaccount.wallet, () => msgs, true, undefined, undefined, broadcastMode, () => account);
|
|
173
198
|
}
|
|
174
199
|
async placeOrderObject(subaccount, placeOrder, broadcastMode) {
|
|
175
200
|
var _a, _b;
|
|
@@ -215,4 +240,4 @@ class Post {
|
|
|
215
240
|
}
|
|
216
241
|
}
|
|
217
242
|
exports.Post = Post;
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvcG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBc0M7QUFLdEMsK0NBSzBCO0FBQzFCLDJEQUVnQztBQUtoQyxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyxtREFBbUY7QUFDbkYsNENBRXNCO0FBQ3RCLDBDQUFzRDtBQUN0RCw4Q0FBbUQ7QUFFbkQsb0NBTWtCO0FBQ2xCLHlDQUFzQztBQUd0QyxxREFFMEI7QUFFMUIsb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFhLElBQUk7SUFNYixZQUNFLEdBQVEsRUFDUixPQUFlO1FBRWYsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsMkJBQWdCLEdBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FDWixNQUFtQixFQUNuQixTQUF3QyxFQUN4QyxXQUFxQixxQkFBUyxFQUM5QixJQUFhO1FBRWIsTUFBTSxJQUFJLEdBQUcsTUFBTSxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFB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
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvcG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBc0M7QUFLdEMsK0NBTTBCO0FBQzFCLDJEQUVnQztBQUtoQyxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyxtREFBbUY7QUFDbkYsNENBRXNCO0FBQ3RCLDBDQUFzRDtBQUN0RCw4Q0FBbUQ7QUFFbkQsb0NBTWtCO0FBQ2xCLHlDQUFzQztBQUd0QyxxREFFMEI7QUFFMUIsb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFhLElBQUk7SUFRYixZQUNFLEdBQVEsRUFDUixPQUFlO1FBSlQsdUJBQWtCLEdBQXlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFNM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsMkJBQWdCLEdBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FDWixNQUFtQixFQUNuQixTQUF3QyxFQUN4QyxXQUFxQixxQkFBUyxFQUM5QixJQUFhLEVBQ2IsT0FBZ0M7UUFFaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLENBQUM7UUFDbkYsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUM3QixNQUFNLENBQUMsTUFBTyxFQUNkLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQzFCLElBQUksRUFDSixRQUFRLEVBQ1IsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQ1IsTUFBbUIsRUFDbkIsU0FBd0MsRUFDeEMsT0FBZ0IsRUFDaEIsV0FBcUIscUJBQVMsRUFDOUIsSUFBYSxFQUNiLE9BQWdDO1FBRWhDLE1BQU0sV0FBVyxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUM7UUFDdEMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLENBQUM7UUFDbkYsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FDUixNQUFtQixFQUNuQixTQUF3QyxFQUN4QyxPQUFnQixFQUNoQixXQUFxQixxQkFBUyxFQUM5QixJQUFhLEVBQ2IsYUFBNkIsRUFDN0IsT0FBZ0M7UUFFaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLENBQUM7UUFDbkYsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUNoQyxNQUFNLEVBQ04sY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUNqQixJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixJQUFJLEVBQ0osYUFBYSxhQUFiLGFBQWEsY0FBYixhQUFhLEdBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQUMsSUFBb0I7O1FBQy9DLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxrQ0FBa0MsRUFBRTtZQUMvRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBc0IsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxNQUFBLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsT0FBTywwQ0FBRSxVQUFVLENBQUM7WUFDbEQsUUFBUSxVQUFVLEVBQUU7Z0JBQ2xCLEtBQUssa0JBQVUsQ0FBQyxVQUFVO29CQUN4QixPQUFPLHVCQUFNLENBQUMsZUFBZSxDQUFDO2dCQUVoQyxLQUFLLGtCQUFVLENBQUMsU0FBUztvQkFDdkIsT0FBTyx1QkFBTSxDQUFDLGlCQUFpQixDQUFDO2dCQUVsQztvQkFDRSxNQUFNO2FBQ1Q7U0FDRjtRQUNELE9BQU8sdUJBQU0sQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxLQUFLLENBQUMsZUFBZSxDQUMzQixNQUFtQixFQUNuQixRQUF3QixFQUN4QixPQUFnQixFQUNoQixPQUFnQixFQUNoQixXQUFxQixxQkFBUyxFQUM5QixJQUFhO1FBRWIsK0NBQStDO1FBQy9DLE1BQU0sR0FBRyxHQUFXLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDNUIsTUFBTSxFQUFFLEVBQUU7WUFDVixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUNoQyxNQUFNLENBQUMsTUFBTyxFQUNkLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFFBQVEsRUFDUixRQUFRLEVBQ1IsSUFBSSxDQUNMLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBdUI7WUFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztRQUNGLCtCQUErQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQVEsRUFDUixTQUFTLEVBQ1QsR0FBRyxFQUNILElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxVQUF1QjtRQUMzRCxJQUFJLFVBQVUsS0FBSyxrQkFBVSxDQUFDLFVBQVUsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3hDLHFEQUFxRDtnQkFDckQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRSxDQUFDO2FBQzlDO1NBQ0Y7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssS0FBSyxDQUFDLHNCQUFzQixDQUNsQyxNQUFtQixFQUNuQixPQUFnQixFQUNoQixRQUF3QixFQUN4QixPQUFnQixFQUNoQixXQUFxQixxQkFBUyxFQUM5QixJQUFhLEVBQ2IsYUFBNkI7UUFFN0IsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQ2xELE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEVBQ1IsSUFBSSxDQUNMLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxxQkFBcUIsQ0FDekIsaUJBQTZCLEVBQzdCLGFBQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FDbkQsaUJBQWlCLEVBQ2pCLGFBQWEsS0FBSyxTQUFTO1lBQ3pCLENBQUMsQ0FBQyxhQUFhO1lBQ2YsQ0FBQyxDQUFDLHVCQUFNLENBQUMsZUFBZSxDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxtQkFBbUIsQ0FDL0IsTUFBdUIsRUFDdkIsUUFBZ0IsRUFDaEIsUUFBaUMsRUFDakMsV0FBcUIscUJBQVMsRUFDOUIsSUFBYTtRQUViLDBCQUEwQjtRQUMxQixNQUFNLGVBQWUsR0FBVSxRQUFRLENBQUMsR0FBRyxDQUN6QyxDQUFDLE9BQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUM5RCxDQUFDO1FBQ0YsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FDdkUsZUFBZSxFQUNmLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxDQUNULENBQUM7UUFFRiwwQ0FBMEM7UUFDMUMsTUFBTSxPQUFPLEdBQXdCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUVoRSxzRUFBc0U7UUFDdEUsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSw4QkFBcUIsRUFBRSxDQUFDO1NBQ25DO1FBRUQsNkNBQTZDO1FBQzdDLE1BQU0sV0FBVyxHQUFXLGFBQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sR0FBRyxHQUFHLElBQUEsdUJBQVksRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsMEJBQWMsQ0FBQyxFQUN4QyxRQUFRLENBQ1QsQ0FBQztRQUVGLDZGQUE2RjtRQUM3RixvRkFBb0Y7UUFDcEYsdUZBQXVGO1FBQ3ZGLDhCQUE4QjtRQUM5QixNQUFNLE1BQU0sR0FBVyxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sRUFBRTtnQkFDMUIsT0FBTztvQkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLEtBQUssRUFBRSxzQkFBVTtpQkFDbEIsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCwyQ0FBMkM7SUFFM0MsS0FBSyxDQUFDLFVBQVUsQ0FDZCxVQUFzQixFQUN0QixRQUFnQixFQUNoQixVQUFrQixFQUNsQixJQUFnQixFQUNoQixRQUFjLEVBQ2QsUUFBYyxFQUNkLFdBQThCLEVBQzlCLFVBQWtCLEVBQ2xCLFVBQW1CLEVBQ25CLFlBQXFCLEVBQ3JCLGdCQUF5QixFQUN6QixpQkFBeUIsQ0FBQyxFQUMxQixnQkFBcUMsb0NBQW1CLENBQUMsMEJBQTBCLEVBQ25GLGtDQUF3QyxjQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUN2RCxhQUE2QjtRQUU3QixNQUFNLElBQUksR0FBNEIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUM1QyxVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsZ0JBQWdCLEVBQzNCLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLENBQUMsRUFDakIsZ0JBQWdCLGFBQWhCLGdCQUFnQixjQUFoQixnQkFBZ0IsR0FBSSxDQUFDLEVBQ3JCLElBQUksRUFDSixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFDWCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGFBQWEsRUFDYiwrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxFQUNiLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsVUFBc0IsRUFDdEIsVUFBdUIsRUFDdkIsYUFBNkI7O1FBRTdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEIsVUFBVSxFQUNWLFVBQVUsQ0FBQyxRQUFRLEVBQ25CLFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxJQUFJLEVBQ2YsVUFBVSxDQUFDLFFBQVEsRUFDbkIsVUFBVSxDQUFDLFFBQVEsRUFDbkIsVUFBVSxDQUFDLFdBQVcsRUFDdEIsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLFlBQVksRUFDdkIsVUFBVSxDQUFDLGdCQUFnQixFQUMzQixVQUFVLENBQUMsY0FBYyxFQUN6QixNQUFBLFVBQVUsQ0FBQyxhQUFhLG1DQUFJLG9DQUFtQixDQUFDLDBCQUEwQixFQUMxRSxNQUFBLFVBQVUsQ0FBQywrQkFBK0IsbUNBQUksY0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDN0QsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixVQUFzQixFQUN0QixRQUFnQixFQUNoQixVQUFzQixFQUN0QixVQUFrQixFQUNsQixZQUFxQixFQUNyQixnQkFBeUIsRUFDekIsYUFBNkI7UUFFN0IsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDN0MsVUFBVSxDQUFDLE9BQU8sRUFDbEIsVUFBVSxDQUFDLGdCQUFnQixFQUMzQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLGFBQVosWUFBWSxjQUFaLFlBQVksR0FBSSxDQUFDLEVBQ2pCLGdCQUFnQixhQUFoQixnQkFBZ0IsY0FBaEIsZ0JBQWdCLEdBQUksQ0FBQyxDQUN0QixDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FDckIsVUFBc0IsRUFDdEIsV0FBeUIsRUFDekIsYUFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUNyQixVQUFVLEVBQ1YsV0FBVyxDQUFDLFFBQVEsRUFDcEIsV0FBVyxDQUFDLFVBQVUsRUFDdEIsV0FBVyxDQUFDLFVBQVUsRUFDdEIsV0FBVyxDQUFDLFlBQVksRUFDeEIsV0FBVyxDQUFDLGdCQUFnQixFQUM1QixhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUNaLFVBQXNCLEVBQ3RCLGdCQUF3QixFQUN4Qix5QkFBaUMsRUFDakMsT0FBZSxFQUNmLE1BQVksRUFDWixhQUE2QjtRQUU3QixNQUFNLElBQUksR0FBNEIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUMxQyxVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsZ0JBQWdCLEVBQzNCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsT0FBTyxFQUNQLE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FDWCxVQUFzQixFQUN0QixPQUFlLEVBQ2YsUUFBYyxFQUNkLGFBQTZCO1FBRTdCLE1BQU0sSUFBSSxHQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQ3JELFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsT0FBTyxFQUNQLFFBQVEsQ0FDVCxDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxVQUFVLENBQUMsTUFBTSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FDWixVQUFzQixFQUN0QixPQUFlLEVBQ2YsUUFBYyxFQUNkLFNBQWtCLEVBQ2xCLGFBQTZCO1FBRTdCLE1BQU0sSUFBSSxHQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQ3hELFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLENBQ1YsQ0FBQztZQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsVUFBVSxDQUFDLE1BQU0sRUFDakIsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQ2IsVUFBc0IsRUFDdEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsUUFBYyxFQUNkLFVBQW1CLElBQUksRUFDdkIsYUFBNkI7UUFFN0IsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FDM0MsVUFBVSxDQUFDLE9BQU8sRUFDbEIsU0FBUyxFQUNULFNBQVMsRUFDVCxRQUFRLENBQ1QsQ0FBQztZQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsVUFBVSxDQUFDLE1BQU0sRUFDakIsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUNWLE9BQU8sRUFDUCxTQUFTLEtBQUssc0JBQVUsQ0FBQyxDQUFDLENBQUMsZ0NBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFTLEVBQzNELFNBQVMsRUFDVCxhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7Q0FDSjtBQTlmRCxvQkE4ZkMifQ==
|