@chainlink/external-adapter-framework 1.3.1 → 1.3.2

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.
@@ -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.3.2",
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"}