dexbot 1.4.14 โ 1.4.15
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/README.md +33 -48
- package/claw/data/positions.json +905 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +17 -1
- package/dist/dexbot.js.map +1 -1
- package/dist/modules/config.d.ts +3 -0
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +3 -0
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/launcher/child_env.d.ts.map +1 -1
- package/dist/modules/launcher/child_env.js +3 -0
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/paths.d.ts +43 -2
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +81 -21
- package/dist/modules/paths.js.map +1 -1
- package/package.json +2 -1
- package/scripts/README.md +20 -4
- package/scripts/clear-all.sh +39 -12
- package/scripts/clear-logs.sh +1 -1
- package/scripts/clear-market-adapter.sh +3 -3
- package/scripts/clear-orders.sh +1 -1
- package/scripts/create-bot-symlinks.sh +4 -2
- package/scripts/lib/dexbot-paths.sh +63 -0
- package/scripts/reset-settings.sh +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../modules/paths.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC;IAC1C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1B,CAAC,CAAC,UAAU,CAAC;AAEjB,SAAS,kBAAkB;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../modules/paths.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dexbot",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.15",
|
|
4
4
|
"description": "The first open source trading bot with zero runtime dependencies and a fully adaptive market making strategy.",
|
|
5
5
|
"main": "dist/modules/dexbot_class.js",
|
|
6
6
|
"exports": {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"scripts/clear-market-adapter.sh",
|
|
21
21
|
"scripts/clear-orders.sh",
|
|
22
22
|
"scripts/create-bot-symlinks.sh",
|
|
23
|
+
"scripts/lib/dexbot-paths.sh",
|
|
23
24
|
"scripts/postinstall.js",
|
|
24
25
|
"scripts/reset-settings.sh",
|
|
25
26
|
"claw",
|
package/scripts/README.md
CHANGED
|
@@ -19,6 +19,19 @@ dexbot update
|
|
|
19
19
|
|
|
20
20
|
## ๐งน CLEANING & RESET (DANGER ZONE)
|
|
21
21
|
|
|
22
|
+
All clear/reset scripts resolve their directories via `scripts/lib/dexbot-paths.sh`,
|
|
23
|
+
which mirrors `modules/paths.ts`. Defaults depend on the install type:
|
|
24
|
+
|
|
25
|
+
| Install | Profile root | Market adapter data/state | Claw data |
|
|
26
|
+
|---------|--------------|---------------------------|-----------|
|
|
27
|
+
| Source checkout | `<repo>/profiles` | `<repo>/market_adapter/{data,state}` | `<repo>/claw/data` |
|
|
28
|
+
| Global npm (`npm i -g dexbot`) | `~/.config/dexbot2/profiles` | `<profiles>/market_adapter/{data,state}` | `<profiles>/claw/data` |
|
|
29
|
+
|
|
30
|
+
Env overrides: `DEXBOT_PROFILE_ROOT`, `DEXBOT_MARKET_ADAPTER_DATA_DIR`,
|
|
31
|
+
`DEXBOT_MARKET_ADAPTER_STATE_DIR`, `DEXBOT_CLAW_DATA_DIR`. When run through the
|
|
32
|
+
`dexbot` CLI, the resolved runtime dirs are passed automatically, so the CLI
|
|
33
|
+
always clears the same dirs the runtime uses.
|
|
34
|
+
|
|
22
35
|
### Wipe Logs
|
|
23
36
|
**File:** `clear-logs.sh`
|
|
24
37
|
**Purpose:** Delete all bot `.log` and `.jsonl` files, including `profiles/logs/market_adapter.log`.
|
|
@@ -41,16 +54,19 @@ bash scripts/clear-orders.sh
|
|
|
41
54
|
**File:** `clear-market-adapter.sh`
|
|
42
55
|
**Purpose:** Delete all market adapter candle data, state files, and runtime logs.
|
|
43
56
|
```bash
|
|
44
|
-
# IRREVERSIBLE: Removes market_adapter/data
|
|
57
|
+
# IRREVERSIBLE: Removes market_adapter/{data,state}/ and profiles/logs/{market_adapter,dexbot-adapter,dexbot-adapter-error}.log
|
|
58
|
+
# (paths relocate under the profiles dir for global npm installs)
|
|
45
59
|
# Prompts for confirmation before deleting.
|
|
46
60
|
bash scripts/clear-market-adapter.sh
|
|
47
61
|
```
|
|
48
62
|
|
|
49
|
-
### Wipe Orders + Logs + Market Adapter
|
|
63
|
+
### Wipe Orders + Logs + Market Adapter + Claw
|
|
50
64
|
**File:** `clear-all.sh`
|
|
51
|
-
**Purpose:** Delete order state files, log files,
|
|
65
|
+
**Purpose:** Delete order state files, log files, market adapter data/state, and claw data in one confirmed operation.
|
|
52
66
|
```bash
|
|
53
|
-
# IRREVERSIBLE: Deletes profiles/orders/*, profiles/logs/*.{log,jsonl},
|
|
67
|
+
# IRREVERSIBLE: Deletes profiles/orders/*, profiles/logs/*.{log,jsonl},
|
|
68
|
+
# market_adapter/{data,state}/*, and claw data (positions.json, watcher-health.json, memu/) under
|
|
69
|
+
# <profiles>/claw/data (or <repo>/claw/data for source checkouts).
|
|
54
70
|
# Prompts for confirmation before deleting.
|
|
55
71
|
bash scripts/clear-all.sh
|
|
56
72
|
```
|
package/scripts/clear-all.sh
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Clear persisted order, log,
|
|
2
|
+
# Clear persisted order, log, market adapter, and claw files in one operation.
|
|
3
3
|
#
|
|
4
4
|
# This combines the behavior of clear-orders.sh, clear-logs.sh, and
|
|
5
|
-
# clear-market-adapter.sh while using a single confirmation prompt.
|
|
5
|
+
# clear-market-adapter.sh while using a single confirmation prompt. It also
|
|
6
|
+
# removes claw data (positions, watcher health, memu) from <profiles>/claw/data.
|
|
6
7
|
# Usage: ./scripts/clear-all.sh or bash scripts/clear-all.sh
|
|
7
8
|
|
|
8
9
|
set -e
|
|
@@ -17,11 +18,9 @@ NC='\033[0m' # No Color
|
|
|
17
18
|
# Configuration
|
|
18
19
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
19
20
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
20
|
-
|
|
21
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
21
22
|
ORDERS_DIR="${PROFILE_ROOT}/orders"
|
|
22
23
|
LOGS_DIR="${PROFILE_ROOT}/logs"
|
|
23
|
-
MA_DATA_DIR="${PROJECT_ROOT}/market_adapter/data"
|
|
24
|
-
MA_STATE_DIR="${PROJECT_ROOT}/market_adapter/state"
|
|
25
24
|
|
|
26
25
|
# Functions
|
|
27
26
|
log_info() {
|
|
@@ -47,9 +46,10 @@ log_info "Orders directory: $ORDERS_DIR"
|
|
|
47
46
|
log_info "Logs directory: $LOGS_DIR"
|
|
48
47
|
log_info "Market adapter data directory: $MA_DATA_DIR"
|
|
49
48
|
log_info "Market adapter state directory: $MA_STATE_DIR"
|
|
49
|
+
log_info "Claw data directory: $CLAW_DATA_DIR"
|
|
50
50
|
log_info ""
|
|
51
|
-
log_warning "WARNING: This will delete all persisted order, log,
|
|
52
|
-
log_warning "Bots will regenerate grids
|
|
51
|
+
log_warning "WARNING: This will delete all persisted order, log, market adapter, and claw files!"
|
|
52
|
+
log_warning "Bots will regenerate grids, market adapter will re-bootstrap from Kibana, and claw will drop tracked positions."
|
|
53
53
|
log_info ""
|
|
54
54
|
|
|
55
55
|
# Check directories and count files
|
|
@@ -57,6 +57,7 @@ ORDER_COUNT=0
|
|
|
57
57
|
LOG_COUNT=0
|
|
58
58
|
MA_DATA_COUNT=0
|
|
59
59
|
MA_STATE_COUNT=0
|
|
60
|
+
CLAW_COUNT=0
|
|
60
61
|
|
|
61
62
|
if [ -d "$ORDERS_DIR" ]; then
|
|
62
63
|
ORDER_COUNT=$(find "$ORDERS_DIR" -type f 2>/dev/null | wc -l)
|
|
@@ -82,14 +83,20 @@ else
|
|
|
82
83
|
log_warning "Market adapter state directory does not exist: $MA_STATE_DIR"
|
|
83
84
|
fi
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
if [ -d "$CLAW_DATA_DIR" ]; then
|
|
87
|
+
CLAW_COUNT=$(find "$CLAW_DATA_DIR" -type f 2>/dev/null | wc -l)
|
|
88
|
+
else
|
|
89
|
+
log_warning "Claw data directory does not exist: $CLAW_DATA_DIR"
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
TOTAL_COUNT=$((ORDER_COUNT + LOG_COUNT + MA_DATA_COUNT + MA_STATE_COUNT + CLAW_COUNT))
|
|
86
93
|
|
|
87
94
|
if [ "$TOTAL_COUNT" -eq 0 ]; then
|
|
88
95
|
log_info "No matching files found to delete."
|
|
89
96
|
exit 0
|
|
90
97
|
fi
|
|
91
98
|
|
|
92
|
-
log_info "Found $ORDER_COUNT order, $LOG_COUNT log, $MA_DATA_COUNT data,
|
|
99
|
+
log_info "Found $ORDER_COUNT order, $LOG_COUNT log, $MA_DATA_COUNT data, $MA_STATE_COUNT state, and $CLAW_COUNT claw file(s) to delete"
|
|
93
100
|
log_info ""
|
|
94
101
|
|
|
95
102
|
# Show what will be deleted
|
|
@@ -129,6 +136,15 @@ if [ "$MA_STATE_COUNT" -gt 0 ]; then
|
|
|
129
136
|
log_info ""
|
|
130
137
|
fi
|
|
131
138
|
|
|
139
|
+
if [ "$CLAW_COUNT" -gt 0 ]; then
|
|
140
|
+
log_info "Claw data files to be deleted:"
|
|
141
|
+
find "$CLAW_DATA_DIR" -type f 2>/dev/null | while read -r file; do
|
|
142
|
+
SIZE=$(du -h "$file" | cut -f1)
|
|
143
|
+
echo -e "${BLUE} -${NC} $(realpath --relative-to="$PROJECT_ROOT" "$file") ($SIZE)"
|
|
144
|
+
done
|
|
145
|
+
log_info ""
|
|
146
|
+
fi
|
|
147
|
+
|
|
132
148
|
# Ask for confirmation
|
|
133
149
|
read -p "Delete all listed files? (y/n): " -r CONFIRM
|
|
134
150
|
|
|
@@ -155,11 +171,17 @@ if [ "$MA_STATE_COUNT" -gt 0 ]; then
|
|
|
155
171
|
find "$MA_STATE_DIR" -type f 2>/dev/null -delete
|
|
156
172
|
fi
|
|
157
173
|
|
|
174
|
+
if [ "$CLAW_COUNT" -gt 0 ]; then
|
|
175
|
+
find "$CLAW_DATA_DIR" -type f 2>/dev/null -delete
|
|
176
|
+
find "$CLAW_DATA_DIR" -type d -empty 2>/dev/null -delete
|
|
177
|
+
fi
|
|
178
|
+
|
|
158
179
|
# Re-count to confirm
|
|
159
180
|
REMAINING_ORDERS=0
|
|
160
181
|
REMAINING_LOGS=0
|
|
161
182
|
REMAINING_MA_DATA=0
|
|
162
183
|
REMAINING_MA_STATE=0
|
|
184
|
+
REMAINING_CLAW=0
|
|
163
185
|
|
|
164
186
|
if [ -d "$ORDERS_DIR" ]; then
|
|
165
187
|
REMAINING_ORDERS=$(find "$ORDERS_DIR" -type f 2>/dev/null | wc -l)
|
|
@@ -177,18 +199,23 @@ if [ -d "$MA_STATE_DIR" ]; then
|
|
|
177
199
|
REMAINING_MA_STATE=$(find "$MA_STATE_DIR" -type f 2>/dev/null | wc -l)
|
|
178
200
|
fi
|
|
179
201
|
|
|
202
|
+
if [ -d "$CLAW_DATA_DIR" ]; then
|
|
203
|
+
REMAINING_CLAW=$(find "$CLAW_DATA_DIR" -type f 2>/dev/null | wc -l)
|
|
204
|
+
fi
|
|
205
|
+
|
|
180
206
|
log_info "=========================================="
|
|
181
|
-
if [ "$REMAINING_ORDERS" -eq 0 ] && [ "$REMAINING_LOGS" -eq 0 ] && [ "$REMAINING_MA_DATA" -eq 0 ] && [ "$REMAINING_MA_STATE" -eq 0 ]; then
|
|
207
|
+
if [ "$REMAINING_ORDERS" -eq 0 ] && [ "$REMAINING_LOGS" -eq 0 ] && [ "$REMAINING_MA_DATA" -eq 0 ] && [ "$REMAINING_MA_STATE" -eq 0 ] && [ "$REMAINING_CLAW" -eq 0 ]; then
|
|
182
208
|
log_success "All files cleared!"
|
|
183
|
-
log_info "Total deleted: $TOTAL_COUNT (orders: $ORDER_COUNT, logs: $LOG_COUNT, ma_data: $MA_DATA_COUNT, ma_state: $MA_STATE_COUNT)"
|
|
209
|
+
log_info "Total deleted: $TOTAL_COUNT (orders: $ORDER_COUNT, logs: $LOG_COUNT, ma_data: $MA_DATA_COUNT, ma_state: $MA_STATE_COUNT, claw: $CLAW_COUNT)"
|
|
184
210
|
log_info ""
|
|
185
211
|
log_info "Next steps:"
|
|
186
212
|
log_info "- Bots will regenerate their grids on next run"
|
|
187
213
|
log_info "- Market adapter will re-bootstrap candle data from Kibana on next run"
|
|
214
|
+
log_info "- Claw will re-discover and re-track positions on next run"
|
|
188
215
|
log_info "- Start bots normally: pm2 start all (or specific bot name)"
|
|
189
216
|
log_info "- Monitor startup with: pm2 logs"
|
|
190
217
|
else
|
|
191
|
-
log_warning "Cleanup incomplete โ remaining: orders=$REMAINING_ORDERS logs=$REMAINING_LOGS ma_data=$REMAINING_MA_DATA ma_state=$REMAINING_MA_STATE"
|
|
218
|
+
log_warning "Cleanup incomplete โ remaining: orders=$REMAINING_ORDERS logs=$REMAINING_LOGS ma_data=$REMAINING_MA_DATA ma_state=$REMAINING_MA_STATE claw=$REMAINING_CLAW"
|
|
192
219
|
fi
|
|
193
220
|
log_info "=========================================="
|
|
194
221
|
|
package/scripts/clear-logs.sh
CHANGED
|
@@ -16,7 +16,7 @@ NC='\033[0m' # No Color
|
|
|
16
16
|
# Configuration
|
|
17
17
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
18
18
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
19
|
-
|
|
19
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
20
20
|
LOGS_DIR="${PROFILE_ROOT}/logs"
|
|
21
21
|
|
|
22
22
|
# Functions
|
|
@@ -20,9 +20,9 @@ NC='\033[0m' # No Color
|
|
|
20
20
|
# Configuration
|
|
21
21
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
22
22
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
23
|
-
|
|
24
|
-
DATA_DIR="$
|
|
25
|
-
STATE_DIR="$
|
|
23
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
24
|
+
DATA_DIR="$MA_DATA_DIR"
|
|
25
|
+
STATE_DIR="$MA_STATE_DIR"
|
|
26
26
|
MARKET_ADAPTER_LOG="${PROFILE_ROOT}/logs/market_adapter.log"
|
|
27
27
|
ADAPTER_OUT_LOG="${PROFILE_ROOT}/logs/dexbot-adapter.log"
|
|
28
28
|
ADAPTER_ERR_LOG="${PROFILE_ROOT}/logs/dexbot-adapter-error.log"
|
package/scripts/clear-orders.sh
CHANGED
|
@@ -18,7 +18,7 @@ NC='\033[0m' # No Color
|
|
|
18
18
|
# Configuration
|
|
19
19
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
20
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
21
|
-
|
|
21
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
22
22
|
ORDERS_DIR="${PROFILE_ROOT}/orders"
|
|
23
23
|
|
|
24
24
|
# Functions
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Usage: ./scripts/create-bot-symlinks.sh
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
+
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
10
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
11
|
+
REPO_ROOT="$PROJECT_ROOT"
|
|
10
12
|
BOTS_CONFIG="${PROFILE_ROOT}/bots.json"
|
|
11
13
|
ECOSYSTEM_CONFIG="${PROFILE_ROOT}/ecosystem.config.cjs"
|
|
12
14
|
PROFILES_DIR="${PROFILE_ROOT}"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Shared directory resolution for DEXBot2 shell scripts.
|
|
3
|
+
#
|
|
4
|
+
# Mirrors modules/paths.ts (resolveProfilesDir / resolveMarketAdapterDirs /
|
|
5
|
+
# resolveClawDirs) so the shell side stays in lockstep with the TypeScript
|
|
6
|
+
# runtime. Update both together when path resolution changes.
|
|
7
|
+
#
|
|
8
|
+
# Callers must compute SCRIPT_DIR and PROJECT_ROOT before sourcing:
|
|
9
|
+
# SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
+
# PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
11
|
+
# source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
12
|
+
#
|
|
13
|
+
# Defines: PROFILE_ROOT, MA_DATA_DIR, MA_STATE_DIR, CLAW_DATA_DIR
|
|
14
|
+
|
|
15
|
+
# Profile root: DEXBOT_PROFILE_ROOT env wins; then legacy DEXBOT2_ROOT
|
|
16
|
+
# (<root>/profiles); a global npm package (project root under node_modules)
|
|
17
|
+
# defaults to the user's home; otherwise <root>/profiles. Mirrors the TS cwd
|
|
18
|
+
# fallback: when the default root has no bots.json but cwd/profiles does, use
|
|
19
|
+
# the cwd.
|
|
20
|
+
PROFILE_ROOT="$DEXBOT_PROFILE_ROOT"
|
|
21
|
+
if [ -z "$PROFILE_ROOT" ]; then
|
|
22
|
+
if [ -n "$DEXBOT2_ROOT" ]; then
|
|
23
|
+
PROFILE_ROOT="${DEXBOT2_ROOT}/profiles"
|
|
24
|
+
else
|
|
25
|
+
case "$PROJECT_ROOT" in
|
|
26
|
+
*node_modules*) PROFILE_ROOT="${HOME:-${PROJECT_ROOT}}/.config/dexbot2/profiles" ;;
|
|
27
|
+
*) PROFILE_ROOT="${PROJECT_ROOT}/profiles" ;;
|
|
28
|
+
esac
|
|
29
|
+
if [ ! -f "${PROFILE_ROOT}/bots.json" ] && [ -f "${PWD}/profiles/bots.json" ]; then
|
|
30
|
+
PROFILE_ROOT="${PWD}/profiles"
|
|
31
|
+
fi
|
|
32
|
+
fi
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
# Market adapter data/state: env vars win; a source checkout ships a top-level
|
|
36
|
+
# market_adapter/ dir so runtime state stays next to the code; npm packages
|
|
37
|
+
# relocate under the profiles dir.
|
|
38
|
+
if [ -n "$DEXBOT_MARKET_ADAPTER_DATA_DIR" ]; then
|
|
39
|
+
MA_DATA_DIR="$DEXBOT_MARKET_ADAPTER_DATA_DIR"
|
|
40
|
+
elif [ -d "${PROJECT_ROOT}/market_adapter" ]; then
|
|
41
|
+
MA_DATA_DIR="${PROJECT_ROOT}/market_adapter/data"
|
|
42
|
+
else
|
|
43
|
+
MA_DATA_DIR="${PROFILE_ROOT}/market_adapter/data"
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
if [ -n "$DEXBOT_MARKET_ADAPTER_STATE_DIR" ]; then
|
|
47
|
+
MA_STATE_DIR="$DEXBOT_MARKET_ADAPTER_STATE_DIR"
|
|
48
|
+
elif [ -d "${PROJECT_ROOT}/market_adapter" ]; then
|
|
49
|
+
MA_STATE_DIR="${PROJECT_ROOT}/market_adapter/state"
|
|
50
|
+
else
|
|
51
|
+
MA_STATE_DIR="${PROFILE_ROOT}/market_adapter/state"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Claw data: claw/ ships in source checkouts AND npm packages, so key on the
|
|
55
|
+
# npm detection (not dir existence), like resolveClawDirs.
|
|
56
|
+
if [ -n "$DEXBOT_CLAW_DATA_DIR" ]; then
|
|
57
|
+
CLAW_DATA_DIR="$DEXBOT_CLAW_DATA_DIR"
|
|
58
|
+
else
|
|
59
|
+
case "$PROJECT_ROOT" in
|
|
60
|
+
*node_modules*) CLAW_DATA_DIR="${PROFILE_ROOT}/claw/data" ;;
|
|
61
|
+
*) CLAW_DATA_DIR="${PROJECT_ROOT}/claw/data" ;;
|
|
62
|
+
esac
|
|
63
|
+
fi
|
|
@@ -22,7 +22,7 @@ NC='\033[0m' # No Color
|
|
|
22
22
|
# Configuration
|
|
23
23
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
24
24
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
25
|
-
|
|
25
|
+
source "$SCRIPT_DIR/lib/dexbot-paths.sh"
|
|
26
26
|
GENERAL_SETTINGS_FILE="${PROFILE_ROOT}/general.settings.json"
|
|
27
27
|
MARKET_PROFILES_FILE="${PROFILE_ROOT}/market_profiles.json"
|
|
28
28
|
MARKET_ADAPTER_SETTINGS_FILE="${PROFILE_ROOT}/market_adapter_settings.json"
|