@chainlink/external-adapter-framework 1.5.0 → 1.6.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/adapter/endpoint.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransportRoutes } from '../transports';
|
|
2
|
-
import { AdapterRequest } from '../util';
|
|
2
|
+
import { AdapterRequest, Overrides } from '../util';
|
|
3
3
|
import { InputParameters } from '../validation';
|
|
4
4
|
import { TypeFromDefinition } from '../validation/input-params';
|
|
5
5
|
import { AdapterDependencies, AdapterEndpointInterface, AdapterEndpointParams, CustomInputValidator, CustomOutputValidator, EndpointGenerics, EndpointRateLimitingConfig, RequestTransform } from './types';
|
|
@@ -36,6 +36,10 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
|
|
|
36
36
|
* @returns the request after passing through all request transforms
|
|
37
37
|
*/
|
|
38
38
|
runRequestTransforms(req: AdapterRequest<TypeFromDefinition<T['Parameters']>>, settings: T['Settings']): void;
|
|
39
|
+
getRequestOverrides(data: Record<string, string>, overrides?: Overrides): {
|
|
40
|
+
[symbol: string]: string;
|
|
41
|
+
transport: string;
|
|
42
|
+
} | undefined;
|
|
39
43
|
/**
|
|
40
44
|
* Default request transform that takes requests and manipulates base params
|
|
41
45
|
*
|
package/adapter/endpoint.js
CHANGED
|
@@ -67,6 +67,10 @@ class AdapterEndpoint {
|
|
|
67
67
|
transform(req, settings);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
getRequestOverrides(data, overrides) {
|
|
71
|
+
const overrideAdapterName = data['adapterNameOverride'];
|
|
72
|
+
return overrides?.[overrideAdapterName] || overrides?.[this.adapterName.toLowerCase()];
|
|
73
|
+
}
|
|
70
74
|
/**
|
|
71
75
|
* Default request transform that takes requests and manipulates base params
|
|
72
76
|
*
|
|
@@ -75,9 +79,9 @@ class AdapterEndpoint {
|
|
|
75
79
|
* @returns the modified (or new) request
|
|
76
80
|
*/
|
|
77
81
|
symbolOverrider(req) {
|
|
78
|
-
const rawRequestBody = req.body;
|
|
79
|
-
const requestOverrides = rawRequestBody.data?.overrides?.[this.adapterName.toLowerCase()];
|
|
80
82
|
const data = req.requestContext.data;
|
|
83
|
+
const rawRequestBody = req.body;
|
|
84
|
+
const requestOverrides = this.getRequestOverrides(data, rawRequestBody.data?.overrides);
|
|
81
85
|
const base = data['base'];
|
|
82
86
|
if (requestOverrides?.[base]) {
|
|
83
87
|
// Perform overrides specified in the request payload
|
package/adapter/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAEjD,8CAA+C;AAC/C,kCAAmF;AACnF,8CAA+C;AAC/C,+CAAkD;AAalD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,iBAAiB,CAAC,CAAA;AAC/B,QAAA,sBAAsB,GAAG,0BAA0B,CAAA;AAEhE;;GAEG;AACH,MAAa,eAAe;IAkB1B,YAAY,MAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,uDAAuD;QACvD,IAAI,iBAAiB,IAAI,MAAM,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;YAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;YACvC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;SAChD;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,IAAI,4BAAe,EAAK,CAAC,QAAQ,CACtD,8BAAsB,EACtB,MAAM,CAAC,SAAS,CACjB,CAAA;SACF;QAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,4BAAe,CAAC,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;QACjD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAA;QACzD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAA;QAC3D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,YAAiC,EACjC,eAA8B;QAE9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,MAAM,aAAa,GAAG,IAAI,wBAAa,CAAC;YACtC,YAAY;YACZ,eAAe,EAAE,eAAkC;YACnD,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,YAAY;YACf,aAAa;SACd,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;QACtE,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YACvE,MAAM,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;SAC7F;IACH,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAClB,GAAwD,EACxD,QAAuB;QAEvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC9C,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;SACzB;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":"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"}
|
package/adapter/types.d.ts
CHANGED
|
@@ -113,7 +113,10 @@ export interface BaseAdapterEndpointParams<T extends EndpointGenerics> {
|
|
|
113
113
|
rateLimiting?: EndpointRateLimitingConfig;
|
|
114
114
|
/** Custom function that generates cache keys */
|
|
115
115
|
cacheKeyGenerator?: (data: TypeFromDefinition<T['Parameters']>) => string;
|
|
116
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* Custom input validation. Void function that should throw AdapterInputError on validation errors.
|
|
118
|
+
* Can be used to pre-transform requests before all the requestTransforms happens
|
|
119
|
+
*/
|
|
117
120
|
customInputValidation?: CustomInputValidator<T>;
|
|
118
121
|
/** Custom output validation. Void function that should throw AdapterError on validation errors */
|
|
119
122
|
customOutputValidation?: CustomOutputValidator;
|
|
@@ -154,9 +154,9 @@ module.exports = class extends Generator {
|
|
|
154
154
|
const pkgJson = {
|
|
155
155
|
devDependencies: {
|
|
156
156
|
'@types/jest': '27.5.2',
|
|
157
|
-
'@types/node': '16.
|
|
157
|
+
'@types/node': '16.18.115',
|
|
158
158
|
nock: '13.5.4',
|
|
159
|
-
typescript: '5.
|
|
159
|
+
typescript: '5.5.4',
|
|
160
160
|
},
|
|
161
161
|
dependencies: {
|
|
162
162
|
'@chainlink/external-adapter-framework': this.props.frameworkVersion,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainlink/external-adapter-framework",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"dependencies": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"pino-pretty": "9.1.0",
|
|
15
15
|
"prom-client": "13.2.0",
|
|
16
16
|
"redlock": "5.0.0-beta.2",
|
|
17
|
-
"ws": "8.
|
|
17
|
+
"ws": "8.17.1",
|
|
18
18
|
"yeoman-generator": "3.1.1"
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|