@metamask-previews/token-search-discovery-controller 1.0.0-preview-59b4e66e → 1.0.0-preview-4c4eb52a

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +1 -18
  2. package/dist/index.cjs +1 -5
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +1 -3
  5. package/dist/index.d.cts.map +1 -1
  6. package/dist/index.d.mts +1 -3
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +0 -2
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/token-search-api-service/token-search-api-service.cjs +3 -3
  11. package/dist/token-search-api-service/token-search-api-service.cjs.map +1 -1
  12. package/dist/token-search-api-service/token-search-api-service.mjs +3 -3
  13. package/dist/token-search-api-service/token-search-api-service.mjs.map +1 -1
  14. package/dist/token-search-discovery-controller.cjs +4 -9
  15. package/dist/token-search-discovery-controller.cjs.map +1 -1
  16. package/dist/token-search-discovery-controller.d.cts +5 -8
  17. package/dist/token-search-discovery-controller.d.cts.map +1 -1
  18. package/dist/token-search-discovery-controller.d.mts +5 -8
  19. package/dist/token-search-discovery-controller.d.mts.map +1 -1
  20. package/dist/token-search-discovery-controller.mjs +4 -9
  21. package/dist/token-search-discovery-controller.mjs.map +1 -1
  22. package/dist/types.cjs.map +1 -1
  23. package/dist/types.d.cts +1 -56
  24. package/dist/types.d.cts.map +1 -1
  25. package/dist/types.d.mts +1 -56
  26. package/dist/types.d.mts.map +1 -1
  27. package/dist/types.mjs.map +1 -1
  28. package/package.json +2 -3
  29. package/dist/test/constants.cjs +0 -8
  30. package/dist/test/constants.cjs.map +0 -1
  31. package/dist/test/constants.d.cts +0 -5
  32. package/dist/test/constants.d.cts.map +0 -1
  33. package/dist/test/constants.d.mts +0 -5
  34. package/dist/test/constants.d.mts.map +0 -1
  35. package/dist/test/constants.mjs +0 -5
  36. package/dist/test/constants.mjs.map +0 -1
  37. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.cjs +0 -10
  38. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.cjs.map +0 -1
  39. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.d.cts +0 -17
  40. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.d.cts.map +0 -1
  41. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.d.mts +0 -17
  42. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.d.mts.map +0 -1
  43. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.mjs +0 -6
  44. package/dist/token-discovery-api-service/abstract-token-discovery-api-service.mjs.map +0 -1
  45. package/dist/token-discovery-api-service/token-discovery-api-service.cjs +0 -48
  46. package/dist/token-discovery-api-service/token-discovery-api-service.cjs.map +0 -1
  47. package/dist/token-discovery-api-service/token-discovery-api-service.d.cts +0 -8
  48. package/dist/token-discovery-api-service/token-discovery-api-service.d.cts.map +0 -1
  49. package/dist/token-discovery-api-service/token-discovery-api-service.d.mts +0 -8
  50. package/dist/token-discovery-api-service/token-discovery-api-service.d.mts.map +0 -1
  51. package/dist/token-discovery-api-service/token-discovery-api-service.mjs +0 -44
  52. package/dist/token-discovery-api-service/token-discovery-api-service.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,23 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Added
11
-
12
- - Introduce the `logoUrl` property to the `TokenSearchApiService` response
13
- - Specifically in the `TokenSearchResponseItem` type
14
- - Introduce `TokenDiscoveryApiService` to keep discovery and search responsibilities separate
15
- - This service is responsible for fetching discover related data
16
- - Add `getTrendingTokens` method to fetch trending tokens by chain
17
- - Add `TokenTrendingResponseItem` type for trending token responses
18
- - Export `TokenSearchResponseItem` type from the package index
19
-
20
- ### Changed
21
-
22
- - Update the TokenSearchApiService to use the updated URL for `searchTokens`
23
- - The URL is now `/tokens-search` instead of `/tokens-search/name`
24
- - Changed the "name" parameter to "query" in the `searchTokens` method
25
- - These updates align with the Portfolio API's `/tokens-search` endpoint
26
-
27
10
  ## [1.0.0]
28
11
 
29
12
  ### Added
@@ -31,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
31
14
  - Introduce the TokenSearchDiscoveryController ([#5142](https://github.com/MetaMask/core/pull/5142/))
32
15
  - This controller manages token search and discovery through the Portfolio API
33
16
  - Introduce the TokenSearchApiService ([#5142](https://github.com/MetaMask/core/pull/5142/))
34
- - This service is responsible for making search related requests to the Portfolio API
17
+ - This service is responsible for making requests to the Portfolio API
35
18
  - Specifically, it handles the `tokens-search` endpoint which returns a list of tokens based on the provided query parameters
36
19
 
37
20
  [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/token-search-discovery-controller@1.0.0...HEAD
package/dist/index.cjs CHANGED
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenDiscoveryApiService = exports.AbstractTokenDiscoveryApiService = exports.TokenSearchApiService = exports.AbstractTokenSearchApiService = exports.TokenSearchDiscoveryController = void 0;
3
+ exports.TokenSearchApiService = exports.AbstractTokenSearchApiService = exports.TokenSearchDiscoveryController = void 0;
4
4
  var token_search_discovery_controller_1 = require("./token-search-discovery-controller.cjs");
5
5
  Object.defineProperty(exports, "TokenSearchDiscoveryController", { enumerable: true, get: function () { return token_search_discovery_controller_1.TokenSearchDiscoveryController; } });
6
6
  var abstract_token_search_api_service_1 = require("./token-search-api-service/abstract-token-search-api-service.cjs");
7
7
  Object.defineProperty(exports, "AbstractTokenSearchApiService", { enumerable: true, get: function () { return abstract_token_search_api_service_1.AbstractTokenSearchApiService; } });
8
8
  var token_search_api_service_1 = require("./token-search-api-service/token-search-api-service.cjs");
9
9
  Object.defineProperty(exports, "TokenSearchApiService", { enumerable: true, get: function () { return token_search_api_service_1.TokenSearchApiService; } });
10
- var abstract_token_discovery_api_service_1 = require("./token-discovery-api-service/abstract-token-discovery-api-service.cjs");
11
- Object.defineProperty(exports, "AbstractTokenDiscoveryApiService", { enumerable: true, get: function () { return abstract_token_discovery_api_service_1.AbstractTokenDiscoveryApiService; } });
12
- var token_discovery_api_service_1 = require("./token-discovery-api-service/token-discovery-api-service.cjs");
13
- Object.defineProperty(exports, "TokenDiscoveryApiService", { enumerable: true, get: function () { return token_discovery_api_service_1.TokenDiscoveryApiService; } });
14
10
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6FAAqF;AAA5E,mJAAA,8BAA8B,OAAA;AASvC,sHAA6G;AAApG,kJAAA,6BAA6B,OAAA;AACtC,oGAA4F;AAAnF,iIAAA,qBAAqB,OAAA;AAE9B,+HAAsH;AAA7G,wJAAA,gCAAgC,OAAA;AACzC,6GAAqG;AAA5F,uIAAA,wBAAwB,OAAA","sourcesContent":["export { TokenSearchDiscoveryController } from './token-search-discovery-controller';\nexport type { TokenSearchDiscoveryControllerState } from './token-search-discovery-controller';\nexport type {\n TokenSearchResponseItem,\n TokenTrendingResponseItem,\n TokenSearchParams,\n TrendingTokensParams,\n} from './types';\n\nexport { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nexport { TokenSearchApiService } from './token-search-api-service/token-search-api-service';\n\nexport { AbstractTokenDiscoveryApiService } from './token-discovery-api-service/abstract-token-discovery-api-service';\nexport { TokenDiscoveryApiService } from './token-discovery-api-service/token-discovery-api-service';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6FAAqF;AAA5E,mJAAA,8BAA8B,OAAA;AAIvC,sHAA6G;AAApG,kJAAA,6BAA6B,OAAA;AACtC,oGAA4F;AAAnF,iIAAA,qBAAqB,OAAA","sourcesContent":["export { TokenSearchDiscoveryController } from './token-search-discovery-controller';\nexport type { TokenSearchDiscoveryControllerState } from './token-search-discovery-controller';\nexport type { TokenSearchResponseItem } from './types';\n\nexport { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nexport { TokenSearchApiService } from './token-search-api-service/token-search-api-service';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,8 +1,6 @@
1
1
  export { TokenSearchDiscoveryController } from "./token-search-discovery-controller.cjs";
2
2
  export type { TokenSearchDiscoveryControllerState } from "./token-search-discovery-controller.cjs";
3
- export type { TokenSearchResponseItem, TokenTrendingResponseItem, TokenSearchParams, TrendingTokensParams, } from "./types.cjs";
3
+ export type { TokenSearchResponseItem } from "./types.cjs";
4
4
  export { AbstractTokenSearchApiService } from "./token-search-api-service/abstract-token-search-api-service.cjs";
5
5
  export { TokenSearchApiService } from "./token-search-api-service/token-search-api-service.cjs";
6
- export { AbstractTokenDiscoveryApiService } from "./token-discovery-api-service/abstract-token-discovery-api-service.cjs";
7
- export { TokenDiscoveryApiService } from "./token-discovery-api-service/token-discovery-api-service.cjs";
8
6
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AACrF,YAAY,EAAE,mCAAmC,EAAE,gDAA4C;AAC/F,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,GACrB,oBAAgB;AAEjB,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D;AAE5F,OAAO,EAAE,gCAAgC,EAAE,+EAA2E;AACtH,OAAO,EAAE,wBAAwB,EAAE,sEAAkE"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AACrF,YAAY,EAAE,mCAAmC,EAAE,gDAA4C;AAC/F,YAAY,EAAE,uBAAuB,EAAE,oBAAgB;AAEvD,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D"}
package/dist/index.d.mts CHANGED
@@ -1,8 +1,6 @@
1
1
  export { TokenSearchDiscoveryController } from "./token-search-discovery-controller.mjs";
2
2
  export type { TokenSearchDiscoveryControllerState } from "./token-search-discovery-controller.mjs";
3
- export type { TokenSearchResponseItem, TokenTrendingResponseItem, TokenSearchParams, TrendingTokensParams, } from "./types.mjs";
3
+ export type { TokenSearchResponseItem } from "./types.mjs";
4
4
  export { AbstractTokenSearchApiService } from "./token-search-api-service/abstract-token-search-api-service.mjs";
5
5
  export { TokenSearchApiService } from "./token-search-api-service/token-search-api-service.mjs";
6
- export { AbstractTokenDiscoveryApiService } from "./token-discovery-api-service/abstract-token-discovery-api-service.mjs";
7
- export { TokenDiscoveryApiService } from "./token-discovery-api-service/token-discovery-api-service.mjs";
8
6
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AACrF,YAAY,EAAE,mCAAmC,EAAE,gDAA4C;AAC/F,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,GACrB,oBAAgB;AAEjB,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D;AAE5F,OAAO,EAAE,gCAAgC,EAAE,+EAA2E;AACtH,OAAO,EAAE,wBAAwB,EAAE,sEAAkE"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AACrF,YAAY,EAAE,mCAAmC,EAAE,gDAA4C;AAC/F,YAAY,EAAE,uBAAuB,EAAE,oBAAgB;AAEvD,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,4 @@
1
1
  export { TokenSearchDiscoveryController } from "./token-search-discovery-controller.mjs";
2
2
  export { AbstractTokenSearchApiService } from "./token-search-api-service/abstract-token-search-api-service.mjs";
3
3
  export { TokenSearchApiService } from "./token-search-api-service/token-search-api-service.mjs";
4
- export { AbstractTokenDiscoveryApiService } from "./token-discovery-api-service/abstract-token-discovery-api-service.mjs";
5
- export { TokenDiscoveryApiService } from "./token-discovery-api-service/token-discovery-api-service.mjs";
6
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AASrF,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D;AAE5F,OAAO,EAAE,gCAAgC,EAAE,+EAA2E;AACtH,OAAO,EAAE,wBAAwB,EAAE,sEAAkE","sourcesContent":["export { TokenSearchDiscoveryController } from './token-search-discovery-controller';\nexport type { TokenSearchDiscoveryControllerState } from './token-search-discovery-controller';\nexport type {\n TokenSearchResponseItem,\n TokenTrendingResponseItem,\n TokenSearchParams,\n TrendingTokensParams,\n} from './types';\n\nexport { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nexport { TokenSearchApiService } from './token-search-api-service/token-search-api-service';\n\nexport { AbstractTokenDiscoveryApiService } from './token-discovery-api-service/abstract-token-discovery-api-service';\nexport { TokenDiscoveryApiService } from './token-discovery-api-service/token-discovery-api-service';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,gDAA4C;AAIrF,OAAO,EAAE,6BAA6B,EAAE,yEAAqE;AAC7G,OAAO,EAAE,qBAAqB,EAAE,gEAA4D","sourcesContent":["export { TokenSearchDiscoveryController } from './token-search-discovery-controller';\nexport type { TokenSearchDiscoveryControllerState } from './token-search-discovery-controller';\nexport type { TokenSearchResponseItem } from './types';\n\nexport { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nexport { TokenSearchApiService } from './token-search-api-service/token-search-api-service';\n"]}
@@ -24,12 +24,12 @@ class TokenSearchApiService extends abstract_token_search_api_service_1.Abstract
24
24
  __classPrivateFieldSet(this, _TokenSearchApiService_baseUrl, baseUrl, "f");
25
25
  }
26
26
  async searchTokens(tokenSearchParams) {
27
- const url = new URL('/tokens-search', __classPrivateFieldGet(this, _TokenSearchApiService_baseUrl, "f"));
27
+ const url = new URL('/tokens-search/name', __classPrivateFieldGet(this, _TokenSearchApiService_baseUrl, "f"));
28
28
  if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {
29
29
  url.searchParams.append('chains', tokenSearchParams.chains.join());
30
30
  }
31
- if (tokenSearchParams?.query) {
32
- url.searchParams.append('query', tokenSearchParams.query);
31
+ if (tokenSearchParams?.name) {
32
+ url.searchParams.append('name', tokenSearchParams.name);
33
33
  }
34
34
  if (tokenSearchParams?.limit) {
35
35
  url.searchParams.append('limit', tokenSearchParams.limit);
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-api-service.cjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+FAAoF;AAGpF,MAAa,qBAAsB,SAAQ,iEAA6B;IAGtE,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAHD,iDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,kCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAqC;QAErC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAErD,IAAI,iBAAiB,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAzCD,sDAyCC","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from '../types';\n\nexport class TokenSearchApiService extends AbstractTokenSearchApiService {\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 searchTokens(\n tokenSearchParams?: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search', this.#baseUrl);\n\n if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {\n url.searchParams.append('chains', tokenSearchParams.chains.join());\n }\n if (tokenSearchParams?.query) {\n url.searchParams.append('query', tokenSearchParams.query);\n }\n if (tokenSearchParams?.limit) {\n url.searchParams.append('limit', tokenSearchParams.limit);\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"]}
1
+ {"version":3,"file":"token-search-api-service.cjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+FAAoF;AAGpF,MAAa,qBAAsB,SAAQ,iEAA6B;IAGtE,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAHD,iDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,kCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAqC;QAErC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAE1D,IAAI,iBAAiB,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,iBAAiB,EAAE,IAAI,EAAE;YAC3B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACzD;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAzCD,sDAyCC","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from '../types';\n\nexport class TokenSearchApiService extends AbstractTokenSearchApiService {\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 searchTokens(\n tokenSearchParams?: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/name', this.#baseUrl);\n\n if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {\n url.searchParams.append('chains', tokenSearchParams.chains.join());\n }\n if (tokenSearchParams?.name) {\n url.searchParams.append('name', tokenSearchParams.name);\n }\n if (tokenSearchParams?.limit) {\n url.searchParams.append('limit', tokenSearchParams.limit);\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"]}
@@ -21,12 +21,12 @@ export class TokenSearchApiService extends AbstractTokenSearchApiService {
21
21
  __classPrivateFieldSet(this, _TokenSearchApiService_baseUrl, baseUrl, "f");
22
22
  }
23
23
  async searchTokens(tokenSearchParams) {
24
- const url = new URL('/tokens-search', __classPrivateFieldGet(this, _TokenSearchApiService_baseUrl, "f"));
24
+ const url = new URL('/tokens-search/name', __classPrivateFieldGet(this, _TokenSearchApiService_baseUrl, "f"));
25
25
  if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {
26
26
  url.searchParams.append('chains', tokenSearchParams.chains.join());
27
27
  }
28
- if (tokenSearchParams?.query) {
29
- url.searchParams.append('query', tokenSearchParams.query);
28
+ if (tokenSearchParams?.name) {
29
+ url.searchParams.append('name', tokenSearchParams.name);
30
30
  }
31
31
  if (tokenSearchParams?.limit) {
32
32
  url.searchParams.append('limit', tokenSearchParams.limit);
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-api-service.mjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,6BAA6B,EAAE,gDAA4C;AAGpF,MAAM,OAAO,qBAAsB,SAAQ,6BAA6B;IAGtE,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAHD,iDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,kCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAqC;QAErC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAErD,IAAI,iBAAiB,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from '../types';\n\nexport class TokenSearchApiService extends AbstractTokenSearchApiService {\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 searchTokens(\n tokenSearchParams?: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search', this.#baseUrl);\n\n if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {\n url.searchParams.append('chains', tokenSearchParams.chains.join());\n }\n if (tokenSearchParams?.query) {\n url.searchParams.append('query', tokenSearchParams.query);\n }\n if (tokenSearchParams?.limit) {\n url.searchParams.append('limit', tokenSearchParams.limit);\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"]}
1
+ {"version":3,"file":"token-search-api-service.mjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,6BAA6B,EAAE,gDAA4C;AAGpF,MAAM,OAAO,qBAAsB,SAAQ,6BAA6B;IAGtE,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAHD,iDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,kCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAqC;QAErC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAE1D,IAAI,iBAAiB,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,iBAAiB,EAAE,IAAI,EAAE;YAC3B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACzD;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from '../types';\n\nexport class TokenSearchApiService extends AbstractTokenSearchApiService {\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 searchTokens(\n tokenSearchParams?: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/name', this.#baseUrl);\n\n if (tokenSearchParams?.chains && tokenSearchParams.chains.length > 0) {\n url.searchParams.append('chains', tokenSearchParams.chains.join());\n }\n if (tokenSearchParams?.name) {\n url.searchParams.append('name', tokenSearchParams.name);\n }\n if (tokenSearchParams?.limit) {\n url.searchParams.append('limit', tokenSearchParams.limit);\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"]}
@@ -10,7 +10,7 @@ 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 _TokenSearchDiscoveryController_tokenSearchService, _TokenSearchDiscoveryController_tokenDiscoveryService;
13
+ var _TokenSearchDiscoveryController_tokenSearchService;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TokenSearchDiscoveryController = exports.getDefaultTokenSearchDiscoveryControllerState = void 0;
16
16
  const base_controller_1 = require("@metamask/base-controller");
@@ -37,10 +37,10 @@ function getDefaultTokenSearchDiscoveryControllerState() {
37
37
  exports.getDefaultTokenSearchDiscoveryControllerState = getDefaultTokenSearchDiscoveryControllerState;
38
38
  /**
39
39
  * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.
40
- * It fetches token search results and discovery data from the Portfolio API.
40
+ * It fetches token search results from the portfolio API.
41
41
  */
42
42
  class TokenSearchDiscoveryController extends base_controller_1.BaseController {
43
- constructor({ tokenSearchService, tokenDiscoveryService, state = {}, messenger, }) {
43
+ constructor({ tokenSearchService, state = {}, messenger, }) {
44
44
  super({
45
45
  name: controllerName,
46
46
  metadata: tokenSearchDiscoveryControllerMetadata,
@@ -48,9 +48,7 @@ class TokenSearchDiscoveryController extends base_controller_1.BaseController {
48
48
  state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },
49
49
  });
50
50
  _TokenSearchDiscoveryController_tokenSearchService.set(this, void 0);
51
- _TokenSearchDiscoveryController_tokenDiscoveryService.set(this, void 0);
52
51
  __classPrivateFieldSet(this, _TokenSearchDiscoveryController_tokenSearchService, tokenSearchService, "f");
53
- __classPrivateFieldSet(this, _TokenSearchDiscoveryController_tokenDiscoveryService, tokenDiscoveryService, "f");
54
52
  }
55
53
  async searchTokens(tokenSearchParams) {
56
54
  const results = await __classPrivateFieldGet(this, _TokenSearchDiscoveryController_tokenSearchService, "f").searchTokens(tokenSearchParams);
@@ -60,10 +58,7 @@ class TokenSearchDiscoveryController extends base_controller_1.BaseController {
60
58
  });
61
59
  return results;
62
60
  }
63
- async getTrendingTokens(params) {
64
- return __classPrivateFieldGet(this, _TokenSearchDiscoveryController_tokenDiscoveryService, "f").getTrendingTokensByChains(params);
65
- }
66
61
  }
67
62
  exports.TokenSearchDiscoveryController = TokenSearchDiscoveryController;
68
- _TokenSearchDiscoveryController_tokenSearchService = new WeakMap(), _TokenSearchDiscoveryController_tokenDiscoveryService = new WeakMap();
63
+ _TokenSearchDiscoveryController_tokenSearchService = new WeakMap();
69
64
  //# sourceMappingURL=token-search-discovery-controller.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-discovery-controller.cjs","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,+DAA2D;AAW3D,kBAAkB;AAElB,MAAM,cAAc,GAAG,gCAAgC,CAAC;AASxD,MAAM,sCAAsC,GAAG;IAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACnD,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CAChD,CAAC;AA4DX;;;;;;;GAOG;AACH,SAAgB,6CAA6C;IAC3D,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AALD,sGAKC;AAED;;;GAGG;AACH,MAAa,8BAA+B,SAAQ,gCAInD;IAKC,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,GAAG,EAAE,EACV,SAAS,GAMV;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,sCAAsC;YAChD,SAAS;YACT,KAAK,EAAE,EAAE,GAAG,6CAA6C,EAAE,EAAE,GAAG,KAAK,EAAE;SACxE,CAAC,CAAC;QApBI,qEAAmD;QAEnD,wEAAyD;QAoBhE,uBAAA,IAAI,sDAAuB,kBAAkB,MAAA,CAAC;QAC9C,uBAAA,IAAI,yDAA0B,qBAAqB,MAAA,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAoC;QAEpC,MAAM,OAAO,GACX,MAAM,uBAAA,IAAI,0DAAoB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA4B;QAE5B,OAAO,uBAAA,IAAI,6DAAuB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;CACF;AAlDD,wEAkDC","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\n\nimport type { AbstractTokenDiscoveryApiService } from './token-discovery-api-service/abstract-token-discovery-api-service';\nimport type { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nimport type {\n TokenSearchParams,\n TokenSearchResponseItem,\n TokenTrendingResponseItem,\n TrendingTokensParams,\n} from './types';\n\n// === GENERAL ===\n\nconst controllerName = 'TokenSearchDiscoveryController';\n\n// === STATE ===\n\nexport type TokenSearchDiscoveryControllerState = {\n recentSearches: TokenSearchResponseItem[];\n lastSearchTimestamp: number | null;\n};\n\nconst tokenSearchDiscoveryControllerMetadata = {\n recentSearches: { persist: true, anonymous: false },\n lastSearchTimestamp: { persist: true, anonymous: false },\n} as const;\n\n// === MESSENGER ===\n\n/**\n * The action which can be used to retrieve the state of the\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerGetStateAction =\n ControllerGetStateAction<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} registers, to be\n * called externally.\n */\nexport type TokenSearchDiscoveryControllerActions =\n TokenSearchDiscoveryControllerGetStateAction;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} calls internally.\n */\ntype AllowedActions = never;\n\n/**\n * The event that {@link TokenSearchDiscoveryController} publishes when updating\n * state.\n */\nexport type TokenSearchDiscoveryControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} publishes, to be\n * subscribed to externally.\n */\nexport type TokenSearchDiscoveryControllerEvents =\n TokenSearchDiscoveryControllerStateChangeEvent;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} subscribes to internally.\n */\ntype AllowedEvents = never;\n\n/**\n * The messenger which is restricted to actions and events accessed by\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<\n typeof controllerName,\n TokenSearchDiscoveryControllerActions | AllowedActions,\n TokenSearchDiscoveryControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n\n/**\n * Constructs the default {@link TokenSearchDiscoveryController} state. This allows\n * consumers to provide a partial state object when initializing the controller\n * and also helps in constructing complete state objects for this controller in\n * tests.\n *\n * @returns The default {@link TokenSearchDiscoveryController} state.\n */\nexport function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState {\n return {\n recentSearches: [],\n lastSearchTimestamp: null,\n };\n}\n\n/**\n * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.\n * It fetches token search results and discovery data from the Portfolio API.\n */\nexport class TokenSearchDiscoveryController extends BaseController<\n typeof controllerName,\n TokenSearchDiscoveryControllerState,\n TokenSearchDiscoveryControllerMessenger\n> {\n readonly #tokenSearchService: AbstractTokenSearchApiService;\n\n readonly #tokenDiscoveryService: AbstractTokenDiscoveryApiService;\n\n constructor({\n tokenSearchService,\n tokenDiscoveryService,\n state = {},\n messenger,\n }: {\n tokenSearchService: AbstractTokenSearchApiService;\n tokenDiscoveryService: AbstractTokenDiscoveryApiService;\n state?: Partial<TokenSearchDiscoveryControllerState>;\n messenger: TokenSearchDiscoveryControllerMessenger;\n }) {\n super({\n name: controllerName,\n metadata: tokenSearchDiscoveryControllerMetadata,\n messenger,\n state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },\n });\n\n this.#tokenSearchService = tokenSearchService;\n this.#tokenDiscoveryService = tokenDiscoveryService;\n }\n\n async searchTokens(\n tokenSearchParams: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const results =\n await this.#tokenSearchService.searchTokens(tokenSearchParams);\n\n this.update((state) => {\n state.recentSearches = results;\n state.lastSearchTimestamp = Date.now();\n });\n\n return results;\n }\n\n async getTrendingTokens(\n params: TrendingTokensParams,\n ): Promise<TokenTrendingResponseItem[]> {\n return this.#tokenDiscoveryService.getTrendingTokensByChains(params);\n }\n}\n"]}
1
+ {"version":3,"file":"token-search-discovery-controller.cjs","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,+DAA2D;AAK3D,kBAAkB;AAElB,MAAM,cAAc,GAAG,gCAAgC,CAAC;AASxD,MAAM,sCAAsC,GAAG;IAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACnD,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CAChD,CAAC;AA6DX;;;;;;;GAOG;AACH,SAAgB,6CAA6C;IAC3D,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AALD,sGAKC;AAED;;;GAGG;AACH,MAAa,8BAA+B,SAAQ,gCAInD;IAGC,YAAY,EACV,kBAAkB,EAClB,KAAK,GAAG,EAAE,EACV,SAAS,GAKV;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,sCAAsC;YAChD,SAAS;YACT,KAAK,EAAE,EAAE,GAAG,6CAA6C,EAAE,EAAE,GAAG,KAAK,EAAE;SACxE,CAAC,CAAC;QAhBI,qEAAmD;QAkB1D,uBAAA,IAAI,sDAAuB,kBAAkB,MAAA,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAoC;QAEpC,MAAM,OAAO,GACX,MAAM,uBAAA,IAAI,0DAAoB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAvCD,wEAuCC","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedControllerMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\n\nimport type { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from './types';\n\n// === GENERAL ===\n\nconst controllerName = 'TokenSearchDiscoveryController';\n\n// === STATE ===\n\nexport type TokenSearchDiscoveryControllerState = {\n recentSearches: TokenSearchResponseItem[];\n lastSearchTimestamp: number | null;\n};\n\nconst tokenSearchDiscoveryControllerMetadata = {\n recentSearches: { persist: true, anonymous: false },\n lastSearchTimestamp: { persist: true, anonymous: false },\n} as const;\n\n// === MESSENGER ===\n\n/**\n * The action which can be used to retrieve the state of the\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerGetStateAction =\n ControllerGetStateAction<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} registers, to be\n * called externally.\n */\nexport type TokenSearchDiscoveryControllerActions =\n TokenSearchDiscoveryControllerGetStateAction;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} calls internally.\n */\ntype AllowedActions = never;\n\n/**\n * The event that {@link TokenSearchDiscoveryController} publishes when updating\n * state.\n */\nexport type TokenSearchDiscoveryControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} publishes, to be\n * subscribed to externally.\n */\nexport type TokenSearchDiscoveryControllerEvents =\n TokenSearchDiscoveryControllerStateChangeEvent;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} subscribes to internally.\n */\ntype AllowedEvents = never;\n\n/**\n * The messenger which is restricted to actions and events accessed by\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerMessenger =\n RestrictedControllerMessenger<\n typeof controllerName,\n TokenSearchDiscoveryControllerActions | AllowedActions,\n TokenSearchDiscoveryControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n >;\n\n/**\n * Constructs the default {@link TokenSearchDiscoveryController} state. This allows\n * consumers to provide a partial state object when initializing the controller\n * and also helps in constructing complete state objects for this controller in\n * tests.\n *\n * @returns The default {@link TokenSearchDiscoveryController} state.\n */\nexport function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState {\n return {\n recentSearches: [],\n lastSearchTimestamp: null,\n };\n}\n\n/**\n * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.\n * It fetches token search results from the portfolio API.\n */\nexport class TokenSearchDiscoveryController extends BaseController<\n typeof controllerName,\n TokenSearchDiscoveryControllerState,\n TokenSearchDiscoveryControllerMessenger\n> {\n readonly #tokenSearchService: AbstractTokenSearchApiService;\n\n constructor({\n tokenSearchService,\n state = {},\n messenger,\n }: {\n tokenSearchService: AbstractTokenSearchApiService;\n state?: Partial<TokenSearchDiscoveryControllerState>;\n messenger: TokenSearchDiscoveryControllerMessenger;\n }) {\n super({\n name: controllerName,\n metadata: tokenSearchDiscoveryControllerMetadata,\n messenger,\n state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },\n });\n\n this.#tokenSearchService = tokenSearchService;\n }\n\n async searchTokens(\n tokenSearchParams: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const results =\n await this.#tokenSearchService.searchTokens(tokenSearchParams);\n\n this.update((state) => {\n state.recentSearches = results;\n state.lastSearchTimestamp = Date.now();\n });\n\n return results;\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
- import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedControllerMessenger } from "@metamask/base-controller";
2
2
  import { BaseController } from "@metamask/base-controller";
3
- import type { AbstractTokenDiscoveryApiService } from "./token-discovery-api-service/abstract-token-discovery-api-service.cjs";
4
3
  import type { AbstractTokenSearchApiService } from "./token-search-api-service/abstract-token-search-api-service.cjs";
5
- import type { TokenSearchParams, TokenSearchResponseItem, TokenTrendingResponseItem, TrendingTokensParams } from "./types.cjs";
4
+ import type { TokenSearchParams, TokenSearchResponseItem } from "./types.cjs";
6
5
  declare const controllerName = "TokenSearchDiscoveryController";
7
6
  export type TokenSearchDiscoveryControllerState = {
8
7
  recentSearches: TokenSearchResponseItem[];
@@ -40,7 +39,7 @@ type AllowedEvents = never;
40
39
  * The messenger which is restricted to actions and events accessed by
41
40
  * {@link TokenSearchDiscoveryController}.
42
41
  */
43
- export type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<typeof controllerName, TokenSearchDiscoveryControllerActions | AllowedActions, TokenSearchDiscoveryControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
42
+ export type TokenSearchDiscoveryControllerMessenger = RestrictedControllerMessenger<typeof controllerName, TokenSearchDiscoveryControllerActions | AllowedActions, TokenSearchDiscoveryControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
44
43
  /**
45
44
  * Constructs the default {@link TokenSearchDiscoveryController} state. This allows
46
45
  * consumers to provide a partial state object when initializing the controller
@@ -52,18 +51,16 @@ export type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<typeof
52
51
  export declare function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState;
53
52
  /**
54
53
  * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.
55
- * It fetches token search results and discovery data from the Portfolio API.
54
+ * It fetches token search results from the portfolio API.
56
55
  */
57
56
  export declare class TokenSearchDiscoveryController extends BaseController<typeof controllerName, TokenSearchDiscoveryControllerState, TokenSearchDiscoveryControllerMessenger> {
58
57
  #private;
59
- constructor({ tokenSearchService, tokenDiscoveryService, state, messenger, }: {
58
+ constructor({ tokenSearchService, state, messenger, }: {
60
59
  tokenSearchService: AbstractTokenSearchApiService;
61
- tokenDiscoveryService: AbstractTokenDiscoveryApiService;
62
60
  state?: Partial<TokenSearchDiscoveryControllerState>;
63
61
  messenger: TokenSearchDiscoveryControllerMessenger;
64
62
  });
65
63
  searchTokens(tokenSearchParams: TokenSearchParams): Promise<TokenSearchResponseItem[]>;
66
- getTrendingTokens(params: TrendingTokensParams): Promise<TokenTrendingResponseItem[]>;
67
64
  }
68
65
  export {};
69
66
  //# sourceMappingURL=token-search-discovery-controller.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-discovery-controller.d.cts","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,gCAAgC,EAAE,+EAA2E;AAC3H,OAAO,KAAK,EAAE,6BAA6B,EAAE,yEAAqE;AAClH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACrB,oBAAgB;AAIjB,QAAA,MAAM,cAAc,mCAAmC,CAAC;AAIxD,MAAM,MAAM,mCAAmC,GAAG;IAChD,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AASF;;;GAGG;AACH,MAAM,MAAM,4CAA4C,GACtD,wBAAwB,CACtB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAC/C,4CAA4C,CAAC;AAE/C;;GAEG;AACH,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GACxD,0BAA0B,CACxB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAC9C,8CAA8C,CAAC;AAEjD;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GAAG,mBAAmB,CACvE,OAAO,cAAc,EACrB,qCAAqC,GAAG,cAAc,EACtD,oCAAoC,GAAG,aAAa,EACpD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,IAAI,mCAAmC,CAKnG;AAED;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,cAAc,CAChE,OAAO,cAAc,EACrB,mCAAmC,EACnC,uCAAuC,CACxC;;gBAKa,EACV,kBAAkB,EAClB,qBAAqB,EACrB,KAAU,EACV,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,6BAA6B,CAAC;QAClD,qBAAqB,EAAE,gCAAgC,CAAC;QACxD,KAAK,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrD,SAAS,EAAE,uCAAuC,CAAC;KACpD;IAYK,YAAY,CAChB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAY/B,iBAAiB,CACrB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAGxC"}
1
+ {"version":3,"file":"token-search-discovery-controller.d.cts","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC9B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,yEAAqE;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB;AAI1E,QAAA,MAAM,cAAc,mCAAmC,CAAC;AAIxD,MAAM,MAAM,mCAAmC,GAAG;IAChD,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AASF;;;GAGG;AACH,MAAM,MAAM,4CAA4C,GACtD,wBAAwB,CACtB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAC/C,4CAA4C,CAAC;AAE/C;;GAEG;AACH,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GACxD,0BAA0B,CACxB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAC9C,8CAA8C,CAAC;AAEjD;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GACjD,6BAA6B,CAC3B,OAAO,cAAc,EACrB,qCAAqC,GAAG,cAAc,EACtD,oCAAoC,GAAG,aAAa,EACpD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEJ;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,IAAI,mCAAmC,CAKnG;AAED;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,cAAc,CAChE,OAAO,cAAc,EACrB,mCAAmC,EACnC,uCAAuC,CACxC;;gBAGa,EACV,kBAAkB,EAClB,KAAU,EACV,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,6BAA6B,CAAC;QAClD,KAAK,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrD,SAAS,EAAE,uCAAuC,CAAC;KACpD;IAWK,YAAY,CAChB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAWtC"}
@@ -1,8 +1,7 @@
1
- import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedControllerMessenger } from "@metamask/base-controller";
2
2
  import { BaseController } from "@metamask/base-controller";
3
- import type { AbstractTokenDiscoveryApiService } from "./token-discovery-api-service/abstract-token-discovery-api-service.mjs";
4
3
  import type { AbstractTokenSearchApiService } from "./token-search-api-service/abstract-token-search-api-service.mjs";
5
- import type { TokenSearchParams, TokenSearchResponseItem, TokenTrendingResponseItem, TrendingTokensParams } from "./types.mjs";
4
+ import type { TokenSearchParams, TokenSearchResponseItem } from "./types.mjs";
6
5
  declare const controllerName = "TokenSearchDiscoveryController";
7
6
  export type TokenSearchDiscoveryControllerState = {
8
7
  recentSearches: TokenSearchResponseItem[];
@@ -40,7 +39,7 @@ type AllowedEvents = never;
40
39
  * The messenger which is restricted to actions and events accessed by
41
40
  * {@link TokenSearchDiscoveryController}.
42
41
  */
43
- export type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<typeof controllerName, TokenSearchDiscoveryControllerActions | AllowedActions, TokenSearchDiscoveryControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
42
+ export type TokenSearchDiscoveryControllerMessenger = RestrictedControllerMessenger<typeof controllerName, TokenSearchDiscoveryControllerActions | AllowedActions, TokenSearchDiscoveryControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
44
43
  /**
45
44
  * Constructs the default {@link TokenSearchDiscoveryController} state. This allows
46
45
  * consumers to provide a partial state object when initializing the controller
@@ -52,18 +51,16 @@ export type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<typeof
52
51
  export declare function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState;
53
52
  /**
54
53
  * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.
55
- * It fetches token search results and discovery data from the Portfolio API.
54
+ * It fetches token search results from the portfolio API.
56
55
  */
57
56
  export declare class TokenSearchDiscoveryController extends BaseController<typeof controllerName, TokenSearchDiscoveryControllerState, TokenSearchDiscoveryControllerMessenger> {
58
57
  #private;
59
- constructor({ tokenSearchService, tokenDiscoveryService, state, messenger, }: {
58
+ constructor({ tokenSearchService, state, messenger, }: {
60
59
  tokenSearchService: AbstractTokenSearchApiService;
61
- tokenDiscoveryService: AbstractTokenDiscoveryApiService;
62
60
  state?: Partial<TokenSearchDiscoveryControllerState>;
63
61
  messenger: TokenSearchDiscoveryControllerMessenger;
64
62
  });
65
63
  searchTokens(tokenSearchParams: TokenSearchParams): Promise<TokenSearchResponseItem[]>;
66
- getTrendingTokens(params: TrendingTokensParams): Promise<TokenTrendingResponseItem[]>;
67
64
  }
68
65
  export {};
69
66
  //# sourceMappingURL=token-search-discovery-controller.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-discovery-controller.d.mts","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,gCAAgC,EAAE,+EAA2E;AAC3H,OAAO,KAAK,EAAE,6BAA6B,EAAE,yEAAqE;AAClH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACrB,oBAAgB;AAIjB,QAAA,MAAM,cAAc,mCAAmC,CAAC;AAIxD,MAAM,MAAM,mCAAmC,GAAG;IAChD,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AASF;;;GAGG;AACH,MAAM,MAAM,4CAA4C,GACtD,wBAAwB,CACtB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAC/C,4CAA4C,CAAC;AAE/C;;GAEG;AACH,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GACxD,0BAA0B,CACxB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAC9C,8CAA8C,CAAC;AAEjD;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GAAG,mBAAmB,CACvE,OAAO,cAAc,EACrB,qCAAqC,GAAG,cAAc,EACtD,oCAAoC,GAAG,aAAa,EACpD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,IAAI,mCAAmC,CAKnG;AAED;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,cAAc,CAChE,OAAO,cAAc,EACrB,mCAAmC,EACnC,uCAAuC,CACxC;;gBAKa,EACV,kBAAkB,EAClB,qBAAqB,EACrB,KAAU,EACV,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,6BAA6B,CAAC;QAClD,qBAAqB,EAAE,gCAAgC,CAAC;QACxD,KAAK,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrD,SAAS,EAAE,uCAAuC,CAAC;KACpD;IAYK,YAAY,CAChB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAY/B,iBAAiB,CACrB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAGxC"}
1
+ {"version":3,"file":"token-search-discovery-controller.d.mts","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC9B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,yEAAqE;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB;AAI1E,QAAA,MAAM,cAAc,mCAAmC,CAAC;AAIxD,MAAM,MAAM,mCAAmC,GAAG;IAChD,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AASF;;;GAGG;AACH,MAAM,MAAM,4CAA4C,GACtD,wBAAwB,CACtB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAC/C,4CAA4C,CAAC;AAE/C;;GAEG;AACH,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GACxD,0BAA0B,CACxB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAC9C,8CAA8C,CAAC;AAEjD;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GACjD,6BAA6B,CAC3B,OAAO,cAAc,EACrB,qCAAqC,GAAG,cAAc,EACtD,oCAAoC,GAAG,aAAa,EACpD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEJ;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,IAAI,mCAAmC,CAKnG;AAED;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,cAAc,CAChE,OAAO,cAAc,EACrB,mCAAmC,EACnC,uCAAuC,CACxC;;gBAGa,EACV,kBAAkB,EAClB,KAAU,EACV,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,6BAA6B,CAAC;QAClD,KAAK,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrD,SAAS,EAAE,uCAAuC,CAAC;KACpD;IAWK,YAAY,CAChB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAWtC"}
@@ -9,7 +9,7 @@ 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 _TokenSearchDiscoveryController_tokenSearchService, _TokenSearchDiscoveryController_tokenDiscoveryService;
12
+ var _TokenSearchDiscoveryController_tokenSearchService;
13
13
  import { BaseController } from "@metamask/base-controller";
14
14
  // === GENERAL ===
15
15
  const controllerName = 'TokenSearchDiscoveryController';
@@ -33,10 +33,10 @@ export function getDefaultTokenSearchDiscoveryControllerState() {
33
33
  }
34
34
  /**
35
35
  * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.
36
- * It fetches token search results and discovery data from the Portfolio API.
36
+ * It fetches token search results from the portfolio API.
37
37
  */
38
38
  export class TokenSearchDiscoveryController extends BaseController {
39
- constructor({ tokenSearchService, tokenDiscoveryService, state = {}, messenger, }) {
39
+ constructor({ tokenSearchService, state = {}, messenger, }) {
40
40
  super({
41
41
  name: controllerName,
42
42
  metadata: tokenSearchDiscoveryControllerMetadata,
@@ -44,9 +44,7 @@ export class TokenSearchDiscoveryController extends BaseController {
44
44
  state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },
45
45
  });
46
46
  _TokenSearchDiscoveryController_tokenSearchService.set(this, void 0);
47
- _TokenSearchDiscoveryController_tokenDiscoveryService.set(this, void 0);
48
47
  __classPrivateFieldSet(this, _TokenSearchDiscoveryController_tokenSearchService, tokenSearchService, "f");
49
- __classPrivateFieldSet(this, _TokenSearchDiscoveryController_tokenDiscoveryService, tokenDiscoveryService, "f");
50
48
  }
51
49
  async searchTokens(tokenSearchParams) {
52
50
  const results = await __classPrivateFieldGet(this, _TokenSearchDiscoveryController_tokenSearchService, "f").searchTokens(tokenSearchParams);
@@ -56,9 +54,6 @@ export class TokenSearchDiscoveryController extends BaseController {
56
54
  });
57
55
  return results;
58
56
  }
59
- async getTrendingTokens(params) {
60
- return __classPrivateFieldGet(this, _TokenSearchDiscoveryController_tokenDiscoveryService, "f").getTrendingTokensByChains(params);
61
- }
62
57
  }
63
- _TokenSearchDiscoveryController_tokenSearchService = new WeakMap(), _TokenSearchDiscoveryController_tokenDiscoveryService = new WeakMap();
58
+ _TokenSearchDiscoveryController_tokenSearchService = new WeakMap();
64
59
  //# sourceMappingURL=token-search-discovery-controller.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-discovery-controller.mjs","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAW3D,kBAAkB;AAElB,MAAM,cAAc,GAAG,gCAAgC,CAAC;AASxD,MAAM,sCAAsC,GAAG;IAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACnD,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CAChD,CAAC;AA4DX;;;;;;;GAOG;AACH,MAAM,UAAU,6CAA6C;IAC3D,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,8BAA+B,SAAQ,cAInD;IAKC,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,GAAG,EAAE,EACV,SAAS,GAMV;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,sCAAsC;YAChD,SAAS;YACT,KAAK,EAAE,EAAE,GAAG,6CAA6C,EAAE,EAAE,GAAG,KAAK,EAAE;SACxE,CAAC,CAAC;QApBI,qEAAmD;QAEnD,wEAAyD;QAoBhE,uBAAA,IAAI,sDAAuB,kBAAkB,MAAA,CAAC;QAC9C,uBAAA,IAAI,yDAA0B,qBAAqB,MAAA,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAoC;QAEpC,MAAM,OAAO,GACX,MAAM,uBAAA,IAAI,0DAAoB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA4B;QAE5B,OAAO,uBAAA,IAAI,6DAAuB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;CACF","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\n\nimport type { AbstractTokenDiscoveryApiService } from './token-discovery-api-service/abstract-token-discovery-api-service';\nimport type { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nimport type {\n TokenSearchParams,\n TokenSearchResponseItem,\n TokenTrendingResponseItem,\n TrendingTokensParams,\n} from './types';\n\n// === GENERAL ===\n\nconst controllerName = 'TokenSearchDiscoveryController';\n\n// === STATE ===\n\nexport type TokenSearchDiscoveryControllerState = {\n recentSearches: TokenSearchResponseItem[];\n lastSearchTimestamp: number | null;\n};\n\nconst tokenSearchDiscoveryControllerMetadata = {\n recentSearches: { persist: true, anonymous: false },\n lastSearchTimestamp: { persist: true, anonymous: false },\n} as const;\n\n// === MESSENGER ===\n\n/**\n * The action which can be used to retrieve the state of the\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerGetStateAction =\n ControllerGetStateAction<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} registers, to be\n * called externally.\n */\nexport type TokenSearchDiscoveryControllerActions =\n TokenSearchDiscoveryControllerGetStateAction;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} calls internally.\n */\ntype AllowedActions = never;\n\n/**\n * The event that {@link TokenSearchDiscoveryController} publishes when updating\n * state.\n */\nexport type TokenSearchDiscoveryControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} publishes, to be\n * subscribed to externally.\n */\nexport type TokenSearchDiscoveryControllerEvents =\n TokenSearchDiscoveryControllerStateChangeEvent;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} subscribes to internally.\n */\ntype AllowedEvents = never;\n\n/**\n * The messenger which is restricted to actions and events accessed by\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerMessenger = RestrictedMessenger<\n typeof controllerName,\n TokenSearchDiscoveryControllerActions | AllowedActions,\n TokenSearchDiscoveryControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n\n/**\n * Constructs the default {@link TokenSearchDiscoveryController} state. This allows\n * consumers to provide a partial state object when initializing the controller\n * and also helps in constructing complete state objects for this controller in\n * tests.\n *\n * @returns The default {@link TokenSearchDiscoveryController} state.\n */\nexport function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState {\n return {\n recentSearches: [],\n lastSearchTimestamp: null,\n };\n}\n\n/**\n * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.\n * It fetches token search results and discovery data from the Portfolio API.\n */\nexport class TokenSearchDiscoveryController extends BaseController<\n typeof controllerName,\n TokenSearchDiscoveryControllerState,\n TokenSearchDiscoveryControllerMessenger\n> {\n readonly #tokenSearchService: AbstractTokenSearchApiService;\n\n readonly #tokenDiscoveryService: AbstractTokenDiscoveryApiService;\n\n constructor({\n tokenSearchService,\n tokenDiscoveryService,\n state = {},\n messenger,\n }: {\n tokenSearchService: AbstractTokenSearchApiService;\n tokenDiscoveryService: AbstractTokenDiscoveryApiService;\n state?: Partial<TokenSearchDiscoveryControllerState>;\n messenger: TokenSearchDiscoveryControllerMessenger;\n }) {\n super({\n name: controllerName,\n metadata: tokenSearchDiscoveryControllerMetadata,\n messenger,\n state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },\n });\n\n this.#tokenSearchService = tokenSearchService;\n this.#tokenDiscoveryService = tokenDiscoveryService;\n }\n\n async searchTokens(\n tokenSearchParams: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const results =\n await this.#tokenSearchService.searchTokens(tokenSearchParams);\n\n this.update((state) => {\n state.recentSearches = results;\n state.lastSearchTimestamp = Date.now();\n });\n\n return results;\n }\n\n async getTrendingTokens(\n params: TrendingTokensParams,\n ): Promise<TokenTrendingResponseItem[]> {\n return this.#tokenDiscoveryService.getTrendingTokensByChains(params);\n }\n}\n"]}
1
+ {"version":3,"file":"token-search-discovery-controller.mjs","sourceRoot":"","sources":["../src/token-search-discovery-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAK3D,kBAAkB;AAElB,MAAM,cAAc,GAAG,gCAAgC,CAAC;AASxD,MAAM,sCAAsC,GAAG;IAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACnD,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CAChD,CAAC;AA6DX;;;;;;;GAOG;AACH,MAAM,UAAU,6CAA6C;IAC3D,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,8BAA+B,SAAQ,cAInD;IAGC,YAAY,EACV,kBAAkB,EAClB,KAAK,GAAG,EAAE,EACV,SAAS,GAKV;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,sCAAsC;YAChD,SAAS;YACT,KAAK,EAAE,EAAE,GAAG,6CAA6C,EAAE,EAAE,GAAG,KAAK,EAAE;SACxE,CAAC,CAAC;QAhBI,qEAAmD;QAkB1D,uBAAA,IAAI,sDAAuB,kBAAkB,MAAA,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,iBAAoC;QAEpC,MAAM,OAAO,GACX,MAAM,uBAAA,IAAI,0DAAoB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedControllerMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\n\nimport type { AbstractTokenSearchApiService } from './token-search-api-service/abstract-token-search-api-service';\nimport type { TokenSearchParams, TokenSearchResponseItem } from './types';\n\n// === GENERAL ===\n\nconst controllerName = 'TokenSearchDiscoveryController';\n\n// === STATE ===\n\nexport type TokenSearchDiscoveryControllerState = {\n recentSearches: TokenSearchResponseItem[];\n lastSearchTimestamp: number | null;\n};\n\nconst tokenSearchDiscoveryControllerMetadata = {\n recentSearches: { persist: true, anonymous: false },\n lastSearchTimestamp: { persist: true, anonymous: false },\n} as const;\n\n// === MESSENGER ===\n\n/**\n * The action which can be used to retrieve the state of the\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerGetStateAction =\n ControllerGetStateAction<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} registers, to be\n * called externally.\n */\nexport type TokenSearchDiscoveryControllerActions =\n TokenSearchDiscoveryControllerGetStateAction;\n\n/**\n * All actions that {@link TokenSearchDiscoveryController} calls internally.\n */\ntype AllowedActions = never;\n\n/**\n * The event that {@link TokenSearchDiscoveryController} publishes when updating\n * state.\n */\nexport type TokenSearchDiscoveryControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n TokenSearchDiscoveryControllerState\n >;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} publishes, to be\n * subscribed to externally.\n */\nexport type TokenSearchDiscoveryControllerEvents =\n TokenSearchDiscoveryControllerStateChangeEvent;\n\n/**\n * All events that {@link TokenSearchDiscoveryController} subscribes to internally.\n */\ntype AllowedEvents = never;\n\n/**\n * The messenger which is restricted to actions and events accessed by\n * {@link TokenSearchDiscoveryController}.\n */\nexport type TokenSearchDiscoveryControllerMessenger =\n RestrictedControllerMessenger<\n typeof controllerName,\n TokenSearchDiscoveryControllerActions | AllowedActions,\n TokenSearchDiscoveryControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n >;\n\n/**\n * Constructs the default {@link TokenSearchDiscoveryController} state. This allows\n * consumers to provide a partial state object when initializing the controller\n * and also helps in constructing complete state objects for this controller in\n * tests.\n *\n * @returns The default {@link TokenSearchDiscoveryController} state.\n */\nexport function getDefaultTokenSearchDiscoveryControllerState(): TokenSearchDiscoveryControllerState {\n return {\n recentSearches: [],\n lastSearchTimestamp: null,\n };\n}\n\n/**\n * The TokenSearchDiscoveryController manages the retrieval of token search results and token discovery.\n * It fetches token search results from the portfolio API.\n */\nexport class TokenSearchDiscoveryController extends BaseController<\n typeof controllerName,\n TokenSearchDiscoveryControllerState,\n TokenSearchDiscoveryControllerMessenger\n> {\n readonly #tokenSearchService: AbstractTokenSearchApiService;\n\n constructor({\n tokenSearchService,\n state = {},\n messenger,\n }: {\n tokenSearchService: AbstractTokenSearchApiService;\n state?: Partial<TokenSearchDiscoveryControllerState>;\n messenger: TokenSearchDiscoveryControllerMessenger;\n }) {\n super({\n name: controllerName,\n metadata: tokenSearchDiscoveryControllerMetadata,\n messenger,\n state: { ...getDefaultTokenSearchDiscoveryControllerState(), ...state },\n });\n\n this.#tokenSearchService = tokenSearchService;\n }\n\n async searchTokens(\n tokenSearchParams: TokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const results =\n await this.#tokenSearchService.searchTokens(tokenSearchParams);\n\n this.update((state) => {\n state.recentSearches = results;\n state.lastSearchTimestamp = Date.now();\n });\n\n return results;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TokenSearchParams = {\n chains?: string[];\n query?: string;\n limit?: string;\n};\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 TokenTrendingResponseItem = {\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\nexport type TrendingTokensParams = {\n chains?: string[];\n limit?: string;\n};\n"]}
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TokenSearchParams = {\n chains?: string[];\n name?: string;\n limit?: string;\n};\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};\n"]}
package/dist/types.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type TokenSearchParams = {
2
2
  chains?: string[];
3
- query?: string;
3
+ name?: string;
4
4
  limit?: string;
5
5
  };
6
6
  export type TokenSearchResponseItem = {
@@ -12,60 +12,5 @@ export type TokenSearchResponseItem = {
12
12
  usdPricePercentChange: {
13
13
  oneDay: number;
14
14
  };
15
- logoUrl?: string;
16
- };
17
- export type TokenTrendingResponseItem = {
18
- chain_id: string;
19
- token_address: string;
20
- token_logo: string;
21
- token_name: string;
22
- token_symbol: string;
23
- price_usd: number;
24
- token_age_in_days: number;
25
- on_chain_strength_index: number;
26
- security_score: number;
27
- market_cap: number;
28
- fully_diluted_valuation: number;
29
- twitter_followers: number;
30
- holders_change: {
31
- '1h': number | null;
32
- '1d': number | null;
33
- '1w': number | null;
34
- '1M': number | null;
35
- };
36
- liquidity_change_usd: {
37
- '1h': number | null;
38
- '1d': number | null;
39
- '1w': number | null;
40
- '1M': number | null;
41
- };
42
- experienced_net_buyers_change: {
43
- '1h': number | null;
44
- '1d': number | null;
45
- '1w': number | null;
46
- '1M': number | null;
47
- };
48
- volume_change_usd: {
49
- '1h': number | null;
50
- '1d': number | null;
51
- '1w': number | null;
52
- '1M': number | null;
53
- };
54
- net_volume_change_usd: {
55
- '1h': number | null;
56
- '1d': number | null;
57
- '1w': number | null;
58
- '1M': number | null;
59
- };
60
- price_percent_change_usd: {
61
- '1h': number | null;
62
- '1d': number | null;
63
- '1w': number | null;
64
- '1M': number | null;
65
- };
66
- };
67
- export type TrendingTokensParams = {
68
- chains?: string[];
69
- limit?: string;
70
15
  };
71
16
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,oBAAoB,EAAE;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,6BAA6B,EAAE;QAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,qBAAqB,EAAE;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,wBAAwB,EAAE;QACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
package/dist/types.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type TokenSearchParams = {
2
2
  chains?: string[];
3
- query?: string;
3
+ name?: string;
4
4
  limit?: string;
5
5
  };
6
6
  export type TokenSearchResponseItem = {
@@ -12,60 +12,5 @@ export type TokenSearchResponseItem = {
12
12
  usdPricePercentChange: {
13
13
  oneDay: number;
14
14
  };
15
- logoUrl?: string;
16
- };
17
- export type TokenTrendingResponseItem = {
18
- chain_id: string;
19
- token_address: string;
20
- token_logo: string;
21
- token_name: string;
22
- token_symbol: string;
23
- price_usd: number;
24
- token_age_in_days: number;
25
- on_chain_strength_index: number;
26
- security_score: number;
27
- market_cap: number;
28
- fully_diluted_valuation: number;
29
- twitter_followers: number;
30
- holders_change: {
31
- '1h': number | null;
32
- '1d': number | null;
33
- '1w': number | null;
34
- '1M': number | null;
35
- };
36
- liquidity_change_usd: {
37
- '1h': number | null;
38
- '1d': number | null;
39
- '1w': number | null;
40
- '1M': number | null;
41
- };
42
- experienced_net_buyers_change: {
43
- '1h': number | null;
44
- '1d': number | null;
45
- '1w': number | null;
46
- '1M': number | null;
47
- };
48
- volume_change_usd: {
49
- '1h': number | null;
50
- '1d': number | null;
51
- '1w': number | null;
52
- '1M': number | null;
53
- };
54
- net_volume_change_usd: {
55
- '1h': number | null;
56
- '1d': number | null;
57
- '1w': number | null;
58
- '1M': number | null;
59
- };
60
- price_percent_change_usd: {
61
- '1h': number | null;
62
- '1d': number | null;
63
- '1w': number | null;
64
- '1M': number | null;
65
- };
66
- };
67
- export type TrendingTokensParams = {
68
- chains?: string[];
69
- limit?: string;
70
15
  };
71
16
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,oBAAoB,EAAE;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,6BAA6B,EAAE;QAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,qBAAqB,EAAE;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,wBAAwB,EAAE;QACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TokenSearchParams = {\n chains?: string[];\n query?: string;\n limit?: string;\n};\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 TokenTrendingResponseItem = {\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\nexport type TrendingTokensParams = {\n chains?: string[];\n limit?: string;\n};\n"]}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TokenSearchParams = {\n chains?: string[];\n name?: string;\n limit?: string;\n};\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};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/token-search-discovery-controller",
3
- "version": "1.0.0-preview-59b4e66e",
3
+ "version": "1.0.0-preview-4c4eb52a",
4
4
  "description": "Manages token search and discovery through the Portfolio API",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -48,14 +48,13 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@metamask/base-controller": "^7.1.1",
51
- "@metamask/utils": "^11.1.0"
51
+ "@metamask/utils": "^11.0.1"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@metamask/auto-changelog": "^3.4.4",
55
55
  "@types/jest": "^27.4.1",
56
56
  "deepmerge": "^4.2.2",
57
57
  "jest": "^27.5.1",
58
- "nock": "^13.3.1",
59
58
  "ts-jest": "^27.1.4",
60
59
  "typedoc": "^0.24.8",
61
60
  "typedoc-plugin-missing-exports": "^2.0.0",
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEST_API_URLS = void 0;
4
- exports.TEST_API_URLS = {
5
- BASE_URL: 'https://mock-api.test',
6
- PORTFOLIO_API: 'https://mock-portfolio-api.test',
7
- };
8
- //# sourceMappingURL=constants.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../../src/test/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,uBAAuB;IACjC,aAAa,EAAE,iCAAiC;CACxC,CAAC","sourcesContent":["export const TEST_API_URLS = {\n BASE_URL: 'https://mock-api.test',\n PORTFOLIO_API: 'https://mock-portfolio-api.test',\n} as const;\n"]}
@@ -1,5 +0,0 @@
1
- export declare const TEST_API_URLS: {
2
- readonly BASE_URL: "https://mock-api.test";
3
- readonly PORTFOLIO_API: "https://mock-portfolio-api.test";
4
- };
5
- //# sourceMappingURL=constants.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../src/test/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;CAGhB,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const TEST_API_URLS: {
2
- readonly BASE_URL: "https://mock-api.test";
3
- readonly PORTFOLIO_API: "https://mock-portfolio-api.test";
4
- };
5
- //# sourceMappingURL=constants.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/test/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;CAGhB,CAAC"}
@@ -1,5 +0,0 @@
1
- export const TEST_API_URLS = {
2
- BASE_URL: 'https://mock-api.test',
3
- PORTFOLIO_API: 'https://mock-portfolio-api.test',
4
- };
5
- //# sourceMappingURL=constants.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/test/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,uBAAuB;IACjC,aAAa,EAAE,iCAAiC;CACxC,CAAC","sourcesContent":["export const TEST_API_URLS = {\n BASE_URL: 'https://mock-api.test',\n PORTFOLIO_API: 'https://mock-portfolio-api.test',\n} as const;\n"]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractTokenDiscoveryApiService = void 0;
4
- /**
5
- * Abstract class for fetching token discovery results.
6
- */
7
- class AbstractTokenDiscoveryApiService {
8
- }
9
- exports.AbstractTokenDiscoveryApiService = AbstractTokenDiscoveryApiService;
10
- //# sourceMappingURL=abstract-token-discovery-api-service.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-token-discovery-api-service.cjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/abstract-token-discovery-api-service.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,gCAAgC;CAWrD;AAXD,4EAWC","sourcesContent":["import type { TokenTrendingResponseItem } from '../types';\n\n/**\n * Abstract class for fetching token discovery results.\n */\nexport abstract class AbstractTokenDiscoveryApiService {\n /**\n * Fetches trending tokens by chains from the portfolio API.\n *\n * @param params - Optional parameters including chains and limit\n * @returns A promise resolving to an array of {@link TokenTrendingResponseItem}\n */\n abstract getTrendingTokensByChains(params: {\n chains?: string[];\n limit?: string;\n }): Promise<TokenTrendingResponseItem[]>;\n}\n"]}
@@ -1,17 +0,0 @@
1
- import type { TokenTrendingResponseItem } from "../types.cjs";
2
- /**
3
- * Abstract class for fetching token discovery results.
4
- */
5
- export declare abstract class AbstractTokenDiscoveryApiService {
6
- /**
7
- * Fetches trending tokens by chains from the portfolio API.
8
- *
9
- * @param params - Optional parameters including chains and limit
10
- * @returns A promise resolving to an array of {@link TokenTrendingResponseItem}
11
- */
12
- abstract getTrendingTokensByChains(params: {
13
- chains?: string[];
14
- limit?: string;
15
- }): Promise<TokenTrendingResponseItem[]>;
16
- }
17
- //# sourceMappingURL=abstract-token-discovery-api-service.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-token-discovery-api-service.d.cts","sourceRoot":"","sources":["../../src/token-discovery-api-service/abstract-token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAiB;AAE1D;;GAEG;AACH,8BAAsB,gCAAgC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE;QACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;CACzC"}
@@ -1,17 +0,0 @@
1
- import type { TokenTrendingResponseItem } from "../types.mjs";
2
- /**
3
- * Abstract class for fetching token discovery results.
4
- */
5
- export declare abstract class AbstractTokenDiscoveryApiService {
6
- /**
7
- * Fetches trending tokens by chains from the portfolio API.
8
- *
9
- * @param params - Optional parameters including chains and limit
10
- * @returns A promise resolving to an array of {@link TokenTrendingResponseItem}
11
- */
12
- abstract getTrendingTokensByChains(params: {
13
- chains?: string[];
14
- limit?: string;
15
- }): Promise<TokenTrendingResponseItem[]>;
16
- }
17
- //# sourceMappingURL=abstract-token-discovery-api-service.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-token-discovery-api-service.d.mts","sourceRoot":"","sources":["../../src/token-discovery-api-service/abstract-token-discovery-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAiB;AAE1D;;GAEG;AACH,8BAAsB,gCAAgC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE;QACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;CACzC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Abstract class for fetching token discovery results.
3
- */
4
- export class AbstractTokenDiscoveryApiService {
5
- }
6
- //# sourceMappingURL=abstract-token-discovery-api-service.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-token-discovery-api-service.mjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/abstract-token-discovery-api-service.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAgB,gCAAgC;CAWrD","sourcesContent":["import type { TokenTrendingResponseItem } from '../types';\n\n/**\n * Abstract class for fetching token discovery results.\n */\nexport abstract class AbstractTokenDiscoveryApiService {\n /**\n * Fetches trending tokens by chains from the portfolio API.\n *\n * @param params - Optional parameters including chains and limit\n * @returns A promise resolving to an array of {@link TokenTrendingResponseItem}\n */\n abstract getTrendingTokensByChains(params: {\n chains?: string[];\n limit?: string;\n }): Promise<TokenTrendingResponseItem[]>;\n}\n"]}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _TokenDiscoveryApiService_baseUrl;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TokenDiscoveryApiService = void 0;
16
- const abstract_token_discovery_api_service_1 = require("./abstract-token-discovery-api-service.cjs");
17
- class TokenDiscoveryApiService extends abstract_token_discovery_api_service_1.AbstractTokenDiscoveryApiService {
18
- constructor(baseUrl) {
19
- super();
20
- _TokenDiscoveryApiService_baseUrl.set(this, void 0);
21
- if (!baseUrl) {
22
- throw new Error('Portfolio API URL is not set');
23
- }
24
- __classPrivateFieldSet(this, _TokenDiscoveryApiService_baseUrl, baseUrl, "f");
25
- }
26
- async getTrendingTokensByChains(trendingTokensParams) {
27
- const url = new URL('/tokens-search/trending-by-chains', __classPrivateFieldGet(this, _TokenDiscoveryApiService_baseUrl, "f"));
28
- if (trendingTokensParams.chains && trendingTokensParams.chains.length > 0) {
29
- url.searchParams.append('chains', trendingTokensParams.chains.join());
30
- }
31
- if (trendingTokensParams.limit) {
32
- url.searchParams.append('limit', trendingTokensParams.limit);
33
- }
34
- const response = await fetch(url, {
35
- method: 'GET',
36
- headers: {
37
- 'Content-Type': 'application/json',
38
- },
39
- });
40
- if (!response.ok) {
41
- throw new Error(`Portfolio API request failed with status: ${response.status}`);
42
- }
43
- return response.json();
44
- }
45
- }
46
- exports.TokenDiscoveryApiService = TokenDiscoveryApiService;
47
- _TokenDiscoveryApiService_baseUrl = new WeakMap();
48
- //# sourceMappingURL=token-discovery-api-service.cjs.map
@@ -1 +0,0 @@
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;AAG1F,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;IAED,KAAK,CAAC,yBAAyB,CAC7B,oBAA0C;QAE1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;QAExE,IAAI,oBAAoB,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,oBAAoB,CAAC,KAAK,EAAE;YAC9B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC9D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtCD,4DAsCC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type { TokenTrendingResponseItem, TrendingTokensParams } 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 getTrendingTokensByChains(\n trendingTokensParams: TrendingTokensParams,\n ): Promise<TokenTrendingResponseItem[]> {\n const url = new URL('/tokens-search/trending-by-chains', this.#baseUrl);\n\n if (trendingTokensParams.chains && trendingTokensParams.chains.length > 0) {\n url.searchParams.append('chains', trendingTokensParams.chains.join());\n }\n if (trendingTokensParams.limit) {\n url.searchParams.append('limit', trendingTokensParams.limit);\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"]}
@@ -1,8 +0,0 @@
1
- import { AbstractTokenDiscoveryApiService } from "./abstract-token-discovery-api-service.cjs";
2
- import type { TokenTrendingResponseItem, TrendingTokensParams } from "../types.cjs";
3
- export declare class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {
4
- #private;
5
- constructor(baseUrl: string);
6
- getTrendingTokensByChains(trendingTokensParams: TrendingTokensParams): Promise<TokenTrendingResponseItem[]>;
7
- }
8
- //# sourceMappingURL=token-discovery-api-service.d.cts.map
@@ -1 +0,0 @@
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,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,qBAAiB;AAEhF,qBAAa,wBAAyB,SAAQ,gCAAgC;;gBAGhE,OAAO,EAAE,MAAM;IAQrB,yBAAyB,CAC7B,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAyBxC"}
@@ -1,8 +0,0 @@
1
- import { AbstractTokenDiscoveryApiService } from "./abstract-token-discovery-api-service.mjs";
2
- import type { TokenTrendingResponseItem, TrendingTokensParams } from "../types.mjs";
3
- export declare class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {
4
- #private;
5
- constructor(baseUrl: string);
6
- getTrendingTokensByChains(trendingTokensParams: TrendingTokensParams): Promise<TokenTrendingResponseItem[]>;
7
- }
8
- //# sourceMappingURL=token-discovery-api-service.d.mts.map
@@ -1 +0,0 @@
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,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,qBAAiB;AAEhF,qBAAa,wBAAyB,SAAQ,gCAAgC;;gBAGhE,OAAO,EAAE,MAAM;IAQrB,yBAAyB,CAC7B,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAyBxC"}
@@ -1,44 +0,0 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _TokenDiscoveryApiService_baseUrl;
13
- import { AbstractTokenDiscoveryApiService } from "./abstract-token-discovery-api-service.mjs";
14
- export class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {
15
- constructor(baseUrl) {
16
- super();
17
- _TokenDiscoveryApiService_baseUrl.set(this, void 0);
18
- if (!baseUrl) {
19
- throw new Error('Portfolio API URL is not set');
20
- }
21
- __classPrivateFieldSet(this, _TokenDiscoveryApiService_baseUrl, baseUrl, "f");
22
- }
23
- async getTrendingTokensByChains(trendingTokensParams) {
24
- const url = new URL('/tokens-search/trending-by-chains', __classPrivateFieldGet(this, _TokenDiscoveryApiService_baseUrl, "f"));
25
- if (trendingTokensParams.chains && trendingTokensParams.chains.length > 0) {
26
- url.searchParams.append('chains', trendingTokensParams.chains.join());
27
- }
28
- if (trendingTokensParams.limit) {
29
- url.searchParams.append('limit', trendingTokensParams.limit);
30
- }
31
- const response = await fetch(url, {
32
- method: 'GET',
33
- headers: {
34
- 'Content-Type': 'application/json',
35
- },
36
- });
37
- if (!response.ok) {
38
- throw new Error(`Portfolio API request failed with status: ${response.status}`);
39
- }
40
- return response.json();
41
- }
42
- }
43
- _TokenDiscoveryApiService_baseUrl = new WeakMap();
44
- //# sourceMappingURL=token-discovery-api-service.mjs.map
@@ -1 +0,0 @@
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;AAG1F,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;IAED,KAAK,CAAC,yBAAyB,CAC7B,oBAA0C;QAE1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;QAExE,IAAI,oBAAoB,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,oBAAoB,CAAC,KAAK,EAAE;YAC9B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC9D;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type { TokenTrendingResponseItem, TrendingTokensParams } 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 getTrendingTokensByChains(\n trendingTokensParams: TrendingTokensParams,\n ): Promise<TokenTrendingResponseItem[]> {\n const url = new URL('/tokens-search/trending-by-chains', this.#baseUrl);\n\n if (trendingTokensParams.chains && trendingTokensParams.chains.length > 0) {\n url.searchParams.append('chains', trendingTokensParams.chains.join());\n }\n if (trendingTokensParams.limit) {\n url.searchParams.append('limit', trendingTokensParams.limit);\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"]}