@chainlink/external-adapter-framework 0.5.4 → 0.5.5
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/basic.d.ts +16 -6
- package/adapter/basic.js +34 -7
- package/adapter/basic.js.map +1 -1
- package/adapter/endpoint.d.ts +6 -6
- package/adapter/endpoint.js +1 -0
- package/adapter/endpoint.js.map +1 -1
- package/adapter/price.d.ts +10 -8
- package/adapter/price.js +8 -5
- package/adapter/price.js.map +1 -1
- package/adapter/types.d.ts +20 -13
- package/background-executor.js +19 -4
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +6 -6
- package/cache/redis.d.ts +0 -3
- package/cache/redis.js +19 -12
- package/cache/redis.js.map +1 -1
- package/config/index.d.ts +14 -1
- package/config/index.js +37 -20
- package/config/index.js.map +1 -1
- package/examples/bank-frick/accounts.d.ts +17 -24
- package/examples/bank-frick/accounts.js +22 -9
- package/examples/bank-frick/accounts.js.map +1 -1
- package/examples/bank-frick/index.d.ts +1 -15
- package/examples/bank-frick/index.js +1 -1
- package/examples/coingecko/src/crypto-utils.d.ts +15 -1
- package/examples/coingecko/src/crypto-utils.js.map +1 -1
- package/examples/coingecko/src/endpoint/coins.d.ts +20 -3
- package/examples/coingecko/src/endpoint/coins.js +2 -2
- package/examples/coingecko/src/endpoint/coins.js.map +1 -1
- package/examples/coingecko/src/endpoint/crypto-marketcap.d.ts +2 -2
- package/examples/coingecko/src/endpoint/crypto-marketcap.js.map +1 -1
- package/examples/coingecko/src/endpoint/crypto-volume.d.ts +2 -2
- package/examples/coingecko/src/endpoint/crypto-volume.js.map +1 -1
- package/examples/coingecko/src/endpoint/crypto.d.ts +2 -1
- package/examples/coingecko/src/endpoint/crypto.js.map +1 -1
- package/examples/coingecko/src/endpoint/dominance.d.ts +2 -2
- package/examples/coingecko/src/endpoint/dominance.js.map +1 -1
- package/examples/coingecko/src/endpoint/global-marketcap.d.ts +2 -2
- package/examples/coingecko/src/endpoint/global-marketcap.js.map +1 -1
- package/examples/coingecko/src/global-utils.d.ts +18 -3
- package/examples/coingecko/src/global-utils.js.map +1 -1
- package/examples/coingecko/src/index.js +1 -1
- package/examples/cryptocompare/src/endpoints/crypto.d.ts +14 -2
- package/examples/cryptocompare/src/endpoints/crypto.js.map +1 -1
- package/examples/cryptocompare/src/index.js +1 -1
- package/examples/genesis/index.js +1 -1
- package/examples/genesis/sseStream.d.ts +13 -2
- package/examples/genesis/sseStream.js.map +1 -1
- package/metrics/util.d.ts +5 -5
- package/metrics/util.js.map +1 -1
- package/package.json +1 -1
- package/rate-limiting/background/fixed-frequency.d.ts +2 -3
- package/rate-limiting/background/fixed-frequency.js.map +1 -1
- package/rate-limiting/index.d.ts +4 -4
- package/rate-limiting/index.js +1 -1
- package/rate-limiting/index.js.map +1 -1
- package/rate-limiting/request/simple-counting.d.ts +2 -3
- package/rate-limiting/request/simple-counting.js.map +1 -1
- package/transports/batch-warming.d.ts +31 -13
- package/transports/batch-warming.js +4 -4
- package/transports/batch-warming.js.map +1 -1
- package/transports/index.d.ts +50 -13
- package/transports/index.js.map +1 -1
- package/transports/metrics.d.ts +2 -2
- package/transports/metrics.js +2 -2
- package/transports/metrics.js.map +1 -1
- package/transports/rest.d.ts +30 -13
- package/transports/rest.js +1 -3
- package/transports/rest.js.map +1 -1
- package/transports/routing.d.ts +11 -12
- package/transports/routing.js +16 -4
- package/transports/routing.js.map +1 -1
- package/transports/sse.d.ts +39 -18
- package/transports/sse.js +8 -2
- package/transports/sse.js.map +1 -1
- package/transports/websocket.d.ts +39 -23
- package/transports/websocket.js +8 -7
- package/transports/websocket.js.map +1 -1
- package/util/data-validation.d.ts +15 -0
- package/util/data-validation.js +61 -0
- package/util/data-validation.js.map +1 -0
- package/util/index.d.ts +1 -0
- package/util/index.js +5 -1
- package/util/index.js.map +1 -1
- package/util/logger.js +2 -6
- package/util/logger.js.map +1 -1
- package/util/request.d.ts +46 -10
- package/validation/error.js +1 -1
- package/validation/error.js.map +1 -1
- package/validation/index.js +16 -15
- package/validation/index.js.map +1 -1
package/config/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildAdapterConfig = exports.BaseSettings = void 0;
|
|
3
|
+
exports.getEnv = exports.validateAdapterConfig = exports.buildAdapterConfig = exports.BaseSettings = void 0;
|
|
4
4
|
exports.BaseSettings = {
|
|
5
5
|
// V2 compat
|
|
6
6
|
// ADAPTER_URL: {
|
|
@@ -49,10 +49,11 @@ exports.BaseSettings = {
|
|
|
49
49
|
// type: 'number',
|
|
50
50
|
// default: 30000,
|
|
51
51
|
// },
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
CACHE_REDIS_CONNECTION_TIMEOUT: {
|
|
53
|
+
description: 'Connection timeout for redis client',
|
|
54
|
+
type: 'number',
|
|
55
|
+
default: 15000,
|
|
56
|
+
},
|
|
56
57
|
CACHE_REDIS_HOST: {
|
|
57
58
|
description: 'Hostname for the Redis instance to be used',
|
|
58
59
|
type: 'string',
|
|
@@ -63,10 +64,11 @@ exports.BaseSettings = {
|
|
|
63
64
|
// type: 'number',
|
|
64
65
|
// default: 500,
|
|
65
66
|
// },
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
CACHE_REDIS_MAX_RECONNECT_COOLDOWN: {
|
|
68
|
+
description: 'Max cooldown (in ms) before attempting redis reconnection',
|
|
69
|
+
type: 'number',
|
|
70
|
+
default: 3000,
|
|
71
|
+
},
|
|
70
72
|
CACHE_REDIS_PASSWORD: {
|
|
71
73
|
description: 'The password required for redis auth',
|
|
72
74
|
type: 'string',
|
|
@@ -294,13 +296,11 @@ exports.BaseSettings = {
|
|
|
294
296
|
type: 'string',
|
|
295
297
|
},
|
|
296
298
|
};
|
|
297
|
-
const buildAdapterConfig = ({ overrides = {}, customSettings = {}, }) => {
|
|
298
|
-
const validationErrors = [];
|
|
299
|
+
const buildAdapterConfig = ({ overrides = {}, customSettings = {}, envVarsPrefix = '', }) => {
|
|
299
300
|
const vars = {};
|
|
300
301
|
// Iterate base adapter env vars
|
|
301
302
|
for (const [key, config] of Object.entries(exports.BaseSettings)) {
|
|
302
|
-
const value = getEnv(key, config) ?? overrides?.[key] ?? config.default;
|
|
303
|
-
validateConfig(key, value, config, validationErrors);
|
|
303
|
+
const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? overrides?.[key] ?? config.default;
|
|
304
304
|
vars[key] = value;
|
|
305
305
|
}
|
|
306
306
|
// Iterate custom vars
|
|
@@ -308,17 +308,25 @@ const buildAdapterConfig = ({ overrides = {}, customSettings = {}, }) => {
|
|
|
308
308
|
if (exports.BaseSettings[key]) {
|
|
309
309
|
throw new Error(`Custom env var "${key}" declared, but a base framework env var with that name already exists.`);
|
|
310
310
|
}
|
|
311
|
-
const value = getEnv(key, config) ?? config.default;
|
|
312
|
-
validateConfig(key, value, config, validationErrors);
|
|
311
|
+
const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? config.default;
|
|
313
312
|
vars[key] = value;
|
|
314
313
|
}
|
|
314
|
+
return vars;
|
|
315
|
+
};
|
|
316
|
+
exports.buildAdapterConfig = buildAdapterConfig;
|
|
317
|
+
const validateAdapterConfig = (adapterConfig, customSettings = {}) => {
|
|
318
|
+
const validationErrors = [];
|
|
319
|
+
Object.entries(exports.BaseSettings)
|
|
320
|
+
.concat(Object.entries(customSettings || {}))
|
|
321
|
+
.forEach(([name, setting]) => {
|
|
322
|
+
validateSetting(name, adapterConfig[name], setting, validationErrors);
|
|
323
|
+
});
|
|
315
324
|
if (validationErrors.length > 0) {
|
|
316
325
|
throw new Error(`Validation failed for the following variables:\n ${validationErrors.join('\n')}`);
|
|
317
326
|
}
|
|
318
|
-
return vars;
|
|
319
327
|
};
|
|
320
|
-
exports.
|
|
321
|
-
const
|
|
328
|
+
exports.validateAdapterConfig = validateAdapterConfig;
|
|
329
|
+
const validateSetting = (key, value, config, validationErrors) => {
|
|
322
330
|
// Check if a required setting has been provided
|
|
323
331
|
if (config.required && (value === null || value === undefined)) {
|
|
324
332
|
validationErrors.push(`${key}: Value is required, but none was provided`);
|
|
@@ -331,8 +339,16 @@ const validateConfig = (key, value, config, validationErrors) => {
|
|
|
331
339
|
}
|
|
332
340
|
}
|
|
333
341
|
};
|
|
334
|
-
const
|
|
335
|
-
const
|
|
342
|
+
const getEnvName = (name, prefix = '') => {
|
|
343
|
+
const envName = prefix ? `${prefix}_${name}` : name;
|
|
344
|
+
if (!isEnvNameValid(envName)) {
|
|
345
|
+
throw new Error(`Invalid environment var name: ${envName}. Only '/^[_a-z0-9]+$/i' is supported.`);
|
|
346
|
+
}
|
|
347
|
+
return envName;
|
|
348
|
+
};
|
|
349
|
+
const isEnvNameValid = (name) => /^[_a-z0-9]+$/i.test(name);
|
|
350
|
+
const getEnv = (name, config, prefix = '') => {
|
|
351
|
+
const value = process.env[getEnvName(name, prefix)];
|
|
336
352
|
if (!value) {
|
|
337
353
|
return null;
|
|
338
354
|
}
|
|
@@ -350,4 +366,5 @@ const getEnv = (name, config) => {
|
|
|
350
366
|
return value;
|
|
351
367
|
}
|
|
352
368
|
};
|
|
369
|
+
exports.getEnv = getEnv;
|
|
353
370
|
//# sourceMappingURL=index.js.map
|
package/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,YAAY;IACZ,iBAAiB;IACjB,qFAAqF;IACrF,oBAAoB;IACpB,KAAK;IACL,YAAY,EAAE;QACZ,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE;QACP,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACX,WAAW,EACT,gHAAgH;QAClH,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,WAAW,EAAE;QACX,WAAW,EACT,sIAAsI;QACxI,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb;IACD,gCAAgC,EAAE;QAChC,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf;IACD,aAAa,EAAE;QACb,WAAW,EAAE,iEAAiE;QAC9E,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;KACf;IACD,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,KAAK;IACL,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,KAAK;IACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
-
import { AdapterInputParameters, BankFrickAccountsRequestSchema, BankFrickAccountsResponseSchema, SigningAlgorithm } from './types';
|
|
3
|
-
import { customSettings } from './config';
|
|
4
|
-
import { Transport } from '../../transports';
|
|
5
|
-
import { AdapterRequest, AdapterResponse } from '../../util';
|
|
6
|
-
import { AdapterConfig } from '../../config';
|
|
7
|
-
import { Cache } from '../../cache';
|
|
8
2
|
import { AdapterDependencies, AdapterEndpoint } from '../../adapter';
|
|
3
|
+
import { Cache } from '../../cache';
|
|
4
|
+
import { AdapterConfig } from '../../config';
|
|
5
|
+
import { Transport } from '../../transports';
|
|
6
|
+
import { AdapterRequest, AdapterResponse, SingleNumberResultResponse } from '../../util';
|
|
7
|
+
import { customSettings } from './config';
|
|
8
|
+
import { AdapterInputParameters, BankFrickAccountsRequestSchema, BankFrickAccountsResponseSchema, SigningAlgorithm } from './types';
|
|
9
|
+
export declare type AccountsEndpointTypes = {
|
|
10
|
+
Request: {
|
|
11
|
+
Params: AdapterInputParameters;
|
|
12
|
+
};
|
|
13
|
+
Response: SingleNumberResultResponse;
|
|
14
|
+
CustomSettings: typeof customSettings;
|
|
15
|
+
};
|
|
9
16
|
/**
|
|
10
17
|
* RestTransport implementation for Bank Frick, which has unusually complex requirements for an EA
|
|
11
18
|
* The RestTransport is generally built to make a single request and return a single response.
|
|
@@ -14,9 +21,9 @@ import { AdapterDependencies, AdapterEndpoint } from '../../adapter';
|
|
|
14
21
|
* This transport does all the heavy lifting in setup(), which is where the paging happens, and it
|
|
15
22
|
* also has complex retry logic that will attempt to refresh the JWT when certain HTTP errors occur
|
|
16
23
|
*/
|
|
17
|
-
export declare class BankFrickAccountsTransport implements Transport<
|
|
24
|
+
export declare class BankFrickAccountsTransport implements Transport<AccountsEndpointTypes> {
|
|
18
25
|
token: string;
|
|
19
|
-
cache: Cache<AdapterResponse<
|
|
26
|
+
cache: Cache<AdapterResponse<AccountsEndpointTypes['Response']>>;
|
|
20
27
|
initialize(dependencies: AdapterDependencies): Promise<void>;
|
|
21
28
|
/**
|
|
22
29
|
* Creates an AxiosRequestConfig object for fetching a page of accounts from the Bank Frick API
|
|
@@ -33,20 +40,6 @@ export declare class BankFrickAccountsTransport implements Transport<AdapterInpu
|
|
|
33
40
|
* Fetches pages of data from the Bank Frick API, scans for accounts by IBAN, and returns the balance
|
|
34
41
|
* of all found accounts. Returns a 404 if any IBAN isn't found.
|
|
35
42
|
*/
|
|
36
|
-
foregroundExecute(req: AdapterRequest<
|
|
43
|
+
foregroundExecute(req: AdapterRequest<AccountsEndpointTypes['Request']>, config: AdapterConfig<typeof customSettings>): Promise<AdapterResponse<AccountsEndpointTypes['Response']>>;
|
|
37
44
|
}
|
|
38
|
-
export declare const accountsRestEndpoint: AdapterEndpoint<
|
|
39
|
-
readonly PAGE_SIZE: {
|
|
40
|
-
readonly description: "The number of accounts to fetch per call to /accounts. Must be >= 1 and <= 500.";
|
|
41
|
-
readonly type: "number";
|
|
42
|
-
readonly required: false;
|
|
43
|
-
readonly default: 500;
|
|
44
|
-
readonly validate: (value?: number | undefined) => string | undefined;
|
|
45
|
-
};
|
|
46
|
-
readonly PRIVATE_KEY: {
|
|
47
|
-
readonly description: "";
|
|
48
|
-
readonly type: "string";
|
|
49
|
-
readonly required: true;
|
|
50
|
-
readonly validate: (value: string) => string | undefined;
|
|
51
|
-
};
|
|
52
|
-
}>;
|
|
45
|
+
export declare const accountsRestEndpoint: AdapterEndpoint<AccountsEndpointTypes>;
|
|
@@ -5,11 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.accountsRestEndpoint = exports.BankFrickAccountsTransport = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const util_1 = require("./util");
|
|
9
|
-
const util_2 = require("../../util");
|
|
10
|
-
const error_1 = require("../../validation/error");
|
|
11
8
|
const adapter_1 = require("../../adapter");
|
|
12
|
-
const
|
|
9
|
+
const util_1 = require("../../util");
|
|
10
|
+
const error_1 = require("../../validation/error");
|
|
11
|
+
const util_2 = require("./util");
|
|
12
|
+
const logger = (0, util_1.makeLogger)('BankFrickTransport');
|
|
13
13
|
// Note: this is a shallow pattern that only checks for a country code since IBANs in the sandbox are invalid
|
|
14
14
|
const ibanPattern = /^[A-Z]{2}[A-Z\d]{14,30}$/;
|
|
15
15
|
const inputParameters = {
|
|
@@ -87,7 +87,7 @@ class BankFrickAccountsTransport {
|
|
|
87
87
|
else if (AuthErrors[response.status]) {
|
|
88
88
|
// We've encountered a known auth error, so try to refresh the token before making another request
|
|
89
89
|
logger.info('Auth error received from the Bank Frick API, attempting to refresh the token');
|
|
90
|
-
this.token = await (0,
|
|
90
|
+
this.token = await (0, util_2.generateJWT)(config, signingAlgorithm);
|
|
91
91
|
}
|
|
92
92
|
else if (retryNumber === config.REST_TRANSPORT_MAX_RATE_LIMIT_RETRIES) {
|
|
93
93
|
throw new error_1.AdapterError({
|
|
@@ -96,7 +96,7 @@ class BankFrickAccountsTransport {
|
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
logger.debug(`Sleeping for ${config.REST_TRANSPORT_MS_BETWEEN_RATE_LIMIT_RETRIES}ms before retrying`);
|
|
99
|
-
await (0,
|
|
99
|
+
await (0, util_1.sleep)(config.REST_TRANSPORT_MS_BETWEEN_RATE_LIMIT_RETRIES);
|
|
100
100
|
response = await axios_1.default.request(axiosRequest);
|
|
101
101
|
}
|
|
102
102
|
return response;
|
|
@@ -134,7 +134,7 @@ class BankFrickAccountsTransport {
|
|
|
134
134
|
}
|
|
135
135
|
// Refresh the token if it isn't set
|
|
136
136
|
if (!this.token) {
|
|
137
|
-
this.token = await (0,
|
|
137
|
+
this.token = await (0, util_2.generateJWT)(config, signingAlgorithm);
|
|
138
138
|
}
|
|
139
139
|
let sum = 0;
|
|
140
140
|
let position = 0;
|
|
@@ -165,7 +165,9 @@ class BankFrickAccountsTransport {
|
|
|
165
165
|
if (keys.length > 0) {
|
|
166
166
|
logger.error(`Could not find all accounts, returning 404: ${keys.join(', ')}`);
|
|
167
167
|
const res = {
|
|
168
|
-
data:
|
|
168
|
+
data: {
|
|
169
|
+
result: 0,
|
|
170
|
+
},
|
|
169
171
|
statusCode: 404,
|
|
170
172
|
result: 0,
|
|
171
173
|
};
|
|
@@ -173,7 +175,9 @@ class BankFrickAccountsTransport {
|
|
|
173
175
|
}
|
|
174
176
|
logger.debug('Was able to find all accounts, returning balance across all accounts: ', sum);
|
|
175
177
|
const res = {
|
|
176
|
-
data:
|
|
178
|
+
data: {
|
|
179
|
+
result: sum,
|
|
180
|
+
},
|
|
177
181
|
statusCode: 200,
|
|
178
182
|
result: sum,
|
|
179
183
|
};
|
|
@@ -186,5 +190,14 @@ exports.accountsRestEndpoint = new adapter_1.AdapterEndpoint({
|
|
|
186
190
|
name: 'accounts',
|
|
187
191
|
transport: new BankFrickAccountsTransport(),
|
|
188
192
|
inputParameters,
|
|
193
|
+
cacheKeyGenerator: (data) => {
|
|
194
|
+
const sortedData = Object.keys(data)
|
|
195
|
+
.sort()
|
|
196
|
+
.reduce((a, i) => {
|
|
197
|
+
a[i] = data[i];
|
|
198
|
+
return a;
|
|
199
|
+
}, {});
|
|
200
|
+
return `accounts-${JSON.stringify(sortedData)}`;
|
|
201
|
+
},
|
|
189
202
|
});
|
|
190
203
|
//# sourceMappingURL=accounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../src/examples/bank-frick/accounts.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAgE;
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../src/examples/bank-frick/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
1
|
import { Adapter } from '../../adapter';
|
|
2
|
-
export declare const adapter: Adapter<
|
|
3
|
-
readonly PAGE_SIZE: {
|
|
4
|
-
readonly description: "The number of accounts to fetch per call to /accounts. Must be >= 1 and <= 500.";
|
|
5
|
-
readonly type: "number";
|
|
6
|
-
readonly required: false;
|
|
7
|
-
readonly default: 500;
|
|
8
|
-
readonly validate: (value?: number | undefined) => string | undefined;
|
|
9
|
-
};
|
|
10
|
-
readonly PRIVATE_KEY: {
|
|
11
|
-
readonly description: "";
|
|
12
|
-
readonly type: "string";
|
|
13
|
-
readonly required: true;
|
|
14
|
-
readonly validate: (value: string) => string | undefined;
|
|
15
|
-
};
|
|
16
|
-
}>;
|
|
2
|
+
export declare const adapter: Adapter<import("../../config").SettingsMap>;
|
|
@@ -5,7 +5,7 @@ const adapter_1 = require("../../adapter");
|
|
|
5
5
|
const accounts_1 = require("./accounts");
|
|
6
6
|
const config_1 = require("./config");
|
|
7
7
|
exports.adapter = new adapter_1.Adapter({
|
|
8
|
-
name: '
|
|
8
|
+
name: 'BANK-FRICK',
|
|
9
9
|
defaultEndpoint: 'accounts',
|
|
10
10
|
endpoints: [accounts_1.accountsRestEndpoint],
|
|
11
11
|
customSettings: config_1.customSettings,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpRequestConfig, HttpResponse } from '../../../transports';
|
|
2
|
-
import { AdapterConfig } from '../../../config';
|
|
2
|
+
import { AdapterConfig, SettingsMap } from '../../../config';
|
|
3
3
|
export interface CryptoRequestParams {
|
|
4
4
|
coinid?: string;
|
|
5
5
|
base?: string;
|
|
@@ -43,6 +43,20 @@ interface ResultEntry {
|
|
|
43
43
|
coinid?: string;
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
export declare type CryptoEndpointTypes = {
|
|
47
|
+
Request: {
|
|
48
|
+
Params: CryptoRequestParams;
|
|
49
|
+
};
|
|
50
|
+
Response: {
|
|
51
|
+
Data: ProviderResponseBody;
|
|
52
|
+
Result: number;
|
|
53
|
+
};
|
|
54
|
+
CustomSettings: SettingsMap;
|
|
55
|
+
Provider: {
|
|
56
|
+
RequestBody: ProviderRequestBody;
|
|
57
|
+
ResponseBody: ProviderResponseBody;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
46
60
|
export declare const buildBatchedRequestBody: (params: CryptoRequestParams[], config: AdapterConfig) => HttpRequestConfig<ProviderRequestBody>;
|
|
47
61
|
export declare const constructEntry: (res: HttpResponse<ProviderResponseBody>, requestPayload: CryptoRequestParams, resultPath: string) => ResultEntry | undefined;
|
|
48
62
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/crypto-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AAEjE,iDAAiD;AAQpC,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE;QACN,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gDAAgD;QAC7D,QAAQ,EAAE,KAAK;KAChB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACO,CAAA;
|
|
1
|
+
{"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/crypto-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AAEjE,iDAAiD;AAQpC,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE;QACN,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;KAChB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gDAAgD;QAC7D,QAAQ,EAAE,KAAK;KAChB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,IAAI;KACf;CACO,CAAA;AAuCH,MAAM,uBAAuB,GAAG,CACrC,MAA6B,EAC7B,MAAqB,EACmB,EAAE;IAC1C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,6BAAoB;QACjE,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE;YACN,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAClE,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;YACjE,gBAAgB,EAAE,MAAM,CAAC,OAAO;SACjC;KACF,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC;AAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,0BAA0B,CAAC,CAAA;AAE9C,MAAM,cAAc,GAAG,CAC5B,GAAuC,EACvC,cAAmC,EACnC,UAAkB,EACO,EAAE;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAK,cAAc,CAAC,IAAe,CAAA;IACvE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,KAAK,0BAA0B,MAAM,EAAE,CAAC,CAAA;QAChF,OAAM;KACP;IACD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,YAAY;KACL,CAAA;IAChB,IAAI,cAAc,CAAC,MAAM,EAAE;QACzB,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;KAC5C;SAAM;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAA;KACxC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAtBY,QAAA,cAAc,kBAsB1B"}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
|
-
import { AdapterEndpoint } from '../../../../adapter';
|
|
2
1
|
import { InputParameters } from '../../../../../src/validation';
|
|
2
|
+
import { AdapterEndpoint } from '../../../../adapter';
|
|
3
|
+
import { SettingsMap } from '../../../../config';
|
|
4
|
+
import { EmptyObject } from '../../../../util';
|
|
3
5
|
export declare const inputParameters: InputParameters;
|
|
4
|
-
|
|
6
|
+
interface CoinsResponse {
|
|
5
7
|
id: string;
|
|
6
8
|
symbol: string;
|
|
7
9
|
name: string;
|
|
8
10
|
}
|
|
9
|
-
|
|
11
|
+
declare type EndpointTypes = {
|
|
12
|
+
Request: {
|
|
13
|
+
Params: EmptyObject;
|
|
14
|
+
};
|
|
15
|
+
Response: {
|
|
16
|
+
Data: CoinsResponse;
|
|
17
|
+
Result: null;
|
|
18
|
+
};
|
|
19
|
+
CustomSettings: SettingsMap;
|
|
20
|
+
Provider: {
|
|
21
|
+
RequestBody: never;
|
|
22
|
+
ResponseBody: CoinsResponse;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const endpoint: AdapterEndpoint<EndpointTypes>;
|
|
26
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.endpoint = exports.inputParameters = void 0;
|
|
4
|
-
const adapter_1 = require("../../../../adapter");
|
|
5
4
|
const transports_1 = require("../../../../../src/transports");
|
|
5
|
+
const adapter_1 = require("../../../../adapter");
|
|
6
6
|
const config_1 = require("../config");
|
|
7
7
|
exports.inputParameters = {};
|
|
8
8
|
const restEndpointTransport = new transports_1.RestTransport({
|
|
@@ -20,7 +20,7 @@ const restEndpointTransport = new transports_1.RestTransport({
|
|
|
20
20
|
return {
|
|
21
21
|
data: res.data,
|
|
22
22
|
statusCode: 200,
|
|
23
|
-
result:
|
|
23
|
+
result: null,
|
|
24
24
|
};
|
|
25
25
|
},
|
|
26
26
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coins.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/coins.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"coins.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/coins.ts"],"names":[],"mappings":";;;AAAA,8DAA6D;AAE7D,iDAAqD;AAGrD,sCAAkE;AAErD,QAAA,eAAe,GAAoB,EAAE,CAAA;AAuBlD,MAAM,qBAAqB,GAAG,IAAI,0BAAa,CAAgB;IAC7D,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,6BAAoB,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,OAAO;YACL,OAAO;YACP,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,KAAK;YACb,MAAM;SACP,CAAA;IACH,CAAC;IACD,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1B,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,iBAAiB,EAAE;YACjB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,yBAAe,CAAgB;IACzD,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,qBAAqB;IAChC,eAAe,EAAf,uBAAe;CAChB,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AdapterEndpoint } from '../../../../adapter';
|
|
2
|
-
import {
|
|
3
|
-
export declare const endpoint: AdapterEndpoint<
|
|
2
|
+
import { CryptoEndpointTypes } from '../crypto-utils';
|
|
3
|
+
export declare const endpoint: AdapterEndpoint<CryptoEndpointTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-marketcap.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto-marketcap.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"crypto-marketcap.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto-marketcap.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,wEAA4E;AAE5E,kDAKwB;AAExB,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAsB;IAC5E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,IAAA,sCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC3D,WAAW,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC5C,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,EAA2C,CAAA;QAC3D,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,6BAAc,EAC1B,GAAG,EACH,cAAc,EACd,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CACnD,CAAA;YACD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,yBAAe,CAAC;IAC1C,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,SAAS,EAAE,sBAAsB;IACjC,eAAe,EAAE,gCAAiB;CACnC,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AdapterEndpoint } from '../../../../adapter';
|
|
2
|
-
import {
|
|
3
|
-
export declare const endpoint: AdapterEndpoint<
|
|
2
|
+
import { CryptoEndpointTypes } from '../crypto-utils';
|
|
3
|
+
export declare const endpoint: AdapterEndpoint<CryptoEndpointTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-volume.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto-volume.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"crypto-volume.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto-volume.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,wEAA4E;AAE5E,kDAKwB;AAExB,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAsB;IAC5E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,IAAA,sCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC3D,WAAW,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC1C,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,EAA2C,CAAA;QAC3D,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,6BAAc,EAC1B,GAAG,EACH,cAAc,EACd,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAChD,CAAA;YACD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,yBAAe,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,SAAS,EAAE,sBAAsB;IACjC,eAAe,EAAE,gCAAiB;CACnC,CAAC,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { PriceEndpoint } from '../../../../adapter';
|
|
2
|
-
|
|
2
|
+
import { CryptoEndpointTypes } from '../crypto-utils';
|
|
3
|
+
export declare const endpoint: PriceEndpoint<CryptoEndpointTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/crypto.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AACnD,wEAA4E;AAE5E,kDAKwB;AAExB,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAsB;IAC5E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACjC,OAAO,IAAA,sCAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,EAA2C,CAAA;QAC3D,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,6BAAc,EAAC,GAAG,EAAE,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;YACrF,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,uBAAa,CAAsB;IAC7D,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC;IAC/C,SAAS,EAAE,sBAAsB;IACjC,eAAe,EAAE,gCAAiB;CACnC,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AdapterEndpoint } from '../../../../adapter';
|
|
2
|
-
import {
|
|
3
|
-
export declare const endpoint: AdapterEndpoint<
|
|
2
|
+
import { GlobalEndpointTypes } from '../global-utils';
|
|
3
|
+
export declare const endpoint: AdapterEndpoint<GlobalEndpointTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dominance.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/dominance.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dominance.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/dominance.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,wEAA4E;AAE5E,kDAKwB;AAExB,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAsB;IAC5E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAA4B,EAAE;QAC3D,OAAO,IAAA,qCAAsB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAyC,EAAE;QACpE,MAAM,OAAO,GAAG,EAA2C,CAAA;QAC3D,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,6BAAc,EAAC,GAAG,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAA;YAC1E,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,yBAAe,CAAC;IAC1C,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,uBAAuB,CAAC;IAClC,SAAS,EAAE,sBAAsB;IACjC,eAAe,EAAf,8BAAe;CAChB,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AdapterEndpoint } from '../../../../adapter';
|
|
2
|
-
import {
|
|
3
|
-
export declare const endpoint: AdapterEndpoint<
|
|
2
|
+
import { GlobalEndpointTypes } from '../global-utils';
|
|
3
|
+
export declare const endpoint: AdapterEndpoint<GlobalEndpointTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-marketcap.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/global-marketcap.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"global-marketcap.js","sourceRoot":"","sources":["../../../../../../src/examples/coingecko/src/endpoint/global-marketcap.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,wEAA4E;AAE5E,kDAKwB;AAExB,MAAM,sBAAsB,GAAG,IAAI,qCAAqB,CAAsB;IAC5E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAA4B,EAAE;QAC3D,OAAO,IAAA,qCAAsB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAyC,EAAE;QACpE,MAAM,OAAO,GAAG,EAA2C,CAAA;QAC3D,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,6BAAc,EAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAA;YACrE,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,yBAAe,CAAC;IAC1C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,SAAS,EAAE,sBAAsB;IACjC,eAAe,EAAf,8BAAe;CAChB,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HttpRequestConfig, HttpResponse } from '../../../transports';
|
|
2
2
|
import { InputParameters } from '../../../validation';
|
|
3
|
+
import { SettingsMap } from '../../../config';
|
|
3
4
|
export declare const inputParameters: InputParameters;
|
|
4
|
-
export interface
|
|
5
|
+
export interface GlobalRequestParams {
|
|
5
6
|
market: string;
|
|
6
7
|
}
|
|
7
8
|
export interface ProviderResponseBody {
|
|
@@ -20,8 +21,22 @@ export interface ProviderResponseBody {
|
|
|
20
21
|
}
|
|
21
22
|
interface ResultEntry {
|
|
22
23
|
value: number;
|
|
23
|
-
params:
|
|
24
|
+
params: GlobalRequestParams;
|
|
24
25
|
}
|
|
26
|
+
export declare type GlobalEndpointTypes = {
|
|
27
|
+
Request: {
|
|
28
|
+
Params: GlobalRequestParams;
|
|
29
|
+
};
|
|
30
|
+
Response: {
|
|
31
|
+
Data: ProviderResponseBody;
|
|
32
|
+
Result: number;
|
|
33
|
+
};
|
|
34
|
+
CustomSettings: SettingsMap;
|
|
35
|
+
Provider: {
|
|
36
|
+
RequestBody: never;
|
|
37
|
+
ResponseBody: ProviderResponseBody;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
25
40
|
export declare const buildGlobalRequestBody: (apiKey?: string) => HttpRequestConfig<never>;
|
|
26
|
-
export declare const constructEntry: (res: HttpResponse<ProviderResponseBody>, requestPayload:
|
|
41
|
+
export declare const constructEntry: (res: HttpResponse<ProviderResponseBody>, requestPayload: GlobalRequestParams, resultPath: 'total_market_cap' | 'market_cap_percentage') => ResultEntry | undefined;
|
|
27
42
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/global-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AACjE,iDAAiD;
|
|
1
|
+
{"version":3,"file":"global-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/global-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AACjE,iDAAiD;AAIjD,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;AAyCM,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAA4B,EAAE;IAClF,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,GAAuC,EACvC,cAAmC,EACnC,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"}
|
|
@@ -10,7 +10,7 @@ const overrides_json_1 = __importDefault(require("./config/overrides.json"));
|
|
|
10
10
|
const endpoint_1 = require("./endpoint");
|
|
11
11
|
exports.adapter = new adapter_1.PriceAdapter({
|
|
12
12
|
defaultEndpoint: 'crypto',
|
|
13
|
-
name: '
|
|
13
|
+
name: 'COINGECKO',
|
|
14
14
|
endpoints: [endpoint_1.crypto, endpoint_1.coins, endpoint_1.cryptoMarketcap, endpoint_1.cryptoVolume, endpoint_1.dominance, endpoint_1.globalMarketcap],
|
|
15
15
|
overrides: overrides_json_1.default['coingecko'],
|
|
16
16
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { PriceEndpoint } from '../../../../adapter';
|
|
2
|
+
import { SettingsMap } from '../../../../config';
|
|
2
3
|
import { WebSocketTransport } from '../../../../transports/websocket';
|
|
4
|
+
import { SingleNumberResultResponse } from '../../../../util';
|
|
3
5
|
interface AdapterRequestParams {
|
|
4
6
|
base: string;
|
|
5
7
|
quote: string;
|
|
@@ -23,6 +25,16 @@ export interface WSErrorType {
|
|
|
23
25
|
PARAMETER: string;
|
|
24
26
|
INFO: string;
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
declare type CryptoEndpointTypes = {
|
|
29
|
+
Request: {
|
|
30
|
+
Params: AdapterRequestParams;
|
|
31
|
+
};
|
|
32
|
+
Response: SingleNumberResultResponse;
|
|
33
|
+
CustomSettings: SettingsMap;
|
|
34
|
+
Provider: {
|
|
35
|
+
WsMessage: Message;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export declare const transport: WebSocketTransport<CryptoEndpointTypes>;
|
|
39
|
+
export declare const endpoint: PriceEndpoint<CryptoEndpointTypes>;
|
|
28
40
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/endpoints/crypto.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/endpoints/crypto.ts"],"names":[],"mappings":";;;AACA,iDAAiF;AAEjF,gEAAqE;AACrE,2CAAyF;AACzF,sCAAmD;AAuCnD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,6BAA6B,CAAC,CAAA;AAE3C,QAAA,SAAS,GAAG,IAAI,8BAAkB,CAAsB;IACnE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,gCAAuB,YAAY,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACvF,QAAQ,EAAE;QACR,IAAI,CAAC,UAAqB;YACxB,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,KAAK,iBAAiB,EAAE;wBACxC,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;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,CAAC,OAAgB;YACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAA;YACpD,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE;gBACxB,OAAO;oBACL,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;iBACxF,CAAA;aACF;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE;gBACrC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAA;gBAC7D,OAAM;aACP;QACH,CAAC;KACF;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,CAAC,MAA4B,EAAE,EAAE;YACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;QACrF,CAAC;QACD,kBAAkB,EAAE,CAAC,MAA4B,EAAE,EAAE;YACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;QACxF,CAAC;KACF;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,uBAAa,CAAC;IACxC,IAAI,EAAE,QAAQ;IACd,SAAS,EAAT,iBAAS;IACT,eAAe,EAAE,sCAA4B;CAC9C,CAAC,CAAA"}
|