@metamask-previews/token-search-discovery-controller 4.0.0-preview-ee982ebe → 4.0.0-preview-91b0ac79

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.
@@ -1 +1 @@
1
- {"version":3,"file":"token-discovery-api-service.cjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qGAA0F;AAU1F,MAAa,wBAAyB,SAAQ,uEAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;AAjED,4DAiEC;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;IAED,IAAI,MAAM,EAAE,KAAK,EAAE;QACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,MAAM,EAAE,SAAS,EAAE;QACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
1
+ {"version":3,"file":"token-discovery-api-service.cjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qGAA0F;AAU1F,MAAa,wBAAyB,SAAQ,uEAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;AAjED,4DAiEC;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"token-discovery-api-service.mjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAU1F,MAAM,OAAO,wBAAyB,SAAQ,gCAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;IAED,IAAI,MAAM,EAAE,KAAK,EAAE;QACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,MAAM,EAAE,SAAS,EAAE;QACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
1
+ {"version":3,"file":"token-discovery-api-service.mjs","sourceRoot":"","sources":["../../src/token-discovery-api-service/token-discovery-api-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,gCAAgC,EAAE,mDAA+C;AAU1F,MAAM,OAAO,wBAAyB,SAAQ,gCAAgC;IAG5E,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;;QAHD,oDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;IAC1B,CAAC;IAiCD,KAAK,CAAC,yBAAyB,CAC7B,oBAA2C;QAE3C,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,eAAiC;QAEjC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,gBAAmC;QAEnC,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAA+B;QAE/B,OAAO,uBAAA,IAAI,4EAAO,MAAX,IAAI,EAAQ,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;0IAtDC,KAAK,0CAAQ,OAAe,EAAE,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,OAAO,EAAE,EAAE,uBAAA,IAAI,yCAAS,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import { AbstractTokenDiscoveryApiService } from './abstract-token-discovery-api-service';\nimport type {\n MoralisTokenResponseItem,\n TopGainersParams,\n TopLosersParams,\n TrendingTokensParams,\n BlueChipParams,\n ParamsBase,\n} from '../types';\n\nexport class TokenDiscoveryApiService extends AbstractTokenDiscoveryApiService {\n readonly #baseUrl: string;\n\n constructor(baseUrl: string) {\n super();\n if (!baseUrl) {\n throw new Error('Portfolio API URL is not set');\n }\n this.#baseUrl = baseUrl;\n }\n\n async #fetch(subPath: string, params?: ParamsBase) {\n const url = new URL(`/tokens-search/${subPath}`, this.#baseUrl);\n\n if (params?.chains && params.chains.length > 0) {\n url.searchParams.append('chains', params.chains.join());\n }\n\n if (params?.limit) {\n url.searchParams.append('limit', params.limit);\n }\n\n if (params?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n\n async getTrendingTokensByChains(\n trendingTokensParams?: TrendingTokensParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('trending', trendingTokensParams);\n }\n\n async getTopLosersByChains(\n topLosersParams?: TopLosersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-losers', topLosersParams);\n }\n\n async getTopGainersByChains(\n topGainersParams?: TopGainersParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('top-gainers', topGainersParams);\n }\n\n async getBlueChipTokensByChains(\n blueChipParams?: BlueChipParams,\n ): Promise<MoralisTokenResponseItem[]> {\n return this.#fetch('blue-chip', blueChipParams);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"token-search-api-service.cjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type {\n MoralisTokenResponseItem,\n SwappableTokenSearchParams,\n TokenSearchFormattedParams,\n TokenSearchParams,\n TokenSearchResponseItem,\n} 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 async searchSwappableTokens(\n swappableTokenSearchParams: SwappableTokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/swappable', this.#baseUrl);\n url.searchParams.append('query', swappableTokenSearchParams.query);\n\n if (swappableTokenSearchParams?.limit) {\n url.searchParams.append('limit', swappableTokenSearchParams.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 async searchTokensFormatted(\n tokenSearchFormattedParams: TokenSearchFormattedParams,\n ): Promise<MoralisTokenResponseItem[]> {\n const url = new URL('/tokens-search/formatted', this.#baseUrl);\n url.searchParams.append('query', tokenSearchFormattedParams.query);\n\n if (\n tokenSearchFormattedParams?.chains &&\n tokenSearchFormattedParams.chains.length > 0\n ) {\n url.searchParams.append(\n 'chains',\n tokenSearchFormattedParams.chains.join(),\n );\n }\n if (tokenSearchFormattedParams?.limit) {\n url.searchParams.append('limit', tokenSearchFormattedParams.limit);\n }\n\n if (tokenSearchFormattedParams?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n}\n"]}
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;AASpF,MAAa,qBAAsB,SAAQ,iEAA6B;IAGtE,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAHD,iDAAiB;QAIxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;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,CAAC;YACrE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;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,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,0BAAsD;QAEtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAEnE,IAAI,0BAA0B,EAAE,KAAK,EAAE,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;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,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,0BAAsD;QAEtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,uBAAA,IAAI,sCAAS,CAAC,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAEnE,IACE,0BAA0B,EAAE,MAAM;YAClC,0BAA0B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAC5C,CAAC;YACD,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,QAAQ,EACR,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,0BAA0B,EAAE,KAAK,EAAE,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,0BAA0B,EAAE,SAAS,EAAE,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;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,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AA1GD,sDA0GC","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type {\n MoralisTokenResponseItem,\n SwappableTokenSearchParams,\n TokenSearchFormattedParams,\n TokenSearchParams,\n TokenSearchResponseItem,\n} 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 async searchSwappableTokens(\n swappableTokenSearchParams: SwappableTokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/swappable', this.#baseUrl);\n url.searchParams.append('query', swappableTokenSearchParams.query);\n\n if (swappableTokenSearchParams?.limit) {\n url.searchParams.append('limit', swappableTokenSearchParams.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 async searchTokensFormatted(\n tokenSearchFormattedParams: TokenSearchFormattedParams,\n ): Promise<MoralisTokenResponseItem[]> {\n const url = new URL('/tokens-search/formatted', this.#baseUrl);\n url.searchParams.append('query', tokenSearchFormattedParams.query);\n\n if (\n tokenSearchFormattedParams?.chains &&\n tokenSearchFormattedParams.chains.length > 0\n ) {\n url.searchParams.append(\n 'chains',\n tokenSearchFormattedParams.chains.join(),\n );\n }\n if (tokenSearchFormattedParams?.limit) {\n url.searchParams.append('limit', tokenSearchFormattedParams.limit);\n }\n\n if (tokenSearchFormattedParams?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n}\n"]}
@@ -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":"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","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type {\n MoralisTokenResponseItem,\n SwappableTokenSearchParams,\n TokenSearchFormattedParams,\n TokenSearchParams,\n TokenSearchResponseItem,\n} 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 async searchSwappableTokens(\n swappableTokenSearchParams: SwappableTokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/swappable', this.#baseUrl);\n url.searchParams.append('query', swappableTokenSearchParams.query);\n\n if (swappableTokenSearchParams?.limit) {\n url.searchParams.append('limit', swappableTokenSearchParams.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 async searchTokensFormatted(\n tokenSearchFormattedParams: TokenSearchFormattedParams,\n ): Promise<MoralisTokenResponseItem[]> {\n const url = new URL('/tokens-search/formatted', this.#baseUrl);\n url.searchParams.append('query', tokenSearchFormattedParams.query);\n\n if (\n tokenSearchFormattedParams?.chains &&\n tokenSearchFormattedParams.chains.length > 0\n ) {\n url.searchParams.append(\n 'chains',\n tokenSearchFormattedParams.chains.join(),\n );\n }\n if (tokenSearchFormattedParams?.limit) {\n url.searchParams.append('limit', tokenSearchFormattedParams.limit);\n }\n\n if (tokenSearchFormattedParams?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n}\n"]}
1
+ {"version":3,"file":"token-search-api-service.mjs","sourceRoot":"","sources":["../../src/token-search-api-service/token-search-api-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { AbstractTokenSearchApiService } from './abstract-token-search-api-service';\nimport type {\n MoralisTokenResponseItem,\n SwappableTokenSearchParams,\n TokenSearchFormattedParams,\n TokenSearchParams,\n TokenSearchResponseItem,\n} 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 async searchSwappableTokens(\n swappableTokenSearchParams: SwappableTokenSearchParams,\n ): Promise<TokenSearchResponseItem[]> {\n const url = new URL('/tokens-search/swappable', this.#baseUrl);\n url.searchParams.append('query', swappableTokenSearchParams.query);\n\n if (swappableTokenSearchParams?.limit) {\n url.searchParams.append('limit', swappableTokenSearchParams.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 async searchTokensFormatted(\n tokenSearchFormattedParams: TokenSearchFormattedParams,\n ): Promise<MoralisTokenResponseItem[]> {\n const url = new URL('/tokens-search/formatted', this.#baseUrl);\n url.searchParams.append('query', tokenSearchFormattedParams.query);\n\n if (\n tokenSearchFormattedParams?.chains &&\n tokenSearchFormattedParams.chains.length > 0\n ) {\n url.searchParams.append(\n 'chains',\n tokenSearchFormattedParams.chains.join(),\n );\n }\n if (tokenSearchFormattedParams?.limit) {\n url.searchParams.append('limit', tokenSearchFormattedParams.limit);\n }\n\n if (tokenSearchFormattedParams?.swappable) {\n url.searchParams.append('swappable', 'true');\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(\n `Portfolio API request failed with status: ${response.status}`,\n );\n }\n\n return response.json();\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/token-search-discovery-controller",
3
- "version": "4.0.0-preview-ee982ebe",
3
+ "version": "4.0.0-preview-91b0ac79",
4
4
  "description": "Manages token search and discovery through the Portfolio API",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -62,7 +62,7 @@
62
62
  "ts-jest": "^27.1.4",
63
63
  "typedoc": "^0.24.8",
64
64
  "typedoc-plugin-missing-exports": "^2.0.0",
65
- "typescript": "~5.2.2"
65
+ "typescript": "~5.3.3"
66
66
  },
67
67
  "engines": {
68
68
  "node": "^18.18 || >=20"