@chainlink/external-adapter-framework 0.33.5 → 0.33.7
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/por.d.ts +17 -1
- package/adapter/por.js +12 -4
- package/adapter/por.js.map +1 -1
- package/cache/response.d.ts +9 -1
- package/cache/response.js +19 -0
- package/cache/response.js.map +1 -1
- package/package.json +1 -1
package/adapter/por.d.ts
CHANGED
|
@@ -5,6 +5,13 @@ import { Adapter } from './basic';
|
|
|
5
5
|
import { AdapterParams } from './types';
|
|
6
6
|
import { EmptyInputParameters, InputParametersDefinition } from '../validation/input-params';
|
|
7
7
|
import { AdapterRequest, AdapterResponse } from '../util';
|
|
8
|
+
export type PoRProviderResponse = {
|
|
9
|
+
Result: number;
|
|
10
|
+
Data: {
|
|
11
|
+
result: number;
|
|
12
|
+
ripcord: boolean;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
8
15
|
export type PoRAddress = Record<string, unknown> & {
|
|
9
16
|
network: string;
|
|
10
17
|
chainId: string;
|
|
@@ -104,9 +111,18 @@ export type PoRTotalBalanceEndpointGenerics = TransportGenerics & {
|
|
|
104
111
|
*/
|
|
105
112
|
export declare class PoRTotalBalanceEndpoint<T extends PoRTotalBalanceEndpointGenerics> extends AdapterEndpoint<T> {
|
|
106
113
|
}
|
|
114
|
+
export type PoRProviderEndpointGenerics = TransportGenerics & {
|
|
115
|
+
Response: PoRProviderResponse;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* A PoRProviderEndpoint is a specific type of AdapterEndpoint. Meant to comply with standard practices for
|
|
119
|
+
* Data Feeds, the response type must be `PoRProviderResponse`.
|
|
120
|
+
*/
|
|
121
|
+
export declare class PoRProviderEndpoint<T extends PoRProviderEndpointGenerics> extends AdapterEndpoint<T> {
|
|
122
|
+
}
|
|
107
123
|
/**
|
|
108
124
|
* A PoRAdapter is a specific kind of Adapter that includes at least one PoRTotalBalanceEndpoint,
|
|
109
|
-
* PoRBalanceEndpoint or
|
|
125
|
+
* PoRBalanceEndpoint, PoRAddressEndpoint or PoRProviderEndpoint.
|
|
110
126
|
*/
|
|
111
127
|
export declare class PoRAdapter<T extends SettingsDefinitionMap> extends Adapter<T> {
|
|
112
128
|
constructor(params: AdapterParams<T>);
|
package/adapter/por.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PoRAdapter = exports.PoRTotalBalanceEndpoint = exports.PoRBalanceEndpoint = exports.porBalanceEndpointInputParametersDefinition = exports.PoRAddressEndpoint = void 0;
|
|
3
|
+
exports.PoRAdapter = exports.PoRProviderEndpoint = exports.PoRTotalBalanceEndpoint = exports.PoRBalanceEndpoint = exports.porBalanceEndpointInputParametersDefinition = exports.PoRAddressEndpoint = void 0;
|
|
4
4
|
const endpoint_1 = require("./endpoint");
|
|
5
5
|
const config_1 = require("../config");
|
|
6
6
|
const basic_1 = require("./basic");
|
|
@@ -44,9 +44,16 @@ exports.PoRBalanceEndpoint = PoRBalanceEndpoint;
|
|
|
44
44
|
class PoRTotalBalanceEndpoint extends endpoint_1.AdapterEndpoint {
|
|
45
45
|
}
|
|
46
46
|
exports.PoRTotalBalanceEndpoint = PoRTotalBalanceEndpoint;
|
|
47
|
+
/**
|
|
48
|
+
* A PoRProviderEndpoint is a specific type of AdapterEndpoint. Meant to comply with standard practices for
|
|
49
|
+
* Data Feeds, the response type must be `PoRProviderResponse`.
|
|
50
|
+
*/
|
|
51
|
+
class PoRProviderEndpoint extends endpoint_1.AdapterEndpoint {
|
|
52
|
+
}
|
|
53
|
+
exports.PoRProviderEndpoint = PoRProviderEndpoint;
|
|
47
54
|
/**
|
|
48
55
|
* A PoRAdapter is a specific kind of Adapter that includes at least one PoRTotalBalanceEndpoint,
|
|
49
|
-
* PoRBalanceEndpoint or
|
|
56
|
+
* PoRBalanceEndpoint, PoRAddressEndpoint or PoRProviderEndpoint.
|
|
50
57
|
*/
|
|
51
58
|
class PoRAdapter extends basic_1.Adapter {
|
|
52
59
|
constructor(params) {
|
|
@@ -74,7 +81,8 @@ class PoRAdapter extends basic_1.Adapter {
|
|
|
74
81
|
}
|
|
75
82
|
const porEndpoints = params.endpoints.filter((e) => e instanceof PoRBalanceEndpoint ||
|
|
76
83
|
e instanceof PoRTotalBalanceEndpoint ||
|
|
77
|
-
e instanceof PoRAddressEndpoint
|
|
84
|
+
e instanceof PoRAddressEndpoint ||
|
|
85
|
+
e instanceof PoRProviderEndpoint);
|
|
78
86
|
if (!porEndpoints.length) {
|
|
79
87
|
throw new Error(`This PoRAdapter's list of endpoints does not contain a valid PoR endpoint`);
|
|
80
88
|
}
|
|
@@ -82,7 +90,7 @@ class PoRAdapter extends basic_1.Adapter {
|
|
|
82
90
|
}
|
|
83
91
|
async handleRequest(req, replySent) {
|
|
84
92
|
const endpoint = this.endpoints.find((e) => e.name === req.requestContext.endpointName);
|
|
85
|
-
if (endpoint instanceof PoRBalanceEndpoint) {
|
|
93
|
+
if (endpoint instanceof PoRBalanceEndpoint || endpoint instanceof PoRTotalBalanceEndpoint) {
|
|
86
94
|
const data = req.requestContext.data;
|
|
87
95
|
if (data && data.addresses && Array.isArray(data.addresses)) {
|
|
88
96
|
const feedId = req.requestContext?.meta?.metrics?.feedId || 'N/A';
|
package/adapter/por.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"por.js","sourceRoot":"","sources":["../../../src/adapter/por.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,sCAAgE;AAChE,mCAAiC;AAIjC,wCAAoC;
|
|
1
|
+
{"version":3,"file":"por.js","sourceRoot":"","sources":["../../../src/adapter/por.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,sCAAgE;AAChE,mCAAiC;AAIjC,wCAAoC;AA8BpC;;;GAGG;AACH,MAAa,kBAAyD,SAAQ,0BAAkB;CAAG;AAAnG,gDAAmG;AAgCnG;;GAEG;AACU,QAAA,2CAA2C,GAAG;IACzD,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,IAAI;aACf;SACF;QACD,WAAW,EACT,mGAAmG;QACrG,QAAQ,EAAE,IAAI;KACf;CAC6D,CAAA;AAUhE;;;GAGG;AACH,MAAa,kBAAyD,SAAQ,0BAAkB;CAAG;AAAnG,gDAAmG;AAenG;;;GAGG;AACH,MAAa,uBAEX,SAAQ,0BAAkB;CAAG;AAF/B,0DAE+B;AAM/B;;;GAGG;AACH,MAAa,mBAEX,SAAQ,0BAAkB;CAAG;AAF/B,kDAE+B;AAE/B;;;GAGG;AACH,MAAa,UAA4C,SAAQ,eAAU;IACzE,YAAY,MAAwB;QAClC,sFAAsF;QACtF,kDAAkD;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,CAAC,MAAM,GAAG,IAAI,sBAAa,CAC/B,EAAE,EACF;gBACE,mBAAmB,EAAE;oBACnB,0BAA0B,EAAE,MAAO;oBACnC,WAAW,EAAE,KAAM;oBACnB,aAAa,EAAE,MAAO;iBACvB;aACF,CACkB,CAAA;SACtB;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG;gBACtB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBAChC,mBAAmB,EAAE;oBACnB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC;oBACrD,0BAA0B,EACxB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,IAAI,MAAO;oBACnF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,WAAW,IAAI,KAAM;oBAC9E,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,aAAa,IAAI,MAAO;iBACpF;aACF,CAAA;SACF;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,YAAY,kBAAkB;YAC/B,CAAC,YAAY,uBAAuB;YACpC,CAAC,YAAY,kBAAkB;YAC/B,CAAC,YAAY,mBAAmB,CACnC,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;SAC7F;QAED,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAEQ,KAAK,CAAC,aAAa,CAC1B,GAAyC,EACzC,SAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAEvF,IAAI,QAAQ,YAAY,kBAAkB,IAAI,QAAQ,YAAY,uBAAuB,EAAE;YACzF,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,IAA4C,CAAA;YAC5E,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,CAAA;gBACjE,iBAAO;qBACJ,GAAG,CAAC,yBAAyB,CAAC;qBAC9B,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;qBAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;aAC9B;SACF;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACF;AA3DD,gCA2DC"}
|
package/cache/response.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AdapterDependencies } from '../adapter';
|
|
2
2
|
import { AdapterSettings } from '../config';
|
|
3
3
|
import { AdapterResponse, ResponseGenerics, TimestampedProviderResult } from '../util';
|
|
4
|
-
import { InputParameters, InputParametersDefinition } from '../validation/input-params';
|
|
4
|
+
import { InputParameters, InputParametersDefinition, TypeFromDefinition } from '../validation/input-params';
|
|
5
5
|
import { Cache } from './';
|
|
6
6
|
/**
|
|
7
7
|
* Special type of cache to store responses for this adapter.
|
|
@@ -28,4 +28,12 @@ export declare class ResponseCache<T extends {
|
|
|
28
28
|
* @param results - the entries to write to the cache
|
|
29
29
|
*/
|
|
30
30
|
write(transportName: string, results: TimestampedProviderResult<T>[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Sets a new TTL value for already cached responses in the adapter cache
|
|
33
|
+
*
|
|
34
|
+
* @param transportName - transport name
|
|
35
|
+
* @param params - set of parameters that uniquely relate to the response
|
|
36
|
+
* @param ttl - a new time in milliseconds until the response expires
|
|
37
|
+
*/
|
|
38
|
+
writeTTL(transportName: string, params: TypeFromDefinition<T['Parameters']>[], ttl: number): Promise<void>;
|
|
31
39
|
}
|
package/cache/response.js
CHANGED
|
@@ -126,6 +126,25 @@ class ResponseCache {
|
|
|
126
126
|
}
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Sets a new TTL value for already cached responses in the adapter cache
|
|
131
|
+
*
|
|
132
|
+
* @param transportName - transport name
|
|
133
|
+
* @param params - set of parameters that uniquely relate to the response
|
|
134
|
+
* @param ttl - a new time in milliseconds until the response expires
|
|
135
|
+
*/
|
|
136
|
+
async writeTTL(transportName, params, ttl) {
|
|
137
|
+
for (const param of params) {
|
|
138
|
+
const key = (0, _1.calculateCacheKey)({
|
|
139
|
+
transportName: transportName,
|
|
140
|
+
data: param,
|
|
141
|
+
adapterName: this.adapterName,
|
|
142
|
+
endpointName: this.endpointName,
|
|
143
|
+
adapterSettings: this.adapterSettings,
|
|
144
|
+
});
|
|
145
|
+
this.cache.setTTL(key, ttl);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
129
148
|
}
|
|
130
149
|
exports.ResponseCache = ResponseCache;
|
|
131
150
|
//# sourceMappingURL=response.js.map
|
package/cache/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCASgB;AAChB,6EAAmD;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":"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"}
|