Skip to content

Commit d34306c

Browse files
author
Karl Ranna
authored
refactor: change LIVE_CEX config option to TEST_MODE (#115)
1 parent 63f3c3d commit d34306c

File tree

11 files changed

+41
-41
lines changed

11 files changed

+41
-41
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`checkConfigOptions LIVE_CEX disabled requires TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE"`;
3+
exports[`checkConfigOptions TEST_MODE disabled requires CEX_API_KEY 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: CEX_API_KEY"`;
44

5-
exports[`checkConfigOptions LIVE_CEX disabled requires TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE"`;
5+
exports[`checkConfigOptions TEST_MODE disabled requires CEX_API_SECRET 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: CEX_API_SECRET"`;
66

7-
exports[`checkConfigOptions LIVE_CEX enabled requires CEX_API_KEY 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: CEX_API_KEY"`;
7+
exports[`checkConfigOptions TEST_MODE enabled requires TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE"`;
88

9-
exports[`checkConfigOptions LIVE_CEX enabled requires CEX_API_SECRET 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: CEX_API_SECRET"`;
9+
exports[`checkConfigOptions TEST_MODE enabled requires TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE 1`] = `"Incomplete configuration. Please add the following options to .env or as environment variables: TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE"`;

src/arby.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ const logConfig = (config: Config, logger: Logger) => {
5959
QUOTEASSET,
6060
TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE,
6161
TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE,
62-
LIVE_CEX,
62+
TEST_MODE,
6363
CEX,
6464
} = config;
6565
logger.info(`Running with config:
66-
LIVE_CEX: ${LIVE_CEX}
66+
TEST_MODE: ${TEST_MODE}
6767
CEX: ${CEX}
6868
LOG_LEVEL: ${LOG_LEVEL}
6969
DATA_DIR: ${DATA_DIR}

src/centralized/assets.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ describe('CEXassets$', () => {
8484
it('fetches balances from CEX every 30 seconds', () => {
8585
const config = {
8686
...testConfig(),
87-
LIVE_CEX: true,
87+
TEST_MODE: false,
8888
};
8989
assertCEXassets({
9090
config,

src/centralized/assets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const getCentralizedExchangeAssets$ = ({
4444
logAssetAllocation,
4545
}: GetCentralizedExchangeAssetsParams): Observable<ExchangeAssetAllocation> => {
4646
const logAssetAllocationWithLogger = curry(logAssetAllocation)(logger);
47-
if (config.LIVE_CEX) {
47+
if (!config.TEST_MODE) {
4848
const convertBalancesWithConfig = curry(convertBalances)(config);
4949
return CEXfetchBalance$(CEX).pipe(
5050
map(convertBalancesWithConfig),

src/centralized/execute-order.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ describe('executeCEXorder$', () => {
6464
it('executes real order in production mode', () => {
6565
const config = {
6666
...testConfig(),
67-
LIVE_CEX: true,
67+
TEST_MODE: false,
6868
};
6969
const inputEvents = {
7070
createOrder$: '1s a',
@@ -82,7 +82,7 @@ describe('executeCEXorder$', () => {
8282
it('retries to execute order upon failure', () => {
8383
const config = {
8484
...testConfig(),
85-
LIVE_CEX: true,
85+
TEST_MODE: false,
8686
};
8787
const inputEvents = {
8888
createOrder$: '1s # 1s a',

src/centralized/execute-order.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const executeCEXorder$ = ({
3636
order,
3737
createOrder$,
3838
}: ExecuteCEXorderParams): Observable<null> => {
39-
if (config.LIVE_CEX) {
39+
if (!config.TEST_MODE) {
4040
logger.info(
4141
`Starting centralized exchange ${config.CEX_BASEASSET}/${config.CEX_QUOTEASSET} market ${order.side} order (quantity: ${order.quantity})`
4242
);

src/centralized/remove-orders.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ describe('removeCEXorders$', () => {
7373
it('executes a real CEX order cancellation in live mode', () => {
7474
const config = {
7575
...testConfig(),
76-
LIVE_CEX: true,
76+
TEST_MODE: false,
7777
};
7878
const inputEvents = {
7979
config,
@@ -88,7 +88,7 @@ describe('removeCEXorders$', () => {
8888
it('does not cancel orders when no open orders exist', () => {
8989
const config = {
9090
...testConfig(),
91-
LIVE_CEX: true,
91+
TEST_MODE: false,
9292
};
9393
const inputEvents = {
9494
config,

src/centralized/remove-orders.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const removeCEXorders$ = (
1515
orderId: string
1616
) => Observable<Order>
1717
): Observable<unknown> => {
18-
if (config.LIVE_CEX) {
18+
if (!config.TEST_MODE) {
1919
const getOrderIds = (orders: Order[]) => orders.map(order => order.id);
2020
return fetchOpenOrders$(exchange, config).pipe(
2121
map(getOrderIds),

src/config.spec.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { checkConfigOptions } from './config';
22

33
describe('checkConfigOptions', () => {
4-
describe('LIVE_CEX disabled', () => {
4+
describe('TEST_MODE enabled', () => {
55
const validLiveCEXdisabledConf = {
66
LOG_LEVEL: 'trace',
77
CEX: 'binance',
@@ -14,7 +14,7 @@ describe('checkConfigOptions', () => {
1414
QUOTEASSET: 'usdt',
1515
TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE: '321',
1616
TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE: '123',
17-
LIVE_CEX: 'false',
17+
TEST_MODE: 'true',
1818
};
1919

2020
it('allows BTC/USDT', () => {
@@ -23,7 +23,7 @@ describe('checkConfigOptions', () => {
2323
expect(config).toEqual({
2424
...config,
2525
CEX: 'BINANCE',
26-
LIVE_CEX: false,
26+
TEST_MODE: true,
2727
BASEASSET: 'BTC',
2828
QUOTEASSET: 'USDT',
2929
CEX_BASEASSET: 'BTC',
@@ -41,7 +41,7 @@ describe('checkConfigOptions', () => {
4141
expect(config).toEqual({
4242
...config,
4343
CEX: 'BINANCE',
44-
LIVE_CEX: false,
44+
TEST_MODE: true,
4545
BASEASSET: 'BTC',
4646
QUOTEASSET: 'USDT',
4747
CEX_BASEASSET: 'XBT',
@@ -62,7 +62,7 @@ describe('checkConfigOptions', () => {
6262
expect(config).toEqual({
6363
...config,
6464
CEX: 'BINANCE',
65-
LIVE_CEX: false,
65+
TEST_MODE: true,
6666
BASEASSET: 'ETH',
6767
QUOTEASSET: 'BTC',
6868
CEX_BASEASSET: 'ETH',
@@ -93,7 +93,7 @@ describe('checkConfigOptions', () => {
9393
});
9494
});
9595

96-
describe('LIVE_CEX enabled', () => {
96+
describe('TEST_MODE disabled', () => {
9797
const validLiveCEXenabledConf = {
9898
LOG_LEVEL: 'trace',
9999
CEX: 'kraken',
@@ -106,7 +106,7 @@ describe('checkConfigOptions', () => {
106106
MARGIN: '0.06',
107107
BASEASSET: 'BTC',
108108
QUOTEASSET: 'USDT',
109-
LIVE_CEX: 'true',
109+
TEST_MODE: 'false',
110110
};
111111

112112
it('allows BTC/USDT', () => {
@@ -115,7 +115,7 @@ describe('checkConfigOptions', () => {
115115
expect(config).toEqual({
116116
...config,
117117
CEX: 'KRAKEN',
118-
LIVE_CEX: true,
118+
TEST_MODE: false,
119119
});
120120
});
121121

@@ -132,7 +132,7 @@ describe('checkConfigOptions', () => {
132132
expect(config).toEqual({
133133
...config,
134134
CEX: 'KRAKEN',
135-
LIVE_CEX: true,
135+
TEST_MODE: false,
136136
CEX_BASEASSET: 'USDT',
137137
CEX_QUOTEASSET: 'DAI',
138138
BASEASSET: 'USDT',
@@ -154,7 +154,7 @@ describe('checkConfigOptions', () => {
154154
expect(config).toEqual({
155155
...config,
156156
CEX: 'KRAKEN',
157-
LIVE_CEX: true,
157+
TEST_MODE: false,
158158
CEX_BASEASSET: 'BTC',
159159
CEX_QUOTEASSET: 'USD',
160160
BASEASSET: 'BTC',
@@ -176,7 +176,7 @@ describe('checkConfigOptions', () => {
176176
expect(config).toEqual({
177177
...config,
178178
CEX: 'KRAKEN',
179-
LIVE_CEX: true,
179+
TEST_MODE: false,
180180
CEX_BASEASSET: 'USD',
181181
CEX_QUOTEASSET: 'DAI',
182182
BASEASSET: 'USDT',
@@ -197,7 +197,7 @@ describe('checkConfigOptions', () => {
197197
expect(config).toEqual({
198198
...config,
199199
CEX: 'KRAKEN',
200-
LIVE_CEX: true,
200+
TEST_MODE: false,
201201
});
202202
});
203203

src/config.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export type Config = {
1919
CEX_QUOTEASSET: string;
2020
TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE: string;
2121
TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE: string;
22-
LIVE_CEX: boolean;
22+
TEST_MODE: boolean;
2323
};
2424

2525
const REQUIRED_CONFIGURATION_OPTIONS = [
@@ -32,19 +32,19 @@ const REQUIRED_CONFIGURATION_OPTIONS = [
3232
'MARGIN',
3333
'BASEASSET',
3434
'QUOTEASSET',
35-
'LIVE_CEX',
35+
'TEST_MODE',
3636
];
3737

38-
const REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_ENABLED = [
39-
'CEX_API_KEY',
40-
'CEX_API_SECRET',
41-
];
42-
43-
const REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_DISABLED = [
38+
const REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_ENABLED = [
4439
'TEST_CENTRALIZED_EXCHANGE_BASEASSET_BALANCE',
4540
'TEST_CENTRALIZED_EXCHANGE_QUOTEASSET_BALANCE',
4641
];
4742

43+
const REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_DISABLED = [
44+
'CEX_API_KEY',
45+
'CEX_API_SECRET',
46+
];
47+
4848
const OPTIONAL_CONFIG = ['CEX_BASEASSET', 'CEX_QUOTEASSET'];
4949

5050
const setLogLevel = (logLevel: string): Level => {
@@ -58,8 +58,8 @@ const setLogLevel = (logLevel: string): Level => {
5858

5959
const getEnvironmentConfig = (): DotenvParseOutput => {
6060
const environmentConfig = REQUIRED_CONFIGURATION_OPTIONS.concat(
61-
REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_ENABLED,
62-
REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_DISABLED,
61+
REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_ENABLED,
62+
REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_DISABLED,
6363
OPTIONAL_CONFIG
6464
).reduce((envConfig: DotenvParseOutput, configOption) => {
6565
if (process.env[configOption]) {
@@ -75,9 +75,9 @@ const getEnvironmentConfig = (): DotenvParseOutput => {
7575

7676
const getMissingOptions = (config: DotenvParseOutput): string => {
7777
const ADDITIONAL_CONF_OPTIONS =
78-
config['LIVE_CEX'] === 'true'
79-
? REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_ENABLED
80-
: REQUIRED_CONFIGURATION_OPTIONS_LIVE_CEX_DISABLED;
78+
config['TEST_MODE'] === 'true'
79+
? REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_ENABLED
80+
: REQUIRED_CONFIGURATION_OPTIONS_TEST_MODE_DISABLED;
8181
return REQUIRED_CONFIGURATION_OPTIONS.concat(ADDITIONAL_CONF_OPTIONS)
8282
.reduce((missingOptions: string[], configOption) => {
8383
if (!config[configOption]) {
@@ -110,7 +110,7 @@ const checkConfigOptions = (dotEnvConfig: DotenvParseOutput): Config => {
110110
const verifiedConfig = {
111111
...config,
112112
LOG_LEVEL: setLogLevel(config.LOG_LEVEL),
113-
LIVE_CEX: config.LIVE_CEX === 'true' ? true : false,
113+
TEST_MODE: config.TEST_MODE === 'true' ? true : false,
114114
CEX: config.CEX.toUpperCase(),
115115
BASEASSET,
116116
QUOTEASSET,

0 commit comments

Comments
 (0)