@metamask-previews/token-search-discovery-controller 3.1.0-preview-e96d94ef → 3.1.0-preview-d0685d1
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/CHANGELOG.md +1 -0
- package/dist/token-discovery-api-service/token-discovery-api-service.cjs +28 -71
- package/dist/token-discovery-api-service/token-discovery-api-service.cjs.map +1 -1
- package/dist/token-discovery-api-service/token-discovery-api-service.d.cts.map +1 -1
- package/dist/token-discovery-api-service/token-discovery-api-service.d.mts.map +1 -1
- package/dist/token-discovery-api-service/token-discovery-api-service.mjs +28 -71
- package/dist/token-discovery-api-service/token-discovery-api-service.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +3 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +3 -3
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
10
10
|
### Changed
|
|
11
11
|
|
|
12
12
|
- Bump `@metamask/base-controller` from ^8.0.0 to ^8.0.1 ([#5722](https://github.com/MetaMask/core/pull/5722))
|
|
13
|
+
- Add `swappable` param to token discovery controller and API service ([#5819](https://github.com/MetaMask/core/pull/5819))
|
|
13
14
|
|
|
14
15
|
## [3.1.0]
|
|
15
16
|
|
|
@@ -10,13 +10,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _TokenDiscoveryApiService_baseUrl;
|
|
13
|
+
var _TokenDiscoveryApiService_instances, _TokenDiscoveryApiService_baseUrl, _TokenDiscoveryApiService_fetch;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.TokenDiscoveryApiService = void 0;
|
|
16
16
|
const abstract_token_discovery_api_service_1 = require("./abstract-token-discovery-api-service.cjs");
|
|
17
17
|
class TokenDiscoveryApiService extends abstract_token_discovery_api_service_1.AbstractTokenDiscoveryApiService {
|
|
18
18
|
constructor(baseUrl) {
|
|
19
19
|
super();
|
|
20
|
+
_TokenDiscoveryApiService_instances.add(this);
|
|
20
21
|
_TokenDiscoveryApiService_baseUrl.set(this, void 0);
|
|
21
22
|
if (!baseUrl) {
|
|
22
23
|
throw new Error('Portfolio API URL is not set');
|
|
@@ -24,83 +25,39 @@ class TokenDiscoveryApiService extends abstract_token_discovery_api_service_1.Ab
|
|
|
24
25
|
__classPrivateFieldSet(this, _TokenDiscoveryApiService_baseUrl, baseUrl, "f");
|
|
25
26
|
}
|
|
26
27
|
async getTrendingTokensByChains(trendingTokensParams) {
|
|
27
|
-
|
|
28
|
-
if (trendingTokensParams?.chains &&
|
|
29
|
-
trendingTokensParams.chains.length > 0) {
|
|
30
|
-
url.searchParams.append('chains', trendingTokensParams.chains.join());
|
|
31
|
-
}
|
|
32
|
-
if (trendingTokensParams?.limit) {
|
|
33
|
-
url.searchParams.append('limit', trendingTokensParams.limit);
|
|
34
|
-
}
|
|
35
|
-
const response = await fetch(url, {
|
|
36
|
-
method: 'GET',
|
|
37
|
-
headers: {
|
|
38
|
-
'Content-Type': 'application/json',
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
if (!response.ok) {
|
|
42
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
43
|
-
}
|
|
44
|
-
return response.json();
|
|
28
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'trending', trendingTokensParams);
|
|
45
29
|
}
|
|
46
30
|
async getTopLosersByChains(topLosersParams) {
|
|
47
|
-
|
|
48
|
-
if (topLosersParams?.chains && topLosersParams.chains.length > 0) {
|
|
49
|
-
url.searchParams.append('chains', topLosersParams.chains.join());
|
|
50
|
-
}
|
|
51
|
-
if (topLosersParams?.limit) {
|
|
52
|
-
url.searchParams.append('limit', topLosersParams.limit);
|
|
53
|
-
}
|
|
54
|
-
const response = await fetch(url, {
|
|
55
|
-
method: 'GET',
|
|
56
|
-
headers: {
|
|
57
|
-
'Content-Type': 'application/json',
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
if (!response.ok) {
|
|
61
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
62
|
-
}
|
|
63
|
-
return response.json();
|
|
31
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'top-losers', topLosersParams);
|
|
64
32
|
}
|
|
65
33
|
async getTopGainersByChains(topGainersParams) {
|
|
66
|
-
|
|
67
|
-
if (topGainersParams?.chains && topGainersParams.chains.length > 0) {
|
|
68
|
-
url.searchParams.append('chains', topGainersParams.chains.join());
|
|
69
|
-
}
|
|
70
|
-
if (topGainersParams?.limit) {
|
|
71
|
-
url.searchParams.append('limit', topGainersParams.limit);
|
|
72
|
-
}
|
|
73
|
-
const response = await fetch(url, {
|
|
74
|
-
method: 'GET',
|
|
75
|
-
headers: {
|
|
76
|
-
'Content-Type': 'application/json',
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
if (!response.ok) {
|
|
80
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
81
|
-
}
|
|
82
|
-
return response.json();
|
|
34
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'top-gainers', topGainersParams);
|
|
83
35
|
}
|
|
84
36
|
async getBlueChipTokensByChains(blueChipParams) {
|
|
85
|
-
|
|
86
|
-
if (blueChipParams?.chains && blueChipParams.chains.length > 0) {
|
|
87
|
-
url.searchParams.append('chains', blueChipParams.chains.join());
|
|
88
|
-
}
|
|
89
|
-
if (blueChipParams?.limit) {
|
|
90
|
-
url.searchParams.append('limit', blueChipParams.limit);
|
|
91
|
-
}
|
|
92
|
-
const response = await fetch(url, {
|
|
93
|
-
method: 'GET',
|
|
94
|
-
headers: {
|
|
95
|
-
'Content-Type': 'application/json',
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
if (!response.ok) {
|
|
99
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
100
|
-
}
|
|
101
|
-
return response.json();
|
|
37
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'blue-chip', blueChipParams);
|
|
102
38
|
}
|
|
103
39
|
}
|
|
104
40
|
exports.TokenDiscoveryApiService = TokenDiscoveryApiService;
|
|
105
|
-
_TokenDiscoveryApiService_baseUrl = new WeakMap()
|
|
41
|
+
_TokenDiscoveryApiService_baseUrl = new WeakMap(), _TokenDiscoveryApiService_instances = new WeakSet(), _TokenDiscoveryApiService_fetch = async function _TokenDiscoveryApiService_fetch(subPath, params) {
|
|
42
|
+
const url = new URL(`/tokens-search/${subPath}`, __classPrivateFieldGet(this, _TokenDiscoveryApiService_baseUrl, "f"));
|
|
43
|
+
if (params?.chains && params.chains.length > 0) {
|
|
44
|
+
url.searchParams.append('chains', params.chains.join());
|
|
45
|
+
}
|
|
46
|
+
if (params?.limit) {
|
|
47
|
+
url.searchParams.append('limit', params.limit);
|
|
48
|
+
}
|
|
49
|
+
if (params?.swappable) {
|
|
50
|
+
url.searchParams.append('swappable', 'true');
|
|
51
|
+
}
|
|
52
|
+
const response = await fetch(url, {
|
|
53
|
+
method: 'GET',
|
|
54
|
+
headers: {
|
|
55
|
+
'Content-Type': 'application/json',
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
if (!response.ok) {
|
|
59
|
+
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
60
|
+
}
|
|
61
|
+
return response.json();
|
|
62
|
+
};
|
|
106
63
|
//# sourceMappingURL=token-discovery-api-service.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-discovery-api-service.cjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qGAA0F;
|
|
1
|
+
{"version":3,"file":"token-discovery-api-service.cjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qGAA0F;AAU1F,MAAa,wBAAyB,SAAQ,uEAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;AAjED,4DAiEC;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;IAED,IAAI,MAAM,EAAE,KAAK,EAAE;QACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,MAAM,EAAE,SAAS,EAAE;QACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-discovery-api-service.d.cts","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAC1F,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"token-discovery-api-service.d.cts","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAC1F,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,EAEf,qBAAiB;AAElB,qBAAa,wBAAyB,SAAQ,gCAAgC;;gBAGhE,OAAO,EAAE,MAAM;IAuCrB,yBAAyB,CAC7B,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,oBAAoB,CACxB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,qBAAqB,CACzB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,yBAAyB,CAC7B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;CAGvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-discovery-api-service.d.mts","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAC1F,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"token-discovery-api-service.d.mts","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAC1F,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,cAAc,EAEf,qBAAiB;AAElB,qBAAa,wBAAyB,SAAQ,gCAAgC;;gBAGhE,OAAO,EAAE,MAAM;IAuCrB,yBAAyB,CAC7B,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,oBAAoB,CACxB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,qBAAqB,CACzB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,yBAAyB,CAC7B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;CAGvC"}
|
|
@@ -9,11 +9,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _TokenDiscoveryApiService_baseUrl;
|
|
12
|
+
var _TokenDiscoveryApiService_instances, _TokenDiscoveryApiService_baseUrl, _TokenDiscoveryApiService_fetch;
|
|
13
13
|
import { AbstractTokenDiscoveryApiService } from "./abstract-token-discovery-api-service.mjs";
|
|
14
14
|
export class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {
|
|
15
15
|
constructor(baseUrl) {
|
|
16
16
|
super();
|
|
17
|
+
_TokenDiscoveryApiService_instances.add(this);
|
|
17
18
|
_TokenDiscoveryApiService_baseUrl.set(this, void 0);
|
|
18
19
|
if (!baseUrl) {
|
|
19
20
|
throw new Error('Portfolio API URL is not set');
|
|
@@ -21,82 +22,38 @@ export class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {
|
|
|
21
22
|
__classPrivateFieldSet(this, _TokenDiscoveryApiService_baseUrl, baseUrl, "f");
|
|
22
23
|
}
|
|
23
24
|
async getTrendingTokensByChains(trendingTokensParams) {
|
|
24
|
-
|
|
25
|
-
if (trendingTokensParams?.chains &&
|
|
26
|
-
trendingTokensParams.chains.length > 0) {
|
|
27
|
-
url.searchParams.append('chains', trendingTokensParams.chains.join());
|
|
28
|
-
}
|
|
29
|
-
if (trendingTokensParams?.limit) {
|
|
30
|
-
url.searchParams.append('limit', trendingTokensParams.limit);
|
|
31
|
-
}
|
|
32
|
-
const response = await fetch(url, {
|
|
33
|
-
method: 'GET',
|
|
34
|
-
headers: {
|
|
35
|
-
'Content-Type': 'application/json',
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
if (!response.ok) {
|
|
39
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
40
|
-
}
|
|
41
|
-
return response.json();
|
|
25
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'trending', trendingTokensParams);
|
|
42
26
|
}
|
|
43
27
|
async getTopLosersByChains(topLosersParams) {
|
|
44
|
-
|
|
45
|
-
if (topLosersParams?.chains && topLosersParams.chains.length > 0) {
|
|
46
|
-
url.searchParams.append('chains', topLosersParams.chains.join());
|
|
47
|
-
}
|
|
48
|
-
if (topLosersParams?.limit) {
|
|
49
|
-
url.searchParams.append('limit', topLosersParams.limit);
|
|
50
|
-
}
|
|
51
|
-
const response = await fetch(url, {
|
|
52
|
-
method: 'GET',
|
|
53
|
-
headers: {
|
|
54
|
-
'Content-Type': 'application/json',
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
if (!response.ok) {
|
|
58
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
59
|
-
}
|
|
60
|
-
return response.json();
|
|
28
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'top-losers', topLosersParams);
|
|
61
29
|
}
|
|
62
30
|
async getTopGainersByChains(topGainersParams) {
|
|
63
|
-
|
|
64
|
-
if (topGainersParams?.chains && topGainersParams.chains.length > 0) {
|
|
65
|
-
url.searchParams.append('chains', topGainersParams.chains.join());
|
|
66
|
-
}
|
|
67
|
-
if (topGainersParams?.limit) {
|
|
68
|
-
url.searchParams.append('limit', topGainersParams.limit);
|
|
69
|
-
}
|
|
70
|
-
const response = await fetch(url, {
|
|
71
|
-
method: 'GET',
|
|
72
|
-
headers: {
|
|
73
|
-
'Content-Type': 'application/json',
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
if (!response.ok) {
|
|
77
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
78
|
-
}
|
|
79
|
-
return response.json();
|
|
31
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'top-gainers', topGainersParams);
|
|
80
32
|
}
|
|
81
33
|
async getBlueChipTokensByChains(blueChipParams) {
|
|
82
|
-
|
|
83
|
-
if (blueChipParams?.chains && blueChipParams.chains.length > 0) {
|
|
84
|
-
url.searchParams.append('chains', blueChipParams.chains.join());
|
|
85
|
-
}
|
|
86
|
-
if (blueChipParams?.limit) {
|
|
87
|
-
url.searchParams.append('limit', blueChipParams.limit);
|
|
88
|
-
}
|
|
89
|
-
const response = await fetch(url, {
|
|
90
|
-
method: 'GET',
|
|
91
|
-
headers: {
|
|
92
|
-
'Content-Type': 'application/json',
|
|
93
|
-
},
|
|
94
|
-
});
|
|
95
|
-
if (!response.ok) {
|
|
96
|
-
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
97
|
-
}
|
|
98
|
-
return response.json();
|
|
34
|
+
return __classPrivateFieldGet(this, _TokenDiscoveryApiService_instances, "m", _TokenDiscoveryApiService_fetch).call(this, 'blue-chip', blueChipParams);
|
|
99
35
|
}
|
|
100
36
|
}
|
|
101
|
-
_TokenDiscoveryApiService_baseUrl = new WeakMap()
|
|
37
|
+
_TokenDiscoveryApiService_baseUrl = new WeakMap(), _TokenDiscoveryApiService_instances = new WeakSet(), _TokenDiscoveryApiService_fetch = async function _TokenDiscoveryApiService_fetch(subPath, params) {
|
|
38
|
+
const url = new URL(`/tokens-search/${subPath}`, __classPrivateFieldGet(this, _TokenDiscoveryApiService_baseUrl, "f"));
|
|
39
|
+
if (params?.chains && params.chains.length > 0) {
|
|
40
|
+
url.searchParams.append('chains', params.chains.join());
|
|
41
|
+
}
|
|
42
|
+
if (params?.limit) {
|
|
43
|
+
url.searchParams.append('limit', params.limit);
|
|
44
|
+
}
|
|
45
|
+
if (params?.swappable) {
|
|
46
|
+
url.searchParams.append('swappable', 'true');
|
|
47
|
+
}
|
|
48
|
+
const response = await fetch(url, {
|
|
49
|
+
method: 'GET',
|
|
50
|
+
headers: {
|
|
51
|
+
'Content-Type': 'application/json',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (!response.ok) {
|
|
55
|
+
throw new Error(`Portfolio API request failed with status: ${response.status}`);
|
|
56
|
+
}
|
|
57
|
+
return response.json();
|
|
58
|
+
};
|
|
102
59
|
//# sourceMappingURL=token-discovery-api-service.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-discovery-api-service.mjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;
|
|
1
|
+
{"version":3,"file":"token-discovery-api-service.mjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAU1F,MAAM,OAAO,wBAAyB,SAAQ,gCAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;IAED,IAAI,MAAM,EAAE,KAAK,EAAE;QACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,MAAM,EAAE,SAAS,EAAE;QACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
|
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,kBAAkB","sourcesContent":["// Function params\n\
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,kBAAkB","sourcesContent":["// Function params\n\nexport type ParamsBase = {\n chains?: string[];\n limit?: string;\n swappable?: boolean;\n};\n\nexport type TokenSearchParams = Omit<ParamsBase, 'swappable'> & {\n query?: string;\n};\n\nexport type SwappableTokenSearchParams = {\n limit?: string;\n query: string;\n};\n\nexport type TrendingTokensParams = ParamsBase;\n\nexport type TopLosersParams = ParamsBase;\n\nexport type TopGainersParams = ParamsBase;\n\nexport type BlueChipParams = ParamsBase;\n\n// API response types\n\nexport type TokenSearchResponseItem = {\n tokenAddress: string;\n chainId: string;\n name: string;\n symbol: string;\n usdPrice: number;\n usdPricePercentChange: {\n oneDay: number;\n };\n logoUrl?: string;\n};\n\nexport type MoralisTokenResponseItem = {\n chain_id: string;\n token_address: string;\n token_logo: string;\n token_name: string;\n token_symbol: string;\n price_usd: number;\n token_age_in_days: number;\n on_chain_strength_index: number;\n security_score: number;\n market_cap: number;\n fully_diluted_valuation: number;\n twitter_followers: number;\n holders_change: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n liquidity_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n experienced_net_buyers_change: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n volume_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n net_volume_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n price_percent_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n};\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
type ParamsBase = {
|
|
1
|
+
export type ParamsBase = {
|
|
2
2
|
chains?: string[];
|
|
3
3
|
limit?: string;
|
|
4
|
+
swappable?: boolean;
|
|
4
5
|
};
|
|
5
|
-
export type TokenSearchParams = ParamsBase & {
|
|
6
|
+
export type TokenSearchParams = Omit<ParamsBase, 'swappable'> & {
|
|
6
7
|
query?: string;
|
|
7
8
|
};
|
|
8
9
|
export type SwappableTokenSearchParams = {
|
|
@@ -74,5 +75,4 @@ export type MoralisTokenResponseItem = {
|
|
|
74
75
|
'1M': number | null;
|
|
75
76
|
};
|
|
76
77
|
};
|
|
77
|
-
export {};
|
|
78
78
|
//# sourceMappingURL=types.d.cts.map
|
package/dist/types.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.mts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
type ParamsBase = {
|
|
1
|
+
export type ParamsBase = {
|
|
2
2
|
chains?: string[];
|
|
3
3
|
limit?: string;
|
|
4
|
+
swappable?: boolean;
|
|
4
5
|
};
|
|
5
|
-
export type TokenSearchParams = ParamsBase & {
|
|
6
|
+
export type TokenSearchParams = Omit<ParamsBase, 'swappable'> & {
|
|
6
7
|
query?: string;
|
|
7
8
|
};
|
|
8
9
|
export type SwappableTokenSearchParams = {
|
|
@@ -74,5 +75,4 @@ export type MoralisTokenResponseItem = {
|
|
|
74
75
|
'1M': number | null;
|
|
75
76
|
};
|
|
76
77
|
};
|
|
77
|
-
export {};
|
|
78
78
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kBAAkB","sourcesContent":["// Function params\n\
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kBAAkB","sourcesContent":["// Function params\n\nexport type ParamsBase = {\n chains?: string[];\n limit?: string;\n swappable?: boolean;\n};\n\nexport type TokenSearchParams = Omit<ParamsBase, 'swappable'> & {\n query?: string;\n};\n\nexport type SwappableTokenSearchParams = {\n limit?: string;\n query: string;\n};\n\nexport type TrendingTokensParams = ParamsBase;\n\nexport type TopLosersParams = ParamsBase;\n\nexport type TopGainersParams = ParamsBase;\n\nexport type BlueChipParams = ParamsBase;\n\n// API response types\n\nexport type TokenSearchResponseItem = {\n tokenAddress: string;\n chainId: string;\n name: string;\n symbol: string;\n usdPrice: number;\n usdPricePercentChange: {\n oneDay: number;\n };\n logoUrl?: string;\n};\n\nexport type MoralisTokenResponseItem = {\n chain_id: string;\n token_address: string;\n token_logo: string;\n token_name: string;\n token_symbol: string;\n price_usd: number;\n token_age_in_days: number;\n on_chain_strength_index: number;\n security_score: number;\n market_cap: number;\n fully_diluted_valuation: number;\n twitter_followers: number;\n holders_change: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n liquidity_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n experienced_net_buyers_change: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n volume_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n net_volume_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n price_percent_change_usd: {\n '1h': number | null;\n '1d': number | null;\n '1w': number | null;\n '1M': number | null;\n };\n};\n"]}
|
package/package.json
CHANGED