@chainlink/external-adapter-framework 0.0.46 → 0.0.56
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/adapter.d.ts +18 -1
- package/adapter.js +69 -3
- package/adapter.js.map +1 -0
- package/background-executor.js +31 -0
- package/background-executor.js.map +1 -0
- package/cache/factory.d.ts +2 -2
- package/cache/factory.js +11 -46
- package/cache/factory.js.map +1 -0
- package/cache/index.js +3 -2
- package/cache/index.js.map +1 -0
- package/cache/local.js.map +1 -0
- package/cache/metrics.js.map +1 -0
- package/cache/redis.js.map +1 -0
- package/config/index.d.ts +34 -0
- package/config/index.js +40 -62
- package/config/index.js.map +1 -0
- package/config/provider-limits.js.map +1 -0
- package/examples/bank-frick/accounts.d.ts +15 -1
- package/examples/bank-frick/accounts.js.map +1 -0
- package/examples/bank-frick/config/index.d.ts +15 -2
- package/examples/bank-frick/config/index.js.map +1 -0
- package/examples/bank-frick/index.d.ts +15 -1
- package/examples/bank-frick/index.js.map +1 -0
- package/examples/bank-frick/util.js.map +1 -0
- package/examples/coingecko/batch-warming.d.ts +7 -0
- package/examples/coingecko/batch-warming.js +54 -0
- package/examples/coingecko/batch-warming.js.map +1 -0
- package/examples/coingecko/index.d.ts +2 -0
- package/examples/coingecko/index.js +12 -0
- package/examples/coingecko/index.js.map +1 -0
- package/examples/coingecko/rest.d.ts +12 -0
- package/examples/coingecko/rest.js +55 -0
- package/examples/coingecko/rest.js.map +1 -0
- package/examples/coingecko/src/config/index.js.map +1 -0
- package/examples/coingecko/src/crypto-utils.d.ts +31 -0
- package/examples/coingecko/src/crypto-utils.js +60 -0
- package/examples/coingecko/src/crypto-utils.js.map +1 -0
- package/examples/coingecko/src/endpoint/coins.js +3 -1
- package/examples/coingecko/src/endpoint/coins.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto-marketcap.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto-marketcap.js +4 -4
- package/examples/coingecko/src/endpoint/crypto-marketcap.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto-volume.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto-volume.js +4 -4
- package/examples/coingecko/src/endpoint/crypto-volume.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto.js +4 -4
- package/examples/coingecko/src/endpoint/crypto.js.map +1 -0
- package/examples/coingecko/src/endpoint/dominance.d.ts +1 -1
- package/examples/coingecko/src/endpoint/dominance.js +4 -4
- package/examples/coingecko/src/endpoint/dominance.js.map +1 -0
- package/examples/coingecko/src/endpoint/global-marketcap.d.ts +1 -1
- package/examples/coingecko/src/endpoint/global-marketcap.js +4 -4
- package/examples/coingecko/src/endpoint/global-marketcap.js.map +1 -0
- package/examples/coingecko/src/endpoint/index.js.map +1 -0
- package/examples/coingecko/src/global-utils.d.ts +27 -0
- package/examples/coingecko/src/global-utils.js +46 -0
- package/examples/coingecko/src/global-utils.js.map +1 -0
- package/examples/coingecko/src/index.d.ts +1 -1
- package/examples/coingecko/src/index.js.map +1 -0
- package/examples/coingecko-old/batch-warming.js.map +1 -0
- package/examples/coingecko-old/index.js.map +1 -0
- package/examples/coingecko-old/rest.js +4 -1
- package/examples/coingecko-old/rest.js.map +1 -0
- package/examples/genesis/config/index.d.ts +7 -0
- package/examples/genesis/config/index.js +10 -0
- package/examples/genesis/config/index.js.map +1 -0
- package/examples/genesis/index.d.ts +2 -0
- package/examples/genesis/index.js +12 -0
- package/examples/genesis/index.js.map +1 -0
- package/examples/genesis/sseStream.d.ts +16 -0
- package/examples/genesis/sseStream.js +141 -0
- package/examples/genesis/sseStream.js.map +1 -0
- package/examples/ncfx/config/index.js.map +1 -0
- package/examples/ncfx/index.js.map +1 -0
- package/examples/ncfx/websocket.js.map +1 -0
- package/index.js.map +1 -0
- package/metrics/constants.js.map +1 -0
- package/metrics/index.d.ts +2 -0
- package/metrics/index.js +12 -1
- package/metrics/index.js.map +1 -0
- package/metrics/util.js.map +1 -0
- package/package.json +7 -5
- package/rate-limiting/background/fixed-frequency.js +0 -3
- package/rate-limiting/background/fixed-frequency.js.map +1 -0
- package/rate-limiting/index.d.ts +1 -0
- package/rate-limiting/index.js +3 -2
- package/rate-limiting/index.js.map +1 -0
- package/rate-limiting/metrics.js.map +1 -0
- package/rate-limiting/request/simple-counting.js.map +1 -0
- package/transports/batch-warming.d.ts +2 -2
- package/transports/batch-warming.js +13 -6
- package/transports/batch-warming.js.map +1 -0
- package/transports/index.d.ts +2 -1
- package/transports/index.js +27 -0
- package/transports/index.js.map +1 -0
- package/transports/metrics.d.ts +3 -0
- package/transports/metrics.js +17 -1
- package/transports/metrics.js.map +1 -0
- package/transports/rest.d.ts +8 -2
- package/transports/rest.js +13 -13
- package/transports/rest.js.map +1 -0
- package/transports/sse.d.ts +41 -0
- package/transports/sse.js +95 -0
- package/transports/sse.js.map +1 -0
- package/transports/util.js.map +1 -0
- package/transports/websocket.d.ts +2 -2
- package/transports/websocket.js +12 -11
- package/transports/websocket.js.map +1 -0
- package/util/censor/censor-list.d.ts +9 -0
- package/util/censor/censor-list.js +12 -0
- package/util/censor/censor-list.js.map +1 -0
- package/util/index.d.ts +1 -0
- package/util/index.js +3 -1
- package/util/index.js.map +1 -0
- package/util/logger.d.ts +3 -0
- package/util/logger.js +20 -1
- package/util/logger.js.map +1 -0
- package/util/request.d.ts +52 -6
- package/util/request.js.map +1 -0
- package/util/subscription-set/expiring-sorted-set.d.ts +0 -1
- package/util/subscription-set/expiring-sorted-set.js +0 -12
- package/util/subscription-set/expiring-sorted-set.js.map +1 -0
- package/util/subscription-set/redis-sorted-set.d.ts +9 -0
- package/util/subscription-set/redis-sorted-set.js +28 -0
- package/util/subscription-set/redis-sorted-set.js.map +1 -0
- package/util/subscription-set/subscription-set.d.ts +5 -4
- package/util/subscription-set/subscription-set.js +13 -5
- package/util/subscription-set/subscription-set.js.map +1 -0
- package/util/test-payload-loader.js.map +1 -0
- package/validation/error.js.map +1 -0
- package/validation/index.js +10 -9
- package/validation/index.js.map +1 -0
- package/validation/input-params.d.ts +1 -1
- package/validation/input-params.js.map +1 -0
- package/validation/input-validator.d.ts +16 -0
- package/validation/input-validator.js +123 -0
- package/validation/input-validator.js.map +1 -0
- package/validation/override-functions.js.map +1 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.constructEntry = exports.buildGlobalRequestBody = exports.inputParameters = void 0;
|
|
4
|
+
const config_1 = require("./config");
|
|
5
|
+
const logger_1 = require("../../../util/logger");
|
|
6
|
+
const logger = (0, logger_1.makeLogger)('CoinGecko Global Batched');
|
|
7
|
+
exports.inputParameters = {
|
|
8
|
+
market: {
|
|
9
|
+
aliases: ['to', 'quote'],
|
|
10
|
+
description: 'The ticker of the coin to query',
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const buildGlobalRequestBody = (apiKey) => {
|
|
15
|
+
return {
|
|
16
|
+
baseURL: apiKey ? config_1.PRO_API_ENDPOINT : config_1.DEFAULT_API_ENDPOINT,
|
|
17
|
+
url: '/global',
|
|
18
|
+
method: 'GET',
|
|
19
|
+
params: {
|
|
20
|
+
x_cg_pro_api_key: apiKey,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.buildGlobalRequestBody = buildGlobalRequestBody;
|
|
25
|
+
const constructEntry = (res, requestPayload, resultPath) => {
|
|
26
|
+
const resultData = res.data.data;
|
|
27
|
+
if (!resultData) {
|
|
28
|
+
logger.warn(`Data not found`);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const totalMarketcapData = resultData[resultPath];
|
|
32
|
+
if (!totalMarketcapData) {
|
|
33
|
+
logger.warn(`Data for "${resultPath}" not found`);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const result = totalMarketcapData[requestPayload.market.toLowerCase()];
|
|
37
|
+
if (!result) {
|
|
38
|
+
logger.warn(`Data for "${requestPayload.market}" not found`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
params: requestPayload,
|
|
43
|
+
value: result,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
exports.constructEntry = constructEntry;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/global-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AACjE,iDAAiD;AAGjD,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,0BAA0B,CAAC,CAAA;AAExC,QAAA,eAAe,GAAoB;IAC9C,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACxB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AA0BM,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAA6B,EAAE;IACnF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,6BAAoB;QACzD,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,KAAK;QACb,MAAM,EAAE;YACN,gBAAgB,EAAE,MAAM;SACzB;KACF,CAAA;AACH,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAEM,MAAM,cAAc,GAAG,CAC5B,GAAwC,EACxC,cAAoC,EACpC,UAAwD,EAC/B,EAAE;IAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAA;IAChC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7B,OAAM;KACP;IAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,aAAa,CAAC,CAAA;QACjD,OAAM;KACP;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,MAAM,aAAa,CAAC,CAAA;QAC5D,OAAM;KACP;IAED,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,cAAc,kBA2B1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Adapter } from '../../../../src/adapter';
|
|
3
3
|
export declare const adapter: Adapter<import("../../../config").SettingsMap>;
|
|
4
|
-
export declare const server: () => Promise<import("fastify").FastifyInstance<import("http").Server, import("http").IncomingMessage, import("http").ServerResponse, import("fastify").
|
|
4
|
+
export declare const server: () => Promise<import("fastify").FastifyInstance<import("http").Server, import("http").IncomingMessage, import("http").ServerResponse, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault> | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gCAAiC;AACjC,qDAAiD;AACjD,6EAA+C;AAC/C,yCAOmB;AAEN,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,eAAe,EAAE,QAAQ;IACzB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,CAAC,iBAAM,EAAE,gBAAK,EAAE,0BAAe,EAAE,uBAAY,EAAE,oBAAS,EAAE,0BAAe,CAAC;IACrF,SAAS,EAAE,wBAAS,CAAC,WAAW,CAAC;CAClC,CAAC,CAAA;AAEK,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,UAAM,EAAC,eAAO,CAAC,CAAA;AAA9B,QAAA,MAAM,UAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/batch-warming.ts"],"names":[],"mappings":";;;AACA,2CAA+D;AAC/D,kEAAsE;AAItE,MAAM,WAAW,GAAG,sCAAsC,CAAA;AAO1D,MAAM,eAAe,GAAoB;IACvC,MAAM,EAAE;QACN,WAAW,EACT,8IAA8I;QAChJ,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAYD,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAC;IACvD,cAAc,EAAE,CACd,MAA8B,EAC9B,OAAuB,EACkB,EAAE;QAC3C,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtD,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjE,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;aAChD;SACF,CAAA;IACH,CAAC;IACD,aAAa,EAAE,CACb,MAA8B,EAC9B,GAAwC,EACA,EAAE;QAC1C,MAAM,OAAO,GAAG,EAA4C,CAAA;QAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACvB,KAAK,EAAE,KAAK;iBACb,CAAC,CAAA;aACH;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,IAAI,yBAAe,CAAC;IAC/C,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,sBAAsB;IACjC,eAAe;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,mDAA+C;AAC/C,iCAAqC;AAExB,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,IAAI,EAAE,WAAW;IACjB,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,CAAC,mBAAY,EAAE,6BAAa,CAAC;CACzC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/examples/coingecko-old/rest.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,iDAAgD;AAIhD,MAAM,WAAW,GAAG,kCAAkC,CAAA;AAOtD,MAAM,eAAe,GAAoB;IACvC,MAAM,EAAE;QACN,WAAW,EACT,8IAA8I;QAChJ,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAaD,MAAM,qBAAqB,GAAG,IAAI,0BAAa,CAAC;IAC9C,cAAc,EAAE,CACd,GAAyC,EACA,EAAE;QAC3C,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;gBACjC,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK;aAC7C;SACF,CAAA;IACH,CAAC;IACD,aAAa,EAAE,CACb,GAAyC,EACzC,GAAwC,EACD,EAAE;QACzC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;SAChF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,iBAAiB,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAA;AAEW,QAAA,YAAY,GAAG,IAAI,yBAAe,CAAC;IAC9C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,SAAS,EAAE,qBAAqB;IAChC,eAAe;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/genesis/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;CACO,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adapter = void 0;
|
|
4
|
+
const adapter_1 = require("../../adapter");
|
|
5
|
+
const sseStream_1 = require("./sseStream");
|
|
6
|
+
const config_1 = require("./config");
|
|
7
|
+
exports.adapter = new adapter_1.Adapter({
|
|
8
|
+
name: 'genesis',
|
|
9
|
+
defaultEndpoint: sseStream_1.sseEndpoint.name,
|
|
10
|
+
endpoints: [sseStream_1.sseEndpoint],
|
|
11
|
+
customSettings: config_1.customSettings,
|
|
12
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/genesis/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,2CAAyC;AACzC,qCAAyC;AAE5B,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,IAAI,EAAE,SAAS;IACf,eAAe,EAAE,uBAAW,CAAC,IAAI;IACjC,SAAS,EAAE,CAAC,uBAAW,CAAC;IACxB,cAAc,EAAd,uBAAc;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AdapterEndpoint } from '../../adapter';
|
|
2
|
+
import { SSETransport } from '../../transports';
|
|
3
|
+
import { InputParameters } from '../../validation';
|
|
4
|
+
import { SettingsMap } from '../../config';
|
|
5
|
+
interface AdapterRequestParams {
|
|
6
|
+
base: string;
|
|
7
|
+
quote: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const inputParameters: InputParameters;
|
|
10
|
+
declare type Price = number;
|
|
11
|
+
declare type Quantity = number;
|
|
12
|
+
export declare type Entry = ['BUY' | 'SELL' | '', Price, Quantity];
|
|
13
|
+
export declare const sseTransport: SSETransport<AdapterRequestParams, undefined, undefined, SettingsMap>;
|
|
14
|
+
export declare const calculateQWAPprice: (entries: Entry[]) => number | undefined;
|
|
15
|
+
export declare const sseEndpoint: AdapterEndpoint<AdapterRequestParams, unknown, SettingsMap>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sseEndpoint = exports.calculateQWAPprice = exports.sseTransport = exports.inputParameters = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const adapter_1 = require("../../adapter");
|
|
9
|
+
const transports_1 = require("../../transports");
|
|
10
|
+
const util_1 = require("../../util");
|
|
11
|
+
exports.inputParameters = {
|
|
12
|
+
base: {
|
|
13
|
+
aliases: ['from', 'coin'],
|
|
14
|
+
description: 'The symbol of the currency to query',
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
quote: {
|
|
18
|
+
aliases: ['to', 'market'],
|
|
19
|
+
description: 'The symbol of the currency to convert to',
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const logger = (0, util_1.makeLogger)('GenesisSSETransport');
|
|
24
|
+
exports.sseTransport = new transports_1.SSETransport({
|
|
25
|
+
prepareSSEConnectionConfig: (params, context) => {
|
|
26
|
+
const payload = 'null';
|
|
27
|
+
const url = prepareRequestUrl(context.adapterConfig, 'sseStream', payload);
|
|
28
|
+
logger.debug('SSE Connection URL: ', url);
|
|
29
|
+
return { url };
|
|
30
|
+
},
|
|
31
|
+
prepareKeepAliveRequest: (context) => {
|
|
32
|
+
const payload = 'null';
|
|
33
|
+
const url = prepareRequestUrl(context.adapterConfig, 'ping', payload);
|
|
34
|
+
const axiosRequestConfig = {
|
|
35
|
+
method: 'POST',
|
|
36
|
+
url,
|
|
37
|
+
};
|
|
38
|
+
logger.debug('Keep Alive URL: ', url);
|
|
39
|
+
return axiosRequestConfig;
|
|
40
|
+
},
|
|
41
|
+
prepareSubscriptionRequest: (params, context) => {
|
|
42
|
+
const requestedSymbols = params.map((p) => {
|
|
43
|
+
return `${p.base.toUpperCase()}-${p.quote.toUpperCase()}`;
|
|
44
|
+
});
|
|
45
|
+
const payloadObj = {
|
|
46
|
+
Action: 'SUBSCRIBE',
|
|
47
|
+
Symbols: requestedSymbols,
|
|
48
|
+
};
|
|
49
|
+
const url = prepareRequestUrl(context.adapterConfig, 'marketDataRequest', JSON.stringify(payloadObj));
|
|
50
|
+
logger.debug('Subscribe URL: ', url);
|
|
51
|
+
const axiosConfig = {
|
|
52
|
+
method: 'POST',
|
|
53
|
+
url,
|
|
54
|
+
};
|
|
55
|
+
return axiosConfig;
|
|
56
|
+
},
|
|
57
|
+
prepareUnsubscriptionRequest: (params, context) => {
|
|
58
|
+
const requestedSymbols = params.map((p) => {
|
|
59
|
+
return `${p.base.toUpperCase()}-${p.quote.toUpperCase()}`;
|
|
60
|
+
});
|
|
61
|
+
const payloadObj = {
|
|
62
|
+
Action: 'UNSUBSCRIBE',
|
|
63
|
+
Symbols: requestedSymbols,
|
|
64
|
+
};
|
|
65
|
+
const url = prepareRequestUrl(context.adapterConfig, 'marketDataRequest', JSON.stringify(payloadObj));
|
|
66
|
+
logger.debug('Unsubscribe URL: ', url);
|
|
67
|
+
const axiosConfig = {
|
|
68
|
+
method: 'POST',
|
|
69
|
+
url,
|
|
70
|
+
};
|
|
71
|
+
return axiosConfig;
|
|
72
|
+
},
|
|
73
|
+
eventListeners: [
|
|
74
|
+
{
|
|
75
|
+
type: 'L2Update',
|
|
76
|
+
parseResponse: (evt) => {
|
|
77
|
+
let providerData = {};
|
|
78
|
+
try {
|
|
79
|
+
// To parse, add the formatting to interperate as a JSON array.
|
|
80
|
+
providerData = JSON.parse(evt.data);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
logger.error(error, `Error parsing JSON from data provider`);
|
|
84
|
+
}
|
|
85
|
+
const entries = providerData.Changes.map((e) => e.Entry);
|
|
86
|
+
const value = (0, exports.calculateQWAPprice)(entries);
|
|
87
|
+
if (value) {
|
|
88
|
+
const [base, quote] = providerData.Symbol.split('-');
|
|
89
|
+
return [{
|
|
90
|
+
params: { base, quote },
|
|
91
|
+
value
|
|
92
|
+
}];
|
|
93
|
+
}
|
|
94
|
+
return [];
|
|
95
|
+
},
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
});
|
|
99
|
+
const calculateQWAPprice = (entries) => {
|
|
100
|
+
const meanPriceByQuantity = {};
|
|
101
|
+
// Group orders by quantity
|
|
102
|
+
let totalQuantity = 0;
|
|
103
|
+
entries.forEach((e) => {
|
|
104
|
+
if (e[2] === 0) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!meanPriceByQuantity[e[2].toString()]) {
|
|
108
|
+
meanPriceByQuantity[e[2].toString()] = [e[1], NaN];
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const meanPrice = (e[1] + meanPriceByQuantity[e[2].toString()][0]) / 2;
|
|
112
|
+
meanPriceByQuantity[e[2].toString()] = [meanPrice, meanPrice * e[2]];
|
|
113
|
+
totalQuantity += e[2];
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
if (Object.keys(meanPriceByQuantity).length === 0) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const priceTimesQuantitySum = Object.values(meanPriceByQuantity)
|
|
120
|
+
.reduce((e1, e2) => [NaN, e1[1] + e2[1]])[1];
|
|
121
|
+
// Return a sum of all the products divided by the total quantity
|
|
122
|
+
return priceTimesQuantitySum / totalQuantity;
|
|
123
|
+
};
|
|
124
|
+
exports.calculateQWAPprice = calculateQWAPprice;
|
|
125
|
+
const prepareRequestUrl = (config, endpoint, payload) => {
|
|
126
|
+
const apiKey = config.API_KEY;
|
|
127
|
+
if (!apiKey) {
|
|
128
|
+
logger.error(new Error('API_KEY not set'), 'Set the API_KEY configuration variable to a valid Genesis API key');
|
|
129
|
+
}
|
|
130
|
+
const apiSecret = config.API_SECRET;
|
|
131
|
+
const nonce = (BigInt(Date.now()) * BigInt('1000000')).toString();
|
|
132
|
+
const hash = crypto_1.default.createHmac('sha384', Buffer.from(apiSecret ?? ''));
|
|
133
|
+
const data = hash.update(Buffer.from(apiKey + payload + nonce));
|
|
134
|
+
const sig = data.digest().toString('hex');
|
|
135
|
+
return `https://trading.uat.genesistrading.com/${endpoint}?APIKEY=${apiKey}&PAYLOAD=${payload}&NONCE=${nonce}&SIGNATURE=${sig}`;
|
|
136
|
+
};
|
|
137
|
+
exports.sseEndpoint = new adapter_1.AdapterEndpoint({
|
|
138
|
+
name: 'sseStream',
|
|
139
|
+
transport: exports.sseTransport,
|
|
140
|
+
inputParameters: exports.inputParameters,
|
|
141
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sseStream.js","sourceRoot":"","sources":["../../../../src/examples/genesis/sseStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/ncfx/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE;QACR,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;CACO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/examples/ncfx/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,qCAAyC;AACzC,2CAA+C;AAElC,QAAA,OAAO,GAAG,IAAI,iBAAO,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,CAAC,6BAAiB,CAAC;IAC9B,cAAc,EAAd,uBAAc;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../../src/examples/ncfx/websocket.ts"],"names":[],"mappings":";;;AACA,2CAA+D;AAC/D,0DAA+D;AAC/D,qCAAuD;AAS1C,QAAA,eAAe,GAAoB;IAC9C,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAiBD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,wBAAwB,CAAC,CAAA;AAEtC,QAAA,kBAAkB,GAAG,IAAI,8BAAkB,CAAC;IACvD,GAAG,EAAE,uCAAuC;IAC5C,QAAQ,EAAE;QACR,IAAI,CAAC,UAAqB,EAAE,OAA8C;YACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,kBAAkB;gBAClB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;oBAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE;wBACnD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;wBAC1D,OAAO,EAAE,CAAA;qBACV;yBAAM;wBACL,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;qBACjE;gBACH,CAAC,CAAC,CAAA;gBACF,qBAAqB;gBACrB,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;oBACxC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;iBACzC,CAAC,CACH,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,CAAC,OAA0B;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;gBACjD,OAAO,EAAE,CAAA;aACV;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC/C,OAAO;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;SACtC,CAAC;QACF,kBAAkB,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;SACtC,CAAC;KACH;CACF,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,IAAI,yBAAe,CAAC;IACnD,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,0BAAkB;IAC7B,eAAe,EAAf,uBAAe;CAChB,CAAC,CAAA"}
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/metrics/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAcX;AAdD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,wDAAqC,CAAA;IACrC,iDAA8B,CAAA;IAC9B,6CAA0B,CAAA;IAC1B,sDAAmC,CAAA;IACnC,yCAAyC;IACzC,kCAAkC;IAClC,iDAA8B,CAAA;IAC9B,iDAA8B,CAAA;IAC9B,uDAAoC,CAAA;IACpC,0CAA0C;IAC1C,8CAA8C;IAC9C,+CAA4B,CAAA;AAC9B,CAAC,EAdW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAc1B;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAG,GAAG,CAAA;AAErC,wGAAwG;AAC3F,QAAA,sBAAsB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA"}
|
package/metrics/index.d.ts
CHANGED
|
@@ -13,3 +13,5 @@ export declare const setupMetrics: (name: string, config: AdapterConfig) => void
|
|
|
13
13
|
export declare const buildMetricsMiddleware: (req: AdapterRequest, res: FastifyReply, done: HookHandlerDoneFunction) => void;
|
|
14
14
|
export declare const httpRequestsTotal: client.Counter<"type" | "method" | "feed_id" | "status_code" | "provider_status_code" | "retry" | "is_cache_warming">;
|
|
15
15
|
export declare const httpRequestDurationSeconds: client.Histogram<string>;
|
|
16
|
+
export declare const bgExecuteTotal: client.Counter<"endpoint">;
|
|
17
|
+
export declare const bgExecuteDurationSeconds: client.Gauge<"endpoint">;
|
package/metrics/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.httpRequestDurationSeconds = exports.httpRequestsTotal = exports.buildMetricsMiddleware = exports.setupMetrics = exports.setupMetricsServer = void 0;
|
|
29
|
+
exports.bgExecuteDurationSeconds = exports.bgExecuteTotal = exports.httpRequestDurationSeconds = exports.httpRequestsTotal = exports.buildMetricsMiddleware = exports.setupMetrics = exports.setupMetricsServer = void 0;
|
|
30
30
|
const client = __importStar(require("prom-client"));
|
|
31
31
|
const constants_1 = require("./constants");
|
|
32
32
|
const util_1 = require("../util");
|
|
@@ -124,3 +124,14 @@ exports.httpRequestDurationSeconds = new client.Histogram({
|
|
|
124
124
|
help: 'A histogram bucket of the distribution of http request durations',
|
|
125
125
|
buckets: constants_1.requestDurationBuckets,
|
|
126
126
|
});
|
|
127
|
+
// V3 specific metrics
|
|
128
|
+
exports.bgExecuteTotal = new client.Counter({
|
|
129
|
+
name: 'bg_execute_total',
|
|
130
|
+
help: 'The number of background executes performed per endpoint',
|
|
131
|
+
labelNames: ['endpoint'],
|
|
132
|
+
});
|
|
133
|
+
exports.bgExecuteDurationSeconds = new client.Gauge({
|
|
134
|
+
name: 'bg_execute_duration_seconds',
|
|
135
|
+
help: 'A histogram bucket of the distribution of background execute durations',
|
|
136
|
+
labelNames: ['endpoint'],
|
|
137
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/metrics/util.ts"],"names":[],"mappings":";;;AAEA,oCAA0C;AAGnC,MAAM,cAAc,GAAG,CAC5B,EACE,eAAe,EACf,aAAa,GAId,EACD,IAAwB,EACJ,EAAE;IACtB,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAA;IACxE,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainlink/external-adapter-framework",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.56",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"ajv": "^8.11.0",
|
|
8
7
|
"axios": "^0.27.2",
|
|
8
|
+
"eventsource": "^2.0.2",
|
|
9
9
|
"fastify": "^4.5.3",
|
|
10
10
|
"ioredis": "^5.0.4",
|
|
11
11
|
"pino": "^8.5.0",
|
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@sinonjs/fake-timers": "^9.1.2",
|
|
29
|
-
"@types/
|
|
30
|
-
"@types/
|
|
29
|
+
"@types/eventsource": "^1.1.9",
|
|
30
|
+
"@types/jest": "^29.0.0",
|
|
31
|
+
"@types/node": "^18.6.5",
|
|
31
32
|
"@types/sinonjs__fake-timers": "^8.1.2",
|
|
32
33
|
"@types/supertest": "^2.0.12",
|
|
33
34
|
"@types/ws": "^8.5.3",
|
|
@@ -41,11 +42,12 @@
|
|
|
41
42
|
"eslint-plugin-tsdoc": "^0.2.16",
|
|
42
43
|
"jest": "^29.0.3",
|
|
43
44
|
"mock-socket": "^9.1.3",
|
|
45
|
+
"mocksse": "^1.0.4",
|
|
44
46
|
"nock": "^13.2.4",
|
|
45
47
|
"pino-pretty": "^9.1.0",
|
|
46
48
|
"prettier": "^2.6.1",
|
|
47
49
|
"supertest": "^6.2.4",
|
|
48
|
-
"ts-jest": "^
|
|
50
|
+
"ts-jest": "^29.0.0",
|
|
49
51
|
"ts-node-dev": "2.0.0",
|
|
50
52
|
"typedoc": "^0.22.15"
|
|
51
53
|
},
|
|
@@ -12,9 +12,6 @@ class FixedFrequencyRateLimiter {
|
|
|
12
12
|
initialize(endpoints, limits) {
|
|
13
13
|
// Translate the hourly limit into reqs per minute
|
|
14
14
|
let sharedMsBetweenRequests = 1000 / (0, __1.consolidateTierLimits)(limits);
|
|
15
|
-
console.log(limits);
|
|
16
|
-
console.log(sharedMsBetweenRequests);
|
|
17
|
-
console.log((0, __1.consolidateTierLimits)(limits));
|
|
18
15
|
// If there is no limit set, we use some reasonable number
|
|
19
16
|
if (!limits?.rateLimit1h && !limits?.rateLimit1m && !limits?.rateLimit1s) {
|
|
20
17
|
// 5s period for all seems good
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed-frequency.js","sourceRoot":"","sources":["../../../../src/rate-limiting/background/fixed-frequency.ts"],"names":[],"mappings":";;;AAAA,0BAA8F;AAG9F,qCAAuC;AAEvC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,2BAA2B,CAAC,CAAA;AACzC,QAAA,kCAAkC,GAAG,IAAI,CAAA;AAEtD,MAAa,yBAAyB;IAAtC;QACE,yBAAoB,GAEhB,EAAE,CAAA;IAqCR,CAAC;IAnCC,UAAU,CACR,SAA4D,EAC5D,MAA6B;QAE7B,kDAAkD;QAClD,IAAI,uBAAuB,GAAG,IAAI,GAAG,IAAA,yBAAqB,EAAC,MAAM,CAAC,CAAA;QAElE,0DAA0D;QAC1D,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE;YACxE,+BAA+B;YAC/B,uBAAuB,GAAG,0CAAkC,CAAA;SAC7D;QAED,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,QAAQ,CAAC,YAAY,EAAE,oBAAoB,IAAI,IAAI,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAA;aACjF;YAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,CAAC,uBAAuB,GAAG,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,GAAG,CAAA;YAE/E,MAAM,CAAC,KAAK,CACV,aAAa,QAAQ,CAAC,IAAI,MACxB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAC7C,oBAAoB,CACrB,CAAA;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB,CAAC,YAAoB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;CACF;AAxCD,8DAwCC"}
|
package/rate-limiting/index.d.ts
CHANGED
|
@@ -53,3 +53,4 @@ export declare const consolidateTierLimits: (limits?: AdapterRateLimitTier | und
|
|
|
53
53
|
* @returns the specified API tier, or a default one if none are specified
|
|
54
54
|
*/
|
|
55
55
|
export declare const getRateLimitingTier: (config: AdapterConfig, tiers?: Record<string, AdapterRateLimitTier> | undefined) => AdapterRateLimitTier | undefined;
|
|
56
|
+
export declare const buildRateLimitTiersFromConfig: (config: AdapterConfig) => AdapterRateLimitTier | undefined;
|
package/rate-limiting/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getRateLimitingTier = exports.consolidateTierLimits = void 0;
|
|
17
|
+
exports.buildRateLimitTiersFromConfig = exports.getRateLimitingTier = exports.consolidateTierLimits = void 0;
|
|
18
18
|
__exportStar(require("./request/simple-counting"), exports);
|
|
19
19
|
__exportStar(require("./background/fixed-frequency"), exports);
|
|
20
20
|
/**
|
|
@@ -42,7 +42,7 @@ const getRateLimitingTier = (config, tiers) => {
|
|
|
42
42
|
if (config.RATE_LIMIT_CAPACITY ||
|
|
43
43
|
config.RATE_LIMIT_CAPACITY_MINUTE ||
|
|
44
44
|
config.RATE_LIMIT_CAPACITY_SECOND) {
|
|
45
|
-
return buildRateLimitTiersFromConfig(config);
|
|
45
|
+
return (0, exports.buildRateLimitTiersFromConfig)(config);
|
|
46
46
|
}
|
|
47
47
|
if (!tiers) {
|
|
48
48
|
return;
|
|
@@ -82,3 +82,4 @@ const buildRateLimitTiersFromConfig = (config) => {
|
|
|
82
82
|
rateLimit1m,
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
+
exports.buildRateLimitTiersFromConfig = buildRateLimitTiersFromConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rate-limiting/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,4DAAyC;AACzC,+DAA4C;AA4C5C;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAA6B,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;IAC7D,MAAM,cAAc,GAAG,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAA;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;AAC/D,CAAC,CAAA;AALY,QAAA,qBAAqB,yBAKjC;AAED;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,CACjC,MAAqB,EACrB,KAA4C,EACV,EAAE;IACpC,IACE,MAAM,CAAC,mBAAmB;QAC1B,MAAM,CAAC,0BAA0B;QACjC,MAAM,CAAC,0BAA0B,EACjC;QACA,OAAO,IAAA,qCAA6B,EAAC,MAAM,CAAC,CAAA;KAC7C;IACD,IAAI,CAAC,KAAK,EAAE;QACV,OAAM;KACP;IAED,2DAA2D;IAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IAED,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAA;IAC/C,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,IAAI,KAAK,CACb,iCAAiC,YAAY,iCAAiC,gBAAgB,GAAG,CAClG,CAAA;KACF;IAED,IAAI,CAAC,YAAY,EAAE;QACjB,8CAA8C;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAC3C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,EAAE,CAAC,GAAG,IAAA,6BAAqB,EAAC,EAAE,CAAC,CAClE,CAAA;QAED,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;KACtB;IAED,OAAO,KAAK,CAAC,YAAY,CAAC,CAAA;AAC5B,CAAC,CAAA;AA1CY,QAAA,mBAAmB,uBA0C/B;AAED,0EAA0E;AACnE,MAAM,6BAA6B,GAAG,CAC3C,MAAqB,EACa,EAAE;IACpC,MAAM,WAAW,GAAG,MAAM,CAAC,0BAA0B,CAAA;IACrD,IAAI,WAAW,CAAA;IACf,IAAI,MAAM,CAAC,0BAA0B,EAAE;QACrC,WAAW,GAAG,MAAM,CAAC,0BAA0B,CAAA;KAChD;SAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE;QACrC,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAA;KACzC;IACD,OAAO;QACL,WAAW;QACX,WAAW;KACZ,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,6BAA6B,iCAczC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/rate-limiting/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAErC,8CAA8C;AAC9C,kCAAkC;AAC3B,MAAM,YAAY,GAAG,CAAuB,IAA0B,EAAU,EAAE;IACvF,MAAM,IAAI,GAAI,IAAgC,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;KACpB;SAAM;QACL,OAAO,CAAC,CAAA;KACT;AACH,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAEY,QAAA,0BAA0B,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAC3D,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,8DAA8D;IACpE,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAU;CACnD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-counting.js","sourceRoot":"","sources":["../../../../src/rate-limiting/request/simple-counting.ts"],"names":[],"mappings":";;;AAGA,qCAAuC;AAEvC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,2BAA2B,CAAC,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAa,yBAAyB;IAAtC;QACE,yBAAoB,GAAG,CAAC,CAAA;QACxB,uBAAkB,GAAG,CAAC,CAAA;QACtB,yBAAoB,GAAG,CAAC,CAAA;QACxB,uBAAkB,GAAG,CAAC,CAAA;IA4DxB,CAAC;IAxDC,UAAU,CACR,SAA4D,EAC5D,MAA6B;QAE7B,kDAAkD;QAClD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC7E,IAAI,CAAC,cAAc,GAAG,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAA;QACrD,MAAM,CAAC,KAAK,CACV,6CAA6C,IAAI,CAAC,cAAc,mBAAmB,IAAI,CAAC,cAAc,EAAE,CACzG,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa;QACX,qEAAqE;QACrE,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;YACxE,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;QAE3D,sFAAsF;QACtF,mFAAmF;QACnF,IAAI,qBAAqB,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACvD,MAAM,CAAC,KAAK,CACV,8DAA8D,IAAI,CAAC,kBAAkB,GAAG,CACzF,CAAA;YACD,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAA;YACjD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;SAC5B;QAED,IAAI,qBAAqB,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACvD,MAAM,CAAC,KAAK,CACV,4DAA4D,IAAI,CAAC,kBAAkB,GAAG,CACvF,CAAA;YACD,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAA;YACjD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;SAC5B;QAED,IACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc;YAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAC7C;YACA,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACjD,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAC5D,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CACF;AAhED,8DAgEC"}
|
|
@@ -28,8 +28,8 @@ export declare class BatchWarmingTransport<AdapterParams, ProviderRequestBody, P
|
|
|
28
28
|
prepareRequest: (params: AdapterParams[], context: AdapterContext<CustomSettings>) => AxiosRequestConfig<ProviderRequestBody>;
|
|
29
29
|
parseResponse: (params: AdapterParams[], res: AxiosResponse<ProviderResponseBody>, context: AdapterContext<CustomSettings>) => ProviderResult<AdapterParams>[];
|
|
30
30
|
});
|
|
31
|
-
initialize(dependencies: AdapterDependencies): Promise<void>;
|
|
32
|
-
hasBeenSetUp(
|
|
31
|
+
initialize(dependencies: AdapterDependencies, _: AdapterConfig, endpointName: string): Promise<void>;
|
|
32
|
+
hasBeenSetUp(): Promise<boolean>;
|
|
33
33
|
setup(req: AdapterRequest<AdapterParams>, config: AdapterConfig<CustomSettings>): Promise<void>;
|
|
34
34
|
backgroundExecute(context: AdapterContext<CustomSettings>): Promise<number>;
|
|
35
35
|
}
|
|
@@ -29,6 +29,7 @@ const _1 = require("./");
|
|
|
29
29
|
const util_2 = require("./util");
|
|
30
30
|
const rateLimitMetrics = __importStar(require("../rate-limiting/metrics"));
|
|
31
31
|
const cacheMetrics = __importStar(require("../cache/metrics"));
|
|
32
|
+
const transportMetrics = __importStar(require("./metrics"));
|
|
32
33
|
const WARMUP_BATCH_REQUEST_ID = '9002';
|
|
33
34
|
const logger = (0, util_1.makeLogger)('BatchWarmingTransport');
|
|
34
35
|
/**
|
|
@@ -50,13 +51,14 @@ class BatchWarmingTransport {
|
|
|
50
51
|
// Used for recording the cache warmer active metrics accurately
|
|
51
52
|
this.WARMER_ACTIVE = false;
|
|
52
53
|
}
|
|
53
|
-
async initialize(dependencies) {
|
|
54
|
+
async initialize(dependencies, _, endpointName) {
|
|
54
55
|
this.cache = dependencies.cache;
|
|
55
56
|
this.rateLimiter = dependencies.backgroundExecuteRateLimiter;
|
|
56
|
-
this.subscriptionSet = dependencies.subscriptionSetFactory.buildSet();
|
|
57
|
+
this.subscriptionSet = dependencies.subscriptionSetFactory.buildSet(endpointName);
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
// This might need coalescing to avoid too frequent ttl updates
|
|
60
|
+
async hasBeenSetUp() {
|
|
61
|
+
return false;
|
|
60
62
|
}
|
|
61
63
|
async setup(req, config) {
|
|
62
64
|
logger.debug(`Adding entry to batch warming set: [${req.requestContext.cacheKey}] = ${req.requestContext.data}`);
|
|
@@ -65,6 +67,11 @@ class BatchWarmingTransport {
|
|
|
65
67
|
async backgroundExecute(context) {
|
|
66
68
|
logger.debug('Starting background execute');
|
|
67
69
|
const entries = await this.subscriptionSet.getAll();
|
|
70
|
+
// Keep track of active subscriptions for background execute
|
|
71
|
+
transportMetrics.bgExecuteSubscriptionSetCount
|
|
72
|
+
.labels({ endpoint: context.adapterEndpoint.name, transport_type: 'batch' })
|
|
73
|
+
.set(entries.length);
|
|
74
|
+
const interval = this.rateLimiter.msUntilNextExecution(context.adapterEndpoint.name);
|
|
68
75
|
if (!entries.length) {
|
|
69
76
|
logger.debug('No entries in batch warming set, skipping');
|
|
70
77
|
if (this.WARMER_ACTIVE) {
|
|
@@ -72,7 +79,7 @@ class BatchWarmingTransport {
|
|
|
72
79
|
cacheMetrics.cacheWarmerCount.labels({ isBatched: 'true' }).dec();
|
|
73
80
|
this.WARMER_ACTIVE = false;
|
|
74
81
|
}
|
|
75
|
-
return
|
|
82
|
+
return interval;
|
|
76
83
|
}
|
|
77
84
|
else if (this.WARMER_ACTIVE === false) {
|
|
78
85
|
// Increment count when warmer changed from having no entries to having some
|
|
@@ -95,7 +102,7 @@ class BatchWarmingTransport {
|
|
|
95
102
|
participant_id: WARMUP_BATCH_REQUEST_ID,
|
|
96
103
|
})
|
|
97
104
|
.inc(cost);
|
|
98
|
-
return
|
|
105
|
+
return interval;
|
|
99
106
|
}
|
|
100
107
|
}
|
|
101
108
|
exports.BatchWarmingTransport = BatchWarmingTransport;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../src/transports/batch-warming.ts"],"names":[],"mappings":"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"}
|
package/transports/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { AdapterRequest, AdapterResponse, ProviderResult } from '../util/request
|
|
|
6
6
|
export * from './batch-warming';
|
|
7
7
|
export * from './rest';
|
|
8
8
|
export * from './websocket';
|
|
9
|
+
export * from './sse';
|
|
9
10
|
/**
|
|
10
11
|
* Generic interface for a Transport.
|
|
11
12
|
* A Transport defines the way in which an AdapterEndpoint will process incoming requests to
|
|
@@ -25,7 +26,7 @@ export interface Transport<Params, Result, CustomSettings extends SettingsMap> {
|
|
|
25
26
|
* @param config - Adapter config containing env vars
|
|
26
27
|
* @returns an empty Promise
|
|
27
28
|
*/
|
|
28
|
-
initialize: (dependencies: AdapterDependencies, config: AdapterConfig) => Promise<void>;
|
|
29
|
+
initialize: (dependencies: AdapterDependencies, config: AdapterConfig, endpointName: string) => Promise<void>;
|
|
29
30
|
/**
|
|
30
31
|
* Checks if the Transport has already set up the incoming request.
|
|
31
32
|
* This will likely use the cacheKey generated in the provided request.
|