@3rd-eye-labs/openmm 0.1.7 โ 0.1.9
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 +2 -0
- package/dist/api/routes/health.js +1 -1
- package/dist/api/routes/health.js.map +1 -1
- package/dist/cli/commands/trade.js +1 -1
- package/dist/cli/exchange-factory.d.ts +8 -0
- package/dist/cli/exchange-factory.d.ts.map +1 -1
- package/dist/cli/exchange-factory.js +16 -0
- package/dist/cli/exchange-factory.js.map +1 -1
- package/dist/config/environment.d.ts +4 -0
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/config/environment.js +28 -17
- package/dist/config/environment.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
[](https://github.com/3rd-Eye-Labs/OpenMM/blob/main/LICENSE)
|
|
6
6
|
[](https://deepwiki.com/3rd-Eye-Labs/OpenMM)
|
|
7
7
|
|
|
8
|
+
**๐ [Documentation](https://docs.openmm.io)** ยท **๐ค [AI Skills Portal](https://agents.openmm.io)** ยท **๐ [API Reference](https://api.openmm.io)**
|
|
9
|
+
|
|
8
10
|
OpenMM is an open-source SDK designed to democratize market-making for Cardano projects. It provides a unified interface for trading Cardano Native Tokens (CNTs) across multiple centralized exchanges.
|
|
9
11
|
|
|
10
12
|
## What is OpenMM?
|
|
@@ -59,7 +59,7 @@ async function healthRoutes(app) {
|
|
|
59
59
|
}, async (_request, _reply) => {
|
|
60
60
|
const exchanges = {
|
|
61
61
|
mexc: {
|
|
62
|
-
configured: !!(process.env.MEXC_API_KEY && process.env.
|
|
62
|
+
configured: !!(process.env.MEXC_API_KEY && process.env.MEXC_SECRET),
|
|
63
63
|
},
|
|
64
64
|
gateio: {
|
|
65
65
|
configured: !!(process.env.GATEIO_API_KEY && process.env.GATEIO_SECRET_KEY),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/api/routes/health.ts"],"names":[],"mappings":";;AAeA,oCAoHC;AApHM,KAAK,UAAU,YAAY,CAAC,GAAoB;IACrD,qBAAqB;IACrB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;wBAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;qBAC7D;iBACF;aACF;SACF;KACF,EAAE,KAAK,EAAE,QAAwB,EAAE,MAAoB,EAA2B,EAAE;QACnF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO;YACnD,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;SACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE;QAC1B,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,gEAAgE;YAC7E,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;wBAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,oBAAoB,EAAE;gCACpB,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oCAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iCAC/B;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,EAAE,KAAK,EAAE,QAAwB,EAAE,MAAoB,EAA2B,EAAE;QACnF,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE;gBACJ,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/api/routes/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -219,7 +219,7 @@ Grid Profile File Format (JSON):
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
Note: Ensure exchange-specific environment variables are set:
|
|
222
|
-
- MEXC: MEXC_API_KEY and
|
|
222
|
+
- MEXC: MEXC_API_KEY and MEXC_SECRET
|
|
223
223
|
- Bitget: BITGET_API_KEY, BITGET_SECRET, and BITGET_PASSPHRASE
|
|
224
224
|
- Gate.io: GATEIO_API_KEY and GATEIO_SECRET
|
|
225
225
|
- Kraken: KRAKEN_API_KEY and KRAKEN_SECRET
|
|
@@ -36,5 +36,13 @@ export declare class ExchangeFactory {
|
|
|
36
36
|
* Disconnect all cached connectors
|
|
37
37
|
*/
|
|
38
38
|
static disconnectAll(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Clear a specific connector from cache (forces re-creation on next call)
|
|
41
|
+
*/
|
|
42
|
+
static clearConnector(exchangeName: SupportedExchange): void;
|
|
43
|
+
/**
|
|
44
|
+
* Clear all cached connectors (forces re-creation on next call)
|
|
45
|
+
*/
|
|
46
|
+
static clearAllConnectors(): void;
|
|
39
47
|
}
|
|
40
48
|
//# sourceMappingURL=exchange-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchange-factory.d.ts","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAMjF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4D;IAErF;;;;OAIG;WACU,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazF;;;;OAIG;mBACkB,uBAAuB;IAqB5C;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,iBAAiB,EAAE;IAInD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB;IAI3E;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"exchange-factory.d.ts","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAMjF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4D;IAErF;;;;OAIG;WACU,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazF;;;;OAIG;mBACkB,uBAAuB;IAqB5C;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,iBAAiB,EAAE;IAInD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB;IAI3E;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAQ5D;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,IAAI;CAGlC"}
|
|
@@ -71,6 +71,22 @@ class ExchangeFactory {
|
|
|
71
71
|
await Promise.all(disconnectPromises);
|
|
72
72
|
this.connectors.clear();
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Clear a specific connector from cache (forces re-creation on next call)
|
|
76
|
+
*/
|
|
77
|
+
static clearConnector(exchangeName) {
|
|
78
|
+
const connector = this.connectors.get(exchangeName);
|
|
79
|
+
if (connector?.disconnect) {
|
|
80
|
+
connector.disconnect().catch(() => { });
|
|
81
|
+
}
|
|
82
|
+
this.connectors.delete(exchangeName);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Clear all cached connectors (forces re-creation on next call)
|
|
86
|
+
*/
|
|
87
|
+
static clearAllConnectors() {
|
|
88
|
+
this.disconnectAll().catch(() => { });
|
|
89
|
+
}
|
|
74
90
|
}
|
|
75
91
|
exports.ExchangeFactory = ExchangeFactory;
|
|
76
92
|
ExchangeFactory.connectors = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchange-factory.js","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":";;;AACA,qEAAiE;AACjE,2EAAuE;AACvE,2EAAuE;AACvE,2EAAuE;AAOvE;;;GAGG;AACH,MAAa,eAAe;IAG1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAA+B;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAC1C,YAA+B;QAE/B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,8BAAa,EAAE,CAAC;YAE7B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAoB;QACrC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa;QACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC9E,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;
|
|
1
|
+
{"version":3,"file":"exchange-factory.js","sourceRoot":"","sources":["../../src/cli/exchange-factory.ts"],"names":[],"mappings":";;;AACA,qEAAiE;AACjE,2EAAuE;AACvE,2EAAuE;AACvE,2EAAuE;AAOvE;;;GAGG;AACH,MAAa,eAAe;IAG1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAA+B;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAC1C,YAA+B;QAE/B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,8BAAa,EAAE,CAAC;YAE7B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B,KAAK,QAAQ;gBACX,OAAO,IAAI,kCAAe,EAAE,CAAC;YAE/B;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,YAAoB;QACrC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa;QACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC9E,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAA+B;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;;AA/FH,0CAgGC;AA/FgB,0BAAU,GAAkD,IAAI,GAAG,EAAE,CAAC"}
|
|
@@ -38,6 +38,10 @@ declare class EnvironmentValidator {
|
|
|
38
38
|
*/
|
|
39
39
|
static validateExchange(exchange: 'mexc' | 'gateio' | 'bitget' | 'kraken'): void;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Clear cached config - call this if env vars change after initial load.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resetConfig(): void;
|
|
41
45
|
export declare const config: EnvironmentConfig;
|
|
42
46
|
export { EnvironmentValidator };
|
|
43
47
|
export default config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAWA,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,IAAI,iBAAiB;IAoDpC;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI;CAiBjF;AAMD;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,eAAO,MAAM,MAAM,EAAE,iBAoBnB,CAAC;AAGH,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,eAAe,MAAM,CAAC"}
|
|
@@ -4,9 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.EnvironmentValidator = exports.config = void 0;
|
|
7
|
+
exports.resetConfig = resetConfig;
|
|
7
8
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
8
10
|
const utils_1 = require("../utils");
|
|
9
|
-
|
|
11
|
+
// Load .env from SDK directory for CLI usage.
|
|
12
|
+
// override: false ensures MCP env vars (passed by client) take priority.
|
|
13
|
+
const envPath = path_1.default.join(__dirname, '..', '..', '.env');
|
|
14
|
+
dotenv_1.default.config({ path: envPath, override: false });
|
|
10
15
|
const logger = (0, utils_1.createLogger)('environment-validator');
|
|
11
16
|
class EnvironmentValidator {
|
|
12
17
|
static validateOptional(value) {
|
|
@@ -84,24 +89,30 @@ exports.EnvironmentValidator = EnvironmentValidator;
|
|
|
84
89
|
// Lazy validation - validates at import but doesn't call process.exit()
|
|
85
90
|
// Errors are thrown and can be caught by the caller
|
|
86
91
|
let _config = null;
|
|
92
|
+
/**
|
|
93
|
+
* Clear cached config - call this if env vars change after initial load.
|
|
94
|
+
*/
|
|
95
|
+
function resetConfig() {
|
|
96
|
+
_config = null;
|
|
97
|
+
}
|
|
87
98
|
exports.config = new Proxy({}, {
|
|
88
99
|
get(_, prop) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
100
|
+
// Always re-validate to pick up env var changes
|
|
101
|
+
// This is slightly less efficient but ensures env vars are always fresh
|
|
102
|
+
try {
|
|
103
|
+
_config = EnvironmentValidator.validate();
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
// Log the error but don't exit - let the caller handle it
|
|
107
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
108
|
+
logger.warn('Environment validation warning', { error: errorMessage });
|
|
109
|
+
logger.warn('Some exchanges may not be available. Set credentials to enable them.');
|
|
110
|
+
// Return a minimal config so the module can still load
|
|
111
|
+
_config = {
|
|
112
|
+
mexc: { apiKey: '', secret: '' },
|
|
113
|
+
logLevel: 'info',
|
|
114
|
+
nodeEnv: process.env.NODE_ENV || 'development',
|
|
115
|
+
};
|
|
105
116
|
}
|
|
106
117
|
return _config[prop];
|
|
107
118
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":";;;;;;AAsIA,kCAEC;AAxID,oDAA4B;AAC5B,gDAAwB;AACxB,oCAAwC;AAExC,8CAA8C;AAC9C,yEAAyE;AACzE,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACzD,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAElD,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,uBAAuB,CAAC,CAAC;AA6BrD,MAAM,oBAAoB;IAChB,MAAM,CAAC,gBAAgB,CAAC,KAAyB;QACvD,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ;QACb,MAAM,MAAM,GAAsB;YAChC,4CAA4C;YAC5C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;gBACvD,CAAC,CAAC;oBACE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;oBACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;oBACtC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;iBACjD;gBACH,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,8CAA8C;YAE9E,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;YACzC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SAC/C,CAAC;QAEF,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,GAAG;gBACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;aACzC,CAAC;QACJ,CAAC;QAED,IACE,OAAO,CAAC,GAAG,CAAC,cAAc;YAC1B,OAAO,CAAC,GAAG,CAAC,aAAa;YACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAC7B,CAAC;YACD,MAAM,CAAC,MAAM,GAAG;gBACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;gBACxC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;aACjD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,GAAG;gBACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;aACzC,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,uDAAuD;YACvD,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,QAAQ,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAiD;QACvE,MAAM,GAAG,GAAG,cAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,WAAW,EAAE,sBAAsB;gBACxD,cAAc,QAAQ,CAAC,WAAW,EAAE,gBAAgB,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,cAAM,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAoCQ,oDAAoB;AAlC7B,wEAAwE;AACxE,oDAAoD;AACpD,IAAI,OAAO,GAA6B,IAAI,CAAC;AAE7C;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAEY,QAAA,MAAM,GAAsB,IAAI,KAAK,CAAC,EAAuB,EAAE;IAC1E,GAAG,CAAC,CAAC,EAAE,IAAY;QACjB,gDAAgD;QAChD,wEAAwE;QACxE,IAAI,CAAC;YACH,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0DAA0D;YAC1D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACpF,uDAAuD;YACvD,OAAO,GAAG;gBACR,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAChC,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;aAC/C,CAAC;QACJ,CAAC;QACD,OAAQ,OAAe,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAIH,kBAAe,cAAM,CAAC"}
|