@chainlink/external-adapter-framework 1.3.1 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # EA Framework v3
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/@chainlink/external-adapter-framework.svg?style=flat)](https://www.npmjs.com/package/@chainlink/external-adapter-framework)
4
- ![Coverage](https://img.shields.io/badge/coverage-99.18%25-green)
4
+ ![Coverage](https://img.shields.io/badge/coverage-99.1%25-green)
5
5
 
6
6
  Framework to create External adapters, microservices that serve as middleware to facilitate connections between Chainlink Nodes and Data Providers (DP).
7
7
 
package/cache/index.d.ts CHANGED
@@ -82,6 +82,7 @@ export declare const calculateHttpRequestKey: <T extends import("../transports")
82
82
  data: Record<string, unknown> | Record<string, unknown>[];
83
83
  transportName: string;
84
84
  }) => string;
85
+ export declare const calculateAdapterName: (adapterName: string, data: Record<string, unknown>) => string;
85
86
  export declare const calculateFeedId: <T extends import("../transports").TransportGenerics>({ adapterSettings, }: {
86
87
  adapterSettings: T["Settings"];
87
88
  }, data: Record<string, unknown>) => string;
package/cache/index.js CHANGED
@@ -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.pollResponseFromCache = exports.calculateFeedId = exports.calculateHttpRequestKey = exports.calculateCacheKey = void 0;
20
+ exports.pollResponseFromCache = exports.calculateFeedId = exports.calculateAdapterName = exports.calculateHttpRequestKey = exports.calculateCacheKey = void 0;
21
21
  const crypto_1 = __importDefault(require("crypto"));
22
22
  const util_1 = require("../util");
23
23
  __exportStar(require("./factory"), exports);
@@ -56,6 +56,23 @@ const calculateKey = ({ data, endpointName, transportName, adapterSettings, }) =
56
56
  : adapterSettings.DEFAULT_CACHE_KEY;
57
57
  return `${endpointName}-${transportName}-${paramsKey}`;
58
58
  };
59
+ const calculateAdapterName = (adapterName, data) => {
60
+ if (Object.keys(data).length === 0) {
61
+ logger.trace('Cannot generate Adapter Name without data, using default');
62
+ return adapterName;
63
+ }
64
+ if (data && typeof data !== 'object') {
65
+ logger.trace('Cannot generate Adapter Name without valid data, using default');
66
+ return adapterName;
67
+ }
68
+ if (data['adapterNameOverride'] && typeof data['adapterNameOverride'] === 'string') {
69
+ return data['adapterNameOverride'].toUpperCase();
70
+ }
71
+ else {
72
+ return adapterName;
73
+ }
74
+ };
75
+ exports.calculateAdapterName = calculateAdapterName;
59
76
  const calculateFeedId = ({ adapterSettings, }, data) => {
60
77
  if (Object.keys(data).length === 0) {
61
78
  logger.trace(`Cannot generate Feed ID without data`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
package/cache/response.js CHANGED
@@ -83,7 +83,7 @@ class ResponseCache {
83
83
  if (this.adapterSettings.METRICS_ENABLED &&
84
84
  this.adapterSettings.EXPERIMENTAL_METRICS_ENABLED) {
85
85
  response.meta = {
86
- adapterName: this.adapterName,
86
+ adapterName: (0, _1.calculateAdapterName)(this.adapterName, r.params),
87
87
  metrics: {
88
88
  feedId: (0, _1.calculateFeedId)({
89
89
  adapterSettings: this.adapterSettings,
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCASgB;AAChB,6EAAmD;AAMnD,+CAA+C;AAC/C,yBAAoF;AACpF,wDAAyC;AAEzC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,eAAe,CAAC,CAAA;AAE1C;;GAEG;AACH,MAAa,aAAa;IAYxB,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,GAOb;QACC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,aAAqB,EAAE,OAAuC;QACxE,MAAM,UAAU,GAAG,qBAAU,CAAC,MAAM,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAA;YACjD,IAAI,CAAC,YAAY,IAAI,IAAI,KAAK,SAAS,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;aACjE;iBAAM,IAAI,CAAC,YAAY,IAAI,MAAM,KAAK,SAAS,EAAE;gBAChD,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;aACnE;YACD,IAAI,gBAAgB,CAAA;YACpB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACtB,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAA;aAC9B;iBAAM;gBACL,IAAI;oBACF,gBAAgB,GAAG,IAAA,aAAM,EAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAErD,CAAA;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC,CAAA;oBACpE,gBAAgB,GAAG;wBACjB,UAAU,EAAE,GAAG;wBACf,YAAY,EAAE,gDAAgD;wBAC9D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;qBAClC,CAAA;iBACF;aACF;YAED,MAAM,QAAQ,GAAmC;gBAC/C,GAAG,gBAAgB;gBACnB,UAAU,EAAG,gBAAqD,CAAC,UAAU,IAAI,GAAG;aACrF,CAAA;YAED,IACE,IAAI,CAAC,eAAe,CAAC,eAAe;gBACpC,IAAI,CAAC,eAAe,CAAC,4BAA4B,EACjD;gBACA,QAAQ,CAAC,IAAI,GAAG;oBACd,WAAW,EAAE,IAAA,uBAAoB,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBAC7D,OAAO,EAAE;wBACP,MAAM,EAAE,IAAA,kBAAe,EACrB;4BACE,eAAe,EAAE,IAAI,CAAC,eAAe;yBACtC,EACD,CAAC,CAAC,MAAM,CACT;qBACF;iBACF,CAAA;aACF;YAED,IAAI,QAAQ,CAAC,UAAU,EAAE,2BAA2B,KAAK,SAAS,EAAE;gBAClE,MAAM,kBAAkB,GAAG,iBAAS,CAAC,iBAAiB,EAAE,CAAA;gBACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAA;gBACrF,IAAI,KAAK,EAAE;oBACT,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC,CAAA;iBAC9E;aACF;YAED,OAAO;gBACL,GAAG,EAAE,IAAA,oBAAiB,EAAC;oBACrB,aAAa;oBACb,IAAI,EAAE,CAAC,CAAC,MAAM;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC;gBACF,KAAK,EAAE,QAAQ;aACP,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAA;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,wGAAwG;YACxG,MAAM,QAAQ,GAAG,KAAmC,CAAA;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAA;YAC7C,IAAI,MAAM,EAAE;gBACV,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAA;gBACrE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE/D,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1E,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;QAED,OAAM;IACR,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CACZ,aAAqB,EACrB,MAA6C,EAC7C,GAAW;QAEX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,GAAG,GAAG,IAAA,oBAAiB,EAAC;gBAC5B,aAAa,EAAE,aAAa;gBAC5B,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAC5B;IACH,CAAC;CACF;AAvJD,sCAuJC"}
@@ -2,11 +2,14 @@ import { TransportDependencies } from '@chainlink/external-adapter-framework/tra
2
2
  import { ResponseCache } from '@chainlink/external-adapter-framework/cache/response'
3
3
  import { Requester } from '@chainlink/external-adapter-framework/util/requester'
4
4
  import {
5
- AdapterResponse, sleep
5
+ AdapterResponse, sleep, makeLogger
6
6
  } from '@chainlink/external-adapter-framework/util'
7
7
  import { SubscriptionTransport } from '@chainlink/external-adapter-framework/transports/abstract/subscription'
8
8
  import { EndpointContext } from '@chainlink/external-adapter-framework/adapter'
9
9
  import { BaseEndpointTypes, inputParameters } from '../endpoint/<%= inputEndpointName %>'
10
+ import { AdapterError } from '@chainlink/external-adapter-framework/validation/error'
11
+
12
+ const logger = makeLogger('CustomTransport')
10
13
 
11
14
  type RequestParams = typeof inputParameters.validated
12
15
 
@@ -63,8 +66,9 @@ export class CustomTransport extends SubscriptionTransport<CustomTransportTypes>
63
66
  response = await this._handleRequest(param)
64
67
  } catch (e) {
65
68
  const errorMessage = e instanceof Error ? e.message : 'Unknown error occurred'
69
+ logger.error(e, errorMessage)
66
70
  response = {
67
- statusCode: 502,
71
+ statusCode: (e as AdapterError)?.statusCode || 502,
68
72
  errorMessage,
69
73
  timestamps: {
70
74
  providerDataRequestedUnixMs: 0,
@@ -51,7 +51,7 @@ export class CustomTransport implements Transport<CustomTransportTypes> {
51
51
  // request, process it,save it in the cache and return to user.
52
52
  <% } -%>
53
53
  async foregroundExecute(
54
- req: AdapterRequest<typeof inputParameters.validated>
54
+ _: AdapterRequest<typeof inputParameters.validated>
55
55
  ): Promise<AdapterResponse<CustomTransportTypes['Response']>> {
56
56
 
57
57
  // Custom transport logic
@@ -68,16 +68,6 @@ export class CustomTransport implements Transport<CustomTransportTypes> {
68
68
  providerIndicatedTimeUnixMs: undefined,
69
69
  },
70
70
  }
71
- <% if (includeComments) { -%>
72
- // Once the response object is ready, write it to the cache. Use the transport name, request payload and constructed response. Once cache is
73
- // saved, return the response to the user.
74
- <% } -%>
75
- await this.responseCache.write(this.name, [
76
- {
77
- params: req.requestContext.data,
78
- response,
79
- },
80
- ])
81
71
 
82
72
  return response
83
73
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainlink/external-adapter-framework",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -16,6 +16,7 @@ export declare class SubscriptionSetFactory {
16
16
  private redisClient?;
17
17
  private adapterName?;
18
18
  private capacity;
19
+ private cachePrefix;
19
20
  constructor(adapterSettings: AdapterSettings, adapterName: string, redisClient?: Redis);
20
21
  buildSet<T>(endpointName: string, transportName: string): SubscriptionSet<T>;
21
22
  }
@@ -9,6 +9,7 @@ class SubscriptionSetFactory {
9
9
  this.redisClient = redisClient;
10
10
  this.adapterName = adapterName;
11
11
  this.capacity = adapterSettings.SUBSCRIPTION_SET_MAX_ITEMS;
12
+ this.cachePrefix = adapterSettings.CACHE_PREFIX;
12
13
  }
13
14
  buildSet(endpointName, transportName) {
14
15
  switch (this.cacheType) {
@@ -19,7 +20,8 @@ class SubscriptionSetFactory {
19
20
  throw new Error('Redis client undefined. Cannot create Redis subscription set');
20
21
  }
21
22
  // Identifier key used for the subscription set in redis
22
- const subscriptionSetKey = `${this.adapterName}-${endpointName}-${transportName}-subscriptionSet`;
23
+ const cachePrefix = this.cachePrefix ? `${this.cachePrefix}-` : '';
24
+ const subscriptionSetKey = `${cachePrefix}${this.adapterName}-${endpointName}-${transportName}-subscriptionSet`;
23
25
  return new redis_sorted_set_1.RedisSubscriptionSet(this.redisClient, subscriptionSetKey);
24
26
  }
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-set.js","sourceRoot":"","sources":["../../../../src/util/subscription-set/subscription-set.ts"],"names":[],"mappings":";;;AAGA,+DAAyD;AACzD,yDAAyD;AAezD,MAAa,sBAAsB;IAMjC,YAAY,eAAgC,EAAE,WAAmB,EAAE,WAAmB;QACpF,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,0BAA0B,CAAA;IAC5D,CAAC;IAED,QAAQ,CAAI,YAAoB,EAAE,aAAqB;QACrD,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,OAAO;gBACV,OAAO,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;iBAChF;gBACD,wDAAwD;gBACxD,MAAM,kBAAkB,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,aAAa,kBAAkB,CAAA;gBACjG,OAAO,IAAI,uCAAoB,CAAI,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;aACzE;SACF;IACH,CAAC;CACF;AA3BD,wDA2BC"}
1
+ {"version":3,"file":"subscription-set.js","sourceRoot":"","sources":["../../../../src/util/subscription-set/subscription-set.ts"],"names":[],"mappings":";;;AAGA,+DAAyD;AACzD,yDAAyD;AAezD,MAAa,sBAAsB;IAOjC,YAAY,eAAgC,EAAE,WAAmB,EAAE,WAAmB;QACpF,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,0BAA0B,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,YAAY,CAAA;IACjD,CAAC;IAED,QAAQ,CAAI,YAAoB,EAAE,aAAqB;QACrD,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,OAAO;gBACV,OAAO,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;iBAChF;gBACD,wDAAwD;gBACxD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAClE,MAAM,kBAAkB,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,aAAa,kBAAkB,CAAA;gBAC/G,OAAO,IAAI,uCAAoB,CAAI,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;aACzE;SACF;IACH,CAAC;CACF;AA9BD,wDA8BC"}